@mastra/core 0.24.8 → 0.24.9-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/dist/agent/index.cjs +13 -13
- 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/ai-tracing/index.cjs +56 -39
- package/dist/ai-tracing/index.d.ts +1 -0
- package/dist/ai-tracing/index.d.ts.map +1 -1
- package/dist/ai-tracing/index.js +2 -1
- package/dist/ai-tracing/serialization.d.ts +60 -0
- package/dist/ai-tracing/serialization.d.ts.map +1 -0
- package/dist/ai-tracing/spans/base.d.ts +0 -17
- package/dist/ai-tracing/spans/base.d.ts.map +1 -1
- package/dist/ai-tracing/spans/default.d.ts.map +1 -1
- package/dist/{chunk-V2IMZSNO.js → chunk-2BIQL3SK.js} +3 -3
- package/dist/{chunk-V2IMZSNO.js.map → chunk-2BIQL3SK.js.map} +1 -1
- package/dist/chunk-3L3ISSMS.cjs +130 -0
- package/dist/chunk-3L3ISSMS.cjs.map +1 -0
- package/dist/{chunk-E5NCEJEJ.js → chunk-4DWBTEHS.js} +3 -3
- package/dist/{chunk-E5NCEJEJ.js.map → chunk-4DWBTEHS.js.map} +1 -1
- package/dist/{chunk-Z6ZIJYKK.js → chunk-5BMYOHKM.js} +4 -4
- package/dist/{chunk-Z6ZIJYKK.js.map → chunk-5BMYOHKM.js.map} +1 -1
- package/dist/{chunk-2BY7C6Y7.js → chunk-5KSHWBRH.js} +3 -3
- package/dist/{chunk-2BY7C6Y7.js.map → chunk-5KSHWBRH.js.map} +1 -1
- package/dist/{chunk-DSUKMFZY.js → chunk-5S5X3QPR.js} +92 -111
- package/dist/chunk-5S5X3QPR.js.map +1 -0
- package/dist/{chunk-5PSD3IKG.cjs → chunk-7GUQ2EQ4.cjs} +92 -111
- package/dist/chunk-7GUQ2EQ4.cjs.map +1 -0
- package/dist/{chunk-PPAIPZ6C.js → chunk-BBE22VBK.js} +4 -43
- package/dist/chunk-BBE22VBK.js.map +1 -0
- package/dist/{chunk-2YE6RNCZ.cjs → chunk-CSHVFDF6.cjs} +4 -4
- package/dist/{chunk-2YE6RNCZ.cjs.map → chunk-CSHVFDF6.cjs.map} +1 -1
- package/dist/{chunk-X5JTTWMF.cjs → chunk-DGL7I4HZ.cjs} +9 -9
- package/dist/{chunk-X5JTTWMF.cjs.map → chunk-DGL7I4HZ.cjs.map} +1 -1
- package/dist/{chunk-3IDFSGG3.cjs → chunk-EHTC7VYS.cjs} +4 -4
- package/dist/{chunk-3IDFSGG3.cjs.map → chunk-EHTC7VYS.cjs.map} +1 -1
- package/dist/{chunk-RLYWCJQ6.js → chunk-EMTBCXQQ.js} +3 -3
- package/dist/{chunk-RLYWCJQ6.js.map → chunk-EMTBCXQQ.js.map} +1 -1
- package/dist/{chunk-RP4YCZP7.js → chunk-GEHKQTB2.js} +3 -3
- package/dist/{chunk-RP4YCZP7.js.map → chunk-GEHKQTB2.js.map} +1 -1
- package/dist/{chunk-Y2BH2LUD.js → chunk-GSQD3QNR.js} +7 -7
- package/dist/{chunk-Y2BH2LUD.js.map → chunk-GSQD3QNR.js.map} +1 -1
- package/dist/{chunk-2YN6HGEH.js → chunk-HHPXFPNO.js} +3 -3
- package/dist/{chunk-2YN6HGEH.js.map → chunk-HHPXFPNO.js.map} +1 -1
- package/dist/{chunk-CNIM7N4E.cjs → chunk-MSFEDB5Z.cjs} +16 -16
- package/dist/{chunk-CNIM7N4E.cjs.map → chunk-MSFEDB5Z.cjs.map} +1 -1
- package/dist/{chunk-GIK7MM2K.js → chunk-NFJJ6B6P.js} +3 -3
- package/dist/{chunk-GIK7MM2K.js.map → chunk-NFJJ6B6P.js.map} +1 -1
- package/dist/chunk-PA6Z5V6U.js +124 -0
- package/dist/chunk-PA6Z5V6U.js.map +1 -0
- package/dist/{chunk-DISETAP2.cjs → chunk-PAW64WWA.cjs} +4 -4
- package/dist/{chunk-DISETAP2.cjs.map → chunk-PAW64WWA.cjs.map} +1 -1
- package/dist/{chunk-ICICKWAG.cjs → chunk-QETEFQ7T.cjs} +6 -6
- package/dist/{chunk-ICICKWAG.cjs.map → chunk-QETEFQ7T.cjs.map} +1 -1
- package/dist/{chunk-YPYLWTZI.cjs → chunk-QGJF6TRY.cjs} +16 -56
- package/dist/chunk-QGJF6TRY.cjs.map +1 -0
- package/dist/{chunk-FQTJPLCW.cjs → chunk-QLPSR67Y.cjs} +14 -14
- package/dist/{chunk-FQTJPLCW.cjs.map → chunk-QLPSR67Y.cjs.map} +1 -1
- package/dist/{chunk-N6P5GJRO.js → chunk-QQKRUSCB.js} +6 -6
- package/dist/{chunk-N6P5GJRO.js.map → chunk-QQKRUSCB.js.map} +1 -1
- package/dist/{chunk-RQPGIUUA.cjs → chunk-QWOKGSO2.cjs} +6 -6
- package/dist/{chunk-RQPGIUUA.cjs.map → chunk-QWOKGSO2.cjs.map} +1 -1
- package/dist/{chunk-4YYPQOP7.cjs → chunk-RDD5YB3T.cjs} +4 -4
- package/dist/{chunk-4YYPQOP7.cjs.map → chunk-RDD5YB3T.cjs.map} +1 -1
- package/dist/{chunk-RWPKCFZT.cjs → chunk-W54LWXCG.cjs} +4 -4
- package/dist/{chunk-RWPKCFZT.cjs.map → chunk-W54LWXCG.cjs.map} +1 -1
- package/dist/{chunk-YYKN3NDZ.cjs → chunk-ZWWHTQ72.cjs} +51 -51
- package/dist/{chunk-YYKN3NDZ.cjs.map → chunk-ZWWHTQ72.cjs.map} +1 -1
- package/dist/{chunk-6VB52TJV.js → chunk-ZZIYFEVM.js} +3 -3
- package/dist/{chunk-6VB52TJV.js.map → chunk-ZZIYFEVM.js.map} +1 -1
- package/dist/index.cjs +59 -59
- package/dist/index.js +9 -9
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +24 -24
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +16 -16
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +8 -8
- package/dist/loop/workflows/agentic-loop/index.d.ts +24 -24
- package/dist/loop/workflows/schema.d.ts +8 -8
- package/dist/mastra/index.cjs +2 -2
- package/dist/mastra/index.js +1 -1
- package/dist/memory/index.cjs +4 -4
- package/dist/memory/index.js +1 -1
- package/dist/processors/index.cjs +11 -11
- package/dist/processors/index.js +1 -1
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/index.cjs +9 -9
- package/dist/scores/index.js +2 -2
- package/dist/scores/scoreTraces/index.cjs +8 -8
- package/dist/scores/scoreTraces/index.js +3 -3
- package/dist/server/index.cjs +2 -2
- package/dist/server/index.js +1 -1
- package/dist/storage/index.cjs +3 -3
- package/dist/storage/index.js +1 -1
- package/dist/stream/index.cjs +11 -11
- package/dist/stream/index.js +2 -2
- package/dist/telemetry/index.cjs +7 -7
- package/dist/telemetry/index.js +1 -1
- package/dist/telemetry/telemetry.d.ts.map +1 -1
- package/dist/telemetry/telemetry.decorators.d.ts.map +1 -1
- package/dist/test-utils/llm-mock.cjs +2 -2
- package/dist/test-utils/llm-mock.js +1 -1
- package/dist/tts/index.cjs +2 -2
- package/dist/tts/index.js +1 -1
- package/dist/utils.cjs +22 -22
- package/dist/utils.js +1 -1
- package/dist/voice/index.cjs +6 -6
- package/dist/voice/index.js +1 -1
- package/dist/workflows/evented/index.cjs +10 -10
- package/dist/workflows/evented/index.js +1 -1
- package/dist/workflows/index.cjs +17 -17
- 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/legacy/machine.d.ts +1 -1
- package/package.json +3 -3
- package/dist/chunk-5PSD3IKG.cjs.map +0 -1
- package/dist/chunk-DSUKMFZY.js.map +0 -1
- package/dist/chunk-PPAIPZ6C.js.map +0 -1
- package/dist/chunk-YPYLWTZI.cjs.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk4R2TBRS7_cjs = require('./chunk-4R2TBRS7.cjs');
|
|
4
|
+
var chunk3L3ISSMS_cjs = require('./chunk-3L3ISSMS.cjs');
|
|
4
5
|
var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
|
|
5
6
|
var api = require('@opentelemetry/api');
|
|
6
7
|
var core = require('@opentelemetry/core');
|
|
@@ -30,65 +31,56 @@ function getBaggageValues(ctx) {
|
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
// src/telemetry/telemetry.decorators.ts
|
|
33
|
-
function
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
if (typeof value === "object" && value !== null) {
|
|
40
|
-
if (seen.has(value)) return "[Circular]";
|
|
41
|
-
seen.add(value);
|
|
42
|
-
}
|
|
43
|
-
return value;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
function isStreamingResult(result, methodName) {
|
|
47
|
-
if (methodName === "stream" || methodName === "streamLegacy") {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
if (result && typeof result === "object" && result !== null) {
|
|
51
|
-
const obj = result;
|
|
52
|
-
return "textStream" in obj || "objectStream" in obj || "usagePromise" in obj || "finishReasonPromise" in obj;
|
|
34
|
+
function endSpanOnce(span) {
|
|
35
|
+
if (span.__mastraEnded) return;
|
|
36
|
+
span.__mastraEnded = true;
|
|
37
|
+
try {
|
|
38
|
+
span.end();
|
|
39
|
+
} catch {
|
|
53
40
|
}
|
|
54
|
-
return false;
|
|
55
41
|
}
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
42
|
+
function isStreamingMethod(methodName) {
|
|
43
|
+
return methodName === "stream" || methodName === "streamLegacy";
|
|
44
|
+
}
|
|
45
|
+
function enhanceStreamingArgumentsWithTelemetry(args, span, spanName) {
|
|
46
|
+
const enhancedArgs = [...args];
|
|
47
|
+
const isPlainObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
|
|
48
|
+
const createEnhancedOnFinish = (originalOnFinish) => {
|
|
49
|
+
const enhancedOnFinish = async (finishData) => {
|
|
50
|
+
const telemetryData = {
|
|
51
|
+
text: finishData.text,
|
|
52
|
+
usage: finishData.usage,
|
|
53
|
+
finishReason: finishData.finishReason,
|
|
54
|
+
toolCalls: finishData.toolCalls,
|
|
55
|
+
toolResults: finishData.toolResults,
|
|
56
|
+
warnings: finishData.warnings,
|
|
57
|
+
...finishData.object !== void 0 && { object: finishData.object }
|
|
58
|
+
};
|
|
59
|
+
span.setAttribute(`${spanName}.result`, chunk3L3ISSMS_cjs.boundedStringify(telemetryData));
|
|
60
|
+
span.setStatus({ code: api.SpanStatusCode.OK });
|
|
61
|
+
endSpanOnce(span);
|
|
62
|
+
if (originalOnFinish) return await originalOnFinish(finishData);
|
|
63
|
+
};
|
|
64
|
+
enhancedOnFinish.__hasOriginalOnFinish = !!originalOnFinish;
|
|
65
|
+
return enhancedOnFinish;
|
|
66
|
+
};
|
|
67
|
+
if (enhancedArgs.length === 1 && isPlainObject(enhancedArgs[0])) {
|
|
68
|
+
const singleArg = enhancedArgs[0];
|
|
69
|
+
const originalOnFinish = singleArg.onFinish;
|
|
70
|
+
enhancedArgs[0] = {
|
|
71
|
+
...singleArg,
|
|
72
|
+
onFinish: createEnhancedOnFinish(originalOnFinish)
|
|
73
|
+
};
|
|
74
|
+
} else {
|
|
75
|
+
const streamOptions = enhancedArgs.length > 1 && isPlainObject(enhancedArgs[1]) ? enhancedArgs[1] : {};
|
|
76
|
+
const originalOnFinish = streamOptions.onFinish;
|
|
77
|
+
enhancedArgs[1] = {
|
|
78
|
+
...streamOptions,
|
|
79
|
+
onFinish: createEnhancedOnFinish(originalOnFinish)
|
|
85
80
|
};
|
|
86
|
-
enhancedStreamOptions.onFinish.__hasOriginalOnFinish = !!originalOnFinish;
|
|
87
|
-
enhancedArgs[1] = enhancedStreamOptions;
|
|
88
|
-
span.__mastraStreamingSpan = true;
|
|
89
|
-
return enhancedArgs;
|
|
90
81
|
}
|
|
91
|
-
|
|
82
|
+
span.__mastraStreamingSpan = true;
|
|
83
|
+
return enhancedArgs;
|
|
92
84
|
}
|
|
93
85
|
function withSpan(options) {
|
|
94
86
|
return function(_target, propertyKey, descriptor) {
|
|
@@ -113,11 +105,7 @@ function withSpan(options) {
|
|
|
113
105
|
const span = tracer.startSpan(spanName, { kind: spanKind });
|
|
114
106
|
let ctx = api.trace.setSpan(api.context.active(), span);
|
|
115
107
|
args.forEach((arg, index) => {
|
|
116
|
-
|
|
117
|
-
span.setAttribute(`${spanName}.argument.${index}`, safeStringify(arg));
|
|
118
|
-
} catch {
|
|
119
|
-
span.setAttribute(`${spanName}.argument.${index}`, "[Not Serializable]");
|
|
120
|
-
}
|
|
108
|
+
span.setAttribute(`${spanName}.argument.${index}`, chunk3L3ISSMS_cjs.boundedStringify(arg));
|
|
121
109
|
});
|
|
122
110
|
const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);
|
|
123
111
|
if (requestId) {
|
|
@@ -131,58 +119,58 @@ function withSpan(options) {
|
|
|
131
119
|
}
|
|
132
120
|
if (componentName) {
|
|
133
121
|
span.setAttribute("componentName", componentName);
|
|
134
|
-
|
|
122
|
+
if (runId) {
|
|
123
|
+
span.setAttribute("runId", runId);
|
|
124
|
+
}
|
|
135
125
|
} else if (this && typeof this === "object" && "name" in this) {
|
|
136
126
|
const contextObj = this;
|
|
137
127
|
span.setAttribute("componentName", contextObj.name);
|
|
128
|
+
if (contextObj.runId) span.setAttribute("runId", contextObj.runId);
|
|
129
|
+
const baggageEntries = {};
|
|
130
|
+
baggageEntries.componentName = { value: contextObj.name };
|
|
138
131
|
if (contextObj.runId) {
|
|
139
|
-
|
|
132
|
+
baggageEntries.runId = { value: contextObj.runId };
|
|
140
133
|
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
threadId: { value: threadId },
|
|
152
|
-
// @ts-ignore
|
|
153
|
-
resourceId: { value: resourceId }
|
|
154
|
-
})
|
|
155
|
-
);
|
|
134
|
+
if (requestId) {
|
|
135
|
+
baggageEntries["http.request_id"] = { value: requestId };
|
|
136
|
+
}
|
|
137
|
+
if (threadId) {
|
|
138
|
+
baggageEntries.threadId = { value: threadId };
|
|
139
|
+
}
|
|
140
|
+
if (resourceId) {
|
|
141
|
+
baggageEntries.resourceId = { value: resourceId };
|
|
142
|
+
}
|
|
143
|
+
ctx = api.propagation.setBaggage(ctx, api.propagation.createBaggage(baggageEntries));
|
|
156
144
|
}
|
|
157
|
-
let result;
|
|
158
145
|
try {
|
|
159
|
-
const enhancedArgs =
|
|
160
|
-
result = api.context.with(ctx, () => originalMethod.apply(this, enhancedArgs));
|
|
146
|
+
const enhancedArgs = isStreamingMethod(methodName) ? enhanceStreamingArgumentsWithTelemetry(args, span, spanName) : args;
|
|
147
|
+
const result = api.context.with(ctx, () => originalMethod.apply(this, enhancedArgs));
|
|
161
148
|
if (result instanceof Promise) {
|
|
162
149
|
return result.then((resolvedValue) => {
|
|
163
|
-
if (
|
|
164
|
-
return resolvedValue;
|
|
165
|
-
} else {
|
|
166
|
-
try {
|
|
167
|
-
span.setAttribute(`${spanName}.result`, safeStringify(resolvedValue));
|
|
168
|
-
} catch {
|
|
169
|
-
span.setAttribute(`${spanName}.result`, "[Not Serializable]");
|
|
170
|
-
}
|
|
150
|
+
if (isStreamingMethod(methodName)) {
|
|
171
151
|
return resolvedValue;
|
|
172
152
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
153
|
+
span.setAttribute(`${spanName}.result`, chunk3L3ISSMS_cjs.boundedStringify(resolvedValue));
|
|
154
|
+
span.setStatus({ code: api.SpanStatusCode.OK });
|
|
155
|
+
return resolvedValue;
|
|
156
|
+
}).catch((err) => {
|
|
157
|
+
span.setStatus({
|
|
158
|
+
code: api.SpanStatusCode.ERROR,
|
|
159
|
+
message: err instanceof Error ? err.message : "Unknown error"
|
|
160
|
+
});
|
|
161
|
+
if (err instanceof Error) {
|
|
162
|
+
span.recordException(err);
|
|
176
163
|
}
|
|
164
|
+
endSpanOnce(span);
|
|
165
|
+
throw err;
|
|
166
|
+
}).finally(() => {
|
|
167
|
+
if (!span.__mastraStreamingSpan) endSpanOnce(span);
|
|
177
168
|
});
|
|
178
169
|
}
|
|
179
|
-
if (!
|
|
180
|
-
|
|
181
|
-
span.setAttribute(`${spanName}.result`, safeStringify(result));
|
|
182
|
-
} catch {
|
|
183
|
-
span.setAttribute(`${spanName}.result`, "[Not Serializable]");
|
|
184
|
-
}
|
|
170
|
+
if (!isStreamingMethod(methodName)) {
|
|
171
|
+
span.setAttribute(`${spanName}.result`, chunk3L3ISSMS_cjs.boundedStringify(result));
|
|
185
172
|
}
|
|
173
|
+
span.setStatus({ code: api.SpanStatusCode.OK });
|
|
186
174
|
return result;
|
|
187
175
|
} catch (error) {
|
|
188
176
|
span.setStatus({
|
|
@@ -192,10 +180,11 @@ function withSpan(options) {
|
|
|
192
180
|
if (error instanceof Error) {
|
|
193
181
|
span.recordException(error);
|
|
194
182
|
}
|
|
183
|
+
endSpanOnce(span);
|
|
195
184
|
throw error;
|
|
196
185
|
} finally {
|
|
197
|
-
if (!(
|
|
198
|
-
span
|
|
186
|
+
if (!isStreamingMethod(methodName) && !span.__mastraEnded) {
|
|
187
|
+
endSpanOnce(span);
|
|
199
188
|
}
|
|
200
189
|
}
|
|
201
190
|
};
|
|
@@ -470,11 +459,7 @@ var Telemetry = class _Telemetry {
|
|
|
470
459
|
}
|
|
471
460
|
try {
|
|
472
461
|
let recordResult2 = function(res) {
|
|
473
|
-
|
|
474
|
-
span.setAttribute(`${context3.spanName}.result`, JSON.stringify(res));
|
|
475
|
-
} catch {
|
|
476
|
-
span.setAttribute(`${context3.spanName}.result`, "[Not Serializable]");
|
|
477
|
-
}
|
|
462
|
+
span.setAttribute(`${context3.spanName}.result`, chunk3L3ISSMS_cjs.boundedStringify(res));
|
|
478
463
|
span.end();
|
|
479
464
|
return res;
|
|
480
465
|
};
|
|
@@ -526,11 +511,7 @@ var Telemetry = class _Telemetry {
|
|
|
526
511
|
}
|
|
527
512
|
}
|
|
528
513
|
args.forEach((arg, index) => {
|
|
529
|
-
|
|
530
|
-
span.setAttribute(`${context3.spanName}.argument.${index}`, JSON.stringify(arg));
|
|
531
|
-
} catch {
|
|
532
|
-
span.setAttribute(`${context3.spanName}.argument.${index}`, "[Not Serializable]");
|
|
533
|
-
}
|
|
514
|
+
span.setAttribute(`${context3.spanName}.argument.${index}`, chunk3L3ISSMS_cjs.boundedStringify(arg));
|
|
534
515
|
});
|
|
535
516
|
let result;
|
|
536
517
|
api.context.with(api.trace.setSpan(ctx, span), () => {
|
|
@@ -612,5 +593,5 @@ exports.Telemetry = Telemetry;
|
|
|
612
593
|
exports.getBaggageValues = getBaggageValues;
|
|
613
594
|
exports.hasActiveTelemetry = hasActiveTelemetry;
|
|
614
595
|
exports.withSpan = withSpan;
|
|
615
|
-
//# sourceMappingURL=chunk-
|
|
616
|
-
//# sourceMappingURL=chunk-
|
|
596
|
+
//# sourceMappingURL=chunk-7GUQ2EQ4.cjs.map
|
|
597
|
+
//# sourceMappingURL=chunk-7GUQ2EQ4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/telemetry/utility.ts","../src/telemetry/telemetry.decorators.ts","../src/telemetry/storage-exporter.ts","../src/telemetry/telemetry.ts"],"names":["trace","propagation","boundedStringify","SpanStatusCode","context","SpanKind","JsonTraceSerializer","acc","TABLE_TRACES","ExportResultCode","MastraError","otlpContext","recordResult","wrappedFn"],"mappings":"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","file":"chunk-7GUQ2EQ4.cjs","sourcesContent":["import { propagation, trace } from '@opentelemetry/api';\nimport type { Context } from '@opentelemetry/api';\n\n// Helper function to check if telemetry is active\nexport function hasActiveTelemetry(tracerName: string = 'default-tracer'): boolean {\n try {\n return !!trace.getTracer(tracerName);\n } catch {\n return false;\n }\n}\n\n/**\n * Get baggage values from context\n * @param ctx The context to get baggage values from\n * @returns\n */\nexport function getBaggageValues(ctx: Context) {\n const currentBaggage = propagation.getBaggage(ctx);\n const requestId = currentBaggage?.getEntry('http.request_id')?.value;\n const componentName = currentBaggage?.getEntry('componentName')?.value;\n const runId = currentBaggage?.getEntry('runId')?.value;\n const threadId = currentBaggage?.getEntry('threadId')?.value;\n const resourceId = currentBaggage?.getEntry('resourceId')?.value;\n return {\n requestId,\n componentName,\n runId,\n threadId,\n resourceId,\n };\n}\n","import { context, propagation, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';\nimport type { Span } from '@opentelemetry/api';\n\nimport { boundedStringify } from '../ai-tracing/serialization';\nimport { getBaggageValues, hasActiveTelemetry } from './utility';\n\ninterface StreamFinishData {\n text?: string;\n usage?: {\n // AI SDK v5 format (VNext paths)\n inputTokens?: number;\n outputTokens?: number;\n reasoningTokens?: number;\n cachedInputTokens?: number;\n // Legacy format (backward compatibility)\n promptTokens?: number;\n completionTokens?: number;\n // Common fields\n totalTokens?: number;\n };\n finishReason?: string;\n toolCalls?: unknown[];\n toolResults?: unknown[];\n warnings?: unknown;\n object?: unknown; // structured output\n}\n\ninterface StreamOptions {\n onFinish?: (data: StreamFinishData) => Promise<void> | void;\n [key: string]: unknown;\n}\n\ninterface EnhancedSpan extends Span {\n __mastraStreamingSpan?: boolean;\n __mastraEnded?: boolean;\n}\n\n/**\n * End a span at most once (guards against double-end bugs across layers).\n */\nfunction endSpanOnce(span: EnhancedSpan) {\n if (span.__mastraEnded) return;\n span.__mastraEnded = true;\n try {\n span.end();\n } catch {\n // best-effort\n }\n}\n\nfunction isStreamingMethod(methodName: string): boolean {\n return methodName === 'stream' || methodName === 'streamLegacy';\n}\n\n/**\n * Attach minimal finish data to a span for streaming methods.\n * Default behavior stores only SMALL summary fields to avoid OOM.\n */\nfunction enhanceStreamingArgumentsWithTelemetry(args: unknown[], span: EnhancedSpan, spanName: string): unknown[] {\n const enhancedArgs = [...args];\n\n // Helper to check if value is a plain object\n const isPlainObject = (val: unknown): val is Record<string, unknown> =>\n val !== null && typeof val === 'object' && !Array.isArray(val);\n\n // Create the enhanced onFinish callback\n const createEnhancedOnFinish = (originalOnFinish?: (data: StreamFinishData) => Promise<void> | void) => {\n const enhancedOnFinish = async (finishData: StreamFinishData) => {\n const telemetryData = {\n text: finishData.text,\n usage: finishData.usage,\n finishReason: finishData.finishReason,\n toolCalls: finishData.toolCalls,\n toolResults: finishData.toolResults,\n warnings: finishData.warnings,\n ...(finishData.object !== undefined && { object: finishData.object }),\n };\n\n span.setAttribute(`${spanName}.result`, boundedStringify(telemetryData));\n span.setStatus({ code: SpanStatusCode.OK });\n endSpanOnce(span);\n\n if (originalOnFinish) return await originalOnFinish(finishData);\n };\n (enhancedOnFinish as any).__hasOriginalOnFinish = !!originalOnFinish;\n return enhancedOnFinish;\n };\n\n // Case 1: Single object argument (e.g., TTS.stream({ text }))\n if (enhancedArgs.length === 1 && isPlainObject(enhancedArgs[0])) {\n const singleArg = enhancedArgs[0] as StreamOptions;\n const originalOnFinish = singleArg.onFinish;\n enhancedArgs[0] = {\n ...singleArg,\n onFinish: createEnhancedOnFinish(originalOnFinish),\n };\n }\n // Case 2: Two-argument signature (model/prompt, options?)\n else {\n const streamOptions =\n enhancedArgs.length > 1 && isPlainObject(enhancedArgs[1]) ? (enhancedArgs[1] as StreamOptions) : {};\n const originalOnFinish = streamOptions.onFinish;\n enhancedArgs[1] = {\n ...streamOptions,\n onFinish: createEnhancedOnFinish(originalOnFinish),\n };\n }\n\n span.__mastraStreamingSpan = true;\n return enhancedArgs;\n}\n\n// Decorator factory\nexport function withSpan(options: {\n spanName?: string;\n skipIfNoTelemetry?: boolean;\n spanKind?: SpanKind;\n tracerName?: string;\n}): any {\n return function (_target: any, propertyKey: string | symbol, descriptor?: PropertyDescriptor | number) {\n if (!descriptor || typeof descriptor === 'number') return;\n\n const originalMethod = descriptor.value as Function;\n const methodName = String(propertyKey);\n\n descriptor.value = function (this: unknown, ...args: unknown[]) {\n if (options?.skipIfNoTelemetry && !hasActiveTelemetry(options?.tracerName)) {\n return originalMethod.apply(this, args);\n }\n\n const tracer = trace.getTracer(options?.tracerName ?? 'default-tracer');\n\n // Determine span name and kind\n let spanName: string;\n let spanKind: SpanKind | undefined;\n\n if (typeof options === 'string') {\n spanName = options;\n } else if (options) {\n spanName = options.spanName || methodName;\n spanKind = options.spanKind;\n } else {\n spanName = methodName;\n }\n\n // Start the span with optional kind\n const span = tracer.startSpan(spanName, { kind: spanKind }) as EnhancedSpan;\n\n // Always bind span to the active context\n let ctx = trace.setSpan(context.active(), span);\n\n // Record input arguments with bounded serialization\n args.forEach((arg, index) => {\n span.setAttribute(`${spanName}.argument.${index}`, boundedStringify(arg));\n });\n\n // Attach baggage-derived fields (these should be small)\n const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);\n\n if (requestId) {\n span.setAttribute('http.request_id', requestId);\n }\n\n if (threadId) {\n span.setAttribute('threadId', threadId);\n }\n\n if (resourceId) {\n span.setAttribute('resourceId', resourceId);\n }\n\n if (componentName) {\n span.setAttribute('componentName', componentName);\n if (runId) {\n span.setAttribute('runId', runId);\n }\n } else if (this && typeof this === 'object' && 'name' in this) {\n const contextObj = this as { name: string; runId?: string };\n span.setAttribute('componentName', contextObj.name);\n if (contextObj.runId) span.setAttribute('runId', contextObj.runId);\n\n // Best-effort baggage update, but do NOT inject undefined properties\n const baggageEntries: Record<string, { value: string }> = {};\n\n baggageEntries.componentName = { value: contextObj.name };\n\n if (contextObj.runId) {\n baggageEntries.runId = { value: contextObj.runId };\n }\n\n if (requestId) {\n baggageEntries['http.request_id'] = { value: requestId };\n }\n\n if (threadId) {\n baggageEntries.threadId = { value: threadId };\n }\n\n if (resourceId) {\n baggageEntries.resourceId = { value: resourceId };\n }\n\n ctx = propagation.setBaggage(ctx, propagation.createBaggage(baggageEntries as any));\n }\n\n try {\n // If this is a streaming method, wrap args before invocation\n const enhancedArgs = isStreamingMethod(methodName)\n ? enhanceStreamingArgumentsWithTelemetry(args, span, spanName)\n : args;\n\n const result = context.with(ctx, () => originalMethod.apply(this, enhancedArgs));\n\n // Promise\n if (result instanceof Promise) {\n return result\n .then(resolvedValue => {\n // For streaming, onFinish is responsible for ending span\n if (isStreamingMethod(methodName)) {\n return resolvedValue;\n }\n\n span.setAttribute(`${spanName}.result`, boundedStringify(resolvedValue));\n span.setStatus({ code: SpanStatusCode.OK });\n return resolvedValue;\n })\n .catch(err => {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err instanceof Error ? err.message : 'Unknown error',\n });\n if (err instanceof Error) {\n // recordException is okay, but can include stack; rely on OTel/Sentry settings\n span.recordException(err);\n }\n // End span on error - for streaming methods, onFinish won't be called if there's an error\n endSpanOnce(span);\n throw err;\n })\n .finally(() => {\n if (!span.__mastraStreamingSpan) endSpanOnce(span);\n });\n }\n\n // Non-promise return\n if (!isStreamingMethod(methodName)) {\n span.setAttribute(`${spanName}.result`, boundedStringify(result));\n }\n span.setStatus({ code: SpanStatusCode.OK });\n return result;\n } catch (error) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error instanceof Error ? error.message : 'Unknown error',\n });\n if (error instanceof Error) {\n span.recordException(error);\n }\n // End span on error - for streaming methods, onFinish won't be called if there's an error\n endSpanOnce(span);\n throw error;\n } finally {\n // End span for sync non-streaming methods (streaming ends in onFinish or catch)\n if (!isStreamingMethod(methodName) && !span.__mastraEnded) {\n endSpanOnce(span);\n }\n }\n };\n\n return descriptor;\n };\n}\n\n// class-telemetry.decorator.ts\nexport function InstrumentClass(options?: {\n prefix?: string;\n spanKind?: SpanKind;\n excludeMethods?: string[];\n methodFilter?: (methodName: string) => boolean;\n tracerName?: string;\n}) {\n return function (target: any) {\n const methods = Object.getOwnPropertyNames(target.prototype);\n\n methods.forEach(method => {\n if (options?.excludeMethods?.includes(method) || method === 'constructor') return;\n if (options?.methodFilter && !options.methodFilter(method)) return;\n\n const descriptor = Object.getOwnPropertyDescriptor(target.prototype, method);\n if (descriptor && typeof descriptor.value === 'function') {\n Object.defineProperty(\n target.prototype,\n method,\n withSpan({\n spanName: options?.prefix ? `${options.prefix}.${method}` : method,\n skipIfNoTelemetry: true,\n spanKind: options?.spanKind || SpanKind.INTERNAL,\n tracerName: options?.tracerName,\n })(target, method, descriptor),\n );\n }\n });\n\n return target;\n };\n}\n","import { ExportResultCode } from '@opentelemetry/core';\nimport type { ExportResult } from '@opentelemetry/core';\nimport { JsonTraceSerializer } from '@opentelemetry/otlp-transformer';\nimport type { ReadableSpan, SpanExporter } from '@opentelemetry/sdk-trace-base';\n\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { IMastraLogger } from '../logger';\nimport type { MastraStorage } from '../storage/base';\nimport { TABLE_TRACES } from '../storage/constants';\n\nexport class OTLPTraceExporter implements SpanExporter {\n private storage: MastraStorage;\n private queue: { data: any[]; resultCallback: (result: ExportResult) => void }[] = [];\n private serializer: typeof JsonTraceSerializer;\n private logger: IMastraLogger;\n private activeFlush: Promise<void> | undefined = undefined;\n\n constructor({ logger, storage }: { logger: IMastraLogger; storage: MastraStorage }) {\n this.storage = storage;\n this.serializer = JsonTraceSerializer;\n this.logger = logger;\n }\n\n export(internalRepresentation: ReadableSpan[], resultCallback: (result: ExportResult) => void): void {\n const serializedRequest = this.serializer.serializeRequest(internalRepresentation);\n // @ts-ignore\n const payload = JSON.parse(Buffer.from(serializedRequest.buffer, 'utf8'));\n const items = payload?.resourceSpans?.[0]?.scopeSpans;\n this.logger.debug(`Exporting telemetry: ${items.length} scope spans to be processed [trace batch]`);\n\n this.queue.push({ data: items, resultCallback });\n\n if (!this.activeFlush) {\n this.activeFlush = this.flush();\n }\n }\n shutdown(): Promise<void> {\n return this.forceFlush();\n }\n\n flush(): Promise<void> {\n const now = new Date();\n const items = this.queue.shift();\n if (!items) return Promise.resolve();\n\n const allSpans: any[] = items.data.reduce((acc, scopedSpans) => {\n const { scope, spans } = scopedSpans;\n for (const span of spans) {\n const {\n spanId,\n parentSpanId,\n traceId,\n name,\n kind,\n attributes,\n status,\n events,\n links,\n startTimeUnixNano,\n endTimeUnixNano,\n ...rest\n } = span;\n\n const startTime = Number(BigInt(startTimeUnixNano) / 1000n);\n const endTime = Number(BigInt(endTimeUnixNano) / 1000n);\n\n acc.push({\n id: spanId,\n parentSpanId,\n traceId,\n name,\n scope: scope.name,\n kind,\n status: JSON.stringify(status),\n events: JSON.stringify(events),\n links: JSON.stringify(links),\n attributes: JSON.stringify(\n attributes.reduce((acc: Record<string, any>, attr: any) => {\n const valueKey = Object.keys(attr.value)[0];\n if (valueKey) {\n acc[attr.key] = attr.value[valueKey];\n }\n return acc;\n }, {}),\n ),\n startTime,\n endTime,\n other: JSON.stringify(rest),\n createdAt: now,\n });\n }\n return acc;\n }, []);\n\n return this.storage\n .batchInsert({\n tableName: TABLE_TRACES,\n records: allSpans,\n })\n .then(() => {\n items.resultCallback({\n code: ExportResultCode.SUCCESS,\n });\n })\n .catch(e => {\n const mastraError = new MastraError(\n {\n id: 'OTLP_TRACE_EXPORT_FAILURE',\n text: 'Failed to export telemetry spans',\n domain: ErrorDomain.MASTRA_TELEMETRY,\n category: ErrorCategory.SYSTEM,\n details: {\n attemptedSpanCount: allSpans.length,\n targetTable: TABLE_TRACES,\n firstSpanName: allSpans.length > 0 ? allSpans[0].name : '',\n firstSpanKind: allSpans.length > 0 ? allSpans[0].kind : '',\n firstSpanScope: allSpans.length > 0 ? allSpans[0].scope : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n this.logger.error('span err:' + mastraError.toString());\n items.resultCallback({\n code: ExportResultCode.FAILED,\n error: e,\n });\n })\n .finally(() => {\n this.activeFlush = undefined;\n });\n }\n async forceFlush(): Promise<void> {\n if (!this.queue.length) {\n return;\n }\n\n await this.activeFlush;\n while (this.queue.length) {\n await this.flush();\n }\n }\n\n __setLogger(logger: IMastraLogger) {\n this.logger = logger;\n }\n}\n","import { context as otlpContext, SpanStatusCode, trace, propagation, context } from '@opentelemetry/api';\nimport type { Tracer, SpanOptions, Context, Span, BaggageEntry } from '@opentelemetry/api';\n\nimport { boundedStringify } from '../ai-tracing/serialization';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../error';\nimport type { OtelConfig } from './types';\nimport { getBaggageValues, hasActiveTelemetry } from './utility';\n\n// Add type declaration for global namespace\ndeclare global {\n var __TELEMETRY__: Telemetry | undefined;\n}\n\nexport class Telemetry {\n public tracer: Tracer = trace.getTracer('default');\n name: string = 'default-service';\n\n private constructor(config: OtelConfig) {\n this.name = config.serviceName ?? 'default-service';\n\n this.tracer = trace.getTracer(this.name);\n }\n\n /**\n * @deprecated This method does not do anything\n */\n public async shutdown() {}\n\n /**\n * Initialize telemetry with the given configuration\n * @param config - Optional telemetry configuration object\n * @returns Telemetry instance that can be used for tracing\n */\n static init(config: OtelConfig = {}): Telemetry {\n try {\n if (!globalThis.__TELEMETRY__) {\n globalThis.__TELEMETRY__ = new Telemetry(config);\n }\n\n return globalThis.__TELEMETRY__;\n } catch (error) {\n const wrappedError = new MastraError(\n {\n id: 'TELEMETRY_INIT_FAILED',\n text: 'Failed to initialize telemetry',\n domain: ErrorDomain.MASTRA_TELEMETRY,\n category: ErrorCategory.SYSTEM,\n },\n error,\n );\n throw wrappedError;\n }\n }\n\n static getActiveSpan() {\n const span = trace.getActiveSpan();\n return span;\n }\n\n /**\n * Get the global telemetry instance\n * @throws {Error} If telemetry has not been initialized\n * @returns {Telemetry} The global telemetry instance\n */\n static get(): Telemetry {\n if (!globalThis.__TELEMETRY__) {\n throw new MastraError({\n id: 'TELEMETRY_GETTER_FAILED_GLOBAL_TELEMETRY_NOT_INITIALIZED',\n text: 'Telemetry not initialized',\n domain: ErrorDomain.MASTRA_TELEMETRY,\n category: ErrorCategory.USER,\n });\n }\n return globalThis.__TELEMETRY__;\n }\n\n /**\n * Wraps a class instance with telemetry tracing\n * @param instance The class instance to wrap\n * @param options Optional configuration for tracing\n * @returns Wrapped instance with all methods traced\n */\n traceClass<T extends object>(\n instance: T,\n options: {\n /** Base name for spans (e.g. 'integration', 'agent') */\n spanNamePrefix?: string;\n /** Additional attributes to add to all spans */\n attributes?: Record<string, string>;\n /** Methods to exclude from tracing */\n excludeMethods?: string[];\n /** Skip tracing if telemetry is not active */\n skipIfNoTelemetry?: boolean;\n } = {},\n ): T {\n const { skipIfNoTelemetry = true } = options;\n\n // Skip if no telemetry is active and skipIfNoTelemetry is true\n if (skipIfNoTelemetry && !hasActiveTelemetry()) {\n return instance;\n }\n\n const { spanNamePrefix = instance.constructor.name.toLowerCase(), attributes = {}, excludeMethods = [] } = options;\n\n return new Proxy(instance, {\n get: (target, prop: string | symbol) => {\n const value = target[prop as keyof T];\n\n // Skip tracing for excluded methods, constructors, private methods\n if (\n typeof value === 'function' &&\n prop !== 'constructor' &&\n !prop.toString().startsWith('_') &&\n !excludeMethods.includes(prop.toString())\n ) {\n return this.traceMethod(value.bind(target), {\n spanName: `${spanNamePrefix}.${prop.toString()}`,\n attributes: {\n ...attributes,\n [`${spanNamePrefix}.name`]: target.constructor.name,\n [`${spanNamePrefix}.method.name`]: prop.toString(),\n },\n });\n }\n\n return value;\n },\n });\n }\n\n static setBaggage(baggage: Record<string, BaggageEntry>, ctx: Context = otlpContext.active()) {\n const currentBaggage = Object.fromEntries(propagation.getBaggage(ctx)?.getAllEntries() ?? []);\n const newCtx = propagation.setBaggage(\n ctx,\n propagation.createBaggage({\n ...currentBaggage,\n ...baggage,\n }),\n );\n return newCtx;\n }\n\n static withContext(ctx: Context, fn: () => void) {\n return otlpContext.with(ctx, fn);\n }\n\n /**\n * method to trace individual methods with proper context\n * @param method The method to trace\n * @param context Additional context for the trace\n * @returns Wrapped method with tracing\n */\n traceMethod<TMethod extends Function>(\n method: TMethod,\n context: {\n spanName: string;\n attributes?: Record<string, string>;\n skipIfNoTelemetry?: boolean;\n parentSpan?: Span;\n },\n ): TMethod {\n let ctx = otlpContext.active();\n const { skipIfNoTelemetry = true } = context;\n\n // Skip if no telemetry is active and skipIfNoTelemetry is true\n if (skipIfNoTelemetry && !hasActiveTelemetry()) {\n return method;\n }\n\n return ((...args: unknown[]) => {\n const span = this.tracer.startSpan(context.spanName);\n\n function handleError(error: unknown) {\n span.recordException(error as Error);\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: (error as Error).message,\n });\n span.end();\n throw error;\n }\n try {\n const { requestId, componentName, runId, threadId, resourceId } = getBaggageValues(ctx);\n\n // Add all context attributes to span\n if (context.attributes) {\n span.setAttributes(context.attributes);\n }\n\n if (requestId) {\n span.setAttribute('http.request_id', requestId);\n }\n\n if (threadId) {\n span.setAttribute('threadId', threadId);\n }\n\n if (resourceId) {\n span.setAttribute('resourceId', resourceId);\n }\n\n if (context.attributes?.componentName) {\n ctx = propagation.setBaggage(\n ctx,\n propagation.createBaggage({\n componentName: { value: context.attributes.componentName },\n // @ts-ignore\n runId: { value: context.attributes.runId },\n // @ts-ignore\n 'http.request_id': { value: requestId },\n }),\n );\n } else {\n if (componentName) {\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n } else if (this && this.name) {\n span.setAttribute('componentName', this.name);\n // @ts-ignore\n span.setAttribute('runId', this.runId);\n ctx = propagation.setBaggage(\n ctx,\n propagation.createBaggage({\n componentName: { value: this.name },\n // @ts-ignore\n runId: { value: this.runId },\n // @ts-ignore\n 'http.request_id': { value: requestId },\n // @ts-ignore\n threadId: { value: threadId },\n // @ts-ignore\n resourceId: { value: resourceId },\n }),\n );\n }\n }\n\n // Record input arguments as span attributes (with bounded serialization)\n args.forEach((arg, index) => {\n span.setAttribute(`${context.spanName}.argument.${index}`, boundedStringify(arg));\n });\n\n let result: any;\n otlpContext.with(trace.setSpan(ctx, span), () => {\n result = method(...args);\n });\n\n function recordResult(res: any) {\n span.setAttribute(`${context.spanName}.result`, boundedStringify(res));\n span.end();\n return res;\n }\n\n if (result instanceof Promise) {\n return result.then(recordResult).catch(handleError);\n } else {\n return recordResult(result);\n }\n } catch (error) {\n handleError(error);\n }\n }) as unknown as TMethod;\n }\n\n getBaggageTracer(): Tracer {\n return new BaggageTracer(this.tracer);\n }\n}\n\nclass BaggageTracer implements Tracer {\n private _tracer: Tracer;\n\n constructor(tracer: Tracer) {\n this._tracer = tracer;\n }\n\n startSpan(name: string, options: SpanOptions = {}, ctx: Context) {\n ctx = ctx ?? otlpContext.active();\n const span = this._tracer.startSpan(name, options, ctx);\n const { componentName, runId, requestId, threadId, resourceId } = getBaggageValues(ctx);\n // @ts-ignore\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n // @ts-ignore\n span.setAttribute('http.request_id', requestId);\n // @ts-ignore\n span.setAttribute('threadId', threadId);\n // @ts-ignore\n span.setAttribute('resourceId', resourceId);\n\n return span;\n }\n\n startActiveSpan<F extends (span: Span) => unknown>(name: string, fn: F): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(name: string, options: SpanOptions, fn: F): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n options: SpanOptions,\n ctx: Context,\n fn: F,\n ): ReturnType<F>;\n startActiveSpan<F extends (span: Span) => unknown>(\n name: string,\n optionsOrFn: SpanOptions | F,\n ctxOrFn?: Context | F,\n fn?: F,\n ): ReturnType<F> {\n if (typeof optionsOrFn === 'function') {\n const wrappedFn = (span: Span) => {\n const { componentName, runId, requestId, threadId, resourceId } = getBaggageValues(otlpContext.active());\n // @ts-ignore\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n // @ts-ignore\n span.setAttribute('http.request_id', requestId);\n // @ts-ignore\n span.setAttribute('threadId', threadId);\n // @ts-ignore\n span.setAttribute('resourceId', resourceId);\n\n return optionsOrFn(span);\n };\n return this._tracer.startActiveSpan(name, {}, context.active(), wrappedFn as F);\n }\n if (typeof ctxOrFn === 'function') {\n const wrappedFn = (span: Span) => {\n const { componentName, runId, requestId, threadId, resourceId } = getBaggageValues(otlpContext.active());\n // @ts-ignore\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n // @ts-ignore\n span.setAttribute('http.request_id', requestId);\n // @ts-ignore\n span.setAttribute('threadId', threadId);\n // @ts-ignore\n span.setAttribute('resourceId', resourceId);\n\n return ctxOrFn(span);\n };\n return this._tracer.startActiveSpan(name, optionsOrFn, context.active(), wrappedFn as F);\n }\n const wrappedFn = (span: Span) => {\n const { componentName, runId, requestId, threadId, resourceId } = getBaggageValues(\n ctxOrFn ?? otlpContext.active(),\n );\n // @ts-ignore\n span.setAttribute('componentName', componentName);\n // @ts-ignore\n span.setAttribute('runId', runId);\n // @ts-ignore\n span.setAttribute('http.request_id', requestId);\n // @ts-ignore\n span.setAttribute('threadId', threadId);\n // @ts-ignore\n span.setAttribute('resourceId', resourceId);\n\n return fn!(span);\n };\n return this._tracer.startActiveSpan(name, optionsOrFn, ctxOrFn!, wrappedFn as F);\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { deepClean } from './chunk-PA6Z5V6U.js';
|
|
1
2
|
import { RuntimeContext } from './chunk-HLRWYUFN.js';
|
|
2
3
|
import { MastraError } from './chunk-PZUZNPFM.js';
|
|
3
4
|
import { ToolStream } from './chunk-5O52O25J.js';
|
|
@@ -170,46 +171,6 @@ var BaseAISpan = class {
|
|
|
170
171
|
};
|
|
171
172
|
}
|
|
172
173
|
};
|
|
173
|
-
var DEFAULT_KEYS_TO_STRIP = /* @__PURE__ */ new Set([
|
|
174
|
-
"logger",
|
|
175
|
-
"experimental_providerMetadata",
|
|
176
|
-
"providerMetadata",
|
|
177
|
-
"steps",
|
|
178
|
-
"tracingContext"
|
|
179
|
-
]);
|
|
180
|
-
function deepClean(value, options = {}, _seen = /* @__PURE__ */ new WeakSet(), _depth = 0) {
|
|
181
|
-
const { keysToStrip = DEFAULT_KEYS_TO_STRIP, maxDepth = 10 } = options;
|
|
182
|
-
if (_depth > maxDepth) {
|
|
183
|
-
return "[MaxDepth]";
|
|
184
|
-
}
|
|
185
|
-
if (value === null || typeof value !== "object") {
|
|
186
|
-
try {
|
|
187
|
-
JSON.stringify(value);
|
|
188
|
-
return value;
|
|
189
|
-
} catch (error) {
|
|
190
|
-
return `[${error instanceof Error ? error.message : String(error)}]`;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
if (_seen.has(value)) {
|
|
194
|
-
return "[Circular]";
|
|
195
|
-
}
|
|
196
|
-
_seen.add(value);
|
|
197
|
-
if (Array.isArray(value)) {
|
|
198
|
-
return value.map((item) => deepClean(item, options, _seen, _depth + 1));
|
|
199
|
-
}
|
|
200
|
-
const cleaned = {};
|
|
201
|
-
for (const [key, val] of Object.entries(value)) {
|
|
202
|
-
if (keysToStrip.has(key)) {
|
|
203
|
-
continue;
|
|
204
|
-
}
|
|
205
|
-
try {
|
|
206
|
-
cleaned[key] = deepClean(val, options, _seen, _depth + 1);
|
|
207
|
-
} catch (error) {
|
|
208
|
-
cleaned[key] = `[${error instanceof Error ? error.message : String(error)}]`;
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return cleaned;
|
|
212
|
-
}
|
|
213
174
|
|
|
214
175
|
// src/ai-tracing/spans/default.ts
|
|
215
176
|
var DefaultAISpan = class extends BaseAISpan {
|
|
@@ -2913,6 +2874,6 @@ var ModelSpanTracker = class {
|
|
|
2913
2874
|
}
|
|
2914
2875
|
};
|
|
2915
2876
|
|
|
2916
|
-
export { AISpanType, AITracingEventType, BaseAISpan, BaseAITracing, BaseExporter, CloudExporter, ConsoleExporter, DefaultAISpan, DefaultAITracing, DefaultExporter, InternalSpans, ModelSpanTracker, NoOpAISpan, SamplingStrategyType, SensitiveDataFilter, checkEvalStorageFields, clearAITracingRegistry, createMastraProxy,
|
|
2917
|
-
//# sourceMappingURL=chunk-
|
|
2918
|
-
//# sourceMappingURL=chunk-
|
|
2877
|
+
export { AISpanType, AITracingEventType, BaseAISpan, BaseAITracing, BaseExporter, CloudExporter, ConsoleExporter, DefaultAISpan, DefaultAITracing, DefaultExporter, InternalSpans, ModelSpanTracker, NoOpAISpan, SamplingStrategyType, SensitiveDataFilter, checkEvalStorageFields, clearAITracingRegistry, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, getAITracing, getAllAITracing, getDefaultAITracing, getNestedValue2 as getNestedValue, getNestedValue as getNestedValue2, getOrCreateSpan, getSelectedAITracing, getValidTraceId, hasAITracing, isCoreMessage, isMastra, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, omitKeys2 as omitKeys, omitKeys as omitKeys2, parseFieldKey, parseSqlIdentifier, registerAITracing, removeUndefinedValues, resolveSerializedZodOutput, selectFields2 as selectFields, selectFields as selectFields2, setNestedValue2 as setNestedValue, setNestedValue as setNestedValue2, setSelector, setupAITracing, shutdownAITracingRegistry, unregisterAITracing, wrapMastra };
|
|
2878
|
+
//# sourceMappingURL=chunk-BBE22VBK.js.map
|
|
2879
|
+
//# sourceMappingURL=chunk-BBE22VBK.js.map
|