@mastra/core 0.15.3-alpha.3 → 0.15.3-alpha.5
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.
- package/CHANGELOG.md +3188 -0
- package/dist/agent/agent.types.d.ts +9 -4
- package/dist/agent/agent.types.d.ts.map +1 -1
- package/dist/agent/index.cjs +11 -11
- package/dist/agent/index.d.ts +33 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -2
- package/dist/agent/input-processor/index.cjs +6 -6
- package/dist/agent/input-processor/index.js +1 -1
- package/dist/agent/types.d.ts +11 -6
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/ai-tracing/context.d.ts.map +1 -1
- package/dist/ai-tracing/default.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +43 -31
- package/dist/ai-tracing/index.js +1 -1
- package/dist/ai-tracing/no-op.d.ts +0 -1
- package/dist/ai-tracing/no-op.d.ts.map +1 -1
- package/dist/ai-tracing/types.d.ts +0 -2
- package/dist/ai-tracing/types.d.ts.map +1 -1
- package/dist/ai-tracing/utils.d.ts +44 -8
- package/dist/ai-tracing/utils.d.ts.map +1 -1
- package/dist/{chunk-BGOXFBFK.js → chunk-23NO6AMW.js} +458 -223
- package/dist/chunk-23NO6AMW.js.map +1 -0
- package/dist/{chunk-MEROMP3Z.js → chunk-2L6PFHHU.js} +3 -3
- package/dist/{chunk-MEROMP3Z.js.map → chunk-2L6PFHHU.js.map} +1 -1
- package/dist/{chunk-TWNFR6MQ.cjs → chunk-5CJDO3UO.cjs} +8 -8
- package/dist/{chunk-TWNFR6MQ.cjs.map → chunk-5CJDO3UO.cjs.map} +1 -1
- package/dist/{chunk-APVV75XG.js → chunk-A5NC3XK2.js} +62 -16
- package/dist/chunk-A5NC3XK2.js.map +1 -0
- package/dist/{chunk-ZAJTIZZF.cjs → chunk-ABRPHTOG.cjs} +2 -2
- package/dist/{chunk-ZAJTIZZF.cjs.map → chunk-ABRPHTOG.cjs.map} +1 -1
- package/dist/{chunk-GOG77M6R.js → chunk-BJGHUKKM.js} +2 -2
- package/dist/{chunk-GOG77M6R.js.map → chunk-BJGHUKKM.js.map} +1 -1
- package/dist/{chunk-5TFCIXWE.js → chunk-CKM2ESZF.js} +44 -21
- package/dist/chunk-CKM2ESZF.js.map +1 -0
- package/dist/{chunk-AYFN43FB.cjs → chunk-E264YNL3.cjs} +68 -22
- package/dist/chunk-E264YNL3.cjs.map +1 -0
- package/dist/{chunk-QHEB6ZLO.cjs → chunk-F2CAC2R2.cjs} +47 -24
- package/dist/chunk-F2CAC2R2.cjs.map +1 -0
- package/dist/{chunk-O7IQL4DX.js → chunk-F4SQXAXR.js} +7 -7
- package/dist/{chunk-O7IQL4DX.js.map → chunk-F4SQXAXR.js.map} +1 -1
- package/dist/{chunk-HXEHQLBD.cjs → chunk-F6XWBVVG.cjs} +4 -4
- package/dist/{chunk-HXEHQLBD.cjs.map → chunk-F6XWBVVG.cjs.map} +1 -1
- package/dist/{chunk-4DKPMUAC.cjs → chunk-I7OAONIW.cjs} +259 -177
- package/dist/chunk-I7OAONIW.cjs.map +1 -0
- package/dist/{chunk-EMAAAVRA.js → chunk-IODUKRQP.js} +3 -3
- package/dist/{chunk-EMAAAVRA.js.map → chunk-IODUKRQP.js.map} +1 -1
- package/dist/{chunk-DJKIK6ZB.cjs → chunk-JQKPRJCJ.cjs} +489 -254
- package/dist/chunk-JQKPRJCJ.cjs.map +1 -0
- package/dist/{chunk-WOTBMZCN.js → chunk-LOYT3WUA.js} +255 -176
- package/dist/chunk-LOYT3WUA.js.map +1 -0
- package/dist/{chunk-24TFSB6Z.cjs → chunk-LVGGMWSE.cjs} +8 -8
- package/dist/chunk-LVGGMWSE.cjs.map +1 -0
- package/dist/{chunk-D2GH2HAK.cjs → chunk-MVEPSGWQ.cjs} +10 -10
- package/dist/chunk-MVEPSGWQ.cjs.map +1 -0
- package/dist/{chunk-UGN2UU3K.cjs → chunk-OBKBA6CO.cjs} +4 -4
- package/dist/{chunk-UGN2UU3K.cjs.map → chunk-OBKBA6CO.cjs.map} +1 -1
- package/dist/{chunk-TQRLZH64.js → chunk-PQ3VP6NG.js} +5 -5
- package/dist/chunk-PQ3VP6NG.js.map +1 -0
- package/dist/{chunk-YTVX52NU.cjs → chunk-VVTB47UG.cjs} +6 -6
- package/dist/{chunk-YTVX52NU.cjs.map → chunk-VVTB47UG.cjs.map} +1 -1
- package/dist/{chunk-ZC64CG7J.js → chunk-WWQ3QRPF.js} +4 -4
- package/dist/chunk-WWQ3QRPF.js.map +1 -0
- package/dist/{chunk-WUQSFK7W.js → chunk-XPFWOBV4.js} +4 -4
- package/dist/{chunk-WUQSFK7W.js.map → chunk-XPFWOBV4.js.map} +1 -1
- package/dist/index.cjs +44 -44
- package/dist/index.js +10 -10
- package/dist/integration/index.cjs +3 -3
- package/dist/integration/index.js +1 -1
- package/dist/llm/index.d.ts +2 -2
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/model/base.types.d.ts +2 -2
- package/dist/llm/model/base.types.d.ts.map +1 -1
- package/dist/llm/model/model.d.ts +4 -4
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +1 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/model.loop.types.d.ts +2 -0
- package/dist/llm/model/model.loop.types.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/loop.d.ts +1 -1
- package/dist/loop/loop.d.ts.map +1 -1
- package/dist/loop/types.d.ts +2 -0
- package/dist/loop/types.d.ts.map +1 -1
- package/dist/loop/workflow/stream.d.ts +1 -1
- package/dist/loop/workflow/stream.d.ts.map +1 -1
- package/dist/mastra/hooks.d.ts.map +1 -1
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.d.ts +8 -3
- package/dist/mastra/index.d.ts.map +1 -1
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/network/index.cjs +4 -4
- package/dist/network/index.js +2 -2
- package/dist/network/vNext/index.cjs +14 -14
- package/dist/network/vNext/index.js +2 -2
- package/dist/processors/index.cjs +13 -11
- package/dist/processors/index.cjs.map +1 -1
- package/dist/processors/index.d.ts +4 -0
- package/dist/processors/index.d.ts.map +1 -1
- package/dist/processors/index.js +7 -5
- package/dist/processors/index.js.map +1 -1
- package/dist/processors/processors/moderation.d.ts +4 -0
- package/dist/processors/processors/moderation.d.ts.map +1 -1
- package/dist/processors/processors/pii-detector.d.ts +3 -0
- package/dist/processors/processors/pii-detector.d.ts.map +1 -1
- package/dist/processors/processors/prompt-injection-detector.d.ts +2 -0
- package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
- package/dist/processors/processors/system-prompt-scrubber.d.ts +2 -0
- package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
- package/dist/processors/runner.d.ts +5 -4
- package/dist/processors/runner.d.ts.map +1 -1
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/base.d.ts +2 -0
- package/dist/scores/base.d.ts.map +1 -1
- package/dist/scores/hooks.d.ts +3 -1
- package/dist/scores/hooks.d.ts.map +1 -1
- package/dist/scores/index.cjs +27 -18
- package/dist/scores/index.cjs.map +1 -1
- package/dist/scores/index.js +23 -14
- package/dist/scores/index.js.map +1 -1
- package/dist/scores/run-experiment/index.d.ts +2 -0
- package/dist/scores/run-experiment/index.d.ts.map +1 -1
- package/dist/scores/types.d.ts +3 -0
- package/dist/scores/types.d.ts.map +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts +1 -1
- package/dist/storage/domains/workflows/inmemory.d.ts.map +1 -1
- package/dist/storage/index.cjs +13 -14
- package/dist/storage/index.cjs.map +1 -1
- package/dist/storage/index.js +11 -12
- package/dist/storage/index.js.map +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tools/index.cjs +4 -4
- package/dist/tools/index.js +1 -1
- package/dist/tools/is-vercel-tool.cjs +2 -2
- package/dist/tools/is-vercel-tool.js +1 -1
- package/dist/tools/tool.d.ts +3 -1
- package/dist/tools/tool.d.ts.map +1 -1
- package/dist/utils.cjs +17 -17
- package/dist/utils.d.ts +3 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/workflows/default.d.ts +13 -3
- package/dist/workflows/default.d.ts.map +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/execution-engine.d.ts +2 -2
- package/dist/workflows/execution-engine.d.ts.map +1 -1
- package/dist/workflows/index.cjs +10 -10
- package/dist/workflows/index.js +1 -1
- package/dist/workflows/legacy/index.cjs +22 -22
- package/dist/workflows/legacy/index.js +1 -1
- package/dist/workflows/workflow.d.ts +15 -10
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +18 -8
- package/dist/chunk-24TFSB6Z.cjs.map +0 -1
- package/dist/chunk-4DKPMUAC.cjs.map +0 -1
- package/dist/chunk-5TFCIXWE.js.map +0 -1
- package/dist/chunk-APVV75XG.js.map +0 -1
- package/dist/chunk-AYFN43FB.cjs.map +0 -1
- package/dist/chunk-BGOXFBFK.js.map +0 -1
- package/dist/chunk-D2GH2HAK.cjs.map +0 -1
- package/dist/chunk-DJKIK6ZB.cjs.map +0 -1
- package/dist/chunk-QHEB6ZLO.cjs.map +0 -1
- package/dist/chunk-TQRLZH64.js.map +0 -1
- package/dist/chunk-WOTBMZCN.js.map +0 -1
- package/dist/chunk-ZC64CG7J.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkLVGGMWSE_cjs = require('./chunk-LVGGMWSE.cjs');
|
|
4
4
|
var chunkC73WLCY3_cjs = require('./chunk-C73WLCY3.cjs');
|
|
5
5
|
var chunkKXCUCBEI_cjs = require('./chunk-KXCUCBEI.cjs');
|
|
6
6
|
var schemaCompat = require('@mastra/schema-compat');
|
|
@@ -65,8 +65,9 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
65
65
|
mode: "aiSdkSchema"
|
|
66
66
|
});
|
|
67
67
|
}
|
|
68
|
-
_startAISpan(
|
|
69
|
-
|
|
68
|
+
_startAISpan(params) {
|
|
69
|
+
const { model, tracingContext, name, streaming, options } = params;
|
|
70
|
+
return tracingContext.currentSpan?.createChildSpan({
|
|
70
71
|
name,
|
|
71
72
|
type: "llm_generation" /* LLM_GENERATION */,
|
|
72
73
|
input: options.prompt,
|
|
@@ -85,15 +86,21 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
85
86
|
}
|
|
86
87
|
});
|
|
87
88
|
}
|
|
88
|
-
_wrapModel(model,
|
|
89
|
-
if (!
|
|
89
|
+
_wrapModel(model, tracingContext) {
|
|
90
|
+
if (!tracingContext.currentSpan) {
|
|
90
91
|
return model;
|
|
91
92
|
}
|
|
92
93
|
const wrappedDoGenerate = async (options) => {
|
|
93
|
-
const llmSpan = this._startAISpan(
|
|
94
|
+
const llmSpan = this._startAISpan({
|
|
95
|
+
model,
|
|
96
|
+
tracingContext,
|
|
97
|
+
name: `llm generate: '${model.modelId}'`,
|
|
98
|
+
streaming: false,
|
|
99
|
+
options
|
|
100
|
+
});
|
|
94
101
|
try {
|
|
95
102
|
const result = await model.doGenerate(options);
|
|
96
|
-
llmSpan
|
|
103
|
+
llmSpan?.end({
|
|
97
104
|
output: result.text,
|
|
98
105
|
attributes: {
|
|
99
106
|
usage: result.usage ? {
|
|
@@ -104,12 +111,18 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
104
111
|
});
|
|
105
112
|
return result;
|
|
106
113
|
} catch (error) {
|
|
107
|
-
llmSpan
|
|
114
|
+
llmSpan?.error({ error });
|
|
108
115
|
throw error;
|
|
109
116
|
}
|
|
110
117
|
};
|
|
111
118
|
const wrappedDoStream = async (options) => {
|
|
112
|
-
const llmSpan = this._startAISpan(
|
|
119
|
+
const llmSpan = this._startAISpan({
|
|
120
|
+
model,
|
|
121
|
+
tracingContext,
|
|
122
|
+
name: `llm stream: '${model.modelId}'`,
|
|
123
|
+
streaming: true,
|
|
124
|
+
options
|
|
125
|
+
});
|
|
113
126
|
try {
|
|
114
127
|
const result = await model.doStream(options);
|
|
115
128
|
const originalStream = result.stream;
|
|
@@ -119,6 +132,16 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
119
132
|
new TransformStream({
|
|
120
133
|
// this gets called on each chunk output
|
|
121
134
|
transform(chunk, controller) {
|
|
135
|
+
if (chunk.type === "text-delta") {
|
|
136
|
+
llmSpan?.createEventSpan({
|
|
137
|
+
type: "llm_chunk" /* LLM_CHUNK */,
|
|
138
|
+
name: `llm chunk: ${chunk.type}`,
|
|
139
|
+
output: chunk.textDelta,
|
|
140
|
+
attributes: {
|
|
141
|
+
chunkType: chunk.type
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
122
145
|
if (chunk.type === "finish") {
|
|
123
146
|
finishReason = chunk.finishReason;
|
|
124
147
|
finalUsage = chunk.usage;
|
|
@@ -127,7 +150,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
127
150
|
},
|
|
128
151
|
// this gets called at the end of the stream
|
|
129
152
|
flush() {
|
|
130
|
-
llmSpan
|
|
153
|
+
llmSpan?.end({
|
|
131
154
|
attributes: {
|
|
132
155
|
usage: finalUsage ? {
|
|
133
156
|
promptTokens: finalUsage.promptTokens,
|
|
@@ -147,7 +170,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
147
170
|
stream: wrappedStream
|
|
148
171
|
};
|
|
149
172
|
} catch (error) {
|
|
150
|
-
llmSpan
|
|
173
|
+
llmSpan?.error({ error });
|
|
151
174
|
throw error;
|
|
152
175
|
}
|
|
153
176
|
};
|
|
@@ -172,7 +195,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
172
195
|
threadId,
|
|
173
196
|
resourceId,
|
|
174
197
|
runtimeContext,
|
|
175
|
-
|
|
198
|
+
tracingContext,
|
|
176
199
|
...rest
|
|
177
200
|
}) {
|
|
178
201
|
const model = this.#model;
|
|
@@ -189,7 +212,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
189
212
|
this.logger.debug("[LLM] - Using experimental output", {
|
|
190
213
|
runId
|
|
191
214
|
});
|
|
192
|
-
if (
|
|
215
|
+
if (chunkLVGGMWSE_cjs.isZodType(experimental_output)) {
|
|
193
216
|
schema = experimental_output;
|
|
194
217
|
if (schema instanceof zod.z.ZodArray) {
|
|
195
218
|
schema = schema._def.type;
|
|
@@ -211,7 +234,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
211
234
|
const argsForExecute = {
|
|
212
235
|
...rest,
|
|
213
236
|
messages,
|
|
214
|
-
model: this._wrapModel(model,
|
|
237
|
+
model: this._wrapModel(model, tracingContext),
|
|
215
238
|
temperature,
|
|
216
239
|
tools: {
|
|
217
240
|
...tools
|
|
@@ -253,7 +276,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
253
276
|
});
|
|
254
277
|
if (props?.response?.headers?.["x-ratelimit-remaining-tokens"] && parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"], 10) < 2e3) {
|
|
255
278
|
this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
|
|
256
|
-
await
|
|
279
|
+
await chunkLVGGMWSE_cjs.delay(10 * 1e3);
|
|
257
280
|
}
|
|
258
281
|
},
|
|
259
282
|
experimental_telemetry: {
|
|
@@ -297,7 +320,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
297
320
|
threadId,
|
|
298
321
|
resourceId,
|
|
299
322
|
runtimeContext,
|
|
300
|
-
|
|
323
|
+
tracingContext,
|
|
301
324
|
...rest
|
|
302
325
|
}) {
|
|
303
326
|
const model = this.#model;
|
|
@@ -312,7 +335,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
312
335
|
const argsForExecute = {
|
|
313
336
|
...rest,
|
|
314
337
|
messages,
|
|
315
|
-
model: this._wrapModel(model,
|
|
338
|
+
model: this._wrapModel(model, tracingContext),
|
|
316
339
|
// @ts-expect-error - output in our implementation can only be object or array
|
|
317
340
|
output,
|
|
318
341
|
schema: processedSchema,
|
|
@@ -377,7 +400,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
377
400
|
threadId,
|
|
378
401
|
resourceId,
|
|
379
402
|
runtimeContext,
|
|
380
|
-
|
|
403
|
+
tracingContext,
|
|
381
404
|
...rest
|
|
382
405
|
}) {
|
|
383
406
|
const model = this.#model;
|
|
@@ -404,7 +427,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
404
427
|
}
|
|
405
428
|
}
|
|
406
429
|
const argsForExecute = {
|
|
407
|
-
model: this._wrapModel(model,
|
|
430
|
+
model: this._wrapModel(model, tracingContext),
|
|
408
431
|
temperature,
|
|
409
432
|
tools: {
|
|
410
433
|
...tools
|
|
@@ -447,7 +470,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
447
470
|
});
|
|
448
471
|
if (props?.response?.headers?.["x-ratelimit-remaining-tokens"] && parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"], 10) < 2e3) {
|
|
449
472
|
this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
|
|
450
|
-
await
|
|
473
|
+
await chunkLVGGMWSE_cjs.delay(10 * 1e3);
|
|
451
474
|
}
|
|
452
475
|
},
|
|
453
476
|
onFinish: async (props) => {
|
|
@@ -527,7 +550,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
527
550
|
onFinish,
|
|
528
551
|
structuredOutput,
|
|
529
552
|
telemetry,
|
|
530
|
-
|
|
553
|
+
tracingContext,
|
|
531
554
|
...rest
|
|
532
555
|
}) {
|
|
533
556
|
const model = this.#model;
|
|
@@ -544,7 +567,7 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
544
567
|
const processedSchema = this._applySchemaCompat(structuredOutput);
|
|
545
568
|
const argsForExecute = {
|
|
546
569
|
...rest,
|
|
547
|
-
model: this._wrapModel(model,
|
|
570
|
+
model: this._wrapModel(model, tracingContext),
|
|
548
571
|
onFinish: async (props) => {
|
|
549
572
|
try {
|
|
550
573
|
await onFinish?.({ ...props, runId });
|
|
@@ -693,5 +716,5 @@ var MastraLLMV1 = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
693
716
|
};
|
|
694
717
|
|
|
695
718
|
exports.MastraLLMV1 = MastraLLMV1;
|
|
696
|
-
//# sourceMappingURL=chunk-
|
|
697
|
-
//# sourceMappingURL=chunk-
|
|
719
|
+
//# sourceMappingURL=chunk-F2CAC2R2.cjs.map
|
|
720
|
+
//# sourceMappingURL=chunk-F2CAC2R2.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/llm/model/model.ts"],"names":["MastraBase","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","isZodType","z","zodToJsonSchema","jsonSchema","MastraError","delay","Output","generateText","generateObject","streamText","streamObject"],"mappings":"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","file":"chunk-F2CAC2R2.cjs","sourcesContent":["import type { LanguageModelV1FinishReason } from '@ai-sdk/provider';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n} from '@mastra/schema-compat';\nimport type { CoreMessage, LanguageModel, Schema, StreamObjectOnFinishCallback, StreamTextOnFinishCallback } from 'ai';\nimport { generateObject, generateText, jsonSchema, Output, streamObject, streamText } from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodSchema } from 'zod';\nimport { z } from 'zod';\n\nimport { zodToJsonSchema } from 'zod-to-json-schema';\nimport type { MastraPrimitives } from '../../action';\nimport { AISpanType } from '../../ai-tracing';\nimport type { AnyAISpan, TracingContext } from '../../ai-tracing';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { delay, isZodType } from '../../utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n\n constructor({ model, mastra }: { model: LanguageModel; mastra?: Mastra }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.telemetry) {\n this.__setTelemetry(p.telemetry);\n }\n\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n private _startAISpan(params: {\n model: LanguageModel;\n tracingContext: TracingContext;\n name: string;\n streaming: boolean;\n options: any;\n }): AnyAISpan | undefined {\n const { model, tracingContext, name, streaming, options } = params;\n return tracingContext.currentSpan?.createChildSpan({\n name,\n type: AISpanType.LLM_GENERATION,\n input: options.prompt,\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n topP: options.topP,\n frequencyPenalty: options.frequencyPenalty,\n presencePenalty: options.presencePenalty,\n stop: options.stop,\n },\n streaming,\n },\n });\n }\n\n private _wrapModel(model: LanguageModel, tracingContext: TracingContext): LanguageModel {\n if (!tracingContext.currentSpan) {\n return model;\n }\n\n const wrappedDoGenerate = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm generate: '${model.modelId}'`,\n streaming: false,\n options,\n });\n\n try {\n const result = await model.doGenerate(options);\n\n llmSpan?.end({\n output: result.text,\n attributes: {\n usage: result.usage\n ? {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n }\n : undefined,\n },\n });\n return result;\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n const wrappedDoStream = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm stream: '${model.modelId}'`,\n streaming: true,\n options,\n });\n\n try {\n const result = await model.doStream(options);\n\n // Create a wrapped stream that tracks the final result\n const originalStream = result.stream;\n let finishReason: LanguageModelV1FinishReason;\n let finalUsage: any = null;\n\n const wrappedStream = originalStream.pipeThrough(\n new TransformStream({\n // this gets called on each chunk output\n transform(chunk, controller) {\n // Create event spans for text chunks\n if (chunk.type === 'text-delta') {\n llmSpan?.createEventSpan({\n type: AISpanType.LLM_CHUNK,\n name: `llm chunk: ${chunk.type}`,\n output: chunk.textDelta,\n attributes: {\n chunkType: chunk.type,\n },\n });\n }\n\n //TODO: Figure out how to get the final usage\n // if (chunk.type === 'response-metadata' && chunk.usage) {\n // finalUsage = chunk.usage;\n // }\n if (chunk.type === 'finish') {\n finishReason = chunk.finishReason;\n finalUsage = chunk.usage;\n }\n controller.enqueue(chunk);\n },\n // this gets called at the end of the stream\n flush() {\n llmSpan?.end({\n attributes: {\n usage: finalUsage\n ? {\n promptTokens: finalUsage.promptTokens,\n completionTokens: finalUsage.completionTokens,\n totalTokens: finalUsage.totalTokens,\n }\n : undefined,\n },\n metadata: {\n finishReason,\n },\n });\n },\n }),\n );\n\n return {\n ...result,\n stream: wrappedStream,\n };\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n // Create a proper proxy to preserve all model properties including getters/setters\n return new Proxy(model, {\n get(target, prop) {\n if (prop === 'doGenerate') return wrappedDoGenerate;\n if (prop === 'doStream') return wrappedDoStream;\n return target[prop as keyof typeof target];\n },\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n\n this.logger.debug(`[LLM] - Generating text`, {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('[LLM] - Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (schema instanceof z.ZodArray) {\n schema = schema._def.type as z.ZodType<inferOutput<Z>>;\n }\n\n let jsonSchemaToUse;\n if ('toJSONSchema' in z) {\n // Use dynamic property access to avoid import errors in Zod v3\n // @ts-ignore\n jsonSchemaToUse = (z as any)['toJSONSchema'](schema) as JSONSchema7;\n } else {\n jsonSchemaToUse = zodToJsonSchema(schema, {\n $refStrategy: 'none',\n target: 'jsonSchema7',\n }) as JSONSchema7;\n }\n\n schema = jsonSchema(jsonSchemaToUse) as Schema<inferOutput<Z>>;\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<inferOutput<Z>>;\n }\n }\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model: this._wrapModel(model, tracingContext),\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Text Step Change:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n if (\n props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n ) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await generateText(argsForExecute);\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n\n this.logger.debug(`[LLM] - Generating a text object`, { runId });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (structuredOutput instanceof z.ZodArray) {\n output = 'array';\n structuredOutput = structuredOutput._def.type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model: this._wrapModel(model, tracingContext),\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n schema: processedSchema as Schema<Z>,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n return await generateObject(argsForExecute);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n this.logger.debug(`[LLM] - Streaming text`, {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n });\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n this.logger.debug('[LLM] - Using experimental output', {\n runId,\n });\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (schema instanceof z.ZodArray) {\n schema = schema._def.type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model: this._wrapModel(model, tracingContext),\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Stream Step Change:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n if (\n props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n ) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n onFinish: async props => {\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Stream Finished:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n ...rest,\n messages,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return streamText(argsForExecute);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n runtimeContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n telemetry,\n tracingContext,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n this.logger.debug(`[LLM] - Streaming structured output`, {\n runId,\n messages,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (structuredOutput instanceof z.ZodArray) {\n output = 'array';\n structuredOutput = structuredOutput._def.type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model: this._wrapModel(model, tracingContext),\n onFinish: async props => {\n try {\n // @ts-expect-error - onFinish is not inferred correctly\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Object Stream Finished:', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n messages,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n {\n output,\n ...rest\n }: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n\n if (!output) {\n const { maxSteps, onStepFinish, ...textOptions } = rest as Omit<\n GenerateTextWithMessagesArgs<Tools, StructuredOutput>,\n 'messages'\n >;\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n maxSteps,\n onStepFinish,\n ...textOptions,\n })) as unknown as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...rest,\n })) as unknown as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n {\n maxSteps = 5,\n output,\n onFinish,\n ...rest\n }: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n\n if (!output) {\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...rest,\n }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...rest,\n }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { fetchWithRetry } from './chunk-
|
|
1
|
+
import { fetchWithRetry } from './chunk-WWQ3QRPF.js';
|
|
2
2
|
import { MastraError } from './chunk-MCOVMKIS.js';
|
|
3
3
|
import { randomUUID } from 'crypto';
|
|
4
4
|
import * as AIV4 from 'ai';
|
|
@@ -787,7 +787,7 @@ var MessageList = class _MessageList {
|
|
|
787
787
|
if (needsDefaultUserMessage) {
|
|
788
788
|
const defaultMessage = {
|
|
789
789
|
role: "user",
|
|
790
|
-
content: "
|
|
790
|
+
content: "."
|
|
791
791
|
};
|
|
792
792
|
messages.unshift(defaultMessage);
|
|
793
793
|
}
|
|
@@ -839,7 +839,7 @@ var MessageList = class _MessageList {
|
|
|
839
839
|
if (needsDefaultUserMessage) {
|
|
840
840
|
const defaultMessage = {
|
|
841
841
|
role: "user",
|
|
842
|
-
content: "
|
|
842
|
+
content: "."
|
|
843
843
|
};
|
|
844
844
|
messages.unshift(defaultMessage);
|
|
845
845
|
}
|
|
@@ -863,7 +863,7 @@ var MessageList = class _MessageList {
|
|
|
863
863
|
if (needsDefaultUserMessage) {
|
|
864
864
|
const defaultMessage = {
|
|
865
865
|
role: "user",
|
|
866
|
-
content: "
|
|
866
|
+
content: "."
|
|
867
867
|
};
|
|
868
868
|
messages.unshift(defaultMessage);
|
|
869
869
|
}
|
|
@@ -878,7 +878,7 @@ var MessageList = class _MessageList {
|
|
|
878
878
|
if (needsDefaultUserMessage) {
|
|
879
879
|
const defaultMessage = {
|
|
880
880
|
role: "user",
|
|
881
|
-
content: "
|
|
881
|
+
content: "."
|
|
882
882
|
};
|
|
883
883
|
messages.unshift(defaultMessage);
|
|
884
884
|
}
|
|
@@ -2587,5 +2587,5 @@ function convertMessages(messages) {
|
|
|
2587
2587
|
}
|
|
2588
2588
|
|
|
2589
2589
|
export { DefaultGeneratedFile, DefaultGeneratedFileWithType, MessageList, convertMessages };
|
|
2590
|
-
//# sourceMappingURL=chunk-
|
|
2591
|
-
//# sourceMappingURL=chunk-
|
|
2590
|
+
//# sourceMappingURL=chunk-F4SQXAXR.js.map
|
|
2591
|
+
//# sourceMappingURL=chunk-F4SQXAXR.js.map
|