@mastra/core 0.24.0 → 0.24.1-alpha.0

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 (132) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/index.cjs +13 -13
  4. package/dist/agent/index.js +2 -2
  5. package/dist/agent/input-processor/index.cjs +6 -6
  6. package/dist/agent/input-processor/index.js +1 -1
  7. package/dist/agent/message-list/index.d.ts.map +1 -1
  8. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -1
  9. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  10. package/dist/ai-tracing/index.cjs +36 -36
  11. package/dist/ai-tracing/index.js +1 -1
  12. package/dist/bundler/index.cjs +2 -2
  13. package/dist/bundler/index.d.ts +2 -0
  14. package/dist/bundler/index.d.ts.map +1 -1
  15. package/dist/bundler/index.js +1 -1
  16. package/dist/{chunk-MCASUJWY.cjs → chunk-5D6TMUAG.cjs} +6 -6
  17. package/dist/{chunk-MCASUJWY.cjs.map → chunk-5D6TMUAG.cjs.map} +1 -1
  18. package/dist/{chunk-KDX3ZMQ2.js → chunk-5X4TQR6K.js} +3 -3
  19. package/dist/{chunk-KDX3ZMQ2.js.map → chunk-5X4TQR6K.js.map} +1 -1
  20. package/dist/{chunk-253FBVD4.cjs → chunk-6OGG24PY.cjs} +46 -45
  21. package/dist/chunk-6OGG24PY.cjs.map +1 -0
  22. package/dist/chunk-AAYCOJUL.cjs +14 -0
  23. package/dist/{chunk-SSULK22X.cjs.map → chunk-AAYCOJUL.cjs.map} +1 -1
  24. package/dist/{chunk-7J3XX4AO.cjs → chunk-BCFLCIAX.cjs} +8 -8
  25. package/dist/{chunk-7J3XX4AO.cjs.map → chunk-BCFLCIAX.cjs.map} +1 -1
  26. package/dist/{chunk-BWGXM3D4.js → chunk-CESZ2AOS.js} +5 -5
  27. package/dist/{chunk-BWGXM3D4.js.map → chunk-CESZ2AOS.js.map} +1 -1
  28. package/dist/{chunk-ZMELUU72.js → chunk-CNMPROPI.js} +2 -2
  29. package/dist/chunk-CNMPROPI.js.map +1 -0
  30. package/dist/{chunk-E3PG7G6E.js → chunk-DNYWTNND.js} +39 -33
  31. package/dist/chunk-DNYWTNND.js.map +1 -0
  32. package/dist/{chunk-2B3VLGTH.js → chunk-EDVPIVAB.js} +3 -3
  33. package/dist/{chunk-2B3VLGTH.js.map → chunk-EDVPIVAB.js.map} +1 -1
  34. package/dist/{chunk-MJMID7LX.cjs → chunk-EJPCH5WB.cjs} +40 -34
  35. package/dist/chunk-EJPCH5WB.cjs.map +1 -0
  36. package/dist/{chunk-3VXXCPKX.js → chunk-HKT62GIP.js} +3 -3
  37. package/dist/{chunk-3VXXCPKX.js.map → chunk-HKT62GIP.js.map} +1 -1
  38. package/dist/{chunk-QFF5JUKT.cjs → chunk-HQDX7PWJ.cjs} +2 -2
  39. package/dist/chunk-HQDX7PWJ.cjs.map +1 -0
  40. package/dist/{chunk-FHVFGVIO.js → chunk-II37LKES.js} +4 -4
  41. package/dist/{chunk-FHVFGVIO.js.map → chunk-II37LKES.js.map} +1 -1
  42. package/dist/{chunk-LZUSZT7R.cjs → chunk-IJRERAWQ.cjs} +6 -3
  43. package/dist/chunk-IJRERAWQ.cjs.map +1 -0
  44. package/dist/{chunk-ROS5CMJS.cjs → chunk-KDNLQBCW.cjs} +11 -11
  45. package/dist/{chunk-ROS5CMJS.cjs.map → chunk-KDNLQBCW.cjs.map} +1 -1
  46. package/dist/{chunk-HEQTUMUA.cjs → chunk-LILCMG3L.cjs} +8 -8
  47. package/dist/{chunk-HEQTUMUA.cjs.map → chunk-LILCMG3L.cjs.map} +1 -1
  48. package/dist/{chunk-DTTOVV72.js → chunk-MBMPTC7F.js} +2 -2
  49. package/dist/{chunk-DTTOVV72.js.map → chunk-MBMPTC7F.js.map} +1 -1
  50. package/dist/{chunk-Z4RIRDU3.js → chunk-MXLKXD6Q.js} +4 -4
  51. package/dist/{chunk-Z4RIRDU3.js.map → chunk-MXLKXD6Q.js.map} +1 -1
  52. package/dist/{chunk-P35FNLTQ.cjs → chunk-O5PROZMW.cjs} +2 -2
  53. package/dist/{chunk-P35FNLTQ.cjs.map → chunk-O5PROZMW.cjs.map} +1 -1
  54. package/dist/{chunk-6C7VGVK4.js → chunk-Q7VW22SF.js} +5 -5
  55. package/dist/{chunk-6C7VGVK4.js.map → chunk-Q7VW22SF.js.map} +1 -1
  56. package/dist/{chunk-GB5BIA4V.js → chunk-SL7VKAQ3.js} +6 -3
  57. package/dist/chunk-SL7VKAQ3.js.map +1 -0
  58. package/dist/{chunk-77JHIM4E.cjs → chunk-TPYSVJ5T.cjs} +12 -12
  59. package/dist/{chunk-77JHIM4E.cjs.map → chunk-TPYSVJ5T.cjs.map} +1 -1
  60. package/dist/{chunk-ABZOBBLL.cjs → chunk-TVZB5572.cjs} +12 -12
  61. package/dist/{chunk-ABZOBBLL.cjs.map → chunk-TVZB5572.cjs.map} +1 -1
  62. package/dist/{chunk-C7OVZMPW.cjs → chunk-UBVIPDVD.cjs} +4 -4
  63. package/dist/{chunk-C7OVZMPW.cjs.map → chunk-UBVIPDVD.cjs.map} +1 -1
  64. package/dist/{chunk-NR77P3TK.js → chunk-V66IXQAJ.js} +3 -3
  65. package/dist/{chunk-NR77P3TK.js.map → chunk-V66IXQAJ.js.map} +1 -1
  66. package/dist/{chunk-UZKIGB7M.cjs → chunk-VBQZFQXS.cjs} +4 -4
  67. package/dist/{chunk-UZKIGB7M.cjs.map → chunk-VBQZFQXS.cjs.map} +1 -1
  68. package/dist/{chunk-KAEQISOW.js → chunk-Z3BWWT7E.js} +3 -3
  69. package/dist/{chunk-KAEQISOW.js.map → chunk-Z3BWWT7E.js.map} +1 -1
  70. package/dist/{chunk-LG5B3KIW.js → chunk-ZVAWVX5J.js} +11 -10
  71. package/dist/chunk-ZVAWVX5J.js.map +1 -0
  72. package/dist/deployer/index.cjs +2 -2
  73. package/dist/deployer/index.js +1 -1
  74. package/dist/index.cjs +51 -51
  75. package/dist/index.js +9 -9
  76. package/dist/llm/index.cjs +7 -7
  77. package/dist/llm/index.js +1 -1
  78. package/dist/llm/model/gateways/constants.d.ts.map +1 -1
  79. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  80. package/dist/loop/index.cjs +2 -2
  81. package/dist/loop/index.js +1 -1
  82. package/dist/loop/network/index.d.ts.map +1 -1
  83. package/dist/mastra/index.cjs +2 -2
  84. package/dist/mastra/index.js +1 -1
  85. package/dist/memory/index.cjs +4 -4
  86. package/dist/memory/index.js +1 -1
  87. package/dist/models-dev-BL5TAKE6.js +3 -0
  88. package/dist/{models-dev-4VGIWYS3.js.map → models-dev-BL5TAKE6.js.map} +1 -1
  89. package/dist/models-dev-HZ3LZHPX.cjs +12 -0
  90. package/dist/{models-dev-AXZASLL2.cjs.map → models-dev-HZ3LZHPX.cjs.map} +1 -1
  91. package/dist/processors/index.cjs +11 -11
  92. package/dist/processors/index.js +1 -1
  93. package/dist/relevance/index.cjs +4 -4
  94. package/dist/relevance/index.js +1 -1
  95. package/dist/scores/index.cjs +9 -9
  96. package/dist/scores/index.js +2 -2
  97. package/dist/scores/scoreTraces/index.cjs +8 -8
  98. package/dist/scores/scoreTraces/index.js +3 -3
  99. package/dist/server/index.cjs +2 -1
  100. package/dist/server/index.cjs.map +1 -1
  101. package/dist/server/index.d.ts +4 -0
  102. package/dist/server/index.d.ts.map +1 -1
  103. package/dist/server/index.js +2 -1
  104. package/dist/server/index.js.map +1 -1
  105. package/dist/storage/index.cjs +3 -3
  106. package/dist/storage/index.js +1 -1
  107. package/dist/stream/index.cjs +11 -11
  108. package/dist/stream/index.js +2 -2
  109. package/dist/test-utils/llm-mock.cjs +2 -2
  110. package/dist/test-utils/llm-mock.js +1 -1
  111. package/dist/tools/tool-builder/builder.d.ts +2 -70
  112. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  113. package/dist/utils.cjs +17 -17
  114. package/dist/utils.js +1 -1
  115. package/dist/workflows/evented/index.cjs +10 -10
  116. package/dist/workflows/evented/index.js +1 -1
  117. package/dist/workflows/index.cjs +14 -14
  118. package/dist/workflows/index.js +1 -1
  119. package/dist/workflows/legacy/index.cjs +22 -22
  120. package/dist/workflows/legacy/index.js +1 -1
  121. package/package.json +5 -4
  122. package/dist/chunk-253FBVD4.cjs.map +0 -1
  123. package/dist/chunk-E3PG7G6E.js.map +0 -1
  124. package/dist/chunk-GB5BIA4V.js.map +0 -1
  125. package/dist/chunk-LG5B3KIW.js.map +0 -1
  126. package/dist/chunk-LZUSZT7R.cjs.map +0 -1
  127. package/dist/chunk-MJMID7LX.cjs.map +0 -1
  128. package/dist/chunk-QFF5JUKT.cjs.map +0 -1
  129. package/dist/chunk-SSULK22X.cjs +0 -14
  130. package/dist/chunk-ZMELUU72.js.map +0 -1
  131. package/dist/models-dev-4VGIWYS3.js +0 -3
  132. package/dist/models-dev-AXZASLL2.cjs +0 -12
@@ -1,4 +1,4 @@
1
- import { Agent } from './chunk-LG5B3KIW.js';
1
+ import { Agent } from './chunk-ZVAWVX5J.js';
2
2
 
3
3
  // src/relevance/cohere/index.ts
4
4
  var CohereRelevanceScorer = class {
@@ -83,5 +83,5 @@ Always return just the number, no explanation.`,
83
83
  };
84
84
 
85
85
  export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt };
86
- //# sourceMappingURL=chunk-2B3VLGTH.js.map
87
- //# sourceMappingURL=chunk-2B3VLGTH.js.map
86
+ //# sourceMappingURL=chunk-EDVPIVAB.js.map
87
+ //# sourceMappingURL=chunk-EDVPIVAB.js.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":[],"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,EAA0B;AAClD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAI,KAAA,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,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,eAAe,MAAM,CAAA;AAC3D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-2B3VLGTH.js","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 { MastraModelConfig } 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: MastraModelConfig) {\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.generate(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generateLegacy(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":[],"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,EAA0B;AAClD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAI,KAAA,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,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,eAAe,MAAM,CAAA;AAC3D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-EDVPIVAB.js","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 { MastraModelConfig } 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: MastraModelConfig) {\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.generate(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generateLegacy(prompt);\n response = responseText.text;\n }\n return parseFloat(response);\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkP35FNLTQ_cjs = require('./chunk-P35FNLTQ.cjs');
3
+ var chunkO5PROZMW_cjs = require('./chunk-O5PROZMW.cjs');
4
4
  var chunk5NTO7S5I_cjs = require('./chunk-5NTO7S5I.cjs');
5
5
  var providerUtilsV5 = require('@ai-sdk/provider-utils-v5');
6
6
  var crypto = require('crypto');
@@ -613,7 +613,7 @@ function convertDataContentToBase64String(content) {
613
613
  var downloadFromUrl = async ({ url, downloadRetries }) => {
614
614
  const urlText = url.toString();
615
615
  try {
616
- const response = await chunkP35FNLTQ_cjs.fetchWithRetry(
616
+ const response = await chunkO5PROZMW_cjs.fetchWithRetry(
617
617
  urlText,
618
618
  {
619
619
  method: "GET"
@@ -661,18 +661,26 @@ async function downloadAssetsFromMessages({
661
661
  }
662
662
  }
663
663
  return { mediaType, data };
664
- }).filter((part) => part.data instanceof URL).map((part) => ({
665
- url: part.data,
666
- isUrlSupportedByModel: part.mediaType != null && providerUtilsV5.isUrlSupported({
667
- url: part.data.toString(),
668
- mediaType: part.mediaType,
669
- supportedUrls: supportedUrls ?? {}
670
- })
671
- }));
664
+ }).filter((part) => part.data instanceof URL).map((part) => {
665
+ return {
666
+ url: part.data,
667
+ isUrlSupportedByModel: part.mediaType != null && providerUtilsV5.isUrlSupported({
668
+ url: part.data.toString(),
669
+ mediaType: part.mediaType,
670
+ supportedUrls: supportedUrls ?? {}
671
+ })
672
+ };
673
+ });
672
674
  const downloadedFiles = await pMap(
673
675
  filesToDownload,
674
676
  async (fileItem) => {
675
- return downloadFromUrl({ url: fileItem.url, downloadRetries });
677
+ if (fileItem.isUrlSupportedByModel) {
678
+ return null;
679
+ }
680
+ return {
681
+ url: fileItem.url.toString(),
682
+ ...await downloadFromUrl({ url: fileItem.url, downloadRetries })
683
+ };
676
684
  },
677
685
  {
678
686
  concurrency: downloadConcurrency
@@ -680,7 +688,7 @@ async function downloadAssetsFromMessages({
680
688
  );
681
689
  const downloadFileList = downloadedFiles.filter(
682
690
  (downloadedFile) => downloadedFile?.data != null
683
- ).map(({ data, mediaType }, index) => [filesToDownload?.[index]?.url.toString(), { data, mediaType }]);
691
+ ).map(({ url, data, mediaType }) => [url, { data, mediaType }]);
684
692
  return Object.fromEntries(downloadFileList);
685
693
  }
686
694
 
@@ -1006,31 +1014,29 @@ var MessageList = class _MessageList {
1006
1014
  supportedUrls: options?.supportedUrls
1007
1015
  });
1008
1016
  let messages = [...systemMessages, ...modelMessages];
1009
- if (Object.keys(downloadedAssets || {}).length > 0) {
1010
- messages = messages.map((message) => {
1011
- if (message.role === "user") {
1012
- if (typeof message.content === "string") {
1013
- return {
1014
- role: "user",
1015
- content: [{ type: "text", text: message.content }],
1016
- providerOptions: message.providerOptions
1017
- };
1018
- }
1019
- const convertedContent = message.content.map((part) => {
1020
- if (part.type === "image" || part.type === "file") {
1021
- return convertImageFilePart(part, downloadedAssets);
1022
- }
1023
- return part;
1024
- }).filter((part) => part.type !== "text" || part.text !== "");
1017
+ messages = messages.map((message) => {
1018
+ if (message.role === "user") {
1019
+ if (typeof message.content === "string") {
1025
1020
  return {
1026
1021
  role: "user",
1027
- content: convertedContent,
1022
+ content: [{ type: "text", text: message.content }],
1028
1023
  providerOptions: message.providerOptions
1029
1024
  };
1030
1025
  }
1031
- return message;
1032
- });
1033
- }
1026
+ const convertedContent = message.content.map((part) => {
1027
+ if (part.type === "image" || part.type === "file") {
1028
+ return convertImageFilePart(part, downloadedAssets);
1029
+ }
1030
+ return part;
1031
+ }).filter((part) => part.type !== "text" || part.text !== "");
1032
+ return {
1033
+ role: "user",
1034
+ content: convertedContent,
1035
+ providerOptions: message.providerOptions
1036
+ };
1037
+ }
1038
+ return message;
1039
+ });
1034
1040
  messages = ensureGeminiCompatibleMessages(messages);
1035
1041
  return messages.map(_MessageList.aiV5ModelMessageToV2PromptMessage);
1036
1042
  }
@@ -3072,5 +3078,5 @@ exports.DefaultGeneratedFile = DefaultGeneratedFile;
3072
3078
  exports.DefaultGeneratedFileWithType = DefaultGeneratedFileWithType;
3073
3079
  exports.MessageList = MessageList;
3074
3080
  exports.convertMessages = convertMessages;
3075
- //# sourceMappingURL=chunk-MJMID7LX.cjs.map
3076
- //# sourceMappingURL=chunk-MJMID7LX.cjs.map
3081
+ //# sourceMappingURL=chunk-EJPCH5WB.cjs.map
3082
+ //# sourceMappingURL=chunk-EJPCH5WB.cjs.map