@mastra/core 0.20.1-alpha.3 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/dist/agent/index.cjs +8 -8
  3. package/dist/agent/index.js +1 -1
  4. package/dist/agent/input-processor/index.cjs +6 -6
  5. package/dist/agent/input-processor/index.js +1 -1
  6. package/dist/{chunk-ORHWIEL7.js → chunk-3G3KM5GY.js} +3 -3
  7. package/dist/{chunk-ORHWIEL7.js.map → chunk-3G3KM5GY.js.map} +1 -1
  8. package/dist/{chunk-MZPBFDQN.cjs → chunk-537L2ZKI.cjs} +12 -12
  9. package/dist/{chunk-MZPBFDQN.cjs.map → chunk-537L2ZKI.cjs.map} +1 -1
  10. package/dist/{chunk-T2HSCNZ4.cjs → chunk-AAQ25UL6.cjs} +4 -4
  11. package/dist/{chunk-T2HSCNZ4.cjs.map → chunk-AAQ25UL6.cjs.map} +1 -1
  12. package/dist/{chunk-W2WXYTYI.js → chunk-BZ6BIHLE.js} +62 -69
  13. package/dist/chunk-BZ6BIHLE.js.map +1 -0
  14. package/dist/{chunk-RG64QIKK.cjs → chunk-HUTOTJIL.cjs} +4 -4
  15. package/dist/{chunk-RG64QIKK.cjs.map → chunk-HUTOTJIL.cjs.map} +1 -1
  16. package/dist/{chunk-UON6OUTG.js → chunk-KGGWEZIS.js} +3 -3
  17. package/dist/{chunk-UON6OUTG.js.map → chunk-KGGWEZIS.js.map} +1 -1
  18. package/dist/{chunk-AK6ILX75.js → chunk-LLLHNXPC.js} +3 -3
  19. package/dist/{chunk-AK6ILX75.js.map → chunk-LLLHNXPC.js.map} +1 -1
  20. package/dist/{chunk-6JWDQ6YF.cjs → chunk-Q5BV4K47.cjs} +7 -7
  21. package/dist/{chunk-6JWDQ6YF.cjs.map → chunk-Q5BV4K47.cjs.map} +1 -1
  22. package/dist/{chunk-BG5FC6ZZ.cjs → chunk-REVAU76X.cjs} +62 -69
  23. package/dist/chunk-REVAU76X.cjs.map +1 -0
  24. package/dist/{chunk-KFOF6R66.js → chunk-VF5ZNJ2Y.js} +3 -3
  25. package/dist/{chunk-KFOF6R66.js.map → chunk-VF5ZNJ2Y.js.map} +1 -1
  26. package/dist/{chunk-KCO5DRI6.cjs → chunk-VGZGW4SQ.cjs} +4 -4
  27. package/dist/{chunk-KCO5DRI6.cjs.map → chunk-VGZGW4SQ.cjs.map} +1 -1
  28. package/dist/{chunk-6VZ6OSRZ.js → chunk-VSN6ZW66.js} +3 -3
  29. package/dist/{chunk-6VZ6OSRZ.js.map → chunk-VSN6ZW66.js.map} +1 -1
  30. package/dist/index.cjs +24 -24
  31. package/dist/index.js +5 -5
  32. package/dist/llm/index.cjs +5 -5
  33. package/dist/llm/index.js +1 -1
  34. package/dist/llm/model/gateways/models-dev.d.ts.map +1 -1
  35. package/dist/llm/model/provider-registry.generated.d.ts +1 -1
  36. package/dist/llm/model/provider-registry.generated.d.ts.map +1 -1
  37. package/dist/loop/index.cjs +2 -2
  38. package/dist/loop/index.js +1 -1
  39. package/dist/mastra/index.cjs +2 -2
  40. package/dist/mastra/index.js +1 -1
  41. package/dist/processors/index.cjs +11 -11
  42. package/dist/processors/index.js +1 -1
  43. package/dist/relevance/index.cjs +4 -4
  44. package/dist/relevance/index.js +1 -1
  45. package/dist/scores/index.cjs +4 -4
  46. package/dist/scores/index.js +1 -1
  47. package/dist/scores/scoreTraces/index.cjs +3 -3
  48. package/dist/scores/scoreTraces/index.js +1 -1
  49. package/dist/stream/index.cjs +6 -6
  50. package/dist/stream/index.js +1 -1
  51. package/dist/workflows/evented/index.cjs +10 -10
  52. package/dist/workflows/evented/index.js +1 -1
  53. package/dist/workflows/index.cjs +12 -12
  54. package/dist/workflows/index.js +1 -1
  55. package/dist/workflows/legacy/index.cjs +22 -22
  56. package/dist/workflows/legacy/index.js +1 -1
  57. package/package.json +3 -3
  58. package/dist/chunk-BG5FC6ZZ.cjs.map +0 -1
  59. package/dist/chunk-W2WXYTYI.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkKCO5DRI6_cjs = require('./chunk-KCO5DRI6.cjs');
3
+ var chunkVGZGW4SQ_cjs = require('./chunk-VGZGW4SQ.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 chunkKCO5DRI6_cjs.Agent({
57
+ this.agent = new chunkVGZGW4SQ_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-T2HSCNZ4.cjs.map
91
- //# sourceMappingURL=chunk-T2HSCNZ4.cjs.map
90
+ //# sourceMappingURL=chunk-AAQ25UL6.cjs.map
91
+ //# sourceMappingURL=chunk-AAQ25UL6.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,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-T2HSCNZ4.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.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":["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,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-AAQ25UL6.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.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"]}
@@ -43,28 +43,25 @@ var EXCLUDED_PROVIDERS = ["github-copilot"];
43
43
  // src/llm/model/gateways/models-dev.ts
44
44
  var OPENAI_COMPATIBLE_OVERRIDES = {
45
45
  cerebras: {
46
- url: "https://api.cerebras.ai/v1/chat/completions"
47
- },
48
- xai: {
49
- url: "https://api.x.ai/v1/chat/completions"
46
+ url: "https://api.cerebras.ai/v1"
50
47
  },
51
48
  mistral: {
52
- url: "https://api.mistral.ai/v1/chat/completions"
49
+ url: "https://api.mistral.ai/v1"
53
50
  },
54
51
  groq: {
55
- url: "https://api.groq.com/openai/v1/chat/completions"
52
+ url: "https://api.groq.com/openai/v1"
56
53
  },
57
54
  togetherai: {
58
- url: "https://api.together.xyz/v1/chat/completions"
55
+ url: "https://api.together.xyz/v1"
59
56
  },
60
57
  deepinfra: {
61
- url: "https://api.deepinfra.com/v1/openai/chat/completions"
58
+ url: "https://api.deepinfra.com/v1/openai"
62
59
  },
63
60
  perplexity: {
64
- url: "https://api.perplexity.ai/chat/completions"
61
+ url: "https://api.perplexity.ai"
65
62
  },
66
63
  vercel: {
67
- url: "https://ai-gateway.vercel.sh/v1/chat/completions",
64
+ url: "https://ai-gateway.vercel.sh/v1",
68
65
  apiKeyEnvVar: "AI_GATEWAY_API_KEY"
69
66
  }
70
67
  };
@@ -95,10 +92,7 @@ var ModelsDevGateway = class extends MastraModelGateway {
95
92
  const hasApiAndEnv = providerInfo.api && providerInfo.env && providerInfo.env.length > 0;
96
93
  if (isOpenAICompatible || hasInstalledPackage || hasApiAndEnv) {
97
94
  const modelIds = Object.keys(providerInfo.models).sort();
98
- let url = providerInfo.api || OPENAI_COMPATIBLE_OVERRIDES[normalizedId]?.url;
99
- if (!hasInstalledPackage && url && !url.includes("/chat/completions") && !url.includes("/messages")) {
100
- url = url.replace(/\/$/, "") + "/chat/completions";
101
- }
95
+ const url = providerInfo.api || OPENAI_COMPATIBLE_OVERRIDES[normalizedId]?.url;
102
96
  if (!hasInstalledPackage && !url) {
103
97
  console.info(`Skipping ${normalizedId}: No API URL available`);
104
98
  continue;
@@ -350,7 +344,7 @@ function findGatewayForModel(gatewayId, gateways2) {
350
344
  // src/llm/model/provider-registry.generated.ts
351
345
  var PROVIDER_REGISTRY = {
352
346
  "moonshotai-cn": {
353
- url: "https://api.moonshot.cn/v1/chat/completions",
347
+ url: "https://api.moonshot.cn/v1",
354
348
  apiKeyEnvVar: "MOONSHOT_API_KEY",
355
349
  apiKeyHeader: "Authorization",
356
350
  name: "Moonshot AI (China)",
@@ -359,7 +353,7 @@ var PROVIDER_REGISTRY = {
359
353
  gateway: "models.dev"
360
354
  },
361
355
  lucidquery: {
362
- url: "https://lucidquery.com/api/v1/chat/completions",
356
+ url: "https://lucidquery.com/api/v1",
363
357
  apiKeyEnvVar: "LUCIDQUERY_API_KEY",
364
358
  apiKeyHeader: "Authorization",
365
359
  name: "LucidQuery AI",
@@ -368,7 +362,7 @@ var PROVIDER_REGISTRY = {
368
362
  gateway: "models.dev"
369
363
  },
370
364
  moonshotai: {
371
- url: "https://api.moonshot.ai/v1/chat/completions",
365
+ url: "https://api.moonshot.ai/v1",
372
366
  apiKeyEnvVar: "MOONSHOT_API_KEY",
373
367
  apiKeyHeader: "Authorization",
374
368
  name: "Moonshot AI",
@@ -377,7 +371,7 @@ var PROVIDER_REGISTRY = {
377
371
  gateway: "models.dev"
378
372
  },
379
373
  "zai-coding-plan": {
380
- url: "https://api.z.ai/api/coding/paas/v4/chat/completions",
374
+ url: "https://api.z.ai/api/coding/paas/v4",
381
375
  apiKeyEnvVar: "ZHIPU_API_KEY",
382
376
  apiKeyHeader: "Authorization",
383
377
  name: "Z.AI Coding Plan",
@@ -386,7 +380,7 @@ var PROVIDER_REGISTRY = {
386
380
  gateway: "models.dev"
387
381
  },
388
382
  alibaba: {
389
- url: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",
383
+ url: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
390
384
  apiKeyEnvVar: "DASHSCOPE_API_KEY",
391
385
  apiKeyHeader: "Authorization",
392
386
  name: "Alibaba",
@@ -395,7 +389,6 @@ var PROVIDER_REGISTRY = {
395
389
  gateway: "models.dev"
396
390
  },
397
391
  xai: {
398
- url: "https://api.x.ai/v1/chat/completions",
399
392
  apiKeyEnvVar: "XAI_API_KEY",
400
393
  name: "xAI",
401
394
  models: [
@@ -424,7 +417,7 @@ var PROVIDER_REGISTRY = {
424
417
  gateway: "models.dev"
425
418
  },
426
419
  nvidia: {
427
- url: "https://integrate.api.nvidia.com/v1/chat/completions",
420
+ url: "https://integrate.api.nvidia.com/v1",
428
421
  apiKeyEnvVar: "NVIDIA_API_KEY",
429
422
  apiKeyHeader: "Authorization",
430
423
  name: "Nvidia",
@@ -447,7 +440,7 @@ var PROVIDER_REGISTRY = {
447
440
  gateway: "models.dev"
448
441
  },
449
442
  upstage: {
450
- url: "https://api.upstage.ai/chat/completions",
443
+ url: "https://api.upstage.ai",
451
444
  apiKeyEnvVar: "UPSTAGE_API_KEY",
452
445
  apiKeyHeader: "Authorization",
453
446
  name: "Upstage",
@@ -456,7 +449,7 @@ var PROVIDER_REGISTRY = {
456
449
  gateway: "models.dev"
457
450
  },
458
451
  groq: {
459
- url: "https://api.groq.com/openai/v1/chat/completions",
452
+ url: "https://api.groq.com/openai/v1",
460
453
  apiKeyEnvVar: "GROQ_API_KEY",
461
454
  apiKeyHeader: "Authorization",
462
455
  name: "Groq",
@@ -483,7 +476,7 @@ var PROVIDER_REGISTRY = {
483
476
  gateway: "models.dev"
484
477
  },
485
478
  mistral: {
486
- url: "https://api.mistral.ai/v1/chat/completions",
479
+ url: "https://api.mistral.ai/v1",
487
480
  apiKeyEnvVar: "MISTRAL_API_KEY",
488
481
  apiKeyHeader: "Authorization",
489
482
  name: "Mistral",
@@ -512,7 +505,7 @@ var PROVIDER_REGISTRY = {
512
505
  gateway: "models.dev"
513
506
  },
514
507
  vercel: {
515
- url: "https://ai-gateway.vercel.sh/v1/chat/completions",
508
+ url: "https://ai-gateway.vercel.sh/v1",
516
509
  apiKeyEnvVar: "AI_GATEWAY_API_KEY",
517
510
  apiKeyHeader: "Authorization",
518
511
  name: "Vercel AI Gateway",
@@ -585,7 +578,7 @@ var PROVIDER_REGISTRY = {
585
578
  gateway: "models.dev"
586
579
  },
587
580
  deepseek: {
588
- url: "https://api.deepseek.com/chat/completions",
581
+ url: "https://api.deepseek.com",
589
582
  apiKeyEnvVar: "DEEPSEEK_API_KEY",
590
583
  apiKeyHeader: "Authorization",
591
584
  name: "DeepSeek",
@@ -594,7 +587,7 @@ var PROVIDER_REGISTRY = {
594
587
  gateway: "models.dev"
595
588
  },
596
589
  "alibaba-cn": {
597
- url: "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
590
+ url: "https://dashscope.aliyuncs.com/compatible-mode/v1",
598
591
  apiKeyEnvVar: "DASHSCOPE_API_KEY",
599
592
  apiKeyHeader: "Authorization",
600
593
  name: "Alibaba (China)",
@@ -603,7 +596,7 @@ var PROVIDER_REGISTRY = {
603
596
  gateway: "models.dev"
604
597
  },
605
598
  venice: {
606
- url: "https://api.venice.ai/api/v1/chat/completions",
599
+ url: "https://api.venice.ai/api/v1",
607
600
  apiKeyEnvVar: "VENICE_API_KEY",
608
601
  apiKeyHeader: "Authorization",
609
602
  name: "Venice AI",
@@ -626,7 +619,7 @@ var PROVIDER_REGISTRY = {
626
619
  gateway: "models.dev"
627
620
  },
628
621
  chutes: {
629
- url: "https://llm.chutes.ai/v1/chat/completions",
622
+ url: "https://llm.chutes.ai/v1",
630
623
  apiKeyEnvVar: "CHUTES_API_KEY",
631
624
  apiKeyHeader: "Authorization",
632
625
  name: "Chutes",
@@ -667,7 +660,7 @@ var PROVIDER_REGISTRY = {
667
660
  gateway: "models.dev"
668
661
  },
669
662
  cortecs: {
670
- url: "https://api.cortecs.ai/v1/chat/completions",
663
+ url: "https://api.cortecs.ai/v1",
671
664
  apiKeyEnvVar: "CORTECS_API_KEY",
672
665
  apiKeyHeader: "Authorization",
673
666
  name: "Cortecs",
@@ -687,7 +680,7 @@ var PROVIDER_REGISTRY = {
687
680
  gateway: "models.dev"
688
681
  },
689
682
  "github-models": {
690
- url: "https://models.github.ai/inference/chat/completions",
683
+ url: "https://models.github.ai/inference",
691
684
  apiKeyEnvVar: "GITHUB_TOKEN",
692
685
  apiKeyHeader: "Authorization",
693
686
  name: "GitHub Models",
@@ -752,7 +745,7 @@ var PROVIDER_REGISTRY = {
752
745
  gateway: "models.dev"
753
746
  },
754
747
  togetherai: {
755
- url: "https://api.together.xyz/v1/chat/completions",
748
+ url: "https://api.together.xyz/v1",
756
749
  apiKeyEnvVar: "TOGETHER_API_KEY",
757
750
  apiKeyHeader: "Authorization",
758
751
  name: "Together AI",
@@ -768,7 +761,7 @@ var PROVIDER_REGISTRY = {
768
761
  gateway: "models.dev"
769
762
  },
770
763
  baseten: {
771
- url: "https://inference.baseten.co/v1/chat/completions",
764
+ url: "https://inference.baseten.co/v1",
772
765
  apiKeyEnvVar: "BASETEN_API_KEY",
773
766
  apiKeyHeader: "Authorization",
774
767
  name: "Baseten",
@@ -777,7 +770,7 @@ var PROVIDER_REGISTRY = {
777
770
  gateway: "models.dev"
778
771
  },
779
772
  huggingface: {
780
- url: "https://router.huggingface.co/v1/chat/completions",
773
+ url: "https://router.huggingface.co/v1",
781
774
  apiKeyEnvVar: "HF_TOKEN",
782
775
  apiKeyHeader: "Authorization",
783
776
  name: "Hugging Face",
@@ -798,7 +791,7 @@ var PROVIDER_REGISTRY = {
798
791
  gateway: "models.dev"
799
792
  },
800
793
  opencode: {
801
- url: "https://opencode.ai/zen/v1/chat/completions",
794
+ url: "https://opencode.ai/zen/v1",
802
795
  apiKeyEnvVar: "OPENCODE_API_KEY",
803
796
  apiKeyHeader: "Authorization",
804
797
  name: "OpenCode Zen",
@@ -820,7 +813,7 @@ var PROVIDER_REGISTRY = {
820
813
  gateway: "models.dev"
821
814
  },
822
815
  fastrouter: {
823
- url: "https://go.fastrouter.ai/api/v1/chat/completions",
816
+ url: "https://go.fastrouter.ai/api/v1",
824
817
  apiKeyEnvVar: "FASTROUTER_API_KEY",
825
818
  apiKeyHeader: "Authorization",
826
819
  name: "FastRouter",
@@ -870,7 +863,7 @@ var PROVIDER_REGISTRY = {
870
863
  gateway: "models.dev"
871
864
  },
872
865
  inception: {
873
- url: "https://api.inceptionlabs.ai/v1/chat/completions",
866
+ url: "https://api.inceptionlabs.ai/v1/",
874
867
  apiKeyEnvVar: "INCEPTION_API_KEY",
875
868
  apiKeyHeader: "Authorization",
876
869
  name: "Inception",
@@ -879,7 +872,7 @@ var PROVIDER_REGISTRY = {
879
872
  gateway: "models.dev"
880
873
  },
881
874
  wandb: {
882
- url: "https://api.inference.wandb.ai/v1/chat/completions",
875
+ url: "https://api.inference.wandb.ai/v1",
883
876
  apiKeyEnvVar: "WANDB_API_KEY",
884
877
  apiKeyHeader: "Authorization",
885
878
  name: "Weights & Biases",
@@ -934,7 +927,7 @@ var PROVIDER_REGISTRY = {
934
927
  gateway: "models.dev"
935
928
  },
936
929
  "zhipuai-coding-plan": {
937
- url: "https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",
930
+ url: "https://open.bigmodel.cn/api/coding/paas/v4",
938
931
  apiKeyEnvVar: "ZHIPU_API_KEY",
939
932
  apiKeyHeader: "Authorization",
940
933
  name: "Zhipu AI Coding Plan",
@@ -943,7 +936,7 @@ var PROVIDER_REGISTRY = {
943
936
  gateway: "models.dev"
944
937
  },
945
938
  perplexity: {
946
- url: "https://api.perplexity.ai/chat/completions",
939
+ url: "https://api.perplexity.ai",
947
940
  apiKeyEnvVar: "PERPLEXITY_API_KEY",
948
941
  apiKeyHeader: "Authorization",
949
942
  name: "Perplexity",
@@ -1064,7 +1057,7 @@ var PROVIDER_REGISTRY = {
1064
1057
  gateway: "models.dev"
1065
1058
  },
1066
1059
  synthetic: {
1067
- url: "https://api.synthetic.new/v1/chat/completions",
1060
+ url: "https://api.synthetic.new/v1",
1068
1061
  apiKeyEnvVar: "SYNTHETIC_API_KEY",
1069
1062
  apiKeyHeader: "Authorization",
1070
1063
  name: "Synthetic",
@@ -1095,7 +1088,7 @@ var PROVIDER_REGISTRY = {
1095
1088
  gateway: "models.dev"
1096
1089
  },
1097
1090
  deepinfra: {
1098
- url: "https://api.deepinfra.com/v1/openai/chat/completions",
1091
+ url: "https://api.deepinfra.com/v1/openai",
1099
1092
  apiKeyEnvVar: "DEEPINFRA_API_KEY",
1100
1093
  apiKeyHeader: "Authorization",
1101
1094
  name: "Deep Infra",
@@ -1109,7 +1102,7 @@ var PROVIDER_REGISTRY = {
1109
1102
  gateway: "models.dev"
1110
1103
  },
1111
1104
  zhipuai: {
1112
- url: "https://open.bigmodel.cn/api/paas/v4/chat/completions",
1105
+ url: "https://open.bigmodel.cn/api/paas/v4",
1113
1106
  apiKeyEnvVar: "ZHIPU_API_KEY",
1114
1107
  apiKeyHeader: "Authorization",
1115
1108
  name: "Zhipu AI",
@@ -1118,7 +1111,7 @@ var PROVIDER_REGISTRY = {
1118
1111
  gateway: "models.dev"
1119
1112
  },
1120
1113
  submodel: {
1121
- url: "https://llm.submodel.ai/v1/chat/completions",
1114
+ url: "https://llm.submodel.ai/v1",
1122
1115
  apiKeyEnvVar: "SUBMODEL_INSTAGEN_ACCESS_KEY",
1123
1116
  apiKeyHeader: "Authorization",
1124
1117
  name: "submodel",
@@ -1137,7 +1130,7 @@ var PROVIDER_REGISTRY = {
1137
1130
  gateway: "models.dev"
1138
1131
  },
1139
1132
  zai: {
1140
- url: "https://api.z.ai/api/paas/v4/chat/completions",
1133
+ url: "https://api.z.ai/api/paas/v4",
1141
1134
  apiKeyEnvVar: "ZHIPU_API_KEY",
1142
1135
  apiKeyHeader: "Authorization",
1143
1136
  name: "Z.AI",
@@ -1146,7 +1139,7 @@ var PROVIDER_REGISTRY = {
1146
1139
  gateway: "models.dev"
1147
1140
  },
1148
1141
  inference: {
1149
- url: "https://inference.net/v1/chat/completions",
1142
+ url: "https://inference.net/v1",
1150
1143
  apiKeyEnvVar: "INFERENCE_API_KEY",
1151
1144
  apiKeyHeader: "Authorization",
1152
1145
  name: "Inference",
@@ -1165,7 +1158,7 @@ var PROVIDER_REGISTRY = {
1165
1158
  gateway: "models.dev"
1166
1159
  },
1167
1160
  requesty: {
1168
- url: "https://router.requesty.ai/v1/chat/completions",
1161
+ url: "https://router.requesty.ai/v1",
1169
1162
  apiKeyEnvVar: "REQUESTY_API_KEY",
1170
1163
  apiKeyHeader: "Authorization",
1171
1164
  name: "Requesty",
@@ -1188,7 +1181,7 @@ var PROVIDER_REGISTRY = {
1188
1181
  gateway: "models.dev"
1189
1182
  },
1190
1183
  morph: {
1191
- url: "https://api.morphllm.com/v1/chat/completions",
1184
+ url: "https://api.morphllm.com/v1",
1192
1185
  apiKeyEnvVar: "MORPH_API_KEY",
1193
1186
  apiKeyHeader: "Authorization",
1194
1187
  name: "Morph",
@@ -1197,7 +1190,7 @@ var PROVIDER_REGISTRY = {
1197
1190
  gateway: "models.dev"
1198
1191
  },
1199
1192
  lmstudio: {
1200
- url: "http://127.0.0.1:1234/v1/chat/completions",
1193
+ url: "http://127.0.0.1:1234/v1",
1201
1194
  apiKeyEnvVar: "LMSTUDIO_API_KEY",
1202
1195
  apiKeyHeader: "Authorization",
1203
1196
  name: "LMStudio",
@@ -1225,7 +1218,7 @@ var PROVIDER_REGISTRY = {
1225
1218
  gateway: "models.dev"
1226
1219
  },
1227
1220
  "fireworks-ai": {
1228
- url: "https://api.fireworks.ai/inference/v1/chat/completions",
1221
+ url: "https://api.fireworks.ai/inference/v1/",
1229
1222
  apiKeyEnvVar: "FIREWORKS_API_KEY",
1230
1223
  apiKeyHeader: "Authorization",
1231
1224
  name: "Fireworks AI",
@@ -1245,7 +1238,7 @@ var PROVIDER_REGISTRY = {
1245
1238
  gateway: "models.dev"
1246
1239
  },
1247
1240
  modelscope: {
1248
- url: "https://api-inference.modelscope.cn/v1/chat/completions",
1241
+ url: "https://api-inference.modelscope.cn/v1",
1249
1242
  apiKeyEnvVar: "MODELSCOPE_API_KEY",
1250
1243
  apiKeyHeader: "Authorization",
1251
1244
  name: "ModelScope",
@@ -1262,7 +1255,7 @@ var PROVIDER_REGISTRY = {
1262
1255
  gateway: "models.dev"
1263
1256
  },
1264
1257
  llama: {
1265
- url: "https://api.llama.com/compat/v1/chat/completions",
1258
+ url: "https://api.llama.com/compat/v1/",
1266
1259
  apiKeyEnvVar: "LLAMA_API_KEY",
1267
1260
  apiKeyHeader: "Authorization",
1268
1261
  name: "Llama",
@@ -1279,7 +1272,7 @@ var PROVIDER_REGISTRY = {
1279
1272
  gateway: "models.dev"
1280
1273
  },
1281
1274
  cerebras: {
1282
- url: "https://api.cerebras.ai/v1/chat/completions",
1275
+ url: "https://api.cerebras.ai/v1",
1283
1276
  apiKeyEnvVar: "CEREBRAS_API_KEY",
1284
1277
  apiKeyHeader: "Authorization",
1285
1278
  name: "Cerebras",
@@ -1294,38 +1287,38 @@ var PROVIDER_REGISTRY = {
1294
1287
  gateway: "netlify",
1295
1288
  models: [
1296
1289
  "anthropic/claude-opus-4-20250514",
1297
- "anthropic/claude-sonnet-4-5-20250929",
1298
- "anthropic/claude-sonnet-4-20250514",
1299
1290
  "anthropic/claude-3-7-sonnet-20250219",
1300
1291
  "anthropic/claude-3-7-sonnet-latest",
1301
- "anthropic/claude-3-5-haiku-20241022",
1302
- "anthropic/claude-3-5-haiku-latest",
1303
1292
  "anthropic/claude-3-haiku-20240307",
1304
1293
  "anthropic/claude-opus-4-1-20250805",
1294
+ "anthropic/claude-sonnet-4-5-20250929",
1295
+ "anthropic/claude-sonnet-4-20250514",
1296
+ "anthropic/claude-3-5-haiku-20241022",
1297
+ "anthropic/claude-3-5-haiku-latest",
1298
+ "gemini/gemini-2.0-flash-lite",
1299
+ "gemini/gemini-2.5-flash-image-preview",
1305
1300
  "gemini/gemini-2.5-pro",
1306
1301
  "gemini/gemini-flash-latest",
1302
+ "gemini/gemini-2.5-flash-preview-09-2025",
1303
+ "gemini/gemini-flash-lite-latest",
1307
1304
  "gemini/gemini-2.5-flash",
1308
1305
  "gemini/gemini-2.5-flash-lite-preview-09-2025",
1309
1306
  "gemini/gemini-2.5-flash-lite",
1310
- "gemini/gemini-2.5-flash-preview-09-2025",
1311
- "gemini/gemini-flash-lite-latest",
1312
1307
  "gemini/gemini-2.0-flash",
1313
- "gemini/gemini-2.0-flash-lite",
1314
- "gemini/gemini-2.5-flash-image-preview",
1315
- "openai/gpt-4.1-mini",
1316
- "openai/gpt-4.1-nano",
1317
1308
  "openai/gpt-4o",
1318
- "openai/gpt-5-pro",
1319
1309
  "openai/gpt-4o-mini",
1320
1310
  "openai/o4-mini",
1321
1311
  "openai/o3",
1322
- "openai/o3-mini",
1323
- "openai/codex-mini-latest",
1312
+ "openai/gpt-5-pro",
1324
1313
  "openai/gpt-5",
1325
1314
  "openai/gpt-5-codex",
1326
1315
  "openai/gpt-5-mini",
1327
1316
  "openai/gpt-5-nano",
1328
- "openai/gpt-4.1"
1317
+ "openai/gpt-4.1",
1318
+ "openai/o3-mini",
1319
+ "openai/codex-mini-latest",
1320
+ "openai/gpt-4.1-mini",
1321
+ "openai/gpt-4.1-nano"
1329
1322
  ],
1330
1323
  docUrl: "https://docs.netlify.com/build/ai-gateway/overview/"
1331
1324
  }
@@ -1421,5 +1414,5 @@ var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
1421
1414
  };
1422
1415
 
1423
1416
  export { ModelRouterLanguageModel, PROVIDER_REGISTRY, getProviderConfig, parseModelString };
1424
- //# sourceMappingURL=chunk-W2WXYTYI.js.map
1425
- //# sourceMappingURL=chunk-W2WXYTYI.js.map
1417
+ //# sourceMappingURL=chunk-BZ6BIHLE.js.map
1418
+ //# sourceMappingURL=chunk-BZ6BIHLE.js.map