@mastra/core 1.13.3-alpha.1 → 1.14.0-alpha.2

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 (264) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +1333 -0
  3. package/dist/agent/index.cjs +13 -13
  4. package/dist/agent/index.js +2 -2
  5. package/dist/agent/message-list/conversion/output-converter.d.ts.map +1 -1
  6. package/dist/agent/message-list/index.cjs +18 -18
  7. package/dist/agent/message-list/index.js +1 -1
  8. package/dist/agent/message-list/message-list.d.ts +12 -1
  9. package/dist/agent/message-list/message-list.d.ts.map +1 -1
  10. package/dist/agent/message-list/types.d.ts +3 -3
  11. package/dist/agent/types.d.ts +1 -1
  12. package/dist/{chunk-3B6BQEKK.cjs → chunk-2FDGDAJQ.cjs} +3 -3
  13. package/dist/{chunk-3B6BQEKK.cjs.map → chunk-2FDGDAJQ.cjs.map} +1 -1
  14. package/dist/{chunk-GYSKVDYD.js → chunk-3TECGW34.js} +5 -5
  15. package/dist/{chunk-GYSKVDYD.js.map → chunk-3TECGW34.js.map} +1 -1
  16. package/dist/{chunk-Q4W5XQK2.cjs → chunk-445B4SO3.cjs} +292 -403
  17. package/dist/chunk-445B4SO3.cjs.map +1 -0
  18. package/dist/{chunk-WO2CP4Z2.cjs → chunk-4X35LO4W.cjs} +32 -156
  19. package/dist/chunk-4X35LO4W.cjs.map +1 -0
  20. package/dist/{chunk-GC7AHOXK.js → chunk-5LHPEIQQ.js} +12 -12
  21. package/dist/chunk-5LHPEIQQ.js.map +1 -0
  22. package/dist/{chunk-CMTNYR6E.js → chunk-5UAF67E3.js} +9 -9
  23. package/dist/{chunk-CMTNYR6E.js.map → chunk-5UAF67E3.js.map} +1 -1
  24. package/dist/{chunk-SBHYPYXD.js → chunk-5WKCTOYN.js} +13 -13
  25. package/dist/chunk-5WKCTOYN.js.map +1 -0
  26. package/dist/{chunk-WKZEZJKQ.js → chunk-7V4HN5NK.js} +5 -5
  27. package/dist/{chunk-WKZEZJKQ.js.map → chunk-7V4HN5NK.js.map} +1 -1
  28. package/dist/{chunk-F3SHGIQA.cjs → chunk-B3KIJAOJ.cjs} +185 -185
  29. package/dist/{chunk-F3SHGIQA.cjs.map → chunk-B3KIJAOJ.cjs.map} +1 -1
  30. package/dist/{chunk-TAXQJ5ZP.js → chunk-BOUXMXZQ.js} +4 -94
  31. package/dist/chunk-BOUXMXZQ.js.map +1 -0
  32. package/dist/{chunk-MIILNUS4.cjs → chunk-DDIY3CRP.cjs} +10 -10
  33. package/dist/chunk-DDIY3CRP.cjs.map +1 -0
  34. package/dist/{chunk-4RWTWZET.cjs → chunk-EAKNCJKL.cjs} +31 -433
  35. package/dist/chunk-EAKNCJKL.cjs.map +1 -0
  36. package/dist/{chunk-RE3YFYVQ.cjs → chunk-EH5D56XV.cjs} +7 -7
  37. package/dist/{chunk-RE3YFYVQ.cjs.map → chunk-EH5D56XV.cjs.map} +1 -1
  38. package/dist/{chunk-A2B3L753.js → chunk-FZNKE4DK.js} +4 -4
  39. package/dist/{chunk-A2B3L753.js.map → chunk-FZNKE4DK.js.map} +1 -1
  40. package/dist/chunk-GVQJCS5O.js +812 -0
  41. package/dist/chunk-GVQJCS5O.js.map +1 -0
  42. package/dist/{chunk-NUZYNU4M.cjs → chunk-J7Q3CZI5.cjs} +14 -14
  43. package/dist/{chunk-NUZYNU4M.cjs.map → chunk-J7Q3CZI5.cjs.map} +1 -1
  44. package/dist/{chunk-CJYTDH5Q.js → chunk-KJUHI5QK.js} +5 -5
  45. package/dist/chunk-KJUHI5QK.js.map +1 -0
  46. package/dist/{chunk-B44JEQHW.js → chunk-KKNT7W4Q.js} +4 -4
  47. package/dist/{chunk-B44JEQHW.js.map → chunk-KKNT7W4Q.js.map} +1 -1
  48. package/dist/{chunk-FDC6E3MJ.cjs → chunk-LAFTYVLN.cjs} +72 -72
  49. package/dist/chunk-LAFTYVLN.cjs.map +1 -0
  50. package/dist/chunk-LIRWMGGI.cjs +931 -0
  51. package/dist/chunk-LIRWMGGI.cjs.map +1 -0
  52. package/dist/{chunk-6JM4RID6.js → chunk-MCAE3D3S.js} +41 -7
  53. package/dist/chunk-MCAE3D3S.js.map +1 -0
  54. package/dist/{chunk-T5M2TGCD.js → chunk-OGR427FH.js} +14 -350
  55. package/dist/chunk-OGR427FH.js.map +1 -0
  56. package/dist/{chunk-AZZGCVBY.js → chunk-PV2DBPYF.js} +3 -3
  57. package/dist/{chunk-AZZGCVBY.js.map → chunk-PV2DBPYF.js.map} +1 -1
  58. package/dist/{chunk-Z7JQTINS.js → chunk-QROAUTDP.js} +3 -3
  59. package/dist/{chunk-Z7JQTINS.js.map → chunk-QROAUTDP.js.map} +1 -1
  60. package/dist/{chunk-DRZWU4MQ.cjs → chunk-RQFAL5VW.cjs} +13 -13
  61. package/dist/chunk-RQFAL5VW.cjs.map +1 -0
  62. package/dist/{chunk-YTSTLTQ5.cjs → chunk-SRNRUDZ2.cjs} +21 -21
  63. package/dist/{chunk-YTSTLTQ5.cjs.map → chunk-SRNRUDZ2.cjs.map} +1 -1
  64. package/dist/{chunk-L2YA2HHZ.js → chunk-SRVR5Z2F.js} +5 -5
  65. package/dist/{chunk-L2YA2HHZ.js.map → chunk-SRVR5Z2F.js.map} +1 -1
  66. package/dist/{chunk-KMG525KB.js → chunk-TFV75T4H.js} +10 -10
  67. package/dist/{chunk-KMG525KB.js.map → chunk-TFV75T4H.js.map} +1 -1
  68. package/dist/{chunk-26JVEE76.cjs → chunk-UHO57W6H.cjs} +7 -7
  69. package/dist/{chunk-26JVEE76.cjs.map → chunk-UHO57W6H.cjs.map} +1 -1
  70. package/dist/{chunk-QXNHZJRV.js → chunk-UWTB4U2X.js} +127 -238
  71. package/dist/chunk-UWTB4U2X.js.map +1 -0
  72. package/dist/{chunk-E2Y2HLCU.cjs → chunk-W2LUCUUP.cjs} +41 -7
  73. package/dist/chunk-W2LUCUUP.cjs.map +1 -0
  74. package/dist/{chunk-X7IX2H7I.cjs → chunk-XVH7SCZN.cjs} +13 -13
  75. package/dist/{chunk-X7IX2H7I.cjs.map → chunk-XVH7SCZN.cjs.map} +1 -1
  76. package/dist/{chunk-CXYQJVHK.cjs → chunk-YSQC2LEG.cjs} +10 -10
  77. package/dist/{chunk-CXYQJVHK.cjs.map → chunk-YSQC2LEG.cjs.map} +1 -1
  78. package/dist/{chunk-XNHOUTCP.cjs → chunk-ZSFSSMFT.cjs} +84 -84
  79. package/dist/{chunk-XNHOUTCP.cjs.map → chunk-ZSFSSMFT.cjs.map} +1 -1
  80. package/dist/datasets/index.cjs +17 -17
  81. package/dist/datasets/index.js +2 -2
  82. package/dist/docs/SKILL.md +1 -1
  83. package/dist/docs/assets/SOURCE_MAP.json +721 -708
  84. package/dist/docs/references/docs-agents-adding-voice.md +6 -6
  85. package/dist/docs/references/docs-agents-agent-approval.md +4 -4
  86. package/dist/docs/references/docs-agents-guardrails.md +1 -1
  87. package/dist/docs/references/docs-agents-network-approval.md +1 -1
  88. package/dist/docs/references/docs-agents-networks.md +1 -1
  89. package/dist/docs/references/docs-agents-overview.md +2 -2
  90. package/dist/docs/references/docs-agents-processors.md +11 -11
  91. package/dist/docs/references/docs-agents-structured-output.md +4 -4
  92. package/dist/docs/references/docs-agents-supervisor-agents.md +3 -3
  93. package/dist/docs/references/docs-agents-using-tools.md +4 -4
  94. package/dist/docs/references/docs-evals-custom-scorers.md +4 -4
  95. package/dist/docs/references/docs-evals-overview.md +2 -2
  96. package/dist/docs/references/docs-memory-memory-processors.md +6 -6
  97. package/dist/docs/references/docs-memory-semantic-recall.md +1 -1
  98. package/dist/docs/references/docs-memory-storage.md +1 -1
  99. package/dist/docs/references/docs-memory-working-memory.md +1 -1
  100. package/dist/docs/references/docs-observability-datasets-running-experiments.md +1 -1
  101. package/dist/docs/references/docs-observability-tracing-exporters-langfuse.md +1 -1
  102. package/dist/docs/references/docs-observability-tracing-exporters-langsmith.md +2 -2
  103. package/dist/docs/references/docs-rag-graph-rag.md +2 -2
  104. package/dist/docs/references/docs-rag-retrieval.md +12 -12
  105. package/dist/docs/references/docs-server-mastra-client.md +1 -1
  106. package/dist/docs/references/docs-server-request-context.md +3 -3
  107. package/dist/docs/references/docs-streaming-tool-streaming.md +1 -1
  108. package/dist/docs/references/docs-voice-overview.md +21 -21
  109. package/dist/docs/references/docs-voice-speech-to-speech.md +2 -2
  110. package/dist/docs/references/docs-voice-speech-to-text.md +1 -1
  111. package/dist/docs/references/docs-voice-text-to-speech.md +1 -1
  112. package/dist/docs/references/docs-workspace-filesystem.md +1 -1
  113. package/dist/docs/references/docs-workspace-overview.md +1 -1
  114. package/dist/docs/references/docs-workspace-sandbox.md +1 -1
  115. package/dist/docs/references/reference-agents-agent.md +5 -5
  116. package/dist/docs/references/reference-agents-generateLegacy.md +2 -2
  117. package/dist/docs/references/reference-agents-getLLM.md +1 -1
  118. package/dist/docs/references/reference-agents-network.md +1 -1
  119. package/dist/docs/references/reference-configuration.md +3 -3
  120. package/dist/docs/references/reference-evals-answer-relevancy.md +1 -1
  121. package/dist/docs/references/reference-evals-answer-similarity.md +1 -1
  122. package/dist/docs/references/reference-evals-bias.md +1 -1
  123. package/dist/docs/references/reference-evals-context-precision.md +3 -3
  124. package/dist/docs/references/reference-evals-faithfulness.md +1 -1
  125. package/dist/docs/references/reference-evals-hallucination.md +5 -5
  126. package/dist/docs/references/reference-evals-toxicity.md +1 -1
  127. package/dist/docs/references/reference-harness-harness-class.md +4 -4
  128. package/dist/docs/references/reference-memory-memory-class.md +3 -3
  129. package/dist/docs/references/reference-memory-observational-memory.md +5 -5
  130. package/dist/docs/references/reference-processors-batch-parts-processor.md +1 -1
  131. package/dist/docs/references/reference-processors-language-detector.md +1 -1
  132. package/dist/docs/references/reference-processors-moderation-processor.md +2 -2
  133. package/dist/docs/references/reference-processors-pii-detector.md +2 -2
  134. package/dist/docs/references/reference-processors-processor-interface.md +3 -3
  135. package/dist/docs/references/reference-processors-prompt-injection-detector.md +1 -1
  136. package/dist/docs/references/reference-processors-system-prompt-scrubber.md +1 -1
  137. package/dist/docs/references/reference-processors-token-limiter-processor.md +3 -3
  138. package/dist/docs/references/reference-processors-tool-search-processor.md +2 -2
  139. package/dist/docs/references/reference-processors-unicode-normalizer.md +1 -1
  140. package/dist/docs/references/reference-storage-mongodb.md +1 -1
  141. package/dist/docs/references/reference-storage-postgresql.md +1 -1
  142. package/dist/docs/references/reference-storage-upstash.md +1 -1
  143. package/dist/docs/references/reference-templates-overview.md +1 -1
  144. package/dist/docs/references/reference-tools-mcp-client.md +2 -2
  145. package/dist/docs/references/reference-tools-mcp-server.md +1 -1
  146. package/dist/docs/references/reference-tools-vector-query-tool.md +1 -1
  147. package/dist/docs/references/reference-vectors-libsql.md +1 -1
  148. package/dist/docs/references/reference-vectors-mongodb.md +1 -1
  149. package/dist/docs/references/reference-vectors-pg.md +1 -1
  150. package/dist/docs/references/reference-vectors-upstash.md +1 -1
  151. package/dist/docs/references/reference-voice-voice.addInstructions.md +1 -1
  152. package/dist/docs/references/reference-workspace-local-filesystem.md +1 -1
  153. package/dist/docs/references/reference-workspace-local-sandbox.md +1 -1
  154. package/dist/evals/index.cjs +20 -20
  155. package/dist/evals/index.js +3 -3
  156. package/dist/evals/scoreTraces/index.cjs +7 -7
  157. package/dist/evals/scoreTraces/index.js +3 -3
  158. package/dist/features/index.cjs +2 -1
  159. package/dist/features/index.cjs.map +1 -1
  160. package/dist/features/index.d.ts.map +1 -1
  161. package/dist/features/index.js +2 -1
  162. package/dist/features/index.js.map +1 -1
  163. package/dist/harness/index.cjs +7 -7
  164. package/dist/harness/index.js +5 -5
  165. package/dist/index.cjs +2 -2
  166. package/dist/index.js +1 -1
  167. package/dist/llm/index.cjs +16 -16
  168. package/dist/llm/index.js +5 -5
  169. package/dist/llm/model/base.types.d.ts +1 -1
  170. package/dist/llm/model/provider-types.generated.d.ts +4 -4
  171. package/dist/loop/index.cjs +14 -14
  172. package/dist/loop/index.js +1 -1
  173. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  174. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts.map +1 -1
  175. package/dist/loop/workflows/agentic-execution/tool-call-step.d.ts.map +1 -1
  176. package/dist/mastra/index.cjs +2 -2
  177. package/dist/mastra/index.js +1 -1
  178. package/dist/memory/index.cjs +14 -14
  179. package/dist/memory/index.js +1 -1
  180. package/dist/memory/types.d.ts +1 -1
  181. package/dist/models-dev-E24MAXL2.cjs +12 -0
  182. package/dist/{models-dev-SOEEI4UR.cjs.map → models-dev-E24MAXL2.cjs.map} +1 -1
  183. package/dist/models-dev-F65PLXGJ.js +3 -0
  184. package/dist/{models-dev-EKZCLX7Y.js.map → models-dev-F65PLXGJ.js.map} +1 -1
  185. package/dist/netlify-FT3VYX27.cjs +12 -0
  186. package/dist/{netlify-SSPGBXOO.cjs.map → netlify-FT3VYX27.cjs.map} +1 -1
  187. package/dist/netlify-NYUZ5ZTO.js +3 -0
  188. package/dist/{netlify-ALYV7577.js.map → netlify-NYUZ5ZTO.js.map} +1 -1
  189. package/dist/observability/index.cjs +17 -17
  190. package/dist/observability/index.js +1 -1
  191. package/dist/observability/types/tracing.d.ts +2 -22
  192. package/dist/observability/types/tracing.d.ts.map +1 -1
  193. package/dist/processor-provider/index.cjs +10 -10
  194. package/dist/processor-provider/index.js +1 -1
  195. package/dist/processors/index.cjs +42 -42
  196. package/dist/processors/index.js +1 -1
  197. package/dist/provider-registry-5R2TUINW.js +3 -0
  198. package/dist/{provider-registry-AZ4SPASK.js.map → provider-registry-5R2TUINW.js.map} +1 -1
  199. package/dist/provider-registry-TVYED7F2.cjs +40 -0
  200. package/dist/{provider-registry-35V252GM.cjs.map → provider-registry-TVYED7F2.cjs.map} +1 -1
  201. package/dist/provider-registry.json +8 -8
  202. package/dist/relevance/index.cjs +3 -3
  203. package/dist/relevance/index.js +1 -1
  204. package/dist/storage/constants.cjs +56 -56
  205. package/dist/storage/constants.d.ts +1 -1
  206. package/dist/storage/constants.js +1 -1
  207. package/dist/storage/domains/memory/inmemory.d.ts.map +1 -1
  208. package/dist/storage/domains/observability/discovery.d.ts +1 -63
  209. package/dist/storage/domains/observability/discovery.d.ts.map +1 -1
  210. package/dist/storage/domains/observability/feedback.d.ts +1 -185
  211. package/dist/storage/domains/observability/feedback.d.ts.map +1 -1
  212. package/dist/storage/domains/observability/logs.d.ts +1 -321
  213. package/dist/storage/domains/observability/logs.d.ts.map +1 -1
  214. package/dist/storage/domains/observability/metrics.d.ts +1 -394
  215. package/dist/storage/domains/observability/metrics.d.ts.map +1 -1
  216. package/dist/storage/domains/observability/scores.d.ts +1 -192
  217. package/dist/storage/domains/observability/scores.d.ts.map +1 -1
  218. package/dist/storage/domains/observability/tracing.d.ts +50 -52
  219. package/dist/storage/domains/observability/tracing.d.ts.map +1 -1
  220. package/dist/storage/domains/shared.d.ts +1 -118
  221. package/dist/storage/domains/shared.d.ts.map +1 -1
  222. package/dist/storage/index.cjs +479 -466
  223. package/dist/storage/index.js +3 -2
  224. package/dist/stream/index.cjs +11 -11
  225. package/dist/stream/index.js +2 -2
  226. package/dist/test-utils/llm-mock.cjs +4 -4
  227. package/dist/test-utils/llm-mock.js +1 -1
  228. package/dist/tool-loop-agent/index.cjs +4 -4
  229. package/dist/tool-loop-agent/index.js +1 -1
  230. package/dist/utils.cjs +23 -23
  231. package/dist/utils.js +1 -1
  232. package/dist/vector/embed.d.ts +2 -2
  233. package/dist/vector/index.cjs +7 -7
  234. package/dist/vector/index.js +1 -1
  235. package/dist/workflows/evented/index.cjs +10 -10
  236. package/dist/workflows/evented/index.js +1 -1
  237. package/dist/workflows/index.cjs +24 -24
  238. package/dist/workflows/index.js +1 -1
  239. package/package.json +6 -5
  240. package/src/llm/model/provider-types.generated.d.ts +4 -4
  241. package/dist/chunk-4RWTWZET.cjs.map +0 -1
  242. package/dist/chunk-6JM4RID6.js.map +0 -1
  243. package/dist/chunk-CJYTDH5Q.js.map +0 -1
  244. package/dist/chunk-DJCCDPZQ.js +0 -376
  245. package/dist/chunk-DJCCDPZQ.js.map +0 -1
  246. package/dist/chunk-DRZWU4MQ.cjs.map +0 -1
  247. package/dist/chunk-E2Y2HLCU.cjs.map +0 -1
  248. package/dist/chunk-FDC6E3MJ.cjs.map +0 -1
  249. package/dist/chunk-GC7AHOXK.js.map +0 -1
  250. package/dist/chunk-MIILNUS4.cjs.map +0 -1
  251. package/dist/chunk-PBDJR7QN.cjs +0 -393
  252. package/dist/chunk-PBDJR7QN.cjs.map +0 -1
  253. package/dist/chunk-Q4W5XQK2.cjs.map +0 -1
  254. package/dist/chunk-QXNHZJRV.js.map +0 -1
  255. package/dist/chunk-SBHYPYXD.js.map +0 -1
  256. package/dist/chunk-T5M2TGCD.js.map +0 -1
  257. package/dist/chunk-TAXQJ5ZP.js.map +0 -1
  258. package/dist/chunk-WO2CP4Z2.cjs.map +0 -1
  259. package/dist/models-dev-EKZCLX7Y.js +0 -3
  260. package/dist/models-dev-SOEEI4UR.cjs +0 -12
  261. package/dist/netlify-ALYV7577.js +0 -3
  262. package/dist/netlify-SSPGBXOO.cjs +0 -12
  263. package/dist/provider-registry-35V252GM.cjs +0 -40
  264. package/dist/provider-registry-AZ4SPASK.js +0 -3
@@ -0,0 +1,812 @@
1
+ import { z } from 'zod/v4';
2
+
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 || {});
11
+ var EntityType = /* @__PURE__ */ ((EntityType2) => {
12
+ EntityType2["AGENT"] = "agent";
13
+ EntityType2["EVAL"] = "eval";
14
+ EntityType2["INPUT_PROCESSOR"] = "input_processor";
15
+ EntityType2["INPUT_STEP_PROCESSOR"] = "input_step_processor";
16
+ EntityType2["OUTPUT_PROCESSOR"] = "output_processor";
17
+ EntityType2["OUTPUT_STEP_PROCESSOR"] = "output_step_processor";
18
+ EntityType2["WORKFLOW_STEP"] = "workflow_step";
19
+ EntityType2["TOOL"] = "tool";
20
+ EntityType2["WORKFLOW_RUN"] = "workflow_run";
21
+ return EntityType2;
22
+ })(EntityType || {});
23
+ var createdAtField = z.date().describe("Database record creation time");
24
+ var updatedAtField = z.date().describe("Database record last update time");
25
+ var dbTimestamps = {
26
+ createdAt: createdAtField,
27
+ updatedAt: updatedAtField.nullable()
28
+ };
29
+ var paginationArgsSchema = z.object({
30
+ page: z.coerce.number().int().min(0).optional().default(0).describe("Zero-indexed page number"),
31
+ perPage: z.coerce.number().int().min(1).max(100).optional().default(10).describe("Number of items per page")
32
+ }).describe("Pagination options for list queries");
33
+ var paginationInfoSchema = z.object({
34
+ total: z.number().describe("Total number of items available"),
35
+ page: z.number().describe("Current page"),
36
+ perPage: z.union([z.number(), z.literal(false)]).describe("Number of items per page, or false if pagination is disabled"),
37
+ hasMore: z.boolean().describe("True if more pages are available")
38
+ });
39
+ var dateRangeSchema = z.object({
40
+ start: z.coerce.date().optional().describe("Start of date range (inclusive by default)"),
41
+ end: z.coerce.date().optional().describe("End of date range (inclusive by default)"),
42
+ startExclusive: z.boolean().optional().describe("When true, excludes the start date from results (uses > instead of >=)"),
43
+ endExclusive: z.boolean().optional().describe("When true, excludes the end date from results (uses < instead of <=)")
44
+ }).describe("Date range filter for timestamps");
45
+ var sortDirectionSchema = z.enum(["ASC", "DESC"]).describe("Sort direction: 'ASC' | 'DESC'");
46
+ var entityTypeField = z.nativeEnum(EntityType).describe(`Entity type (e.g., 'agent' | 'processor' | 'tool' | 'workflow')`);
47
+ var entityIdField = z.string().describe('ID of the entity (e.g., "weatherAgent", "orderWorkflow")');
48
+ var entityNameField = z.string().describe("Name of the entity");
49
+ var userIdField = z.string().describe("Human end-user who triggered execution");
50
+ var organizationIdField = z.string().describe("Multi-tenant organization/account");
51
+ var resourceIdField = z.string().describe("Broader resource context (Mastra memory compatibility)");
52
+ var runIdField = z.string().describe("Unique execution run identifier");
53
+ var sessionIdField = z.string().describe("Session identifier for grouping traces");
54
+ var threadIdField = z.string().describe("Conversation thread identifier");
55
+ var requestIdField = z.string().describe("HTTP request ID for log correlation");
56
+ var environmentField = z.string().describe(`Environment (e.g., "production" | "staging" | "development")`);
57
+ var sourceField = z.string().describe(`Source of execution (e.g., "local" | "cloud" | "ci")`);
58
+ var serviceNameField = z.string().describe("Name of the service");
59
+ var parentEntityTypeField = z.nativeEnum(EntityType).describe("Entity type of the parent entity");
60
+ var parentEntityIdField = z.string().describe("ID of the parent entity");
61
+ var parentEntityNameField = z.string().describe("Name of the parent entity");
62
+ var rootEntityTypeField = z.nativeEnum(EntityType).describe("Entity type of the root entity");
63
+ var rootEntityIdField = z.string().describe("ID of the root entity");
64
+ var rootEntityNameField = z.string().describe("Name of the root entity");
65
+ var experimentIdField = z.string().describe("Experiment or eval run identifier");
66
+ var scopeField = z.record(z.string(), z.unknown()).describe('Arbitrary package/app version info (e.g., {"core": "1.0.0", "memory": "1.0.0", "gitSha": "abcd1234"})');
67
+ var metadataField = z.record(z.string(), z.unknown()).describe("User-defined metadata for custom filtering");
68
+ var tagsField = z.array(z.string()).describe("Labels for filtering");
69
+ var contextFields = {
70
+ // Entity identification
71
+ entityType: entityTypeField.nullish(),
72
+ entityId: entityIdField.nullish(),
73
+ entityName: entityNameField.nullish(),
74
+ // Parent entity hierarchy
75
+ parentEntityType: parentEntityTypeField.nullish(),
76
+ parentEntityId: parentEntityIdField.nullish(),
77
+ parentEntityName: parentEntityNameField.nullish(),
78
+ // Root entity hierarchy
79
+ rootEntityType: rootEntityTypeField.nullish(),
80
+ rootEntityId: rootEntityIdField.nullish(),
81
+ rootEntityName: rootEntityNameField.nullish(),
82
+ // Identity & tenancy
83
+ userId: userIdField.nullish(),
84
+ organizationId: organizationIdField.nullish(),
85
+ resourceId: resourceIdField.nullish(),
86
+ // Correlation IDs
87
+ runId: runIdField.nullish(),
88
+ sessionId: sessionIdField.nullish(),
89
+ threadId: threadIdField.nullish(),
90
+ requestId: requestIdField.nullish(),
91
+ // Deployment context
92
+ environment: environmentField.nullish(),
93
+ source: sourceField.nullish(),
94
+ serviceName: serviceNameField.nullish(),
95
+ scope: scopeField.nullish(),
96
+ // Experimentation
97
+ experimentId: experimentIdField.nullish()
98
+ };
99
+ var commonFilterFields = {
100
+ timestamp: dateRangeSchema.optional().describe("Filter by timestamp range"),
101
+ traceId: z.string().optional().describe("Filter by trace ID"),
102
+ spanId: z.string().optional().describe("Filter by span ID"),
103
+ entityType: entityTypeField.optional(),
104
+ entityName: entityNameField.optional(),
105
+ userId: userIdField.optional(),
106
+ organizationId: organizationIdField.optional(),
107
+ experimentId: experimentIdField.optional(),
108
+ serviceName: serviceNameField.optional(),
109
+ environment: environmentField.optional()
110
+ };
111
+ var traceIdField = z.string().describe("Unique trace identifier");
112
+ var spanIdField = z.string().describe("Unique span identifier within a trace");
113
+ var logLevelSchema = z.enum(["debug", "info", "warn", "error", "fatal"]);
114
+ var messageField = z.string().describe("Log message");
115
+ var logDataField = z.record(z.string(), z.unknown()).describe("Structured data attached to the log");
116
+ var logRecordSchema = z.object({
117
+ timestamp: z.date().describe("When the log was created"),
118
+ level: logLevelSchema.describe("Log severity level"),
119
+ message: messageField,
120
+ data: logDataField.nullish(),
121
+ // Correlation
122
+ traceId: z.string().nullish().describe("Trace ID for correlation"),
123
+ spanId: z.string().nullish().describe("Span ID for correlation"),
124
+ // Context fields (same as tracing)
125
+ ...contextFields,
126
+ // Filtering
127
+ tags: tagsField.nullish(),
128
+ metadata: metadataField.nullish()
129
+ }).describe("Log record as stored in the database");
130
+ var logRecordInputSchema = z.object({
131
+ level: logLevelSchema,
132
+ message: messageField,
133
+ data: logDataField.optional(),
134
+ tags: tagsField.optional()
135
+ }).describe("User-provided log input");
136
+ var createLogRecordSchema = logRecordSchema;
137
+ var batchCreateLogsArgsSchema = z.object({
138
+ logs: z.array(createLogRecordSchema)
139
+ }).describe("Arguments for batch creating logs");
140
+ var logsFilterSchema = z.object({
141
+ ...commonFilterFields,
142
+ // Log-specific filters
143
+ level: z.union([logLevelSchema, z.array(logLevelSchema)]).optional().describe("Filter by log level(s)"),
144
+ // Extended correlation filters
145
+ runId: runIdField.optional(),
146
+ sessionId: sessionIdField.optional(),
147
+ threadId: threadIdField.optional(),
148
+ requestId: requestIdField.optional(),
149
+ // Parent/root entity filters
150
+ parentEntityType: parentEntityTypeField.optional(),
151
+ parentEntityName: parentEntityNameField.optional(),
152
+ rootEntityType: rootEntityTypeField.optional(),
153
+ rootEntityName: rootEntityNameField.optional(),
154
+ // Multi-tenancy filters
155
+ resourceId: resourceIdField.optional(),
156
+ source: sourceField.optional(),
157
+ // Content filters
158
+ search: z.string().optional().describe("Full-text search on message"),
159
+ tags: z.array(z.string()).optional().describe("Filter by tags (logs must have all specified tags)"),
160
+ dataKeys: z.array(z.string()).optional().describe("Filter logs that have specific data keys")
161
+ }).describe("Filters for querying logs");
162
+ var logsOrderByFieldSchema = z.enum(["timestamp"]).describe("Field to order by: 'timestamp'");
163
+ var logsOrderBySchema = z.object({
164
+ field: logsOrderByFieldSchema.default("timestamp").describe("Field to order by"),
165
+ direction: sortDirectionSchema.default("DESC").describe("Sort direction")
166
+ }).describe("Order by configuration");
167
+ var listLogsArgsSchema = z.object({
168
+ filters: logsFilterSchema.optional().describe("Optional filters to apply"),
169
+ pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe("Pagination settings"),
170
+ orderBy: logsOrderBySchema.default({ field: "timestamp", direction: "DESC" }).describe("Ordering configuration (defaults to timestamp desc)")
171
+ }).describe("Arguments for listing logs");
172
+ var listLogsResponseSchema = z.object({
173
+ pagination: paginationInfoSchema,
174
+ logs: z.array(logRecordSchema)
175
+ });
176
+ var scorerIdField = z.string().describe("Identifier of the scorer (e.g., relevance, accuracy)");
177
+ var scorerVersionField = z.string().describe("Version of the scorer");
178
+ var sourceField2 = z.string().describe("Source of the score (e.g., manual, automated, experiment)");
179
+ var scoreValueField = z.number().describe("Score value (range defined by scorer)");
180
+ var scoreReasonField = z.string().describe("Explanation for the score");
181
+ var scoreRecordSchema = z.object({
182
+ timestamp: z.date().describe("When the score was recorded"),
183
+ // Target
184
+ traceId: traceIdField,
185
+ spanId: spanIdField.nullish().describe("Span ID this score applies to"),
186
+ // Score data
187
+ scorerId: scorerIdField,
188
+ scorerVersion: scorerVersionField.nullish(),
189
+ source: sourceField2.nullish(),
190
+ score: scoreValueField,
191
+ reason: scoreReasonField.nullish(),
192
+ experimentId: experimentIdField.nullish(),
193
+ /** Trace ID of the scoring run (links to trace that generated this score) */
194
+ scoreTraceId: z.string().nullish().describe("Trace ID of the scoring run for debugging score generation"),
195
+ // User-defined metadata (context fields stored here)
196
+ metadata: z.record(z.string(), z.unknown()).nullish().describe("User-defined metadata")
197
+ }).describe("Score record as stored in the database");
198
+ var scoreInputSchema = z.object({
199
+ scorerId: scorerIdField,
200
+ scorerVersion: scorerVersionField.optional(),
201
+ source: sourceField2.optional(),
202
+ score: scoreValueField,
203
+ reason: scoreReasonField.optional(),
204
+ metadata: z.record(z.string(), z.unknown()).optional().describe("Additional scorer-specific metadata"),
205
+ experimentId: experimentIdField.optional(),
206
+ scoreTraceId: z.string().optional().describe("Trace ID of the scoring run for debugging score generation")
207
+ }).describe("User-provided score input");
208
+ var createScoreRecordSchema = scoreRecordSchema;
209
+ var createScoreArgsSchema = z.object({
210
+ score: createScoreRecordSchema
211
+ }).describe("Arguments for creating a score");
212
+ var createScoreBodySchema = z.object({
213
+ score: createScoreRecordSchema.omit({ timestamp: true })
214
+ }).describe("Arguments for creating a score");
215
+ var createScoreResponseSchema = z.object({ success: z.boolean() }).describe("Response from creating a score");
216
+ var batchCreateScoresArgsSchema = z.object({
217
+ scores: z.array(createScoreRecordSchema)
218
+ }).describe("Arguments for batch recording scores");
219
+ var scoresFilterSchema = z.object({
220
+ ...commonFilterFields,
221
+ // Score-specific filters
222
+ scorerId: z.union([z.string(), z.array(z.string())]).optional().describe("Filter by scorer ID(s)")
223
+ }).describe("Filters for querying scores");
224
+ var scoresOrderByFieldSchema = z.enum(["timestamp", "score"]).describe("Field to order by: 'timestamp' | 'score'");
225
+ var scoresOrderBySchema = z.object({
226
+ field: scoresOrderByFieldSchema.default("timestamp").describe("Field to order by"),
227
+ direction: sortDirectionSchema.default("DESC").describe("Sort direction")
228
+ }).describe("Order by configuration");
229
+ var listScoresArgsSchema = z.object({
230
+ filters: scoresFilterSchema.optional().describe("Optional filters to apply"),
231
+ pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe("Pagination settings"),
232
+ orderBy: scoresOrderBySchema.default({ field: "timestamp", direction: "DESC" }).describe("Ordering configuration (defaults to timestamp desc)")
233
+ }).describe("Arguments for listing scores");
234
+ var listScoresResponseSchema = z.object({
235
+ pagination: paginationInfoSchema,
236
+ scores: z.array(scoreRecordSchema)
237
+ });
238
+ var feedbackSourceField = z.string().describe("Source of feedback (e.g., 'user', 'system', 'manual')");
239
+ var feedbackTypeField = z.string().describe("Type of feedback (e.g., 'thumbs', 'rating', 'correction')");
240
+ var feedbackValueField = z.union([z.number(), z.string()]).describe("Feedback value (rating number or correction text)");
241
+ var feedbackCommentField = z.string().describe("Additional comment or context");
242
+ var feedbackRecordSchema = z.object({
243
+ timestamp: z.date().describe("When the feedback was recorded"),
244
+ // Target
245
+ traceId: traceIdField,
246
+ spanId: spanIdField.nullish().describe("Span ID this feedback applies to"),
247
+ // Feedback data
248
+ source: feedbackSourceField,
249
+ feedbackType: feedbackTypeField,
250
+ value: feedbackValueField,
251
+ comment: feedbackCommentField.nullish(),
252
+ experimentId: experimentIdField.nullish(),
253
+ // Identity
254
+ userId: userIdField.nullish(),
255
+ // User-defined metadata (context fields stored here)
256
+ metadata: z.record(z.string(), z.unknown()).nullish().describe("User-defined metadata")
257
+ }).describe("Feedback record as stored in the database");
258
+ var feedbackInputSchema = z.object({
259
+ source: feedbackSourceField,
260
+ feedbackType: feedbackTypeField,
261
+ value: feedbackValueField,
262
+ comment: feedbackCommentField.optional(),
263
+ userId: userIdField.optional(),
264
+ metadata: z.record(z.string(), z.unknown()).optional().describe("Additional feedback-specific metadata"),
265
+ experimentId: experimentIdField.optional()
266
+ }).describe("User-provided feedback input");
267
+ var createFeedbackRecordSchema = feedbackRecordSchema;
268
+ var createFeedbackArgsSchema = z.object({
269
+ feedback: createFeedbackRecordSchema
270
+ }).describe("Arguments for creating feedback");
271
+ var createFeedbackBodySchema = z.object({
272
+ feedback: createFeedbackRecordSchema.omit({ timestamp: true })
273
+ }).describe("Arguments for creating feedback");
274
+ var createFeedbackResponseSchema = z.object({ success: z.boolean() }).describe("Response from creating feedback");
275
+ var batchCreateFeedbackArgsSchema = z.object({
276
+ feedbacks: z.array(createFeedbackRecordSchema)
277
+ }).describe("Arguments for batch recording feedback");
278
+ var feedbackFilterSchema = z.object({
279
+ ...commonFilterFields,
280
+ // Feedback-specific filters
281
+ feedbackType: z.union([z.string(), z.array(z.string())]).optional().describe("Filter by feedback type(s)"),
282
+ source: z.string().optional().describe("Filter by feedback source (e.g., user, system, manual)")
283
+ }).describe("Filters for querying feedback");
284
+ var feedbackOrderByFieldSchema = z.enum(["timestamp"]).describe("Field to order by: 'timestamp'");
285
+ var feedbackOrderBySchema = z.object({
286
+ field: feedbackOrderByFieldSchema.default("timestamp").describe("Field to order by"),
287
+ direction: sortDirectionSchema.default("DESC").describe("Sort direction")
288
+ }).describe("Order by configuration");
289
+ var listFeedbackArgsSchema = z.object({
290
+ filters: feedbackFilterSchema.optional().describe("Optional filters to apply"),
291
+ pagination: paginationArgsSchema.default({ page: 0, perPage: 10 }).describe("Pagination settings"),
292
+ orderBy: feedbackOrderBySchema.default({ field: "timestamp", direction: "DESC" }).describe("Ordering configuration (defaults to timestamp desc)")
293
+ }).describe("Arguments for listing feedback");
294
+ var listFeedbackResponseSchema = z.object({
295
+ pagination: paginationInfoSchema,
296
+ feedback: z.array(feedbackRecordSchema)
297
+ });
298
+ var metricTypeSchema = z.enum(["counter", "gauge", "histogram"]);
299
+ var metricNameField = z.string().describe("Metric name (e.g., mastra_agent_duration_ms)");
300
+ var metricValueField = z.number().describe("Metric value");
301
+ var labelsField = z.record(z.string(), z.string()).describe("Metric labels for dimensional filtering");
302
+ var metricRecordSchema = z.object({
303
+ timestamp: z.date().describe("When the metric was recorded"),
304
+ name: metricNameField,
305
+ value: metricValueField.describe("Single observation value"),
306
+ labels: labelsField.default({}),
307
+ // Correlation
308
+ traceId: traceIdField.nullish(),
309
+ spanId: spanIdField.nullish(),
310
+ // Context (entity hierarchy, identity, correlation, deployment, experimentation)
311
+ ...contextFields,
312
+ // User-defined metadata
313
+ metadata: z.record(z.string(), z.unknown()).nullish().describe("User-defined metadata")
314
+ }).describe("Metric record as stored in the database");
315
+ var metricInputSchema = z.object({
316
+ name: metricNameField,
317
+ value: metricValueField,
318
+ labels: labelsField.optional()
319
+ }).describe("User-provided metric input");
320
+ var createMetricRecordSchema = metricRecordSchema;
321
+ var batchCreateMetricsArgsSchema = z.object({
322
+ metrics: z.array(createMetricRecordSchema)
323
+ }).describe("Arguments for batch recording metrics");
324
+ var aggregationTypeSchema = z.enum(["sum", "avg", "min", "max", "count", "last"]);
325
+ var aggregationIntervalSchema = z.enum(["1m", "5m", "15m", "1h", "1d"]);
326
+ var metricsAggregationSchema = z.object({
327
+ type: aggregationTypeSchema.describe("Aggregation function"),
328
+ interval: aggregationIntervalSchema.optional().describe("Time bucket interval"),
329
+ groupBy: z.array(z.string()).optional().describe("Label keys to group by")
330
+ }).describe("Metrics aggregation configuration");
331
+ var metricsFilterSchema = z.object({
332
+ ...commonFilterFields,
333
+ // Metric identification
334
+ name: z.array(z.string()).nonempty().optional().describe("Filter by metric name(s)"),
335
+ // Parent/root entity filters
336
+ parentEntityType: parentEntityTypeField.optional(),
337
+ parentEntityName: parentEntityNameField.optional(),
338
+ rootEntityType: rootEntityTypeField.optional(),
339
+ rootEntityName: rootEntityNameField.optional(),
340
+ // Correlation ID filters
341
+ runId: runIdField.optional(),
342
+ sessionId: sessionIdField.optional(),
343
+ // Label filters (exact match on label values)
344
+ labels: z.record(z.string(), z.string()).optional().describe("Exact match on label key-value pairs")
345
+ }).describe("Filters for querying metrics");
346
+ var comparePeriodSchema = z.enum(["previous_period", "previous_day", "previous_week"]).describe("Comparison period for aggregate queries");
347
+ var getMetricAggregateArgsSchema = z.object({
348
+ name: z.array(z.string()).nonempty().describe("Metric name(s) to aggregate"),
349
+ aggregation: aggregationTypeSchema.describe("Aggregation function"),
350
+ filters: metricsFilterSchema.optional().describe("Optional filters"),
351
+ comparePeriod: comparePeriodSchema.optional().describe("Optional comparison period")
352
+ }).describe("Arguments for getting a metric aggregate");
353
+ var getMetricAggregateResponseSchema = z.object({
354
+ value: z.number().nullable().describe("Aggregated value"),
355
+ previousValue: z.number().nullable().optional().describe("Value from comparison period"),
356
+ changePercent: z.number().nullable().optional().describe("Percentage change from comparison period")
357
+ });
358
+ var getMetricBreakdownArgsSchema = z.object({
359
+ name: z.array(z.string()).nonempty().describe("Metric name(s) to break down"),
360
+ groupBy: z.array(z.string()).min(1).describe("Fields to group by"),
361
+ aggregation: aggregationTypeSchema.describe("Aggregation function"),
362
+ filters: metricsFilterSchema.optional().describe("Optional filters")
363
+ }).describe("Arguments for getting a metric breakdown");
364
+ var getMetricBreakdownResponseSchema = z.object({
365
+ groups: z.array(
366
+ z.object({
367
+ dimensions: z.record(z.string(), z.string().nullable()).describe("Dimension values for this group"),
368
+ value: z.number().describe("Aggregated value for this group")
369
+ })
370
+ )
371
+ });
372
+ var getMetricTimeSeriesArgsSchema = z.object({
373
+ name: z.array(z.string()).nonempty().describe("Metric name(s)"),
374
+ interval: aggregationIntervalSchema.describe("Time bucket interval"),
375
+ aggregation: aggregationTypeSchema.describe("Aggregation function"),
376
+ filters: metricsFilterSchema.optional().describe("Optional filters"),
377
+ groupBy: z.array(z.string()).optional().describe("Optional fields to group by")
378
+ }).describe("Arguments for getting metric time series");
379
+ var getMetricTimeSeriesResponseSchema = z.object({
380
+ series: z.array(
381
+ z.object({
382
+ name: z.string().describe("Series name (metric name or group key)"),
383
+ points: z.array(
384
+ z.object({
385
+ timestamp: z.date().describe("Bucket timestamp"),
386
+ value: z.number().describe("Aggregated value")
387
+ })
388
+ )
389
+ })
390
+ )
391
+ });
392
+ var getMetricPercentilesArgsSchema = z.object({
393
+ name: z.string().describe("Metric name"),
394
+ percentiles: z.array(z.number().min(0).max(1)).describe("Percentile values (0-1)"),
395
+ interval: aggregationIntervalSchema.describe("Time bucket interval"),
396
+ filters: metricsFilterSchema.optional().describe("Optional filters")
397
+ }).describe("Arguments for getting metric percentiles");
398
+ var getMetricPercentilesResponseSchema = z.object({
399
+ series: z.array(
400
+ z.object({
401
+ percentile: z.number().describe("Percentile value"),
402
+ points: z.array(
403
+ z.object({
404
+ timestamp: z.date().describe("Bucket timestamp"),
405
+ value: z.number().describe("Percentile value at this bucket")
406
+ })
407
+ )
408
+ })
409
+ )
410
+ });
411
+ var getMetricNamesArgsSchema = z.object({
412
+ prefix: z.string().optional().describe("Filter metric names by prefix"),
413
+ limit: z.number().int().min(1).optional().describe("Maximum number of names to return")
414
+ }).describe("Arguments for getting metric names");
415
+ var getMetricNamesResponseSchema = z.object({
416
+ names: z.array(z.string()).describe("Distinct metric names")
417
+ });
418
+ var getMetricLabelKeysArgsSchema = z.object({
419
+ metricName: z.string().describe("Metric name to get label keys for")
420
+ }).describe("Arguments for getting metric label keys");
421
+ var getMetricLabelKeysResponseSchema = z.object({
422
+ keys: z.array(z.string()).describe("Distinct label keys for the metric")
423
+ });
424
+ var getMetricLabelValuesArgsSchema = z.object({
425
+ metricName: z.string().describe("Metric name"),
426
+ labelKey: z.string().describe("Label key to get values for"),
427
+ prefix: z.string().optional().describe("Filter values by prefix"),
428
+ limit: z.number().int().min(1).optional().describe("Maximum number of values to return")
429
+ }).describe("Arguments for getting label values");
430
+ var getMetricLabelValuesResponseSchema = z.object({
431
+ values: z.array(z.string()).describe("Distinct label values")
432
+ });
433
+ var getEntityTypesArgsSchema = z.object({}).describe("Arguments for getting entity types");
434
+ var getEntityTypesResponseSchema = z.object({
435
+ entityTypes: z.array(entityTypeField).describe("Distinct entity types")
436
+ });
437
+ var getEntityNamesArgsSchema = z.object({
438
+ entityType: entityTypeField.optional().describe("Optional entity type filter")
439
+ }).describe("Arguments for getting entity names");
440
+ var getEntityNamesResponseSchema = z.object({
441
+ names: z.array(z.string()).describe("Distinct entity names")
442
+ });
443
+ var getServiceNamesArgsSchema = z.object({}).describe("Arguments for getting service names");
444
+ var getServiceNamesResponseSchema = z.object({
445
+ serviceNames: z.array(z.string()).describe("Distinct service names")
446
+ });
447
+ var getEnvironmentsArgsSchema = z.object({}).describe("Arguments for getting environments");
448
+ var getEnvironmentsResponseSchema = z.object({
449
+ environments: z.array(z.string()).describe("Distinct environments")
450
+ });
451
+ var getTagsArgsSchema = z.object({
452
+ entityType: entityTypeField.optional().describe("Optional entity type filter")
453
+ }).describe("Arguments for getting tags");
454
+ var getTagsResponseSchema = z.object({
455
+ tags: z.array(z.string()).describe("Distinct tags")
456
+ });
457
+
458
+ // src/observability/types/tracing.ts
459
+ var SpanType = /* @__PURE__ */ ((SpanType2) => {
460
+ SpanType2["AGENT_RUN"] = "agent_run";
461
+ SpanType2["GENERIC"] = "generic";
462
+ SpanType2["MODEL_GENERATION"] = "model_generation";
463
+ SpanType2["MODEL_STEP"] = "model_step";
464
+ SpanType2["MODEL_CHUNK"] = "model_chunk";
465
+ SpanType2["MCP_TOOL_CALL"] = "mcp_tool_call";
466
+ SpanType2["PROCESSOR_RUN"] = "processor_run";
467
+ SpanType2["TOOL_CALL"] = "tool_call";
468
+ SpanType2["WORKFLOW_RUN"] = "workflow_run";
469
+ SpanType2["WORKFLOW_STEP"] = "workflow_step";
470
+ SpanType2["WORKFLOW_CONDITIONAL"] = "workflow_conditional";
471
+ SpanType2["WORKFLOW_CONDITIONAL_EVAL"] = "workflow_conditional_eval";
472
+ SpanType2["WORKFLOW_PARALLEL"] = "workflow_parallel";
473
+ SpanType2["WORKFLOW_LOOP"] = "workflow_loop";
474
+ SpanType2["WORKFLOW_SLEEP"] = "workflow_sleep";
475
+ SpanType2["WORKFLOW_WAIT_EVENT"] = "workflow_wait_event";
476
+ return SpanType2;
477
+ })(SpanType || {});
478
+ var InternalSpans = /* @__PURE__ */ ((InternalSpans2) => {
479
+ InternalSpans2[InternalSpans2["NONE"] = 0] = "NONE";
480
+ InternalSpans2[InternalSpans2["WORKFLOW"] = 1] = "WORKFLOW";
481
+ InternalSpans2[InternalSpans2["AGENT"] = 2] = "AGENT";
482
+ InternalSpans2[InternalSpans2["TOOL"] = 4] = "TOOL";
483
+ InternalSpans2[InternalSpans2["MODEL"] = 8] = "MODEL";
484
+ InternalSpans2[InternalSpans2["ALL"] = 15] = "ALL";
485
+ return InternalSpans2;
486
+ })(InternalSpans || {});
487
+ var TracingEventType = /* @__PURE__ */ ((TracingEventType2) => {
488
+ TracingEventType2["SPAN_STARTED"] = "span_started";
489
+ TracingEventType2["SPAN_UPDATED"] = "span_updated";
490
+ TracingEventType2["SPAN_ENDED"] = "span_ended";
491
+ return TracingEventType2;
492
+ })(TracingEventType || {});
493
+
494
+ // src/observability/types/metrics.ts
495
+ var DEFAULT_BLOCKED_LABELS = [
496
+ "trace_id",
497
+ "span_id",
498
+ "run_id",
499
+ "request_id",
500
+ "user_id",
501
+ "resource_id",
502
+ "session_id",
503
+ "thread_id"
504
+ ];
505
+
506
+ // src/observability/no-op.ts
507
+ var noOpCounter = {
508
+ add() {
509
+ }
510
+ };
511
+ var noOpGauge = {
512
+ set() {
513
+ }
514
+ };
515
+ var noOpHistogram = {
516
+ record() {
517
+ }
518
+ };
519
+ var noOpTracingContext = {
520
+ currentSpan: void 0
521
+ };
522
+ var noOpLoggerContext = {
523
+ debug() {
524
+ },
525
+ info() {
526
+ },
527
+ warn() {
528
+ },
529
+ error() {
530
+ },
531
+ fatal() {
532
+ }
533
+ };
534
+ var noOpMetricsContext = {
535
+ emit() {
536
+ },
537
+ counter() {
538
+ return noOpCounter;
539
+ },
540
+ gauge() {
541
+ return noOpGauge;
542
+ },
543
+ histogram() {
544
+ return noOpHistogram;
545
+ }
546
+ };
547
+ var NoOpObservability = class {
548
+ setMastraContext(_options) {
549
+ return;
550
+ }
551
+ setLogger(_options) {
552
+ return;
553
+ }
554
+ getSelectedInstance(_options) {
555
+ return;
556
+ }
557
+ registerInstance(_name, _instance, _isDefault = false) {
558
+ return;
559
+ }
560
+ getInstance(_name) {
561
+ return;
562
+ }
563
+ getDefaultInstance() {
564
+ return;
565
+ }
566
+ listInstances() {
567
+ return /* @__PURE__ */ new Map();
568
+ }
569
+ unregisterInstance(_name) {
570
+ return false;
571
+ }
572
+ hasInstance(_name) {
573
+ return false;
574
+ }
575
+ setConfigSelector(_selector) {
576
+ return;
577
+ }
578
+ clear() {
579
+ return;
580
+ }
581
+ async shutdown() {
582
+ return;
583
+ }
584
+ };
585
+
586
+ // src/observability/utils.ts
587
+ function getOrCreateSpan(options) {
588
+ const { type, attributes, tracingContext, requestContext, tracingOptions, ...rest } = options;
589
+ const metadata = {
590
+ ...rest.metadata ?? {},
591
+ ...tracingOptions?.metadata ?? {}
592
+ };
593
+ if (tracingContext?.currentSpan) {
594
+ return tracingContext.currentSpan.createChildSpan({
595
+ type,
596
+ attributes,
597
+ ...rest,
598
+ metadata,
599
+ requestContext
600
+ });
601
+ }
602
+ const instance = options.mastra?.observability?.getSelectedInstance({ requestContext });
603
+ return instance?.startSpan({
604
+ type,
605
+ attributes,
606
+ ...rest,
607
+ metadata,
608
+ requestContext,
609
+ tracingOptions,
610
+ traceId: tracingOptions?.traceId,
611
+ parentSpanId: tracingOptions?.parentSpanId,
612
+ customSamplerOptions: {
613
+ requestContext,
614
+ metadata
615
+ }
616
+ });
617
+ }
618
+ async function executeWithContext(params) {
619
+ const { span, fn } = params;
620
+ if (span?.executeInContext) {
621
+ return span.executeInContext(fn);
622
+ }
623
+ return fn();
624
+ }
625
+ function executeWithContextSync(params) {
626
+ const { span, fn } = params;
627
+ if (span?.executeInContextSync) {
628
+ return span.executeInContextSync(fn);
629
+ }
630
+ return fn();
631
+ }
632
+
633
+ // src/observability/context-factory.ts
634
+ function deriveLoggerContext(tracing) {
635
+ const span = tracing.currentSpan;
636
+ return span?.observabilityInstance?.getLoggerContext?.(span) ?? noOpLoggerContext;
637
+ }
638
+ function deriveMetricsContext(tracing) {
639
+ const span = tracing.currentSpan;
640
+ return span?.observabilityInstance?.getMetricsContext?.(span) ?? noOpMetricsContext;
641
+ }
642
+ function createObservabilityContext(tracingContext) {
643
+ const tracing = tracingContext ?? noOpTracingContext;
644
+ return {
645
+ tracing,
646
+ loggerVNext: deriveLoggerContext(tracing),
647
+ metrics: deriveMetricsContext(tracing),
648
+ tracingContext: tracing
649
+ // alias — preferred at forwarding sites
650
+ };
651
+ }
652
+ function resolveObservabilityContext(partial) {
653
+ const tracing = partial.tracing ?? partial.tracingContext ?? noOpTracingContext;
654
+ return {
655
+ tracing,
656
+ loggerVNext: partial.loggerVNext ?? deriveLoggerContext(tracing),
657
+ metrics: partial.metrics ?? deriveMetricsContext(tracing),
658
+ tracingContext: tracing
659
+ // alias — preferred at forwarding sites
660
+ };
661
+ }
662
+
663
+ // src/observability/context.ts
664
+ var AGENT_GETTERS = ["getAgent", "getAgentById"];
665
+ var AGENT_METHODS_TO_WRAP = ["generate", "stream", "generateLegacy", "streamLegacy"];
666
+ var WORKFLOW_GETTERS = ["getWorkflow", "getWorkflowById"];
667
+ var WORKFLOW_METHODS_TO_WRAP = ["execute", "createRun", "createRun"];
668
+ function isNoOpSpan(span) {
669
+ return span.constructor.name === "NoOpSpan" || span.__isNoOp === true;
670
+ }
671
+ function isMastra(mastra) {
672
+ const hasAgentGetters = AGENT_GETTERS.every((method) => typeof mastra?.[method] === "function");
673
+ const hasWorkflowGetters = WORKFLOW_GETTERS.every((method) => typeof mastra?.[method] === "function");
674
+ return hasAgentGetters && hasWorkflowGetters;
675
+ }
676
+ function wrapMastra(mastra, tracingContext) {
677
+ if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
678
+ return mastra;
679
+ }
680
+ if (!isMastra(mastra)) {
681
+ return mastra;
682
+ }
683
+ try {
684
+ return new Proxy(mastra, {
685
+ get(target, prop) {
686
+ try {
687
+ if (AGENT_GETTERS.includes(prop)) {
688
+ return (...args) => {
689
+ const agent = target[prop](...args);
690
+ return wrapAgent(agent, tracingContext);
691
+ };
692
+ }
693
+ if (WORKFLOW_GETTERS.includes(prop)) {
694
+ return (...args) => {
695
+ const workflow = target[prop](...args);
696
+ return wrapWorkflow(workflow, tracingContext);
697
+ };
698
+ }
699
+ const value = target[prop];
700
+ return typeof value === "function" ? value.bind(target) : value;
701
+ } catch (error) {
702
+ console.warn("Tracing: Failed to wrap method, falling back to original", error);
703
+ const value = target[prop];
704
+ return typeof value === "function" ? value.bind(target) : value;
705
+ }
706
+ }
707
+ });
708
+ } catch (error) {
709
+ console.warn("Tracing: Failed to create proxy, using original Mastra instance", error);
710
+ return mastra;
711
+ }
712
+ }
713
+ function wrapAgent(agent, tracingContext) {
714
+ if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
715
+ return agent;
716
+ }
717
+ try {
718
+ return new Proxy(agent, {
719
+ get(target, prop) {
720
+ try {
721
+ if (AGENT_METHODS_TO_WRAP.includes(prop)) {
722
+ return (input, options = {}) => {
723
+ return target[prop](input, {
724
+ ...options,
725
+ ...createObservabilityContext(tracingContext)
726
+ });
727
+ };
728
+ }
729
+ const value = target[prop];
730
+ return typeof value === "function" ? value.bind(target) : value;
731
+ } catch (error) {
732
+ console.warn("Tracing: Failed to wrap agent method, falling back to original", error);
733
+ const value = target[prop];
734
+ return typeof value === "function" ? value.bind(target) : value;
735
+ }
736
+ }
737
+ });
738
+ } catch (error) {
739
+ console.warn("Tracing: Failed to create agent proxy, using original instance", error);
740
+ return agent;
741
+ }
742
+ }
743
+ function wrapWorkflow(workflow, tracingContext) {
744
+ if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
745
+ return workflow;
746
+ }
747
+ try {
748
+ return new Proxy(workflow, {
749
+ get(target, prop) {
750
+ try {
751
+ if (WORKFLOW_METHODS_TO_WRAP.includes(prop)) {
752
+ if (prop === "createRun" || prop === "createRun") {
753
+ return async (options = {}) => {
754
+ const run = await target[prop](options);
755
+ return run ? wrapRun(run, tracingContext) : run;
756
+ };
757
+ }
758
+ return (input, options = {}) => {
759
+ return target[prop](input, {
760
+ ...options,
761
+ ...createObservabilityContext(tracingContext)
762
+ });
763
+ };
764
+ }
765
+ const value = target[prop];
766
+ return typeof value === "function" ? value.bind(target) : value;
767
+ } catch (error) {
768
+ console.warn("Tracing: Failed to wrap workflow method, falling back to original", error);
769
+ const value = target[prop];
770
+ return typeof value === "function" ? value.bind(target) : value;
771
+ }
772
+ }
773
+ });
774
+ } catch (error) {
775
+ console.warn("Tracing: Failed to create workflow proxy, using original instance", error);
776
+ return workflow;
777
+ }
778
+ }
779
+ function wrapRun(run, tracingContext) {
780
+ if (!tracingContext.currentSpan || isNoOpSpan(tracingContext.currentSpan)) {
781
+ return run;
782
+ }
783
+ try {
784
+ return new Proxy(run, {
785
+ get(target, prop) {
786
+ try {
787
+ if (prop === "start") {
788
+ return (startOptions = {}) => {
789
+ return target.start({
790
+ ...startOptions,
791
+ ...createObservabilityContext(startOptions.tracingContext ?? tracingContext)
792
+ });
793
+ };
794
+ }
795
+ const value = target[prop];
796
+ return typeof value === "function" ? value.bind(target) : value;
797
+ } catch (error) {
798
+ console.warn("Tracing: Failed to wrap run method, falling back to original", error);
799
+ const value = target[prop];
800
+ return typeof value === "function" ? value.bind(target) : value;
801
+ }
802
+ }
803
+ });
804
+ } catch (error) {
805
+ console.warn("Tracing: Failed to create run proxy, using original instance", error);
806
+ return run;
807
+ }
808
+ }
809
+
810
+ 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, executeWithContext, executeWithContextSync, experimentIdField, feedbackFilterSchema, feedbackInputSchema, feedbackOrderByFieldSchema, feedbackOrderBySchema, feedbackRecordSchema, getEntityNamesArgsSchema, getEntityNamesResponseSchema, getEntityTypesArgsSchema, getEntityTypesResponseSchema, getEnvironmentsArgsSchema, getEnvironmentsResponseSchema, getMetricAggregateArgsSchema, getMetricAggregateResponseSchema, getMetricBreakdownArgsSchema, getMetricBreakdownResponseSchema, getMetricLabelKeysArgsSchema, getMetricLabelKeysResponseSchema, getMetricLabelValuesArgsSchema, getMetricLabelValuesResponseSchema, getMetricNamesArgsSchema, getMetricNamesResponseSchema, getMetricPercentilesArgsSchema, getMetricPercentilesResponseSchema, getMetricTimeSeriesArgsSchema, getMetricTimeSeriesResponseSchema, getOrCreateSpan, getServiceNamesArgsSchema, getServiceNamesResponseSchema, getTagsArgsSchema, getTagsResponseSchema, listFeedbackArgsSchema, listFeedbackResponseSchema, listLogsArgsSchema, listLogsResponseSchema, listScoresArgsSchema, listScoresResponseSchema, logLevelSchema, logRecordInputSchema, logRecordSchema, logsFilterSchema, logsOrderByFieldSchema, logsOrderBySchema, metadataField, metricInputSchema, metricRecordSchema, metricTypeSchema, metricsAggregationSchema, metricsFilterSchema, 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, spanIdField, tagsField, threadIdField, traceIdField, updatedAtField, userIdField, wrapMastra };
811
+ //# sourceMappingURL=chunk-GVQJCS5O.js.map
812
+ //# sourceMappingURL=chunk-GVQJCS5O.js.map