@mastra/core 0.15.3-alpha.2 → 0.15.3-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.
Files changed (201) hide show
  1. package/dist/agent/agent.types.d.ts +9 -4
  2. package/dist/agent/agent.types.d.ts.map +1 -1
  3. package/dist/agent/index.cjs +11 -11
  4. package/dist/agent/index.d.ts +33 -5
  5. package/dist/agent/index.d.ts.map +1 -1
  6. package/dist/agent/index.js +2 -2
  7. package/dist/agent/input-processor/index.cjs +6 -6
  8. package/dist/agent/input-processor/index.js +1 -1
  9. package/dist/agent/message-list/index.d.ts +5 -1
  10. package/dist/agent/message-list/index.d.ts.map +1 -1
  11. package/dist/agent/message-list/prompt/convert-file.d.ts +7 -0
  12. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -0
  13. package/dist/agent/message-list/prompt/download-assets.d.ts +15 -0
  14. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -0
  15. package/dist/agent/types.d.ts +11 -6
  16. package/dist/agent/types.d.ts.map +1 -1
  17. package/dist/ai-tracing/context.d.ts.map +1 -1
  18. package/dist/ai-tracing/default.d.ts.map +1 -1
  19. package/dist/ai-tracing/index.cjs +43 -31
  20. package/dist/ai-tracing/index.js +1 -1
  21. package/dist/ai-tracing/no-op.d.ts +0 -1
  22. package/dist/ai-tracing/no-op.d.ts.map +1 -1
  23. package/dist/ai-tracing/types.d.ts +0 -2
  24. package/dist/ai-tracing/types.d.ts.map +1 -1
  25. package/dist/ai-tracing/utils.d.ts +44 -8
  26. package/dist/ai-tracing/utils.d.ts.map +1 -1
  27. package/dist/{chunk-QA2TWVUS.cjs → chunk-5CJDO3UO.cjs} +292 -9
  28. package/dist/chunk-5CJDO3UO.cjs.map +1 -0
  29. package/dist/chunk-ABRPHTOG.cjs +108 -0
  30. package/dist/chunk-ABRPHTOG.cjs.map +1 -0
  31. package/dist/chunk-BJGHUKKM.js +103 -0
  32. package/dist/chunk-BJGHUKKM.js.map +1 -0
  33. package/dist/{chunk-BRNBKCHE.js → chunk-CKM2ESZF.js} +51 -26
  34. package/dist/chunk-CKM2ESZF.js.map +1 -0
  35. package/dist/{chunk-HHLPYCQG.cjs → chunk-DZADAEAF.cjs} +68 -22
  36. package/dist/chunk-DZADAEAF.cjs.map +1 -0
  37. package/dist/{chunk-VBAWR62U.cjs → chunk-F2CAC2R2.cjs} +54 -29
  38. package/dist/chunk-F2CAC2R2.cjs.map +1 -0
  39. package/dist/{chunk-C5C4PN54.js → chunk-F4SQXAXR.js} +292 -9
  40. package/dist/chunk-F4SQXAXR.js.map +1 -0
  41. package/dist/{chunk-UG3KS3XV.cjs → chunk-F6XWBVVG.cjs} +4 -4
  42. package/dist/{chunk-UG3KS3XV.cjs.map → chunk-F6XWBVVG.cjs.map} +1 -1
  43. package/dist/{chunk-WHEH32QU.cjs → chunk-FQRDHVZC.cjs} +4 -4
  44. package/dist/{chunk-WHEH32QU.cjs.map → chunk-FQRDHVZC.cjs.map} +1 -1
  45. package/dist/{chunk-4DKPMUAC.cjs → chunk-I7OAONIW.cjs} +259 -177
  46. package/dist/chunk-I7OAONIW.cjs.map +1 -0
  47. package/dist/{chunk-XOZ737RO.js → chunk-IODUKRQP.js} +3 -3
  48. package/dist/{chunk-XOZ737RO.js.map → chunk-IODUKRQP.js.map} +1 -1
  49. package/dist/{chunk-7OSUKFNG.cjs → chunk-KUNWELBC.cjs} +692 -507
  50. package/dist/chunk-KUNWELBC.cjs.map +1 -0
  51. package/dist/{chunk-WOTBMZCN.js → chunk-LOYT3WUA.js} +255 -176
  52. package/dist/chunk-LOYT3WUA.js.map +1 -0
  53. package/dist/{chunk-6VROHRAR.cjs → chunk-LVGGMWSE.cjs} +31 -8
  54. package/dist/chunk-LVGGMWSE.cjs.map +1 -0
  55. package/dist/{chunk-T64BA34G.js → chunk-OFPVAPUH.js} +4 -4
  56. package/dist/{chunk-T64BA34G.js.map → chunk-OFPVAPUH.js.map} +1 -1
  57. package/dist/{chunk-5NGEKEU7.js → chunk-P2IJ74UW.js} +661 -476
  58. package/dist/chunk-P2IJ74UW.js.map +1 -0
  59. package/dist/{chunk-QBNRMJAN.cjs → chunk-VVTB47UG.cjs} +6 -6
  60. package/dist/{chunk-QBNRMJAN.cjs.map → chunk-VVTB47UG.cjs.map} +1 -1
  61. package/dist/{chunk-HXYE4EJA.cjs → chunk-W5CF7DLB.cjs} +9 -9
  62. package/dist/{chunk-HXYE4EJA.cjs.map → chunk-W5CF7DLB.cjs.map} +1 -1
  63. package/dist/{chunk-FLXWZUIG.js → chunk-WWQ3QRPF.js} +27 -5
  64. package/dist/chunk-WWQ3QRPF.js.map +1 -0
  65. package/dist/{chunk-E3LAPNKY.js → chunk-XPFWOBV4.js} +4 -4
  66. package/dist/{chunk-E3LAPNKY.js.map → chunk-XPFWOBV4.js.map} +1 -1
  67. package/dist/{chunk-IYCG5OVT.js → chunk-YAWYQH3N.js} +3 -3
  68. package/dist/{chunk-IYCG5OVT.js.map → chunk-YAWYQH3N.js.map} +1 -1
  69. package/dist/{chunk-UT6KEZRF.js → chunk-YVIYEC6R.js} +62 -16
  70. package/dist/chunk-YVIYEC6R.js.map +1 -0
  71. package/dist/index.cjs +47 -43
  72. package/dist/index.js +10 -10
  73. package/dist/integration/index.cjs +3 -3
  74. package/dist/integration/index.js +1 -1
  75. package/dist/llm/index.d.ts +2 -2
  76. package/dist/llm/index.d.ts.map +1 -1
  77. package/dist/llm/model/base.types.d.ts +2 -2
  78. package/dist/llm/model/base.types.d.ts.map +1 -1
  79. package/dist/llm/model/model.d.ts +4 -4
  80. package/dist/llm/model/model.d.ts.map +1 -1
  81. package/dist/llm/model/model.loop.d.ts +1 -1
  82. package/dist/llm/model/model.loop.d.ts.map +1 -1
  83. package/dist/llm/model/model.loop.types.d.ts +2 -0
  84. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  85. package/dist/loop/index.cjs +2 -2
  86. package/dist/loop/index.js +1 -1
  87. package/dist/loop/loop.d.ts +1 -1
  88. package/dist/loop/loop.d.ts.map +1 -1
  89. package/dist/loop/types.d.ts +4 -0
  90. package/dist/loop/types.d.ts.map +1 -1
  91. package/dist/loop/workflow/llm-execution.d.ts +1 -1
  92. package/dist/loop/workflow/llm-execution.d.ts.map +1 -1
  93. package/dist/loop/workflow/stream.d.ts +1 -1
  94. package/dist/loop/workflow/stream.d.ts.map +1 -1
  95. package/dist/mastra/hooks.d.ts.map +1 -1
  96. package/dist/mastra/index.cjs +2 -2
  97. package/dist/mastra/index.d.ts +8 -3
  98. package/dist/mastra/index.d.ts.map +1 -1
  99. package/dist/mastra/index.js +1 -1
  100. package/dist/memory/index.cjs +4 -4
  101. package/dist/memory/index.js +1 -1
  102. package/dist/network/index.cjs +4 -4
  103. package/dist/network/index.js +2 -2
  104. package/dist/network/vNext/index.cjs +14 -14
  105. package/dist/network/vNext/index.js +2 -2
  106. package/dist/processors/index.cjs +13 -11
  107. package/dist/processors/index.cjs.map +1 -1
  108. package/dist/processors/index.d.ts +4 -0
  109. package/dist/processors/index.d.ts.map +1 -1
  110. package/dist/processors/index.js +7 -5
  111. package/dist/processors/index.js.map +1 -1
  112. package/dist/processors/processors/moderation.d.ts +4 -0
  113. package/dist/processors/processors/moderation.d.ts.map +1 -1
  114. package/dist/processors/processors/pii-detector.d.ts +3 -0
  115. package/dist/processors/processors/pii-detector.d.ts.map +1 -1
  116. package/dist/processors/processors/prompt-injection-detector.d.ts +2 -0
  117. package/dist/processors/processors/prompt-injection-detector.d.ts.map +1 -1
  118. package/dist/processors/processors/system-prompt-scrubber.d.ts +2 -0
  119. package/dist/processors/processors/system-prompt-scrubber.d.ts.map +1 -1
  120. package/dist/processors/runner.d.ts +5 -4
  121. package/dist/processors/runner.d.ts.map +1 -1
  122. package/dist/relevance/index.cjs +4 -4
  123. package/dist/relevance/index.js +1 -1
  124. package/dist/scores/base.d.ts +2 -0
  125. package/dist/scores/base.d.ts.map +1 -1
  126. package/dist/scores/hooks.d.ts +3 -1
  127. package/dist/scores/hooks.d.ts.map +1 -1
  128. package/dist/scores/index.cjs +27 -18
  129. package/dist/scores/index.cjs.map +1 -1
  130. package/dist/scores/index.js +23 -14
  131. package/dist/scores/index.js.map +1 -1
  132. package/dist/scores/run-experiment/index.d.ts +2 -0
  133. package/dist/scores/run-experiment/index.d.ts.map +1 -1
  134. package/dist/scores/types.d.ts +3 -0
  135. package/dist/scores/types.d.ts.map +1 -1
  136. package/dist/storage/index.cjs +3 -3
  137. package/dist/storage/index.js +1 -1
  138. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts +8 -0
  139. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts.map +1 -0
  140. package/dist/stream/aisdk/v5/compat/content.d.ts +7 -0
  141. package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -0
  142. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts +23 -0
  143. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts.map +1 -0
  144. package/dist/stream/aisdk/v5/compat/index.d.ts +8 -0
  145. package/dist/stream/aisdk/v5/compat/index.d.ts.map +1 -0
  146. package/dist/stream/aisdk/v5/compat/media.d.ts +91 -0
  147. package/dist/stream/aisdk/v5/compat/media.d.ts.map +1 -0
  148. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +11 -0
  149. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -0
  150. package/dist/stream/aisdk/v5/compat/ui-message.d.ts +20 -0
  151. package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -0
  152. package/dist/stream/aisdk/v5/compat/validation.d.ts +17 -0
  153. package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -0
  154. package/dist/stream/aisdk/v5/output.d.ts +1 -1
  155. package/dist/stream/base/output.d.ts +1 -1
  156. package/dist/stream/index.cjs +3 -3
  157. package/dist/stream/index.js +1 -1
  158. package/dist/test-utils/llm-mock.cjs +2 -2
  159. package/dist/test-utils/llm-mock.js +1 -1
  160. package/dist/tools/index.cjs +4 -4
  161. package/dist/tools/index.js +1 -1
  162. package/dist/tools/is-vercel-tool.cjs +2 -2
  163. package/dist/tools/is-vercel-tool.js +1 -1
  164. package/dist/tools/tool.d.ts +3 -1
  165. package/dist/tools/tool.d.ts.map +1 -1
  166. package/dist/tools/validation.d.ts.map +1 -1
  167. package/dist/utils.cjs +20 -16
  168. package/dist/utils.d.ts +12 -3
  169. package/dist/utils.d.ts.map +1 -1
  170. package/dist/utils.js +1 -1
  171. package/dist/workflows/default.d.ts +13 -3
  172. package/dist/workflows/default.d.ts.map +1 -1
  173. package/dist/workflows/evented/index.cjs +10 -10
  174. package/dist/workflows/evented/index.js +1 -1
  175. package/dist/workflows/execution-engine.d.ts +2 -2
  176. package/dist/workflows/execution-engine.d.ts.map +1 -1
  177. package/dist/workflows/index.cjs +10 -10
  178. package/dist/workflows/index.js +1 -1
  179. package/dist/workflows/legacy/index.cjs +22 -22
  180. package/dist/workflows/legacy/index.js +1 -1
  181. package/dist/workflows/workflow.d.ts +8 -8
  182. package/dist/workflows/workflow.d.ts.map +1 -1
  183. package/package.json +6 -6
  184. package/dist/chunk-4DKPMUAC.cjs.map +0 -1
  185. package/dist/chunk-5NGEKEU7.js.map +0 -1
  186. package/dist/chunk-6VROHRAR.cjs.map +0 -1
  187. package/dist/chunk-7OSUKFNG.cjs.map +0 -1
  188. package/dist/chunk-BRNBKCHE.js.map +0 -1
  189. package/dist/chunk-C5C4PN54.js.map +0 -1
  190. package/dist/chunk-E4XQMNEI.cjs +0 -77
  191. package/dist/chunk-E4XQMNEI.cjs.map +0 -1
  192. package/dist/chunk-FLXWZUIG.js.map +0 -1
  193. package/dist/chunk-HHLPYCQG.cjs.map +0 -1
  194. package/dist/chunk-IVGAHFAJ.js +0 -72
  195. package/dist/chunk-IVGAHFAJ.js.map +0 -1
  196. package/dist/chunk-QA2TWVUS.cjs.map +0 -1
  197. package/dist/chunk-UT6KEZRF.js.map +0 -1
  198. package/dist/chunk-VBAWR62U.cjs.map +0 -1
  199. package/dist/chunk-WOTBMZCN.js.map +0 -1
  200. package/dist/stream/aisdk/v5/compat.d.ts +0 -73
  201. package/dist/stream/aisdk/v5/compat.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/integration/integration.ts","../src/integration/openapi-toolset.ts"],"names":["createTool","z"],"mappings":"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","file":"chunk-UG3KS3XV.cjs","sourcesContent":["import type { ToolAction } from '../tools';\nimport type { Workflow } from '../workflows';\n\nexport class Integration<ToolsParams = void, ApiClient = void> {\n name: string = 'Integration';\n private workflows: Record<string, Workflow>;\n\n constructor() {\n this.workflows = {};\n }\n\n /**\n * Workflows\n */\n\n registerWorkflow(name: string, fn: Workflow) {\n if (this.workflows[name]) {\n throw new Error(`Sync function \"${name}\" already registered`);\n }\n this.workflows[name] = fn;\n }\n\n public getWorkflows({ serialized }: { serialized?: boolean }): Record<string, Workflow> {\n if (serialized) {\n return Object.entries(this.workflows).reduce((acc, [k, v]) => {\n return {\n ...acc,\n [k]: {\n name: v.name,\n },\n };\n }, {});\n }\n return this.workflows;\n }\n\n /**\n * TOOLS\n */\n getStaticTools(_params?: ToolsParams): Record<string, ToolAction<any, any, any>> {\n throw new Error('Method not implemented.');\n }\n\n async getTools(_params?: ToolsParams): Promise<Record<string, ToolAction<any, any, any>>> {\n throw new Error('Method not implemented.');\n }\n\n async getApiClient(): Promise<ApiClient> {\n throw new Error('Method not implemented');\n }\n}\n","import { z } from 'zod';\n\nimport { createTool } from '../tools';\nimport type { ToolAction } from '../tools';\n\nexport abstract class OpenAPIToolset {\n abstract readonly name: string;\n abstract readonly tools: Record<string, ToolAction<any, any, any>>;\n\n authType: string = 'API_KEY';\n\n constructor() {}\n\n protected get toolSchemas(): any {\n return {};\n }\n\n protected get toolDocumentations(): Record<string, { comment: string; doc?: string }> {\n return {};\n }\n\n protected get baseClient(): any {\n return {};\n }\n\n async getApiClient(): Promise<any> {\n throw new Error('API not implemented');\n }\n\n protected _generateIntegrationTools<T>() {\n const { client: _client, ...clientMethods } = this.baseClient;\n const schemas = this.toolSchemas;\n const documentations = this.toolDocumentations;\n\n const tools = Object.keys(clientMethods).reduce((acc, key) => {\n const comment = documentations[key]?.comment;\n // const doc = documentations[key]?.doc;\n const fallbackComment = `Execute ${key}`;\n\n const tool = createTool({\n id: key,\n inputSchema: schemas[key] || z.object({}),\n description: comment || fallbackComment,\n // documentation: doc || fallbackComment,\n execute: async ({ context }) => {\n const client = await this.getApiClient();\n const value = client[key as keyof typeof client];\n return (value as any)({\n ...(context as any),\n });\n },\n });\n\n return { ...acc, [key]: tool };\n }, {});\n\n return tools as T;\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/integration/integration.ts","../src/integration/openapi-toolset.ts"],"names":["createTool","z"],"mappings":"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","file":"chunk-F6XWBVVG.cjs","sourcesContent":["import type { ToolAction } from '../tools';\nimport type { Workflow } from '../workflows';\n\nexport class Integration<ToolsParams = void, ApiClient = void> {\n name: string = 'Integration';\n private workflows: Record<string, Workflow>;\n\n constructor() {\n this.workflows = {};\n }\n\n /**\n * Workflows\n */\n\n registerWorkflow(name: string, fn: Workflow) {\n if (this.workflows[name]) {\n throw new Error(`Sync function \"${name}\" already registered`);\n }\n this.workflows[name] = fn;\n }\n\n public getWorkflows({ serialized }: { serialized?: boolean }): Record<string, Workflow> {\n if (serialized) {\n return Object.entries(this.workflows).reduce((acc, [k, v]) => {\n return {\n ...acc,\n [k]: {\n name: v.name,\n },\n };\n }, {});\n }\n return this.workflows;\n }\n\n /**\n * TOOLS\n */\n getStaticTools(_params?: ToolsParams): Record<string, ToolAction<any, any, any>> {\n throw new Error('Method not implemented.');\n }\n\n async getTools(_params?: ToolsParams): Promise<Record<string, ToolAction<any, any, any>>> {\n throw new Error('Method not implemented.');\n }\n\n async getApiClient(): Promise<ApiClient> {\n throw new Error('Method not implemented');\n }\n}\n","import { z } from 'zod';\n\nimport { createTool } from '../tools';\nimport type { ToolAction } from '../tools';\n\nexport abstract class OpenAPIToolset {\n abstract readonly name: string;\n abstract readonly tools: Record<string, ToolAction<any, any, any>>;\n\n authType: string = 'API_KEY';\n\n constructor() {}\n\n protected get toolSchemas(): any {\n return {};\n }\n\n protected get toolDocumentations(): Record<string, { comment: string; doc?: string }> {\n return {};\n }\n\n protected get baseClient(): any {\n return {};\n }\n\n async getApiClient(): Promise<any> {\n throw new Error('API not implemented');\n }\n\n protected _generateIntegrationTools<T>() {\n const { client: _client, ...clientMethods } = this.baseClient;\n const schemas = this.toolSchemas;\n const documentations = this.toolDocumentations;\n\n const tools = Object.keys(clientMethods).reduce((acc, key) => {\n const comment = documentations[key]?.comment;\n // const doc = documentations[key]?.doc;\n const fallbackComment = `Execute ${key}`;\n\n const tool = createTool({\n id: key,\n inputSchema: schemas[key] || z.object({}),\n description: comment || fallbackComment,\n // documentation: doc || fallbackComment,\n execute: async ({ context }) => {\n const client = await this.getApiClient();\n const value = client[key as keyof typeof client];\n return (value as any)({\n ...(context as any),\n });\n },\n });\n\n return { ...acc, [key]: tool };\n }, {});\n\n return tools as T;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk7OSUKFNG_cjs = require('./chunk-7OSUKFNG.cjs');
3
+ var chunkKUNWELBC_cjs = require('./chunk-KUNWELBC.cjs');
4
4
 
5
5
  // src/relevance/cohere/index.ts
6
6
  var CohereRelevanceScorer = class {
@@ -54,7 +54,7 @@ Relevance score (0-1):`;
54
54
  var MastraAgentRelevanceScorer = class {
55
55
  agent;
56
56
  constructor(name, model) {
57
- this.agent = new chunk7OSUKFNG_cjs.Agent({
57
+ this.agent = new chunkKUNWELBC_cjs.Agent({
58
58
  name: `Relevance Scorer ${name}`,
59
59
  instructions: `You are a specialized agent for evaluating the relevance of text to queries.
60
60
  Your task is to rate how well a text passage answers a given query.
@@ -87,5 +87,5 @@ Always return just the number, no explanation.`,
87
87
  exports.CohereRelevanceScorer = CohereRelevanceScorer;
88
88
  exports.MastraAgentRelevanceScorer = MastraAgentRelevanceScorer;
89
89
  exports.createSimilarityPrompt = createSimilarityPrompt;
90
- //# sourceMappingURL=chunk-WHEH32QU.cjs.map
91
- //# sourceMappingURL=chunk-WHEH32QU.cjs.map
90
+ //# sourceMappingURL=chunk-FQRDHVZC.cjs.map
91
+ //# sourceMappingURL=chunk-FQRDHVZC.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/relevance/cohere/index.ts","../src/relevance/relevance-score-provider.ts","../src/relevance/mastra-agent/index.ts"],"names":["Agent"],"mappings":";;;;;AAoBO,IAAM,wBAAN,MAA8D;AAAA,EAC3D,KAAA;AAAA,EACA,MAAA;AAAA,EACR,WAAA,CAAY,OAAe,MAAA,EAAiB;AAC1C,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,EACf;AAAA,EACA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,gCAAA,CAAA,EAAoC;AAAA,MAC/D,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,aAAA,EAAe,CAAA,OAAA,EAAU,IAAA,CAAK,MAAM,CAAA;AAAA,OACtC;AAAA,MACA,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,QACnB,KAAA;AAAA,QACA,SAAA,EAAW,CAAC,IAAI,CAAA;AAAA,QAChB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,KACF,CAAA;AAED,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAA,CAAS,MAAM,IAAI,MAAM,QAAA,CAAS,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IACjF;AAEA,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA,EAAG,eAAA;AAExC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AACF;;;ACpDO,SAAS,sBAAA,CAAuB,OAAe,IAAA,EAAsB;AAC1E,EAAA,OAAO,CAAA;;AAAA,OAAA,EAEA,KAAK;;AAAA,MAAA,EAEN,IAAI;;AAAA,sBAAA,CAAA;AAGZ;;;ACRO,IAAM,6BAAN,MAAmE;AAAA,EAChE,KAAA;AAAA,EAER,WAAA,CAAY,MAAc,KAAA,EAA4B;AACpD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,uBAAA,CAAM;AAAA,MACrB,IAAA,EAAM,oBAAoB,IAAI,CAAA,CAAA;AAAA,MAC9B,YAAA,EAAc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CAAA,CAAA;AAAA,MAUd;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,MAAA,GAAS,sBAAA,CAAuB,KAAA,EAAO,IAAI,CAAA;AAEjD,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,KAAA,CAAM,QAAA,EAAS;AAExC,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,KAAA,CAAM,yBAAyB,IAAA,EAAM;AACvC,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,cAAc,MAAM,CAAA;AAC1D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-WHEH32QU.cjs","sourcesContent":["import type { RelevanceScoreProvider } from '../relevance-score-provider';\n\ninterface CohereRerankingResponse {\n results: Array<{\n index: number;\n relevance_score: number;\n }>;\n id: string;\n meta: {\n api_version: {\n version: string;\n is_experimental: boolean;\n };\n billed_units: {\n search_units: number;\n };\n };\n}\n\n/** @deprecated Import from `@mastra/rag` instead */\nexport class CohereRelevanceScorer implements RelevanceScoreProvider {\n private model: string;\n private apiKey?: string;\n constructor(model: string, apiKey?: string) {\n console.warn(\n 'CohereRelevanceScorer exported from @mastra/core is deprecated. Please import from \"@mastra/rag\" instead.',\n );\n this.apiKey = apiKey;\n this.model = model;\n }\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const response = await fetch(`https://api.cohere.com/v2/rerank`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n query,\n documents: [text],\n model: this.model,\n top_n: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Cohere API error: ${response.status} ${await response.text()}`);\n }\n\n const data = (await response.json()) as CohereRerankingResponse;\n const relevanceScore = data.results[0]?.relevance_score;\n\n if (!relevanceScore) {\n throw new Error('No relevance score found on Cohere response');\n }\n\n return relevanceScore;\n }\n}\n","// Provider interfaces\nexport interface RelevanceScoreProvider {\n getRelevanceScore(text1: string, text2: string): Promise<number>;\n}\n\n// Helper function used by providers\nexport function createSimilarityPrompt(query: string, text: string): string {\n return `Rate the semantic similarity between the following the query and the text on a scale from 0 to 1 (decimals allowed), where 1 means exactly the same meaning and 0 means completely different:\n\nQuery: ${query}\n\nText: ${text}\n\nRelevance score (0-1):`;\n}\n","import { Agent } from '../../agent';\nimport type { MastraLanguageModel } from '../../llm/model/shared.types';\nimport { createSimilarityPrompt } from '../relevance-score-provider';\nimport type { RelevanceScoreProvider } from '../relevance-score-provider';\n\n// Mastra Agent implementation\nexport class MastraAgentRelevanceScorer implements RelevanceScoreProvider {\n private agent: Agent;\n\n constructor(name: string, model: MastraLanguageModel) {\n this.agent = new Agent({\n name: `Relevance Scorer ${name}`,\n instructions: `You are a specialized agent for evaluating the relevance of text to queries.\nYour task is to rate how well a text passage answers a given query.\nOutput only a number between 0 and 1, where:\n1.0 = Perfectly relevant, directly answers the query\n0.0 = Completely irrelevant\nConsider:\n- Direct relevance to the question\n- Completeness of information\n- Quality and specificity\nAlways return just the number, no explanation.`,\n model,\n });\n }\n\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const prompt = createSimilarityPrompt(query, text);\n\n const model = await this.agent.getModel();\n\n let response: string;\n if (model.specificationVersion === 'v2') {\n const responseText = await this.agent.generateVNext(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generate(prompt);\n response = responseText.text;\n }\n return parseFloat(response);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/relevance/cohere/index.ts","../src/relevance/relevance-score-provider.ts","../src/relevance/mastra-agent/index.ts"],"names":["Agent"],"mappings":";;;;;AAoBO,IAAM,wBAAN,MAA8D;AAAA,EAC3D,KAAA;AAAA,EACA,MAAA;AAAA,EACR,WAAA,CAAY,OAAe,MAAA,EAAiB;AAC1C,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,EACf;AAAA,EACA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,gCAAA,CAAA,EAAoC;AAAA,MAC/D,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,aAAA,EAAe,CAAA,OAAA,EAAU,IAAA,CAAK,MAAM,CAAA;AAAA,OACtC;AAAA,MACA,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,QACnB,KAAA;AAAA,QACA,SAAA,EAAW,CAAC,IAAI,CAAA;AAAA,QAChB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,KACF,CAAA;AAED,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAA,CAAS,MAAM,IAAI,MAAM,QAAA,CAAS,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IACjF;AAEA,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA,EAAG,eAAA;AAExC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AACF;;;ACpDO,SAAS,sBAAA,CAAuB,OAAe,IAAA,EAAsB;AAC1E,EAAA,OAAO,CAAA;;AAAA,OAAA,EAEA,KAAK;;AAAA,MAAA,EAEN,IAAI;;AAAA,sBAAA,CAAA;AAGZ;;;ACRO,IAAM,6BAAN,MAAmE;AAAA,EAChE,KAAA;AAAA,EAER,WAAA,CAAY,MAAc,KAAA,EAA4B;AACpD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAIA,uBAAA,CAAM;AAAA,MACrB,IAAA,EAAM,oBAAoB,IAAI,CAAA,CAAA;AAAA,MAC9B,YAAA,EAAc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CAAA,CAAA;AAAA,MAUd;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,MAAA,GAAS,sBAAA,CAAuB,KAAA,EAAO,IAAI,CAAA;AAEjD,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,KAAA,CAAM,QAAA,EAAS;AAExC,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,KAAA,CAAM,yBAAyB,IAAA,EAAM;AACvC,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,cAAc,MAAM,CAAA;AAC1D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-FQRDHVZC.cjs","sourcesContent":["import type { RelevanceScoreProvider } from '../relevance-score-provider';\n\ninterface CohereRerankingResponse {\n results: Array<{\n index: number;\n relevance_score: number;\n }>;\n id: string;\n meta: {\n api_version: {\n version: string;\n is_experimental: boolean;\n };\n billed_units: {\n search_units: number;\n };\n };\n}\n\n/** @deprecated Import from `@mastra/rag` instead */\nexport class CohereRelevanceScorer implements RelevanceScoreProvider {\n private model: string;\n private apiKey?: string;\n constructor(model: string, apiKey?: string) {\n console.warn(\n 'CohereRelevanceScorer exported from @mastra/core is deprecated. Please import from \"@mastra/rag\" instead.',\n );\n this.apiKey = apiKey;\n this.model = model;\n }\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const response = await fetch(`https://api.cohere.com/v2/rerank`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n query,\n documents: [text],\n model: this.model,\n top_n: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Cohere API error: ${response.status} ${await response.text()}`);\n }\n\n const data = (await response.json()) as CohereRerankingResponse;\n const relevanceScore = data.results[0]?.relevance_score;\n\n if (!relevanceScore) {\n throw new Error('No relevance score found on Cohere response');\n }\n\n return relevanceScore;\n }\n}\n","// Provider interfaces\nexport interface RelevanceScoreProvider {\n getRelevanceScore(text1: string, text2: string): Promise<number>;\n}\n\n// Helper function used by providers\nexport function createSimilarityPrompt(query: string, text: string): string {\n return `Rate the semantic similarity between the following the query and the text on a scale from 0 to 1 (decimals allowed), where 1 means exactly the same meaning and 0 means completely different:\n\nQuery: ${query}\n\nText: ${text}\n\nRelevance score (0-1):`;\n}\n","import { Agent } from '../../agent';\nimport type { MastraLanguageModel } from '../../llm/model/shared.types';\nimport { createSimilarityPrompt } from '../relevance-score-provider';\nimport type { RelevanceScoreProvider } from '../relevance-score-provider';\n\n// Mastra Agent implementation\nexport class MastraAgentRelevanceScorer implements RelevanceScoreProvider {\n private agent: Agent;\n\n constructor(name: string, model: MastraLanguageModel) {\n this.agent = new Agent({\n name: `Relevance Scorer ${name}`,\n instructions: `You are a specialized agent for evaluating the relevance of text to queries.\nYour task is to rate how well a text passage answers a given query.\nOutput only a number between 0 and 1, where:\n1.0 = Perfectly relevant, directly answers the query\n0.0 = Completely irrelevant\nConsider:\n- Direct relevance to the question\n- Completeness of information\n- Quality and specificity\nAlways return just the number, no explanation.`,\n model,\n });\n }\n\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const prompt = createSimilarityPrompt(query, text);\n\n const model = await this.agent.getModel();\n\n let response: string;\n if (model.specificationVersion === 'v2') {\n const responseText = await this.agent.generateVNext(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generate(prompt);\n response = responseText.text;\n }\n return parseFloat(response);\n }\n}\n"]}
@@ -11,7 +11,6 @@ var NoOpAISpan = class _NoOpAISpan {
11
11
  type;
12
12
  attributes;
13
13
  parent;
14
- trace;
15
14
  traceId;
16
15
  startTime;
17
16
  endTime;
@@ -28,7 +27,6 @@ var NoOpAISpan = class _NoOpAISpan {
28
27
  this.attributes = options.attributes || {};
29
28
  this.metadata = options.metadata;
30
29
  this.parent = options.parent;
31
- this.trace = options.parent ? options.parent.trace : this;
32
30
  this.traceId = "no-op-trace";
33
31
  this.startTime = /* @__PURE__ */ new Date();
34
32
  this.aiTracing = aiTracing;
@@ -902,6 +900,232 @@ var DefaultExporter = class {
902
900
  }
903
901
  };
904
902
 
903
+ // src/ai-tracing/registry.ts
904
+ var AITracingRegistry = class {
905
+ instances = /* @__PURE__ */ new Map();
906
+ defaultInstance;
907
+ selector;
908
+ /**
909
+ * Register a tracing instance
910
+ */
911
+ register(name, instance, isDefault = false) {
912
+ if (this.instances.has(name)) {
913
+ throw new Error(`AI Tracing instance '${name}' already registered`);
914
+ }
915
+ this.instances.set(name, instance);
916
+ if (isDefault || !this.defaultInstance) {
917
+ this.defaultInstance = instance;
918
+ }
919
+ }
920
+ /**
921
+ * Get a tracing instance by name
922
+ */
923
+ get(name) {
924
+ return this.instances.get(name);
925
+ }
926
+ /**
927
+ * Get the default tracing instance
928
+ */
929
+ getDefault() {
930
+ return this.defaultInstance;
931
+ }
932
+ /**
933
+ * Set the tracing selector function
934
+ */
935
+ setSelector(selector) {
936
+ this.selector = selector;
937
+ }
938
+ /**
939
+ * Get the selected tracing instance based on context
940
+ */
941
+ getSelected(context) {
942
+ if (this.selector) {
943
+ const selected = this.selector(context, this.instances);
944
+ if (selected && this.instances.has(selected)) {
945
+ return this.instances.get(selected);
946
+ }
947
+ }
948
+ return this.defaultInstance;
949
+ }
950
+ /**
951
+ * Unregister a tracing instance
952
+ */
953
+ unregister(name) {
954
+ return this.instances.delete(name);
955
+ }
956
+ /**
957
+ * Shutdown all instances and clear the registry
958
+ */
959
+ async shutdown() {
960
+ const shutdownPromises = Array.from(this.instances.values()).map((instance) => instance.shutdown());
961
+ await Promise.allSettled(shutdownPromises);
962
+ this.instances.clear();
963
+ }
964
+ /**
965
+ * Clear all instances without shutdown
966
+ */
967
+ clear() {
968
+ this.instances.clear();
969
+ this.defaultInstance = void 0;
970
+ this.selector = void 0;
971
+ }
972
+ /**
973
+ * Get all registered instances
974
+ */
975
+ getAll() {
976
+ return new Map(this.instances);
977
+ }
978
+ };
979
+ var aiTracingRegistry = new AITracingRegistry();
980
+ function registerAITracing(name, instance, isDefault = false) {
981
+ aiTracingRegistry.register(name, instance, isDefault);
982
+ }
983
+ function getAITracing(name) {
984
+ return aiTracingRegistry.get(name);
985
+ }
986
+ function getDefaultAITracing() {
987
+ return aiTracingRegistry.getDefault();
988
+ }
989
+ function setAITracingSelector(selector) {
990
+ aiTracingRegistry.setSelector(selector);
991
+ }
992
+ function getSelectedAITracing(context) {
993
+ return aiTracingRegistry.getSelected(context);
994
+ }
995
+ function unregisterAITracing(name) {
996
+ return aiTracingRegistry.unregister(name);
997
+ }
998
+ async function shutdownAITracingRegistry() {
999
+ await aiTracingRegistry.shutdown();
1000
+ }
1001
+ function clearAITracingRegistry() {
1002
+ aiTracingRegistry.clear();
1003
+ }
1004
+ function getAllAITracing() {
1005
+ return aiTracingRegistry.getAll();
1006
+ }
1007
+ function hasAITracing(name) {
1008
+ const tracing = getAITracing(name);
1009
+ if (!tracing) return false;
1010
+ const config = tracing.getConfig();
1011
+ const sampling = config.sampling;
1012
+ return sampling.type !== "never" /* NEVER */;
1013
+ }
1014
+ function isAITracingInstance(obj) {
1015
+ return obj instanceof MastraAITracing;
1016
+ }
1017
+ function setupAITracing(config) {
1018
+ const entries = Object.entries(config.instances);
1019
+ entries.forEach(([name, tracingDef], index) => {
1020
+ const instance = isAITracingInstance(tracingDef) ? tracingDef : new DefaultAITracing({ ...tracingDef, instanceName: name });
1021
+ const isDefault = index === 0;
1022
+ registerAITracing(name, instance, isDefault);
1023
+ });
1024
+ if (config.selector) {
1025
+ setAITracingSelector(config.selector);
1026
+ }
1027
+ }
1028
+
1029
+ // src/ai-tracing/utils.ts
1030
+ function shallowCleanObject(obj) {
1031
+ const cleaned = {};
1032
+ for (const [key, value] of Object.entries(obj)) {
1033
+ try {
1034
+ JSON.stringify(value);
1035
+ cleaned[key] = value;
1036
+ } catch (error) {
1037
+ cleaned[key] = `[${error instanceof Error ? error.message : String(error)}]`;
1038
+ }
1039
+ }
1040
+ return cleaned;
1041
+ }
1042
+ function shallowCleanArray(arr) {
1043
+ return arr.map((item) => {
1044
+ if (item && typeof item === "object" && !Array.isArray(item)) {
1045
+ return shallowCleanObject(item);
1046
+ }
1047
+ try {
1048
+ JSON.stringify(item);
1049
+ return item;
1050
+ } catch (error) {
1051
+ return `[${error instanceof Error ? error.message : String(error)}]`;
1052
+ }
1053
+ });
1054
+ }
1055
+ function shallowClean(value) {
1056
+ if (value === null || value === void 0) {
1057
+ return value;
1058
+ }
1059
+ if (Array.isArray(value)) {
1060
+ return shallowCleanArray(value);
1061
+ }
1062
+ if (typeof value === "object") {
1063
+ return shallowCleanObject(value);
1064
+ }
1065
+ try {
1066
+ JSON.stringify(value);
1067
+ return value;
1068
+ } catch (error) {
1069
+ return `[${error instanceof Error ? error.message : String(error)}]`;
1070
+ }
1071
+ }
1072
+ function omitKeys(obj, keysToOmit) {
1073
+ return Object.fromEntries(Object.entries(obj).filter(([key]) => !keysToOmit.includes(key)));
1074
+ }
1075
+ function selectFields(obj, fields) {
1076
+ if (!obj || typeof obj !== "object") {
1077
+ return obj;
1078
+ }
1079
+ const result = {};
1080
+ for (const field of fields) {
1081
+ const value = getNestedValue(obj, field);
1082
+ if (value !== void 0) {
1083
+ setNestedValue(result, field, value);
1084
+ }
1085
+ }
1086
+ return result;
1087
+ }
1088
+ function getNestedValue(obj, path) {
1089
+ return path.split(".").reduce((current, key) => {
1090
+ return current && typeof current === "object" ? current[key] : void 0;
1091
+ }, obj);
1092
+ }
1093
+ function setNestedValue(obj, path, value) {
1094
+ const keys = path.split(".");
1095
+ const lastKey = keys.pop();
1096
+ if (!lastKey) {
1097
+ return;
1098
+ }
1099
+ const target = keys.reduce((current, key) => {
1100
+ if (!current[key] || typeof current[key] !== "object") {
1101
+ current[key] = {};
1102
+ }
1103
+ return current[key];
1104
+ }, obj);
1105
+ target[lastKey] = value;
1106
+ }
1107
+ function getOrCreateSpan(options) {
1108
+ const { type, attributes, tracingContext, runtimeContext, ...rest } = options;
1109
+ if (tracingContext?.currentSpan) {
1110
+ return tracingContext.currentSpan.createChildSpan({
1111
+ type,
1112
+ attributes,
1113
+ ...rest
1114
+ });
1115
+ }
1116
+ const aiTracing = getSelectedAITracing({
1117
+ runtimeContext
1118
+ });
1119
+ return aiTracing?.startSpan({
1120
+ type,
1121
+ attributes,
1122
+ startOptions: {
1123
+ runtimeContext
1124
+ },
1125
+ ...rest
1126
+ });
1127
+ }
1128
+
905
1129
  // src/ai-tracing/default.ts
906
1130
  function generateSpanId() {
907
1131
  const bytes = new Uint8Array(8);
@@ -931,7 +1155,6 @@ var DefaultAISpan = class {
931
1155
  type;
932
1156
  attributes;
933
1157
  parent;
934
- trace;
935
1158
  traceId;
936
1159
  startTime;
937
1160
  endTime;
@@ -946,13 +1169,12 @@ var DefaultAISpan = class {
946
1169
  this.id = generateSpanId();
947
1170
  this.name = options.name;
948
1171
  this.type = options.type;
949
- this.attributes = options.attributes || {};
950
- this.metadata = options.metadata;
1172
+ this.attributes = shallowClean(options.attributes) || {};
1173
+ this.metadata = shallowClean(options.metadata);
951
1174
  this.parent = options.parent;
952
- this.trace = options.parent ? options.parent.trace : this;
953
1175
  this.startTime = /* @__PURE__ */ new Date();
954
1176
  this.aiTracing = aiTracing;
955
- this.input = options.input;
1177
+ this.input = shallowClean(options.input);
956
1178
  this.isEvent = options.isEvent;
957
1179
  this.logger = new chunkV5WKCX3G_cjs.ConsoleLogger({
958
1180
  name: "default-ai-span",
@@ -962,10 +1184,10 @@ var DefaultAISpan = class {
962
1184
  if (!options.parent) {
963
1185
  this.traceId = generateTraceId();
964
1186
  } else {
965
- this.traceId = options.parent.trace.traceId;
1187
+ this.traceId = options.parent.traceId;
966
1188
  }
967
1189
  if (this.isEvent) {
968
- this.output = options.output;
1190
+ this.output = shallowClean(options.output);
969
1191
  }
970
1192
  }
971
1193
  end(options) {
@@ -975,13 +1197,13 @@ var DefaultAISpan = class {
975
1197
  }
976
1198
  this.endTime = /* @__PURE__ */ new Date();
977
1199
  if (options?.output !== void 0) {
978
- this.output = options.output;
1200
+ this.output = shallowClean(options.output);
979
1201
  }
980
1202
  if (options?.attributes) {
981
- this.attributes = { ...this.attributes, ...options.attributes };
1203
+ this.attributes = { ...this.attributes, ...shallowClean(options.attributes) };
982
1204
  }
983
1205
  if (options?.metadata) {
984
- this.metadata = { ...this.metadata, ...options.metadata };
1206
+ this.metadata = { ...this.metadata, ...shallowClean(options.metadata) };
985
1207
  }
986
1208
  }
987
1209
  error(options) {
@@ -1000,10 +1222,10 @@ var DefaultAISpan = class {
1000
1222
  message: error.message
1001
1223
  };
1002
1224
  if (attributes) {
1003
- this.attributes = { ...this.attributes, ...attributes };
1225
+ this.attributes = { ...this.attributes, ...shallowClean(attributes) };
1004
1226
  }
1005
1227
  if (metadata) {
1006
- this.metadata = { ...this.metadata, ...metadata };
1228
+ this.metadata = { ...this.metadata, ...shallowClean(metadata) };
1007
1229
  }
1008
1230
  if (endSpan) {
1009
1231
  this.end();
@@ -1031,16 +1253,16 @@ var DefaultAISpan = class {
1031
1253
  return;
1032
1254
  }
1033
1255
  if (options?.input !== void 0) {
1034
- this.input = options.input;
1256
+ this.input = shallowClean(options.input);
1035
1257
  }
1036
1258
  if (options?.output !== void 0) {
1037
- this.output = options.output;
1259
+ this.output = shallowClean(options.output);
1038
1260
  }
1039
1261
  if (options?.attributes) {
1040
- this.attributes = { ...this.attributes, ...options.attributes };
1262
+ this.attributes = { ...this.attributes, ...shallowClean(options.attributes) };
1041
1263
  }
1042
1264
  if (options?.metadata) {
1043
- this.metadata = { ...this.metadata, ...options.metadata };
1265
+ this.metadata = { ...this.metadata, ...shallowClean(options.metadata) };
1044
1266
  }
1045
1267
  }
1046
1268
  get isRootSpan() {
@@ -1141,155 +1363,6 @@ var DefaultAITracing = class extends MastraAITracing {
1141
1363
  }
1142
1364
  };
1143
1365
 
1144
- // src/ai-tracing/registry.ts
1145
- var AITracingRegistry = class {
1146
- instances = /* @__PURE__ */ new Map();
1147
- defaultInstance;
1148
- selector;
1149
- /**
1150
- * Register a tracing instance
1151
- */
1152
- register(name, instance, isDefault = false) {
1153
- if (this.instances.has(name)) {
1154
- throw new Error(`AI Tracing instance '${name}' already registered`);
1155
- }
1156
- this.instances.set(name, instance);
1157
- if (isDefault || !this.defaultInstance) {
1158
- this.defaultInstance = instance;
1159
- }
1160
- }
1161
- /**
1162
- * Get a tracing instance by name
1163
- */
1164
- get(name) {
1165
- return this.instances.get(name);
1166
- }
1167
- /**
1168
- * Get the default tracing instance
1169
- */
1170
- getDefault() {
1171
- return this.defaultInstance;
1172
- }
1173
- /**
1174
- * Set the tracing selector function
1175
- */
1176
- setSelector(selector) {
1177
- this.selector = selector;
1178
- }
1179
- /**
1180
- * Get the selected tracing instance based on context
1181
- */
1182
- getSelected(context) {
1183
- if (this.selector) {
1184
- const selected = this.selector(context, this.instances);
1185
- if (selected && this.instances.has(selected)) {
1186
- return this.instances.get(selected);
1187
- }
1188
- }
1189
- return this.defaultInstance;
1190
- }
1191
- /**
1192
- * Unregister a tracing instance
1193
- */
1194
- unregister(name) {
1195
- return this.instances.delete(name);
1196
- }
1197
- /**
1198
- * Shutdown all instances and clear the registry
1199
- */
1200
- async shutdown() {
1201
- const shutdownPromises = Array.from(this.instances.values()).map((instance) => instance.shutdown());
1202
- await Promise.allSettled(shutdownPromises);
1203
- this.instances.clear();
1204
- }
1205
- /**
1206
- * Clear all instances without shutdown
1207
- */
1208
- clear() {
1209
- this.instances.clear();
1210
- this.defaultInstance = void 0;
1211
- this.selector = void 0;
1212
- }
1213
- /**
1214
- * Get all registered instances
1215
- */
1216
- getAll() {
1217
- return new Map(this.instances);
1218
- }
1219
- };
1220
- var aiTracingRegistry = new AITracingRegistry();
1221
- function registerAITracing(name, instance, isDefault = false) {
1222
- aiTracingRegistry.register(name, instance, isDefault);
1223
- }
1224
- function getAITracing(name) {
1225
- return aiTracingRegistry.get(name);
1226
- }
1227
- function getDefaultAITracing() {
1228
- return aiTracingRegistry.getDefault();
1229
- }
1230
- function setAITracingSelector(selector) {
1231
- aiTracingRegistry.setSelector(selector);
1232
- }
1233
- function getSelectedAITracing(context) {
1234
- return aiTracingRegistry.getSelected(context);
1235
- }
1236
- function unregisterAITracing(name) {
1237
- return aiTracingRegistry.unregister(name);
1238
- }
1239
- async function shutdownAITracingRegistry() {
1240
- await aiTracingRegistry.shutdown();
1241
- }
1242
- function clearAITracingRegistry() {
1243
- aiTracingRegistry.clear();
1244
- }
1245
- function getAllAITracing() {
1246
- return aiTracingRegistry.getAll();
1247
- }
1248
- function hasAITracing(name) {
1249
- const tracing = getAITracing(name);
1250
- if (!tracing) return false;
1251
- const config = tracing.getConfig();
1252
- const sampling = config.sampling;
1253
- return sampling.type !== "never" /* NEVER */;
1254
- }
1255
- function isAITracingInstance(obj) {
1256
- return obj instanceof MastraAITracing;
1257
- }
1258
- function setupAITracing(config) {
1259
- const entries = Object.entries(config.instances);
1260
- entries.forEach(([name, tracingDef], index) => {
1261
- const instance = isAITracingInstance(tracingDef) ? tracingDef : new DefaultAITracing({ ...tracingDef, instanceName: name });
1262
- const isDefault = index === 0;
1263
- registerAITracing(name, instance, isDefault);
1264
- });
1265
- if (config.selector) {
1266
- setAITracingSelector(config.selector);
1267
- }
1268
- }
1269
-
1270
- // src/ai-tracing/utils.ts
1271
- function sanitizeMetadata(metadata) {
1272
- if (!metadata) return {};
1273
- const sanitized = {};
1274
- for (const [key, value] of Object.entries(metadata)) {
1275
- if (isSerializable(value)) {
1276
- sanitized[key] = value;
1277
- }
1278
- }
1279
- return sanitized;
1280
- }
1281
- function isSerializable(value) {
1282
- try {
1283
- JSON.stringify(value);
1284
- return true;
1285
- } catch {
1286
- return false;
1287
- }
1288
- }
1289
- function omitKeys(obj, keysToOmit) {
1290
- return Object.fromEntries(Object.entries(obj).filter(([key]) => !keysToOmit.includes(key)));
1291
- }
1292
-
1293
1366
  // src/ai-tracing/context.ts
1294
1367
  var AGENT_GETTERS = ["getAgent", "getAgentById"];
1295
1368
  var AGENT_METHODS_TO_WRAP = ["generate", "stream", "generateVNext", "streamVNext"];
@@ -1318,10 +1391,12 @@ function wrapMastra(mastra, tracingContext) {
1318
1391
  return wrapWorkflow(workflow, tracingContext);
1319
1392
  };
1320
1393
  }
1321
- return target[prop];
1394
+ const value = target[prop];
1395
+ return typeof value === "function" ? value.bind(target) : value;
1322
1396
  } catch (error) {
1323
1397
  console.warn("AI Tracing: Failed to wrap method, falling back to original", error);
1324
- return target[prop];
1398
+ const value = target[prop];
1399
+ return typeof value === "function" ? value.bind(target) : value;
1325
1400
  }
1326
1401
  }
1327
1402
  });
@@ -1346,10 +1421,12 @@ function wrapAgent(agent, tracingContext) {
1346
1421
  });
1347
1422
  };
1348
1423
  }
1349
- return target[prop];
1424
+ const value = target[prop];
1425
+ return typeof value === "function" ? value.bind(target) : value;
1350
1426
  } catch (error) {
1351
1427
  console.warn("AI Tracing: Failed to wrap agent method, falling back to original", error);
1352
- return target[prop];
1428
+ const value = target[prop];
1429
+ return typeof value === "function" ? value.bind(target) : value;
1353
1430
  }
1354
1431
  }
1355
1432
  });
@@ -1374,10 +1451,12 @@ function wrapWorkflow(workflow, tracingContext) {
1374
1451
  });
1375
1452
  };
1376
1453
  }
1377
- return target[prop];
1454
+ const value = target[prop];
1455
+ return typeof value === "function" ? value.bind(target) : value;
1378
1456
  } catch (error) {
1379
1457
  console.warn("AI Tracing: Failed to wrap workflow method, falling back to original", error);
1380
- return target[prop];
1458
+ const value = target[prop];
1459
+ return typeof value === "function" ? value.bind(target) : value;
1381
1460
  }
1382
1461
  }
1383
1462
  });
@@ -1400,18 +1479,21 @@ exports.clearAITracingRegistry = clearAITracingRegistry;
1400
1479
  exports.getAITracing = getAITracing;
1401
1480
  exports.getAllAITracing = getAllAITracing;
1402
1481
  exports.getDefaultAITracing = getDefaultAITracing;
1482
+ exports.getOrCreateSpan = getOrCreateSpan;
1403
1483
  exports.getSelectedAITracing = getSelectedAITracing;
1404
1484
  exports.hasAITracing = hasAITracing;
1405
- exports.isSerializable = isSerializable;
1406
1485
  exports.omitKeys = omitKeys;
1407
1486
  exports.registerAITracing = registerAITracing;
1408
- exports.sanitizeMetadata = sanitizeMetadata;
1487
+ exports.selectFields = selectFields;
1409
1488
  exports.setAITracingSelector = setAITracingSelector;
1410
1489
  exports.setupAITracing = setupAITracing;
1490
+ exports.shallowClean = shallowClean;
1491
+ exports.shallowCleanArray = shallowCleanArray;
1492
+ exports.shallowCleanObject = shallowCleanObject;
1411
1493
  exports.shutdownAITracingRegistry = shutdownAITracingRegistry;
1412
1494
  exports.unregisterAITracing = unregisterAITracing;
1413
1495
  exports.wrapAgent = wrapAgent;
1414
1496
  exports.wrapMastra = wrapMastra;
1415
1497
  exports.wrapWorkflow = wrapWorkflow;
1416
- //# sourceMappingURL=chunk-4DKPMUAC.cjs.map
1417
- //# sourceMappingURL=chunk-4DKPMUAC.cjs.map
1498
+ //# sourceMappingURL=chunk-I7OAONIW.cjs.map
1499
+ //# sourceMappingURL=chunk-I7OAONIW.cjs.map