{"version":3,"file":"tool-call-engine/engine-selector.mjs","sources":["webpack://@multimodal/agent/./src/tool-call-engine/engine-selector.ts"],"sourcesContent":["/*\n * Copyright (c) 2025 Bytedance, Inc. and its affiliates.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { ToolCallEngineType } from '@multimodal/agent-interface';\n\n/**\n * ProviderEngineSelector - Maps model providers to their optimal tool call engines\n *\n * This utility provides intelligent selection of the most appropriate tool call engine\n * based on model provider capabilities and best practices:\n *\n * - volcengine: Uses structured_outputs for best performance with JSON schema responses\n * - openai, azure-openai, anthropic: Use native tool calling capabilities\n * - Default fallback to native for maximum compatibility\n *\n * @param provider - The model provider name\n * @returns The recommended tool call engine type for the provider\n */\nexport function getToolCallEngineForProvider(provider?: string): ToolCallEngineType {\n  if (!provider) {\n    return 'native';\n  }\n\n  switch (provider.toLowerCase()) {\n    case 'volcengine':\n      return 'structured_outputs';\n    case 'openai':\n    case 'azure-openai':\n    case 'anthropic':\n      return 'native';\n    default:\n      return 'native';\n  }\n}\n"],"names":["getToolCallEngineForProvider","provider"],"mappings":";;;;AAoBO,SAASA,6BAA6BC,QAAiB;IAC5D,IAAI,CAACA,UACH,OAAO;IAGT,OAAQA,SAAS,WAAW;QAC1B,KAAK;YACH,OAAO;QACT,KAAK;QACL,KAAK;QACL,KAAK;YACH,OAAO;QACT;YACE,OAAO;IACX;AACF"}