@mastra/core 1.20.0 → 1.21.0-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.
Files changed (205) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +12 -2
  3. package/dist/agent/agent-legacy.d.ts +2 -1
  4. package/dist/agent/agent-legacy.d.ts.map +1 -1
  5. package/dist/agent/agent.d.ts +32 -2
  6. package/dist/agent/agent.d.ts.map +1 -1
  7. package/dist/agent/index.cjs +8 -8
  8. package/dist/agent/index.js +1 -1
  9. package/dist/{chunk-RB7WTRE2.js → chunk-2JJQDDEN.js} +8 -6
  10. package/dist/chunk-2JJQDDEN.js.map +1 -0
  11. package/dist/{chunk-2QO3IQWR.cjs → chunk-2STTKMFO.cjs} +82 -82
  12. package/dist/{chunk-2QO3IQWR.cjs.map → chunk-2STTKMFO.cjs.map} +1 -1
  13. package/dist/{chunk-3FW24B6P.cjs → chunk-3EPAGV3T.cjs} +4 -4
  14. package/dist/{chunk-3FW24B6P.cjs.map → chunk-3EPAGV3T.cjs.map} +1 -1
  15. package/dist/{chunk-F3OO446O.cjs → chunk-3OK3LWP4.cjs} +34 -32
  16. package/dist/chunk-3OK3LWP4.cjs.map +1 -0
  17. package/dist/{chunk-7JKIBZI7.js → chunk-5QQZSWLU.js} +4 -4
  18. package/dist/{chunk-7JKIBZI7.js.map → chunk-5QQZSWLU.js.map} +1 -1
  19. package/dist/{chunk-7URCVA7N.js → chunk-6PJQGNFV.js} +10 -10
  20. package/dist/chunk-6PJQGNFV.js.map +1 -0
  21. package/dist/{chunk-ED6CLXQI.cjs → chunk-75LYWKFT.cjs} +25 -25
  22. package/dist/chunk-75LYWKFT.cjs.map +1 -0
  23. package/dist/{chunk-53NCHPV5.cjs → chunk-AL5ACSAH.cjs} +7 -7
  24. package/dist/{chunk-53NCHPV5.cjs.map → chunk-AL5ACSAH.cjs.map} +1 -1
  25. package/dist/{chunk-S3JFAGMH.js → chunk-B4KB75RH.js} +67 -21
  26. package/dist/chunk-B4KB75RH.js.map +1 -0
  27. package/dist/{chunk-3R4YK3VD.js → chunk-CJA2FWKT.js} +3 -3
  28. package/dist/{chunk-3R4YK3VD.js.map → chunk-CJA2FWKT.js.map} +1 -1
  29. package/dist/{chunk-FQCASJGT.js → chunk-D7NEB3NV.js} +5 -5
  30. package/dist/{chunk-FQCASJGT.js.map → chunk-D7NEB3NV.js.map} +1 -1
  31. package/dist/{chunk-CRGRF7QL.cjs → chunk-E4TMODUG.cjs} +75 -29
  32. package/dist/chunk-E4TMODUG.cjs.map +1 -0
  33. package/dist/{chunk-Q4YIRO5A.js → chunk-ESQI2JRD.js} +5 -3
  34. package/dist/chunk-ESQI2JRD.js.map +1 -0
  35. package/dist/{chunk-57OYWNNV.cjs → chunk-EX2LVHTL.cjs} +97 -288
  36. package/dist/chunk-EX2LVHTL.cjs.map +1 -0
  37. package/dist/{chunk-J7AHOVB2.cjs → chunk-F6ZURDS4.cjs} +368 -218
  38. package/dist/chunk-F6ZURDS4.cjs.map +1 -0
  39. package/dist/chunk-FAULJTC5.js +290 -0
  40. package/dist/chunk-FAULJTC5.js.map +1 -0
  41. package/dist/{chunk-T72NHA2O.cjs → chunk-FJT6H2US.cjs} +3 -3
  42. package/dist/chunk-FJT6H2US.cjs.map +1 -0
  43. package/dist/{chunk-BCOOJFBB.js → chunk-GGJSRBFY.js} +13 -7
  44. package/dist/chunk-GGJSRBFY.js.map +1 -0
  45. package/dist/{chunk-CU6QKXLW.js → chunk-HU6OWHBI.js} +3 -3
  46. package/dist/{chunk-CU6QKXLW.js.map → chunk-HU6OWHBI.js.map} +1 -1
  47. package/dist/{chunk-JBOVTCTQ.cjs → chunk-I7AUCCNO.cjs} +69 -69
  48. package/dist/{chunk-JBOVTCTQ.cjs.map → chunk-I7AUCCNO.cjs.map} +1 -1
  49. package/dist/{chunk-GFRRPVRL.cjs → chunk-IG6JCDCL.cjs} +185 -185
  50. package/dist/{chunk-GFRRPVRL.cjs.map → chunk-IG6JCDCL.cjs.map} +1 -1
  51. package/dist/{chunk-UFXC6VJW.js → chunk-JB7HORUI.js} +3 -3
  52. package/dist/{chunk-UFXC6VJW.js.map → chunk-JB7HORUI.js.map} +1 -1
  53. package/dist/{chunk-2H6WEHWI.js → chunk-JBLN5IVV.js} +4 -4
  54. package/dist/{chunk-2H6WEHWI.js.map → chunk-JBLN5IVV.js.map} +1 -1
  55. package/dist/{chunk-HOAKFZ6P.js → chunk-JIA3SJK6.js} +198 -48
  56. package/dist/chunk-JIA3SJK6.js.map +1 -0
  57. package/dist/{chunk-MIWHSH7L.js → chunk-KLHD3PBK.js} +3 -3
  58. package/dist/chunk-KLHD3PBK.js.map +1 -0
  59. package/dist/{chunk-5PAHRQLU.js → chunk-ODUJYYA5.js} +32 -7
  60. package/dist/chunk-ODUJYYA5.js.map +1 -0
  61. package/dist/chunk-QRJSP5G2.cjs +300 -0
  62. package/dist/chunk-QRJSP5G2.cjs.map +1 -0
  63. package/dist/{chunk-7PYYVPF5.js → chunk-RF42EKVR.js} +6 -6
  64. package/dist/{chunk-7PYYVPF5.js.map → chunk-RF42EKVR.js.map} +1 -1
  65. package/dist/{chunk-L6AZQNL2.cjs → chunk-S6B5GIFC.cjs} +31 -25
  66. package/dist/chunk-S6B5GIFC.cjs.map +1 -0
  67. package/dist/{chunk-YEQJIM5W.cjs → chunk-TMRHUTY6.cjs} +15 -15
  68. package/dist/{chunk-YEQJIM5W.cjs.map → chunk-TMRHUTY6.cjs.map} +1 -1
  69. package/dist/{chunk-BZW4PQNA.cjs → chunk-UUNTJ256.cjs} +9 -7
  70. package/dist/chunk-UUNTJ256.cjs.map +1 -0
  71. package/dist/{chunk-RDHIVATT.cjs → chunk-VAACVUEO.cjs} +9 -9
  72. package/dist/{chunk-RDHIVATT.cjs.map → chunk-VAACVUEO.cjs.map} +1 -1
  73. package/dist/{chunk-UCCVELTP.js → chunk-VJKW6RRY.js} +7 -7
  74. package/dist/{chunk-UCCVELTP.js.map → chunk-VJKW6RRY.js.map} +1 -1
  75. package/dist/{chunk-2NISBCML.js → chunk-WG7QIVL7.js} +92 -280
  76. package/dist/chunk-WG7QIVL7.js.map +1 -0
  77. package/dist/{chunk-QG7NJ3JU.cjs → chunk-XANKVDSM.cjs} +10 -10
  78. package/dist/{chunk-QG7NJ3JU.cjs.map → chunk-XANKVDSM.cjs.map} +1 -1
  79. package/dist/{chunk-HVVHMUI4.cjs → chunk-Z745DCGY.cjs} +34 -9
  80. package/dist/chunk-Z745DCGY.cjs.map +1 -0
  81. package/dist/datasets/experiment/scorer.d.ts.map +1 -1
  82. package/dist/datasets/index.cjs +17 -17
  83. package/dist/datasets/index.js +2 -2
  84. package/dist/docs/SKILL.md +3 -3
  85. package/dist/docs/assets/SOURCE_MAP.json +522 -522
  86. package/dist/docs/references/docs-server-mastra-client.md +12 -10
  87. package/dist/docs/references/docs-server-mastra-server.md +13 -1
  88. package/dist/docs/references/docs-studio-observability.md +9 -1
  89. package/dist/docs/references/docs-studio-overview.md +1 -1
  90. package/dist/docs/references/reference-agents-getLLM.md +9 -3
  91. package/dist/docs/references/reference.md +2 -0
  92. package/dist/evals/base.d.ts +29 -6
  93. package/dist/evals/base.d.ts.map +1 -1
  94. package/dist/evals/index.cjs +23 -23
  95. package/dist/evals/index.js +3 -3
  96. package/dist/evals/scoreTraces/index.cjs +21 -37
  97. package/dist/evals/scoreTraces/index.cjs.map +1 -1
  98. package/dist/evals/scoreTraces/index.js +18 -34
  99. package/dist/evals/scoreTraces/index.js.map +1 -1
  100. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts +2 -3
  101. package/dist/evals/scoreTraces/scoreTracesWorkflow.d.ts.map +1 -1
  102. package/dist/evals/types.d.ts.map +1 -1
  103. package/dist/harness/index.cjs +9 -9
  104. package/dist/harness/index.js +6 -6
  105. package/dist/index.cjs +2 -2
  106. package/dist/index.js +1 -1
  107. package/dist/llm/index.cjs +16 -16
  108. package/dist/llm/index.js +5 -5
  109. package/dist/llm/model/provider-types.generated.d.ts +1 -0
  110. package/dist/logger/index.cjs +6 -6
  111. package/dist/logger/index.js +1 -1
  112. package/dist/loop/index.cjs +14 -14
  113. package/dist/loop/index.js +1 -1
  114. package/dist/mastra/hooks.d.ts +3 -0
  115. package/dist/mastra/hooks.d.ts.map +1 -1
  116. package/dist/mastra/index.cjs +2 -2
  117. package/dist/mastra/index.d.ts +3 -3
  118. package/dist/mastra/index.d.ts.map +1 -1
  119. package/dist/mastra/index.js +1 -1
  120. package/dist/memory/index.cjs +14 -14
  121. package/dist/memory/index.js +1 -1
  122. package/dist/models-dev-4HBR4MAS.js +3 -0
  123. package/dist/{models-dev-WTF6UG4D.js.map → models-dev-4HBR4MAS.js.map} +1 -1
  124. package/dist/models-dev-W2D3QNCX.cjs +12 -0
  125. package/dist/{models-dev-TKKI7LVH.cjs.map → models-dev-W2D3QNCX.cjs.map} +1 -1
  126. package/dist/netlify-A6TIZLU7.cjs +12 -0
  127. package/dist/{netlify-QCPWAYI2.cjs.map → netlify-A6TIZLU7.cjs.map} +1 -1
  128. package/dist/netlify-YRVEP6E4.js +3 -0
  129. package/dist/{netlify-V6N4TT4H.js.map → netlify-YRVEP6E4.js.map} +1 -1
  130. package/dist/observability/index.cjs +36 -32
  131. package/dist/observability/index.js +2 -2
  132. package/dist/observability/no-op.d.ts +1 -1
  133. package/dist/observability/no-op.d.ts.map +1 -1
  134. package/dist/observability/types/core.d.ts +15 -1
  135. package/dist/observability/types/core.d.ts.map +1 -1
  136. package/dist/observability/types/feedback.d.ts +2 -2
  137. package/dist/observability/types/feedback.d.ts.map +1 -1
  138. package/dist/observability/types/scores.d.ts +16 -7
  139. package/dist/observability/types/scores.d.ts.map +1 -1
  140. package/dist/observability/types/tracing.d.ts +27 -1
  141. package/dist/observability/types/tracing.d.ts.map +1 -1
  142. package/dist/observability/utils.d.ts +12 -1
  143. package/dist/observability/utils.d.ts.map +1 -1
  144. package/dist/processor-provider/index.cjs +10 -10
  145. package/dist/processor-provider/index.js +1 -1
  146. package/dist/processors/index.cjs +44 -44
  147. package/dist/processors/index.js +1 -1
  148. package/dist/provider-registry-6ONBOGD7.cjs +40 -0
  149. package/dist/{provider-registry-C54SHAP6.cjs.map → provider-registry-6ONBOGD7.cjs.map} +1 -1
  150. package/dist/provider-registry-AIPF3CGZ.js +3 -0
  151. package/dist/{provider-registry-34O53EL4.js.map → provider-registry-AIPF3CGZ.js.map} +1 -1
  152. package/dist/provider-registry.json +4 -2
  153. package/dist/relevance/index.cjs +3 -3
  154. package/dist/relevance/index.js +1 -1
  155. package/dist/storage/constants.cjs +56 -56
  156. package/dist/storage/constants.js +1 -1
  157. package/dist/storage/domains/observability/base.d.ts +4 -0
  158. package/dist/storage/domains/observability/base.d.ts.map +1 -1
  159. package/dist/storage/domains/observability/record-builders.d.ts.map +1 -1
  160. package/dist/storage/index.cjs +286 -286
  161. package/dist/storage/index.js +3 -3
  162. package/dist/stream/index.cjs +8 -8
  163. package/dist/stream/index.js +1 -1
  164. package/dist/test-utils/llm-mock.cjs +4 -4
  165. package/dist/test-utils/llm-mock.js +1 -1
  166. package/dist/tool-loop-agent/index.cjs +4 -4
  167. package/dist/tool-loop-agent/index.js +1 -1
  168. package/dist/utils.cjs +25 -25
  169. package/dist/utils.js +1 -1
  170. package/dist/vector/index.cjs +7 -7
  171. package/dist/vector/index.js +1 -1
  172. package/dist/workflows/evented/index.cjs +10 -10
  173. package/dist/workflows/evented/index.js +1 -1
  174. package/dist/workflows/index.cjs +24 -24
  175. package/dist/workflows/index.js +1 -1
  176. package/package.json +4 -4
  177. package/src/llm/model/provider-types.generated.d.ts +1 -0
  178. package/dist/chunk-2NISBCML.js.map +0 -1
  179. package/dist/chunk-57OYWNNV.cjs.map +0 -1
  180. package/dist/chunk-5PAHRQLU.js.map +0 -1
  181. package/dist/chunk-7URCVA7N.js.map +0 -1
  182. package/dist/chunk-AC5GUOWY.js +0 -72
  183. package/dist/chunk-AC5GUOWY.js.map +0 -1
  184. package/dist/chunk-BCOOJFBB.js.map +0 -1
  185. package/dist/chunk-BZW4PQNA.cjs.map +0 -1
  186. package/dist/chunk-CRGRF7QL.cjs.map +0 -1
  187. package/dist/chunk-ED6CLXQI.cjs.map +0 -1
  188. package/dist/chunk-EZHHTAJU.cjs +0 -78
  189. package/dist/chunk-EZHHTAJU.cjs.map +0 -1
  190. package/dist/chunk-F3OO446O.cjs.map +0 -1
  191. package/dist/chunk-HOAKFZ6P.js.map +0 -1
  192. package/dist/chunk-HVVHMUI4.cjs.map +0 -1
  193. package/dist/chunk-J7AHOVB2.cjs.map +0 -1
  194. package/dist/chunk-L6AZQNL2.cjs.map +0 -1
  195. package/dist/chunk-MIWHSH7L.js.map +0 -1
  196. package/dist/chunk-Q4YIRO5A.js.map +0 -1
  197. package/dist/chunk-RB7WTRE2.js.map +0 -1
  198. package/dist/chunk-S3JFAGMH.js.map +0 -1
  199. package/dist/chunk-T72NHA2O.cjs.map +0 -1
  200. package/dist/models-dev-TKKI7LVH.cjs +0 -12
  201. package/dist/models-dev-WTF6UG4D.js +0 -3
  202. package/dist/netlify-QCPWAYI2.cjs +0 -12
  203. package/dist/netlify-V6N4TT4H.js +0 -3
  204. package/dist/provider-registry-34O53EL4.js +0 -3
  205. package/dist/provider-registry-C54SHAP6.cjs +0 -40
@@ -1,16 +1,11 @@
1
1
  import { z } from 'zod/v4';
2
+ import { AsyncLocalStorage } from 'async_hooks';
2
3
 
3
- // src/observability/types/core.ts
4
- var SamplingStrategyType = /* @__PURE__ */ ((SamplingStrategyType2) => {
5
- SamplingStrategyType2["ALWAYS"] = "always";
6
- SamplingStrategyType2["NEVER"] = "never";
7
- SamplingStrategyType2["RATIO"] = "ratio";
8
- SamplingStrategyType2["CUSTOM"] = "custom";
9
- return SamplingStrategyType2;
10
- })(SamplingStrategyType || {});
4
+ // ../_internal-core/dist/index.js
11
5
  var EntityType = /* @__PURE__ */ ((EntityType2) => {
12
6
  EntityType2["AGENT"] = "agent";
13
- EntityType2["EVAL"] = "eval";
7
+ EntityType2["SCORER"] = "scorer";
8
+ EntityType2["TRAJECTORY"] = "trajectory";
14
9
  EntityType2["INPUT_PROCESSOR"] = "input_processor";
15
10
  EntityType2["INPUT_STEP_PROCESSOR"] = "input_step_processor";
16
11
  EntityType2["OUTPUT_PROCESSOR"] = "output_processor";
@@ -198,8 +193,9 @@ var listLogsResponseSchema = z.object({
198
193
  logs: z.array(logRecordSchema)
199
194
  });
200
195
  var scorerIdField = z.string().describe("Identifier of the scorer (e.g., relevance, accuracy)");
196
+ var scorerNameField = z.string().describe("Display name of the scorer");
201
197
  var scorerVersionField = z.string().describe("Version of the scorer");
202
- var scoreSourceField = z.string().describe("Source of the score (e.g., manual, automated, experiment)");
198
+ var scoreSourceField = z.string().describe("How the score was produced (e.g., manual, automated, experiment)");
203
199
  var scoreValueField = z.number().describe("Score value (range defined by scorer)");
204
200
  var scoreReasonField = z.string().describe("Explanation for the score");
205
201
  var scoreRecordSchema = z.object({
@@ -209,6 +205,7 @@ var scoreRecordSchema = z.object({
209
205
  spanId: spanIdField.nullish().describe("Span ID this score applies to"),
210
206
  // Score data
211
207
  scorerId: scorerIdField,
208
+ scorerName: scorerNameField.nullish(),
212
209
  scorerVersion: scorerVersionField.nullish(),
213
210
  scoreSource: scoreSourceField.nullish(),
214
211
  /**
@@ -226,6 +223,7 @@ var scoreRecordSchema = z.object({
226
223
  }).describe("Score record as stored in the database");
227
224
  var scoreInputSchema = z.object({
228
225
  scorerId: scorerIdField,
226
+ scorerName: scorerNameField.optional(),
229
227
  scorerVersion: scorerVersionField.optional(),
230
228
  scoreSource: scoreSourceField.optional(),
231
229
  /**
@@ -236,7 +234,8 @@ var scoreInputSchema = z.object({
236
234
  reason: scoreReasonField.optional(),
237
235
  metadata: z.record(z.string(), z.unknown()).optional().describe("Additional scorer-specific metadata"),
238
236
  experimentId: experimentIdField.optional(),
239
- scoreTraceId: z.string().optional().describe("Trace ID of the scoring run for debugging score generation")
237
+ scoreTraceId: z.string().optional().describe("Trace ID of the scoring run for debugging score generation"),
238
+ targetEntityType: entityTypeField.optional().describe("Entity type the scorer evaluated when known")
240
239
  }).describe("User-provided score input");
241
240
  var createScoreRecordSchema = scoreRecordSchema;
242
241
  var createScoreArgsSchema = z.object({
@@ -253,11 +252,11 @@ var scoresFilterSchema = z.object({
253
252
  ...commonFilterFields,
254
253
  // Score-specific filters
255
254
  scorerId: z.union([z.string(), z.array(z.string())]).optional().describe("Filter by scorer ID(s)"),
256
- scoreSource: scoreSourceField.optional().describe("Filter by score source"),
255
+ scoreSource: scoreSourceField.optional().describe("Filter by how the score was produced"),
257
256
  /**
258
257
  * @deprecated Use `scoreSource` instead.
259
258
  */
260
- source: scoreSourceField.optional().describe("Filter by score source")
259
+ source: scoreSourceField.optional().describe("Filter by how the score was produced")
261
260
  }).describe("Filters for querying scores");
262
261
  var scoresOrderByFieldSchema = z.enum(["timestamp", "score"]).describe("Field to order by: 'timestamp' | 'score'");
263
262
  var scoresOrderBySchema = z.object({
@@ -694,6 +693,8 @@ var getTagsResponseSchema = z.object({
694
693
  // src/observability/types/tracing.ts
695
694
  var SpanType = /* @__PURE__ */ ((SpanType2) => {
696
695
  SpanType2["AGENT_RUN"] = "agent_run";
696
+ SpanType2["SCORER_RUN"] = "scorer_run";
697
+ SpanType2["SCORER_STEP"] = "scorer_step";
697
698
  SpanType2["GENERIC"] = "generic";
698
699
  SpanType2["MODEL_GENERATION"] = "model_generation";
699
700
  SpanType2["MODEL_STEP"] = "model_step";
@@ -726,285 +727,96 @@ var TracingEventType = /* @__PURE__ */ ((TracingEventType2) => {
726
727
  TracingEventType2["SPAN_ENDED"] = "span_ended";
727
728
  return TracingEventType2;
728
729
  })(TracingEventType || {});
729
-
730
- // src/observability/types/metrics.ts
731
- var DEFAULT_BLOCKED_LABELS = [
732
- "trace_id",
733
- "span_id",
734
- "run_id",
735
- "request_id",
736
- "user_id",
737
- "resource_id",
738
- "session_id",
739
- "thread_id"
740
- ];
741
-
742
- // src/observability/no-op.ts
743
- var noOpCounter = {
744
- add() {
745
- }
746
- };
747
- var noOpGauge = {
748
- set() {
749
- }
750
- };
751
- var noOpHistogram = {
752
- record() {
753
- }
754
- };
755
- var noOpTracingContext = {
756
- currentSpan: void 0
757
- };
758
- var noOpLoggerContext = {
759
- debug() {
760
- },
761
- info() {
762
- },
763
- warn() {
764
- },
765
- error() {
766
- },
767
- fatal() {
768
- }
769
- };
770
- var noOpMetricsContext = {
771
- emit() {
772
- },
773
- counter() {
774
- return noOpCounter;
775
- },
776
- gauge() {
777
- return noOpGauge;
778
- },
779
- histogram() {
780
- return noOpHistogram;
781
- }
782
- };
783
- var NoOpObservability = class {
784
- setMastraContext(_options) {
785
- return;
786
- }
787
- setLogger(_options) {
788
- return;
789
- }
790
- getSelectedInstance(_options) {
791
- return;
792
- }
793
- async getRecordedTrace(_args) {
794
- return null;
795
- }
796
- async addScore(_args) {
797
- return;
798
- }
799
- async addFeedback(_args) {
800
- return;
801
- }
802
- registerInstance(_name, _instance, _isDefault = false) {
803
- return;
804
- }
805
- getInstance(_name) {
806
- return;
807
- }
808
- getDefaultInstance() {
809
- return;
810
- }
811
- listInstances() {
812
- return /* @__PURE__ */ new Map();
813
- }
814
- unregisterInstance(_name) {
815
- return false;
816
- }
817
- hasInstance(_name) {
818
- return false;
819
- }
820
- setConfigSelector(_selector) {
821
- return;
822
- }
823
- clear() {
824
- return;
825
- }
826
- async shutdown() {
827
- return;
828
- }
829
- };
830
-
831
- // src/observability/context-factory.ts
832
- function deriveLoggerContext(tracing) {
833
- const span = tracing.currentSpan;
834
- return span?.observabilityInstance?.getLoggerContext?.(span) ?? noOpLoggerContext;
835
- }
836
- function deriveMetricsContext(tracing) {
837
- const span = tracing.currentSpan;
838
- return span?.observabilityInstance?.getMetricsContext?.(span) ?? noOpMetricsContext;
839
- }
840
- function createObservabilityContext(tracingContext) {
841
- const tracing = tracingContext ?? noOpTracingContext;
842
- return {
843
- tracing,
844
- loggerVNext: deriveLoggerContext(tracing),
845
- metrics: deriveMetricsContext(tracing),
846
- tracingContext: tracing
847
- // alias — preferred at forwarding sites
848
- };
730
+ var entityTypeValues = new Set(Object.values(EntityType));
731
+ var spanContextStorage = new AsyncLocalStorage();
732
+ function getCurrentSpan() {
733
+ return spanContextStorage.getStore();
849
734
  }
850
- function resolveObservabilityContext(partial) {
851
- const tracing = partial.tracing ?? partial.tracingContext ?? noOpTracingContext;
852
- return {
853
- tracing,
854
- loggerVNext: partial.loggerVNext ?? deriveLoggerContext(tracing),
855
- metrics: partial.metrics ?? deriveMetricsContext(tracing),
856
- tracingContext: tracing
857
- // alias — preferred at forwarding sites
735
+ function getOrCreateSpan(options) {
736
+ const { type, attributes, tracingContext, requestContext, tracingOptions, ...rest } = options;
737
+ const metadata = {
738
+ ...rest.metadata ?? {},
739
+ ...tracingOptions?.metadata ?? {}
858
740
  };
859
- }
860
-
861
- // src/observability/context.ts
862
- var AGENT_GETTERS = ["getAgent", "getAgentById"];
863
- var AGENT_METHODS_TO_WRAP = ["generate", "stream", "generateLegacy", "streamLegacy"];
864
- var WORKFLOW_GETTERS = ["getWorkflow", "getWorkflowById"];
865
- var WORKFLOW_METHODS_TO_WRAP = ["execute", "createRun", "createRun"];
866
- function isNoOpSpan(span) {
867
- return span.constructor.name === "NoOpSpan" || span.__isNoOp === true;
868
- }
869
- function isMastra(mastra) {
870
- const hasAgentGetters = AGENT_GETTERS.every((method) => typeof mastra?.[method] === "function");
871
- const hasWorkflowGetters = WORKFLOW_GETTERS.every((method) => typeof mastra?.[method] === "function");
872
- return hasAgentGetters && hasWorkflowGetters;
873
- }
874
- function wrapMastra(mastra, tracingContext) {
875
- if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
876
- return mastra;
877
- }
878
- if (!isMastra(mastra)) {
879
- return mastra;
880
- }
881
- try {
882
- return new Proxy(mastra, {
883
- get(target, prop) {
884
- try {
885
- if (AGENT_GETTERS.includes(prop)) {
886
- return (...args) => {
887
- const agent = target[prop](...args);
888
- return wrapAgent(agent, tracingContext);
889
- };
890
- }
891
- if (WORKFLOW_GETTERS.includes(prop)) {
892
- return (...args) => {
893
- const workflow = target[prop](...args);
894
- return wrapWorkflow(workflow, tracingContext);
895
- };
896
- }
897
- const value = target[prop];
898
- return typeof value === "function" ? value.bind(target) : value;
899
- } catch (error) {
900
- console.warn("Tracing: Failed to wrap method, falling back to original", error);
901
- const value = target[prop];
902
- return typeof value === "function" ? value.bind(target) : value;
903
- }
904
- }
741
+ if (tracingContext?.currentSpan) {
742
+ return tracingContext.currentSpan.createChildSpan({
743
+ type,
744
+ attributes,
745
+ ...rest,
746
+ metadata,
747
+ requestContext
905
748
  });
906
- } catch (error) {
907
- console.warn("Tracing: Failed to create proxy, using original Mastra instance", error);
908
- return mastra;
909
749
  }
750
+ const instance = options.mastra?.observability?.getSelectedInstance({ requestContext });
751
+ return instance?.startSpan({
752
+ type,
753
+ attributes,
754
+ ...rest,
755
+ metadata,
756
+ requestContext,
757
+ tracingOptions,
758
+ traceId: tracingOptions?.traceId,
759
+ parentSpanId: tracingOptions?.parentSpanId,
760
+ customSamplerOptions: {
761
+ requestContext,
762
+ metadata
763
+ }
764
+ });
910
765
  }
911
- function wrapAgent(agent, tracingContext) {
912
- if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
913
- return agent;
766
+ async function executeWithContext(params) {
767
+ const { span, fn } = params;
768
+ const wrappedFn = span ? () => spanContextStorage.run(span, fn) : fn;
769
+ if (span?.executeInContext) {
770
+ return span.executeInContext(wrappedFn);
914
771
  }
915
- try {
916
- return new Proxy(agent, {
917
- get(target, prop) {
918
- try {
919
- if (AGENT_METHODS_TO_WRAP.includes(prop)) {
920
- return (input, options = {}) => {
921
- return target[prop](input, {
922
- ...options,
923
- ...createObservabilityContext(tracingContext)
924
- });
925
- };
926
- }
927
- const value = target[prop];
928
- return typeof value === "function" ? value.bind(target) : value;
929
- } catch (error) {
930
- console.warn("Tracing: Failed to wrap agent method, falling back to original", error);
931
- const value = target[prop];
932
- return typeof value === "function" ? value.bind(target) : value;
933
- }
934
- }
935
- });
936
- } catch (error) {
937
- console.warn("Tracing: Failed to create agent proxy, using original instance", error);
938
- return agent;
772
+ return wrappedFn();
773
+ }
774
+ function executeWithContextSync(params) {
775
+ const { span, fn } = params;
776
+ const wrappedFn = span ? () => spanContextStorage.run(span, fn) : fn;
777
+ if (span?.executeInContextSync) {
778
+ return span.executeInContextSync(wrappedFn);
939
779
  }
780
+ return wrappedFn();
940
781
  }
941
- function wrapWorkflow(workflow, tracingContext) {
942
- if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
943
- return workflow;
782
+ function getRootExportSpan(span) {
783
+ if (!span?.isValid) {
784
+ return void 0;
944
785
  }
945
- try {
946
- return new Proxy(workflow, {
947
- get(target, prop) {
948
- try {
949
- if (WORKFLOW_METHODS_TO_WRAP.includes(prop)) {
950
- if (prop === "createRun" || prop === "createRun") {
951
- return async (options = {}) => {
952
- const run = await target[prop](options);
953
- return run ? wrapRun(run, tracingContext) : run;
954
- };
955
- }
956
- return (input, options = {}) => {
957
- return target[prop](input, {
958
- ...options,
959
- ...createObservabilityContext(tracingContext)
960
- });
961
- };
962
- }
963
- const value = target[prop];
964
- return typeof value === "function" ? value.bind(target) : value;
965
- } catch (error) {
966
- console.warn("Tracing: Failed to wrap workflow method, falling back to original", error);
967
- const value = target[prop];
968
- return typeof value === "function" ? value.bind(target) : value;
969
- }
970
- }
971
- });
972
- } catch (error) {
973
- console.warn("Tracing: Failed to create workflow proxy, using original instance", error);
974
- return workflow;
786
+ let current = span;
787
+ let rootExportSpan = span.isInternal ? void 0 : span;
788
+ while (current?.parent) {
789
+ current = current.parent;
790
+ if (!current.isInternal) {
791
+ rootExportSpan = current;
792
+ }
975
793
  }
794
+ return rootExportSpan;
976
795
  }
977
- function wrapRun(run, tracingContext) {
978
- if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
979
- return run;
796
+ function getEntityTypeForSpan(span) {
797
+ if (span.entityType && entityTypeValues.has(span.entityType)) {
798
+ return span.entityType;
980
799
  }
981
- try {
982
- return new Proxy(run, {
983
- get(target, prop) {
984
- try {
985
- if (prop === "start") {
986
- return (startOptions = {}) => {
987
- return target.start({
988
- ...startOptions,
989
- ...createObservabilityContext(startOptions.tracingContext ?? tracingContext)
990
- });
991
- };
992
- }
993
- const value = target[prop];
994
- return typeof value === "function" ? value.bind(target) : value;
995
- } catch (error) {
996
- console.warn("Tracing: Failed to wrap run method, falling back to original", error);
997
- const value = target[prop];
998
- return typeof value === "function" ? value.bind(target) : value;
999
- }
1000
- }
1001
- });
1002
- } catch (error) {
1003
- console.warn("Tracing: Failed to create run proxy, using original instance", error);
1004
- return run;
800
+ switch (span.spanType) {
801
+ case "agent_run" /* AGENT_RUN */:
802
+ return EntityType.AGENT;
803
+ case "scorer_run" /* SCORER_RUN */:
804
+ case "scorer_step" /* SCORER_STEP */:
805
+ return EntityType.SCORER;
806
+ case "workflow_run" /* WORKFLOW_RUN */:
807
+ return EntityType.WORKFLOW_RUN;
808
+ case "workflow_step" /* WORKFLOW_STEP */:
809
+ return EntityType.WORKFLOW_STEP;
810
+ case "tool_call" /* TOOL_CALL */:
811
+ case "mcp_tool_call" /* MCP_TOOL_CALL */:
812
+ return EntityType.TOOL;
813
+ case "processor_run" /* PROCESSOR_RUN */:
814
+ return EntityType.OUTPUT_PROCESSOR;
815
+ default:
816
+ return void 0;
1005
817
  }
1006
818
  }
1007
819
 
1008
- export { DEFAULT_BLOCKED_LABELS, EntityType, InternalSpans, NoOpObservability, SamplingStrategyType, SpanType, TracingEventType, aggregationIntervalSchema, aggregationTypeSchema, batchCreateFeedbackArgsSchema, batchCreateLogsArgsSchema, batchCreateMetricsArgsSchema, batchCreateScoresArgsSchema, commonFilterFields, comparePeriodSchema, contextFields, createFeedbackArgsSchema, createFeedbackBodySchema, createFeedbackRecordSchema, createFeedbackResponseSchema, createLogRecordSchema, createMetricRecordSchema, createObservabilityContext, createScoreArgsSchema, createScoreBodySchema, createScoreRecordSchema, createScoreResponseSchema, createdAtField, dateRangeSchema, dbTimestamps, entityIdField, entityNameField, entityTypeField, environmentField, executionSourceField, experimentIdField, feedbackFilterSchema, feedbackInputSchema, feedbackOrderByFieldSchema, feedbackOrderBySchema, feedbackRecordSchema, getEntityNamesArgsSchema, getEntityNamesResponseSchema, getEntityTypesArgsSchema, getEntityTypesResponseSchema, getEnvironmentsArgsSchema, getEnvironmentsResponseSchema, getFeedbackAggregateArgsSchema, getFeedbackAggregateResponseSchema, getFeedbackBreakdownArgsSchema, getFeedbackBreakdownResponseSchema, getFeedbackPercentilesArgsSchema, getFeedbackPercentilesResponseSchema, getFeedbackTimeSeriesArgsSchema, getFeedbackTimeSeriesResponseSchema, getMetricAggregateArgsSchema, getMetricAggregateResponseSchema, getMetricBreakdownArgsSchema, getMetricBreakdownResponseSchema, getMetricLabelKeysArgsSchema, getMetricLabelKeysResponseSchema, getMetricLabelValuesArgsSchema, getMetricLabelValuesResponseSchema, getMetricNamesArgsSchema, getMetricNamesResponseSchema, getMetricPercentilesArgsSchema, getMetricPercentilesResponseSchema, getMetricTimeSeriesArgsSchema, getMetricTimeSeriesResponseSchema, getScoreAggregateArgsSchema, getScoreAggregateResponseSchema, getScoreBreakdownArgsSchema, getScoreBreakdownResponseSchema, getScorePercentilesArgsSchema, getScorePercentilesResponseSchema, getScoreTimeSeriesArgsSchema, getScoreTimeSeriesResponseSchema, getServiceNamesArgsSchema, getServiceNamesResponseSchema, getTagsArgsSchema, getTagsResponseSchema, listFeedbackArgsSchema, listFeedbackResponseSchema, listLogsArgsSchema, listLogsResponseSchema, listMetricsArgsSchema, listMetricsResponseSchema, listScoresArgsSchema, listScoresResponseSchema, logLevelSchema, logRecordInputSchema, logRecordSchema, logsFilterSchema, logsOrderByFieldSchema, logsOrderBySchema, metadataField, metricInputSchema, metricRecordSchema, metricTypeSchema, metricsAggregationSchema, metricsFilterSchema, metricsOrderByFieldSchema, metricsOrderBySchema, noOpLoggerContext, noOpMetricsContext, noOpTracingContext, organizationIdField, paginationArgsSchema, paginationInfoSchema, parentEntityIdField, parentEntityNameField, parentEntityTypeField, requestIdField, resolveObservabilityContext, resourceIdField, rootEntityIdField, rootEntityNameField, rootEntityTypeField, runIdField, scopeField, scoreInputSchema, scoreRecordSchema, scoresFilterSchema, scoresOrderByFieldSchema, scoresOrderBySchema, serviceNameField, sessionIdField, sortDirectionSchema, sourceField, spanContextFields, spanIdField, tagsField, threadIdField, traceIdField, updatedAtField, userIdField, wrapMastra };
1009
- //# sourceMappingURL=chunk-2NISBCML.js.map
1010
- //# sourceMappingURL=chunk-2NISBCML.js.map
820
+ export { EntityType, InternalSpans, SpanType, TracingEventType, aggregationIntervalSchema, aggregationTypeSchema, batchCreateFeedbackArgsSchema, batchCreateLogsArgsSchema, batchCreateMetricsArgsSchema, batchCreateScoresArgsSchema, commonFilterFields, comparePeriodSchema, contextFields, createFeedbackArgsSchema, createFeedbackBodySchema, createFeedbackRecordSchema, createFeedbackResponseSchema, createLogRecordSchema, createMetricRecordSchema, createScoreArgsSchema, createScoreBodySchema, createScoreRecordSchema, createScoreResponseSchema, createdAtField, dateRangeSchema, dbTimestamps, entityIdField, entityNameField, entityTypeField, environmentField, executeWithContext, executeWithContextSync, executionSourceField, experimentIdField, feedbackFilterSchema, feedbackInputSchema, feedbackOrderByFieldSchema, feedbackOrderBySchema, feedbackRecordSchema, getCurrentSpan, getEntityNamesArgsSchema, getEntityNamesResponseSchema, getEntityTypeForSpan, getEntityTypesArgsSchema, getEntityTypesResponseSchema, getEnvironmentsArgsSchema, getEnvironmentsResponseSchema, getFeedbackAggregateArgsSchema, getFeedbackAggregateResponseSchema, getFeedbackBreakdownArgsSchema, getFeedbackBreakdownResponseSchema, getFeedbackPercentilesArgsSchema, getFeedbackPercentilesResponseSchema, getFeedbackTimeSeriesArgsSchema, getFeedbackTimeSeriesResponseSchema, getMetricAggregateArgsSchema, getMetricAggregateResponseSchema, getMetricBreakdownArgsSchema, getMetricBreakdownResponseSchema, getMetricLabelKeysArgsSchema, getMetricLabelKeysResponseSchema, getMetricLabelValuesArgsSchema, getMetricLabelValuesResponseSchema, getMetricNamesArgsSchema, getMetricNamesResponseSchema, getMetricPercentilesArgsSchema, getMetricPercentilesResponseSchema, getMetricTimeSeriesArgsSchema, getMetricTimeSeriesResponseSchema, getOrCreateSpan, getRootExportSpan, getScoreAggregateArgsSchema, getScoreAggregateResponseSchema, getScoreBreakdownArgsSchema, getScoreBreakdownResponseSchema, getScorePercentilesArgsSchema, getScorePercentilesResponseSchema, getScoreTimeSeriesArgsSchema, getScoreTimeSeriesResponseSchema, getServiceNamesArgsSchema, getServiceNamesResponseSchema, getTagsArgsSchema, getTagsResponseSchema, listFeedbackArgsSchema, listFeedbackResponseSchema, listLogsArgsSchema, listLogsResponseSchema, listMetricsArgsSchema, listMetricsResponseSchema, listScoresArgsSchema, listScoresResponseSchema, logLevelSchema, logRecordInputSchema, logRecordSchema, logsFilterSchema, logsOrderByFieldSchema, logsOrderBySchema, metadataField, metricInputSchema, metricRecordSchema, metricTypeSchema, metricsAggregationSchema, metricsFilterSchema, metricsOrderByFieldSchema, metricsOrderBySchema, organizationIdField, paginationArgsSchema, paginationInfoSchema, parentEntityIdField, parentEntityNameField, parentEntityTypeField, requestIdField, resourceIdField, rootEntityIdField, rootEntityNameField, rootEntityTypeField, runIdField, scopeField, scoreInputSchema, scoreRecordSchema, scoresFilterSchema, scoresOrderByFieldSchema, scoresOrderBySchema, serviceNameField, sessionIdField, sortDirectionSchema, sourceField, spanContextFields, spanIdField, tagsField, threadIdField, traceIdField, updatedAtField, userIdField };
821
+ //# sourceMappingURL=chunk-WG7QIVL7.js.map
822
+ //# sourceMappingURL=chunk-WG7QIVL7.js.map