{"repo": "bidingcc/buildingai", "files": {"packages/@buildingai/ai-sdk/src/providers/hunyuan/index.ts": {"9f0b86cdf1785c49bd90e659d673acbaf21d8011": {"t": 1785768895.8988202, "n": 1733, "h": "f223905b9bf36f67", "c": "import { createOpenAICompatible } from \"@ai-sdk/openai-compatible\";\nimport type { EmbeddingModelV3, LanguageModelV3 } from \"@ai-sdk/provider\";\n\nimport type { AIProvider, BaseProviderSettings, ProviderModelInfo } from \"../../types\";\nimport { fetchProviderModels } from \"../../utils/fetch-models\";\n\nexport interface HunyuanProviderSettings extends BaseProviderSettings {}\n\nclass HunyuanProviderImpl implements AIProvider {\n readonly id = \"hunyuan\";\n readonly name = \"腾讯混元\";\n\n private baseProvider: ReturnType;\n private settings: HunyuanProviderSettings;\n\n constructor(settings: HunyuanProviderSettings = {}) {\n this.settings = {\n ...settings,\n baseURL: settings.baseURL || \"https://api.hunyuan.cloud.tencent.com/v1\",\n };\n\n this.baseProvider = createOpenAICompatible({\n name: \"hunyuan\",\n baseURL: this.settings.baseURL!,\n headers: {\n Authorization:\n this.settings?.apiKey && this.settings?.apiKey.includes(\"Bearer \")\n ? this.settings.apiKey\n : `Bearer ${this.settings.apiKey}`,\n ...this.settings.headers,\n },\n });\n }\n\n languageModel(modelId: string): LanguageModelV3 {\n return this.baseProvider.languageModel(modelId);\n }\n\n embeddingModel(modelId: string): EmbeddingModelV3 {\n return this.baseProvider.embeddingModel(modelId);\n }\n\n async listModels(): Promise {\n return fetchProviderModels(this.settings);\n }\n}\n\nexport function hunyuan(settings: HunyuanProviderSettings = {}): AIProvider {\n return new HunyuanProviderImpl(settings);\n}\n"}}}}