{"version":3,"sources":["../../src/relevance/relevance-score-provider.ts","../../src/relevance/mastra-agent/index.ts"],"names":["Agent","isSupportedLanguageModel"],"mappings":";;;;;AAMO,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,IAAIA,uBAAA,CAAM;AAAA,MACrB,EAAA,EAAI,oBAAoB,IAAI,CAAA,CAAA;AAAA,MAC5B,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,IAAIC,0CAAA,CAAyB,KAAK,CAAA,EAAG;AACnC,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":"index.cjs","sourcesContent":["// 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, isSupportedLanguageModel } 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      id: `relevance-scorer-${name}`,\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 (isSupportedLanguageModel(model)) {\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"]}