{"version":3,"file":"agent/llm-client.mjs","sources":["webpack://@multimodal/agent/./src/agent/llm-client.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { getLogger } from '../utils/logger';\nimport { ResolvedModel } from '@multimodal/model-provider';\nimport { createLLMClient, LLMReasoningOptions, LLMRequest } from '@multimodal/model-provider';\n\nconst logger = getLogger('ModelProvider');\n\n/**\n * Get LLM Client based on resolved model configuration\n *\n * @param resolvedModel Resolved model configuration\n * @param reasoningOptions Reasoning options\n * @param requestInterceptor Optional request interceptor\n * @returns OpenAI-compatible client\n */\nexport function getLLMClient(\n  resolvedModel: ResolvedModel,\n  reasoningOptions: LLMReasoningOptions,\n  requestInterceptor?: (provider: string, request: LLMRequest, baseURL?: string) => any,\n) {\n  const { provider, id, actualProvider, baseURL } = resolvedModel;\n\n  logger.info(`Creating LLM client: \n- Provider: ${provider} \n- Model: ${id} \n- Actual Provider: ${actualProvider} \n- Base URL: ${baseURL || 'default'} \n`);\n\n  return createLLMClient(resolvedModel, (provider, request, baseURL) => {\n    // Add reasoning options for compatible providers\n    if (provider !== 'openai') {\n      request.thinking = reasoningOptions;\n    }\n\n    // Apply custom request interceptor if provided\n    return requestInterceptor ? requestInterceptor(provider, request, baseURL) : request;\n  });\n}\n"],"names":["logger","getLogger","getLLMClient","resolvedModel","reasoningOptions","requestInterceptor","provider","id","actualProvider","baseURL","createLLMClient","request"],"mappings":";;;;;;AAQA,MAAMA,SAASC,UAAU;AAUlB,SAASC,aACdC,aAA4B,EAC5BC,gBAAqC,EACrCC,kBAAqF;IAErF,MAAM,EAAEC,QAAQ,EAAEC,EAAE,EAAEC,cAAc,EAAEC,OAAO,EAAE,GAAGN;IAElDH,OAAO,IAAI,CAAC,CAAC;YACH,EAAEM,SAAS;SACd,EAAEC,GAAG;mBACK,EAAEC,eAAe;YACxB,EAAEC,WAAW,UAAU;AACnC,CAAC;IAEC,OAAOC,gBAAgBP,eAAe,CAACG,UAAUK,SAASF;QAExD,IAAIH,AAAa,aAAbA,UACFK,QAAQ,QAAQ,GAAGP;QAIrB,OAAOC,qBAAqBA,mBAAmBC,UAAUK,SAASF,WAAWE;IAC/E;AACF"}