@mastra/core 0.17.0-alpha.3 → 0.17.0-alpha.4
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 +16 -0
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/index.cjs +11 -11
- 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/message-list/index.d.ts +1 -1
- package/dist/agent/message-list/index.d.ts.map +1 -1
- package/dist/agent/types.d.ts +5 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/ai-tracing/exporters/default.d.ts +1 -0
- package/dist/ai-tracing/exporters/default.d.ts.map +1 -1
- package/dist/ai-tracing/index.cjs +35 -31
- package/dist/ai-tracing/index.js +1 -1
- package/dist/ai-tracing/spans/base.d.ts +2 -1
- package/dist/ai-tracing/spans/base.d.ts.map +1 -1
- package/dist/ai-tracing/types.d.ts +35 -4
- package/dist/ai-tracing/types.d.ts.map +1 -1
- package/dist/ai-tracing/utils.d.ts +3 -2
- package/dist/ai-tracing/utils.d.ts.map +1 -1
- package/dist/{chunk-MEAE636Z.js → chunk-4OT7CXAS.js} +17 -4
- package/dist/chunk-4OT7CXAS.js.map +1 -0
- package/dist/{chunk-6DGBFJVJ.js → chunk-4VHC2F5H.js} +10 -8
- package/dist/chunk-4VHC2F5H.js.map +1 -0
- package/dist/{chunk-DFG5DYBU.cjs → chunk-6MDSS7WL.cjs} +4 -4
- package/dist/{chunk-DFG5DYBU.cjs.map → chunk-6MDSS7WL.cjs.map} +1 -1
- package/dist/{chunk-NHXCRP73.cjs → chunk-BGAJ72HJ.cjs} +92 -79
- package/dist/chunk-BGAJ72HJ.cjs.map +1 -0
- package/dist/{chunk-O5ZQXW2Z.js → chunk-BY37WSX5.js} +5 -5
- package/dist/{chunk-O5ZQXW2Z.js.map → chunk-BY37WSX5.js.map} +1 -1
- package/dist/{chunk-CUL4XPO7.cjs → chunk-CP4TZ4HO.cjs} +119 -46
- package/dist/chunk-CP4TZ4HO.cjs.map +1 -0
- package/dist/{chunk-FJRTJO6A.cjs → chunk-F3XF7MEZ.cjs} +12 -12
- package/dist/{chunk-FJRTJO6A.cjs.map → chunk-F3XF7MEZ.cjs.map} +1 -1
- package/dist/{chunk-7GC52IJO.cjs → chunk-HBQSSMAD.cjs} +13 -11
- package/dist/chunk-HBQSSMAD.cjs.map +1 -0
- package/dist/{chunk-VFSLYB2P.cjs → chunk-HZGYVRVN.cjs} +21 -8
- package/dist/chunk-HZGYVRVN.cjs.map +1 -0
- package/dist/{chunk-AZW77RIZ.cjs → chunk-MRZHPP3G.cjs} +103 -5
- package/dist/chunk-MRZHPP3G.cjs.map +1 -0
- package/dist/{chunk-UIOXAMCE.js → chunk-PL3B3FZM.js} +119 -47
- package/dist/chunk-PL3B3FZM.js.map +1 -0
- package/dist/{chunk-PGJPVLDZ.cjs → chunk-RNJ4GD7U.cjs} +6 -6
- package/dist/{chunk-PGJPVLDZ.cjs.map → chunk-RNJ4GD7U.cjs.map} +1 -1
- package/dist/{chunk-HN446TOQ.js → chunk-TUXCO343.js} +17 -6
- package/dist/chunk-TUXCO343.js.map +1 -0
- package/dist/{chunk-6ER2C5KK.js → chunk-UWUM3F3X.js} +72 -59
- package/dist/chunk-UWUM3F3X.js.map +1 -0
- package/dist/{chunk-YUSC7Q6Y.js → chunk-VXJFKEON.js} +4 -4
- package/dist/{chunk-YUSC7Q6Y.js.map → chunk-VXJFKEON.js.map} +1 -1
- package/dist/{chunk-4UUBZNVD.cjs → chunk-X3MOJJYH.cjs} +20 -9
- package/dist/chunk-X3MOJJYH.cjs.map +1 -0
- package/dist/{chunk-RYRLZO4M.js → chunk-XKVDOO2O.js} +3 -3
- package/dist/{chunk-RYRLZO4M.js.map → chunk-XKVDOO2O.js.map} +1 -1
- package/dist/{chunk-A6DPQCNR.js → chunk-XRJDA7BI.js} +102 -4
- package/dist/chunk-XRJDA7BI.js.map +1 -0
- package/dist/index.cjs +38 -38
- package/dist/index.js +7 -7
- package/dist/llm/model/model.d.ts +3 -1
- package/dist/llm/model/model.d.ts.map +1 -1
- package/dist/llm/model/model.loop.d.ts +3 -1
- package/dist/llm/model/model.loop.d.ts.map +1 -1
- package/dist/llm/model/shared.types.d.ts +4 -0
- package/dist/llm/model/shared.types.d.ts.map +1 -1
- package/dist/loop/index.cjs +2 -2
- package/dist/loop/index.js +1 -1
- package/dist/loop/test-utils/options.d.ts.map +1 -1
- package/dist/loop/workflows/agentic-execution/index.d.ts +836 -0
- package/dist/loop/workflows/agentic-execution/index.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +559 -0
- package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +311 -0
- package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -0
- package/dist/loop/{workflow → workflows/agentic-execution}/tool-call-step.d.ts +16 -16
- package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -0
- package/dist/loop/workflows/agentic-loop/index.d.ts +842 -0
- package/dist/loop/workflows/agentic-loop/index.d.ts.map +1 -0
- package/dist/loop/workflows/run-state.d.ts.map +1 -0
- package/dist/loop/workflows/schema.d.ts +439 -0
- package/dist/loop/workflows/schema.d.ts.map +1 -0
- package/dist/loop/{workflow → workflows}/stream.d.ts +1 -1
- package/dist/loop/workflows/stream.d.ts.map +1 -0
- 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/network/index.cjs +2 -2
- package/dist/network/index.js +1 -1
- package/dist/network/vNext/index.cjs +34 -34
- package/dist/network/vNext/index.cjs.map +1 -1
- package/dist/network/vNext/index.js +7 -7
- package/dist/network/vNext/index.js.map +1 -1
- package/dist/processors/index.cjs +8 -8
- package/dist/processors/index.js +2 -2
- package/dist/relevance/index.cjs +4 -4
- package/dist/relevance/index.js +1 -1
- package/dist/scores/base.d.ts.map +1 -1
- package/dist/scores/index.cjs +8 -8
- package/dist/scores/index.js +1 -1
- package/dist/storage/index.cjs +3 -3
- package/dist/storage/index.js +1 -1
- package/dist/stream/base/output.d.ts.map +1 -1
- package/dist/stream/index.cjs +3 -3
- package/dist/stream/index.js +1 -1
- package/dist/stream/types.d.ts +1 -1
- package/dist/stream/types.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/utils.cjs +17 -17
- package/dist/utils.d.ts +2 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +1 -1
- 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/evented/workflow.d.ts.map +1 -1
- package/dist/workflows/execution-engine.d.ts +7 -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/types.d.ts +6 -1
- package/dist/workflows/types.d.ts.map +1 -1
- package/dist/workflows/workflow.d.ts +12 -10
- package/dist/workflows/workflow.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-4UUBZNVD.cjs.map +0 -1
- package/dist/chunk-6DGBFJVJ.js.map +0 -1
- package/dist/chunk-6ER2C5KK.js.map +0 -1
- package/dist/chunk-7GC52IJO.cjs.map +0 -1
- package/dist/chunk-A6DPQCNR.js.map +0 -1
- package/dist/chunk-AZW77RIZ.cjs.map +0 -1
- package/dist/chunk-CUL4XPO7.cjs.map +0 -1
- package/dist/chunk-HN446TOQ.js.map +0 -1
- package/dist/chunk-MEAE636Z.js.map +0 -1
- package/dist/chunk-NHXCRP73.cjs.map +0 -1
- package/dist/chunk-UIOXAMCE.js.map +0 -1
- package/dist/chunk-VFSLYB2P.cjs.map +0 -1
- package/dist/loop/workflow/llm-execution.d.ts +0 -81
- package/dist/loop/workflow/llm-execution.d.ts.map +0 -1
- package/dist/loop/workflow/outer-llm-step.d.ts +0 -44
- package/dist/loop/workflow/outer-llm-step.d.ts.map +0 -1
- package/dist/loop/workflow/run-state.d.ts.map +0 -1
- package/dist/loop/workflow/schema.d.ts +0 -92
- package/dist/loop/workflow/schema.d.ts.map +0 -1
- package/dist/loop/workflow/stream.d.ts.map +0 -1
- package/dist/loop/workflow/tool-call-step.d.ts.map +0 -1
- /package/dist/loop/{workflow → workflows}/run-state.d.ts +0 -0
|
@@ -15,7 +15,79 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
15
15
|
|
|
16
16
|
var jsonSchemaToZod__default = /*#__PURE__*/_interopDefault(jsonSchemaToZod);
|
|
17
17
|
|
|
18
|
+
// src/ai-tracing/types.ts
|
|
19
|
+
var AISpanType = /* @__PURE__ */ ((AISpanType2) => {
|
|
20
|
+
AISpanType2["AGENT_RUN"] = "agent_run";
|
|
21
|
+
AISpanType2["GENERIC"] = "generic";
|
|
22
|
+
AISpanType2["LLM_GENERATION"] = "llm_generation";
|
|
23
|
+
AISpanType2["LLM_CHUNK"] = "llm_chunk";
|
|
24
|
+
AISpanType2["MCP_TOOL_CALL"] = "mcp_tool_call";
|
|
25
|
+
AISpanType2["TOOL_CALL"] = "tool_call";
|
|
26
|
+
AISpanType2["WORKFLOW_RUN"] = "workflow_run";
|
|
27
|
+
AISpanType2["WORKFLOW_STEP"] = "workflow_step";
|
|
28
|
+
AISpanType2["WORKFLOW_CONDITIONAL"] = "workflow_conditional";
|
|
29
|
+
AISpanType2["WORKFLOW_CONDITIONAL_EVAL"] = "workflow_conditional_eval";
|
|
30
|
+
AISpanType2["WORKFLOW_PARALLEL"] = "workflow_parallel";
|
|
31
|
+
AISpanType2["WORKFLOW_LOOP"] = "workflow_loop";
|
|
32
|
+
AISpanType2["WORKFLOW_SLEEP"] = "workflow_sleep";
|
|
33
|
+
AISpanType2["WORKFLOW_WAIT_EVENT"] = "workflow_wait_event";
|
|
34
|
+
return AISpanType2;
|
|
35
|
+
})(AISpanType || {});
|
|
36
|
+
var InternalSpans = /* @__PURE__ */ ((InternalSpans2) => {
|
|
37
|
+
InternalSpans2[InternalSpans2["NONE"] = 0] = "NONE";
|
|
38
|
+
InternalSpans2[InternalSpans2["WORKFLOW"] = 1] = "WORKFLOW";
|
|
39
|
+
InternalSpans2[InternalSpans2["AGENT"] = 2] = "AGENT";
|
|
40
|
+
InternalSpans2[InternalSpans2["TOOL"] = 4] = "TOOL";
|
|
41
|
+
InternalSpans2[InternalSpans2["LLM"] = 8] = "LLM";
|
|
42
|
+
InternalSpans2[InternalSpans2["ALL"] = 15] = "ALL";
|
|
43
|
+
return InternalSpans2;
|
|
44
|
+
})(InternalSpans || {});
|
|
45
|
+
var SamplingStrategyType = /* @__PURE__ */ ((SamplingStrategyType2) => {
|
|
46
|
+
SamplingStrategyType2["ALWAYS"] = "always";
|
|
47
|
+
SamplingStrategyType2["NEVER"] = "never";
|
|
48
|
+
SamplingStrategyType2["RATIO"] = "ratio";
|
|
49
|
+
SamplingStrategyType2["CUSTOM"] = "custom";
|
|
50
|
+
return SamplingStrategyType2;
|
|
51
|
+
})(SamplingStrategyType || {});
|
|
52
|
+
var AITracingEventType = /* @__PURE__ */ ((AITracingEventType2) => {
|
|
53
|
+
AITracingEventType2["SPAN_STARTED"] = "span_started";
|
|
54
|
+
AITracingEventType2["SPAN_UPDATED"] = "span_updated";
|
|
55
|
+
AITracingEventType2["SPAN_ENDED"] = "span_ended";
|
|
56
|
+
return AITracingEventType2;
|
|
57
|
+
})(AITracingEventType || {});
|
|
58
|
+
|
|
18
59
|
// src/ai-tracing/spans/base.ts
|
|
60
|
+
function isSpanInternal(spanType, flags) {
|
|
61
|
+
if (flags === void 0 || flags === 0 /* NONE */) {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
switch (spanType) {
|
|
65
|
+
// Workflow-related spans
|
|
66
|
+
case "workflow_run" /* WORKFLOW_RUN */:
|
|
67
|
+
case "workflow_step" /* WORKFLOW_STEP */:
|
|
68
|
+
case "workflow_conditional" /* WORKFLOW_CONDITIONAL */:
|
|
69
|
+
case "workflow_conditional_eval" /* WORKFLOW_CONDITIONAL_EVAL */:
|
|
70
|
+
case "workflow_parallel" /* WORKFLOW_PARALLEL */:
|
|
71
|
+
case "workflow_loop" /* WORKFLOW_LOOP */:
|
|
72
|
+
case "workflow_sleep" /* WORKFLOW_SLEEP */:
|
|
73
|
+
case "workflow_wait_event" /* WORKFLOW_WAIT_EVENT */:
|
|
74
|
+
return (flags & 1 /* WORKFLOW */) !== 0;
|
|
75
|
+
// Agent-related spans
|
|
76
|
+
case "agent_run" /* AGENT_RUN */:
|
|
77
|
+
return (flags & 2 /* AGENT */) !== 0;
|
|
78
|
+
// Tool-related spans
|
|
79
|
+
case "tool_call" /* TOOL_CALL */:
|
|
80
|
+
case "mcp_tool_call" /* MCP_TOOL_CALL */:
|
|
81
|
+
return (flags & 4 /* TOOL */) !== 0;
|
|
82
|
+
// LLM-related spans
|
|
83
|
+
case "llm_generation" /* LLM_GENERATION */:
|
|
84
|
+
case "llm_chunk" /* LLM_CHUNK */:
|
|
85
|
+
return (flags & 8 /* LLM */) !== 0;
|
|
86
|
+
// Default: never internal
|
|
87
|
+
default:
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
19
91
|
var BaseAISpan = class {
|
|
20
92
|
name;
|
|
21
93
|
type;
|
|
@@ -39,7 +111,7 @@ var BaseAISpan = class {
|
|
|
39
111
|
this.startTime = /* @__PURE__ */ new Date();
|
|
40
112
|
this.aiTracing = aiTracing;
|
|
41
113
|
this.isEvent = options.isEvent ?? false;
|
|
42
|
-
this.isInternal = options.
|
|
114
|
+
this.isInternal = isSpanInternal(this.type, options.tracingPolicy?.internal);
|
|
43
115
|
if (this.isEvent) {
|
|
44
116
|
this.output = deepClean(options.output);
|
|
45
117
|
} else {
|
|
@@ -252,38 +324,6 @@ var NoOpAISpan = class extends BaseAISpan {
|
|
|
252
324
|
}
|
|
253
325
|
};
|
|
254
326
|
|
|
255
|
-
// src/ai-tracing/types.ts
|
|
256
|
-
var AISpanType = /* @__PURE__ */ ((AISpanType2) => {
|
|
257
|
-
AISpanType2["AGENT_RUN"] = "agent_run";
|
|
258
|
-
AISpanType2["GENERIC"] = "generic";
|
|
259
|
-
AISpanType2["LLM_GENERATION"] = "llm_generation";
|
|
260
|
-
AISpanType2["LLM_CHUNK"] = "llm_chunk";
|
|
261
|
-
AISpanType2["MCP_TOOL_CALL"] = "mcp_tool_call";
|
|
262
|
-
AISpanType2["TOOL_CALL"] = "tool_call";
|
|
263
|
-
AISpanType2["WORKFLOW_RUN"] = "workflow_run";
|
|
264
|
-
AISpanType2["WORKFLOW_STEP"] = "workflow_step";
|
|
265
|
-
AISpanType2["WORKFLOW_CONDITIONAL"] = "workflow_conditional";
|
|
266
|
-
AISpanType2["WORKFLOW_CONDITIONAL_EVAL"] = "workflow_conditional_eval";
|
|
267
|
-
AISpanType2["WORKFLOW_PARALLEL"] = "workflow_parallel";
|
|
268
|
-
AISpanType2["WORKFLOW_LOOP"] = "workflow_loop";
|
|
269
|
-
AISpanType2["WORKFLOW_SLEEP"] = "workflow_sleep";
|
|
270
|
-
AISpanType2["WORKFLOW_WAIT_EVENT"] = "workflow_wait_event";
|
|
271
|
-
return AISpanType2;
|
|
272
|
-
})(AISpanType || {});
|
|
273
|
-
var SamplingStrategyType = /* @__PURE__ */ ((SamplingStrategyType2) => {
|
|
274
|
-
SamplingStrategyType2["ALWAYS"] = "always";
|
|
275
|
-
SamplingStrategyType2["NEVER"] = "never";
|
|
276
|
-
SamplingStrategyType2["RATIO"] = "ratio";
|
|
277
|
-
SamplingStrategyType2["CUSTOM"] = "custom";
|
|
278
|
-
return SamplingStrategyType2;
|
|
279
|
-
})(SamplingStrategyType || {});
|
|
280
|
-
var AITracingEventType = /* @__PURE__ */ ((AITracingEventType2) => {
|
|
281
|
-
AITracingEventType2["SPAN_STARTED"] = "span_started";
|
|
282
|
-
AITracingEventType2["SPAN_UPDATED"] = "span_updated";
|
|
283
|
-
AITracingEventType2["SPAN_ENDED"] = "span_ended";
|
|
284
|
-
return AITracingEventType2;
|
|
285
|
-
})(AITracingEventType || {});
|
|
286
|
-
|
|
287
327
|
// src/ai-tracing/tracers/base.ts
|
|
288
328
|
var BaseAITracing = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
289
329
|
config;
|
|
@@ -600,7 +640,7 @@ var CoreToolBuilder = class extends chunkKXCUCBEI_cjs.MastraBase {
|
|
|
600
640
|
toolDescription: options.description,
|
|
601
641
|
toolType: logType || "tool"
|
|
602
642
|
},
|
|
603
|
-
|
|
643
|
+
tracingPolicy: options.tracingPolicy
|
|
604
644
|
});
|
|
605
645
|
try {
|
|
606
646
|
let result;
|
|
@@ -1351,6 +1391,8 @@ var DefaultExporter = class {
|
|
|
1351
1391
|
resolvedStrategy;
|
|
1352
1392
|
buffer;
|
|
1353
1393
|
flushTimer = null;
|
|
1394
|
+
// Track all spans that have been created, persists across flushes
|
|
1395
|
+
allCreatedSpans = /* @__PURE__ */ new Set();
|
|
1354
1396
|
constructor(config = {}, logger) {
|
|
1355
1397
|
if (logger) {
|
|
1356
1398
|
this.logger = logger;
|
|
@@ -1371,6 +1413,7 @@ var DefaultExporter = class {
|
|
|
1371
1413
|
insertOnly: [],
|
|
1372
1414
|
seenSpans: /* @__PURE__ */ new Set(),
|
|
1373
1415
|
spanSequences: /* @__PURE__ */ new Map(),
|
|
1416
|
+
completedSpans: /* @__PURE__ */ new Set(),
|
|
1374
1417
|
outOfOrderCount: 0,
|
|
1375
1418
|
totalSize: 0
|
|
1376
1419
|
};
|
|
@@ -1434,6 +1477,7 @@ var DefaultExporter = class {
|
|
|
1434
1477
|
this.logger.warn("Out-of-order span update detected - skipping event", {
|
|
1435
1478
|
spanId: event.exportedSpan.id,
|
|
1436
1479
|
traceId: event.exportedSpan.traceId,
|
|
1480
|
+
spanName: event.exportedSpan.name,
|
|
1437
1481
|
eventType: event.type
|
|
1438
1482
|
});
|
|
1439
1483
|
}
|
|
@@ -1457,11 +1501,12 @@ var DefaultExporter = class {
|
|
|
1457
1501
|
};
|
|
1458
1502
|
this.buffer.creates.push(createRecord);
|
|
1459
1503
|
this.buffer.seenSpans.add(spanKey);
|
|
1504
|
+
this.allCreatedSpans.add(spanKey);
|
|
1460
1505
|
}
|
|
1461
1506
|
break;
|
|
1462
1507
|
case "span_updated" /* SPAN_UPDATED */:
|
|
1463
1508
|
if (this.resolvedStrategy === "batch-with-updates") {
|
|
1464
|
-
if (this.
|
|
1509
|
+
if (this.allCreatedSpans.has(spanKey)) {
|
|
1465
1510
|
this.buffer.updates.push({
|
|
1466
1511
|
traceId: event.exportedSpan.traceId,
|
|
1467
1512
|
spanId: event.exportedSpan.id,
|
|
@@ -1479,7 +1524,7 @@ var DefaultExporter = class {
|
|
|
1479
1524
|
break;
|
|
1480
1525
|
case "span_ended" /* SPAN_ENDED */:
|
|
1481
1526
|
if (this.resolvedStrategy === "batch-with-updates") {
|
|
1482
|
-
if (this.
|
|
1527
|
+
if (this.allCreatedSpans.has(spanKey)) {
|
|
1483
1528
|
this.buffer.updates.push({
|
|
1484
1529
|
traceId: event.exportedSpan.traceId,
|
|
1485
1530
|
spanId: event.exportedSpan.id,
|
|
@@ -1489,6 +1534,7 @@ var DefaultExporter = class {
|
|
|
1489
1534
|
},
|
|
1490
1535
|
sequenceNumber: this.getNextSequence(spanKey)
|
|
1491
1536
|
});
|
|
1537
|
+
this.buffer.completedSpans.add(spanKey);
|
|
1492
1538
|
} else if (event.exportedSpan.isEvent) {
|
|
1493
1539
|
const createRecord = {
|
|
1494
1540
|
traceId: event.exportedSpan.traceId,
|
|
@@ -1499,6 +1545,8 @@ var DefaultExporter = class {
|
|
|
1499
1545
|
};
|
|
1500
1546
|
this.buffer.creates.push(createRecord);
|
|
1501
1547
|
this.buffer.seenSpans.add(spanKey);
|
|
1548
|
+
this.allCreatedSpans.add(spanKey);
|
|
1549
|
+
this.buffer.completedSpans.add(spanKey);
|
|
1502
1550
|
} else {
|
|
1503
1551
|
this.handleOutOfOrderUpdate(event);
|
|
1504
1552
|
this.buffer.outOfOrderCount++;
|
|
@@ -1512,6 +1560,8 @@ var DefaultExporter = class {
|
|
|
1512
1560
|
updatedAt: null
|
|
1513
1561
|
};
|
|
1514
1562
|
this.buffer.insertOnly.push(createRecord);
|
|
1563
|
+
this.buffer.completedSpans.add(spanKey);
|
|
1564
|
+
this.allCreatedSpans.add(spanKey);
|
|
1515
1565
|
}
|
|
1516
1566
|
break;
|
|
1517
1567
|
}
|
|
@@ -1538,15 +1588,19 @@ var DefaultExporter = class {
|
|
|
1538
1588
|
/**
|
|
1539
1589
|
* Resets the buffer after successful flush
|
|
1540
1590
|
*/
|
|
1541
|
-
resetBuffer() {
|
|
1591
|
+
resetBuffer(completedSpansToCleanup = /* @__PURE__ */ new Set()) {
|
|
1542
1592
|
this.buffer.creates = [];
|
|
1543
1593
|
this.buffer.updates = [];
|
|
1544
1594
|
this.buffer.insertOnly = [];
|
|
1545
1595
|
this.buffer.seenSpans.clear();
|
|
1546
1596
|
this.buffer.spanSequences.clear();
|
|
1597
|
+
this.buffer.completedSpans.clear();
|
|
1547
1598
|
this.buffer.outOfOrderCount = 0;
|
|
1548
1599
|
this.buffer.firstEventTime = void 0;
|
|
1549
1600
|
this.buffer.totalSize = 0;
|
|
1601
|
+
for (const spanKey of completedSpansToCleanup) {
|
|
1602
|
+
this.allCreatedSpans.delete(spanKey);
|
|
1603
|
+
}
|
|
1550
1604
|
}
|
|
1551
1605
|
/**
|
|
1552
1606
|
* Schedules a flush using setTimeout
|
|
@@ -1627,6 +1681,7 @@ var DefaultExporter = class {
|
|
|
1627
1681
|
*/
|
|
1628
1682
|
async handleRealtimeEvent(event, storage) {
|
|
1629
1683
|
const span = event.exportedSpan;
|
|
1684
|
+
const spanKey = this.buildSpanKey(span.traceId, span.id);
|
|
1630
1685
|
if (span.isEvent) {
|
|
1631
1686
|
if (event.type === "span_ended" /* SPAN_ENDED */) {
|
|
1632
1687
|
await storage.createAISpan({
|
|
@@ -1649,8 +1704,18 @@ var DefaultExporter = class {
|
|
|
1649
1704
|
createdAt: /* @__PURE__ */ new Date(),
|
|
1650
1705
|
updatedAt: null
|
|
1651
1706
|
});
|
|
1707
|
+
this.allCreatedSpans.add(spanKey);
|
|
1652
1708
|
break;
|
|
1653
1709
|
case "span_updated" /* SPAN_UPDATED */:
|
|
1710
|
+
await storage.updateAISpan({
|
|
1711
|
+
traceId: span.traceId,
|
|
1712
|
+
spanId: span.id,
|
|
1713
|
+
updates: {
|
|
1714
|
+
...this.buildUpdateRecord(span),
|
|
1715
|
+
updatedAt: /* @__PURE__ */ new Date()
|
|
1716
|
+
}
|
|
1717
|
+
});
|
|
1718
|
+
break;
|
|
1654
1719
|
case "span_ended" /* SPAN_ENDED */:
|
|
1655
1720
|
await storage.updateAISpan({
|
|
1656
1721
|
traceId: span.traceId,
|
|
@@ -1660,6 +1725,7 @@ var DefaultExporter = class {
|
|
|
1660
1725
|
updatedAt: /* @__PURE__ */ new Date()
|
|
1661
1726
|
}
|
|
1662
1727
|
});
|
|
1728
|
+
this.allCreatedSpans.delete(spanKey);
|
|
1663
1729
|
break;
|
|
1664
1730
|
default:
|
|
1665
1731
|
this.logger.warn(`Tracing event type not implemented for span spans: ${event.type}`);
|
|
@@ -1732,6 +1798,7 @@ var DefaultExporter = class {
|
|
|
1732
1798
|
insertOnly: [...this.buffer.insertOnly],
|
|
1733
1799
|
seenSpans: new Set(this.buffer.seenSpans),
|
|
1734
1800
|
spanSequences: new Map(this.buffer.spanSequences),
|
|
1801
|
+
completedSpans: new Set(this.buffer.completedSpans),
|
|
1735
1802
|
outOfOrderCount: this.buffer.outOfOrderCount,
|
|
1736
1803
|
firstEventTime: this.buffer.firstEventTime,
|
|
1737
1804
|
totalSize: this.buffer.totalSize
|
|
@@ -1771,6 +1838,9 @@ var DefaultExporter = class {
|
|
|
1771
1838
|
await storage.batchCreateAISpans({ records: buffer.insertOnly });
|
|
1772
1839
|
}
|
|
1773
1840
|
}
|
|
1841
|
+
for (const spanKey of buffer.completedSpans) {
|
|
1842
|
+
this.allCreatedSpans.delete(spanKey);
|
|
1843
|
+
}
|
|
1774
1844
|
} catch (error) {
|
|
1775
1845
|
if (attempt < this.config.maxRetries) {
|
|
1776
1846
|
const retryDelay = this.calculateRetryDelay(attempt);
|
|
@@ -1789,6 +1859,9 @@ var DefaultExporter = class {
|
|
|
1789
1859
|
droppedBatchSize: buffer.totalSize,
|
|
1790
1860
|
error: error instanceof Error ? error.message : String(error)
|
|
1791
1861
|
});
|
|
1862
|
+
for (const spanKey of buffer.completedSpans) {
|
|
1863
|
+
this.allCreatedSpans.delete(spanKey);
|
|
1864
|
+
}
|
|
1792
1865
|
}
|
|
1793
1866
|
}
|
|
1794
1867
|
}
|
|
@@ -2146,18 +2219,17 @@ function getValidTraceId(span) {
|
|
|
2146
2219
|
return span?.isValid ? span.traceId : void 0;
|
|
2147
2220
|
}
|
|
2148
2221
|
function getOrCreateSpan(options) {
|
|
2149
|
-
const { type, attributes, tracingContext,
|
|
2222
|
+
const { type, attributes, tracingContext, runtimeContext, ...rest } = options;
|
|
2150
2223
|
const metadata = {
|
|
2151
2224
|
...rest.metadata ?? {},
|
|
2152
|
-
...tracingOptions?.metadata ?? {}
|
|
2225
|
+
...rest.tracingOptions?.metadata ?? {}
|
|
2153
2226
|
};
|
|
2154
2227
|
if (tracingContext?.currentSpan) {
|
|
2155
2228
|
return tracingContext.currentSpan.createChildSpan({
|
|
2156
2229
|
type,
|
|
2157
2230
|
attributes,
|
|
2158
2231
|
...rest,
|
|
2159
|
-
metadata
|
|
2160
|
-
isInternal: tracingContext?.isInternal
|
|
2232
|
+
metadata
|
|
2161
2233
|
});
|
|
2162
2234
|
}
|
|
2163
2235
|
const aiTracing = getSelectedAITracing({
|
|
@@ -2166,12 +2238,12 @@ function getOrCreateSpan(options) {
|
|
|
2166
2238
|
return aiTracing?.startSpan({
|
|
2167
2239
|
type,
|
|
2168
2240
|
attributes,
|
|
2241
|
+
...rest,
|
|
2242
|
+
metadata,
|
|
2169
2243
|
customSamplerOptions: {
|
|
2170
2244
|
runtimeContext,
|
|
2171
2245
|
metadata
|
|
2172
|
-
}
|
|
2173
|
-
...rest,
|
|
2174
|
-
metadata
|
|
2246
|
+
}
|
|
2175
2247
|
});
|
|
2176
2248
|
}
|
|
2177
2249
|
|
|
@@ -2331,6 +2403,7 @@ exports.ConsoleExporter = ConsoleExporter;
|
|
|
2331
2403
|
exports.DefaultAISpan = DefaultAISpan;
|
|
2332
2404
|
exports.DefaultAITracing = DefaultAITracing;
|
|
2333
2405
|
exports.DefaultExporter = DefaultExporter;
|
|
2406
|
+
exports.InternalSpans = InternalSpans;
|
|
2334
2407
|
exports.NoOpAISpan = NoOpAISpan;
|
|
2335
2408
|
exports.SamplingStrategyType = SamplingStrategyType;
|
|
2336
2409
|
exports.SensitiveDataFilter = SensitiveDataFilter;
|
|
@@ -2368,5 +2441,5 @@ exports.setupAITracing = setupAITracing;
|
|
|
2368
2441
|
exports.shutdownAITracingRegistry = shutdownAITracingRegistry;
|
|
2369
2442
|
exports.unregisterAITracing = unregisterAITracing;
|
|
2370
2443
|
exports.wrapMastra = wrapMastra;
|
|
2371
|
-
//# sourceMappingURL=chunk-
|
|
2372
|
-
//# sourceMappingURL=chunk-
|
|
2444
|
+
//# sourceMappingURL=chunk-CP4TZ4HO.cjs.map
|
|
2445
|
+
//# sourceMappingURL=chunk-CP4TZ4HO.cjs.map
|