gitextract_z7uqp5wm/ ├── .github/ │ └── workflows/ │ ├── black.yml │ └── run_pytest.yml ├── .gitignore ├── .pre-commit-config.yaml ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── aisuite/ │ ├── __init__.py │ ├── client.py │ ├── design-notes/ │ │ └── asr-parameter-design-motivation.md │ ├── framework/ │ │ ├── __init__.py │ │ ├── asr_params.py │ │ ├── chat_completion_response.py │ │ ├── choice.py │ │ ├── message.py │ │ ├── parameter_mapper.py │ │ └── provider_interface.py │ ├── mcp/ │ │ ├── __init__.py │ │ ├── client.py │ │ ├── config.py │ │ ├── schema_converter.py │ │ └── tool_wrapper.py │ ├── provider.py │ ├── providers/ │ │ ├── __init__.py │ │ ├── anthropic_provider.py │ │ ├── aws_provider.py │ │ ├── azure_provider.py │ │ ├── cerebras_provider.py │ │ ├── cohere_provider.py │ │ ├── deepgram_provider.py │ │ ├── deepseek_provider.py │ │ ├── fireworks_provider.py │ │ ├── google_provider.py │ │ ├── groq_provider.py │ │ ├── huggingface_provider.py │ │ ├── inception_provider.py │ │ ├── lmstudio_provider.py │ │ ├── message_converter.py │ │ ├── mistral_provider.py │ │ ├── nebius_provider.py │ │ ├── ollama_provider.py │ │ ├── openai_provider.py │ │ ├── sambanova_provider.py │ │ ├── together_provider.py │ │ ├── watsonx_provider.py │ │ └── xai_provider.py │ └── utils/ │ ├── tools.py │ └── utils.py ├── aisuite-js/ │ ├── README.md │ ├── examples/ │ │ ├── basic-usage.ts │ │ ├── chat-app/ │ │ │ ├── .eslintrc.cjs │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── package.json │ │ │ ├── postcss.config.js │ │ │ ├── src/ │ │ │ │ ├── App.tsx │ │ │ │ ├── components/ │ │ │ │ │ ├── ApiKeyModal.tsx │ │ │ │ │ ├── ChatContainer.tsx │ │ │ │ │ ├── ChatInput.tsx │ │ │ │ │ ├── ChatMessage.tsx │ │ │ │ │ ├── ModelSelector.tsx │ │ │ │ │ └── ProviderSelector.tsx │ │ │ │ ├── config/ │ │ │ │ │ └── llm-config.ts │ │ │ │ ├── index.css │ │ │ │ ├── main.tsx │ │ │ │ ├── services/ │ │ │ │ │ └── aisuite-service.ts │ │ │ │ ├── types/ │ │ │ │ │ └── chat.ts │ │ │ │ └── utils/ │ │ │ │ └── cn.ts │ │ │ ├── tailwind.config.js │ │ │ ├── tsconfig.json │ │ │ ├── tsconfig.node.json │ │ │ └── vite.config.ts │ │ ├── deepgram.ts │ │ ├── groq.ts │ │ ├── mistral.ts │ │ ├── openai-asr.ts │ │ ├── streaming.ts │ │ ├── test-suite.ts │ │ └── tool-calling.ts │ ├── jest.config.ts │ ├── package.json │ ├── src/ │ │ ├── asr-providers/ │ │ │ ├── deepgram/ │ │ │ │ ├── adapters.ts │ │ │ │ ├── index.ts │ │ │ │ ├── provider.ts │ │ │ │ └── types.ts │ │ │ └── index.ts │ │ ├── client.ts │ │ ├── core/ │ │ │ ├── base-asr-provider.ts │ │ │ ├── base-provider.ts │ │ │ ├── errors.ts │ │ │ └── model-parser.ts │ │ ├── index.ts │ │ ├── providers/ │ │ │ ├── anthropic/ │ │ │ │ ├── adapters.ts │ │ │ │ ├── index.ts │ │ │ │ ├── provider.ts │ │ │ │ └── types.ts │ │ │ ├── groq/ │ │ │ │ ├── adapters.ts │ │ │ │ ├── index.ts │ │ │ │ ├── provider.ts │ │ │ │ └── types.ts │ │ │ ├── index.ts │ │ │ ├── mistral/ │ │ │ │ ├── adapters.ts │ │ │ │ ├── index.ts │ │ │ │ ├── provider.ts │ │ │ │ └── types.ts │ │ │ └── openai/ │ │ │ ├── adapters.ts │ │ │ ├── index.ts │ │ │ ├── provider.ts │ │ │ └── types.ts │ │ ├── types/ │ │ │ ├── chat.ts │ │ │ ├── common.ts │ │ │ ├── index.ts │ │ │ ├── providers.ts │ │ │ ├── tools.ts │ │ │ └── transcription.ts │ │ └── utils/ │ │ └── streaming.ts │ ├── tests/ │ │ ├── client.test.ts │ │ ├── providers/ │ │ │ ├── anthropic-provider.test.ts │ │ │ ├── deepgram-provider.test.ts │ │ │ ├── groq-provider.test.ts │ │ │ ├── mistral-provider.test.ts │ │ │ ├── openai-provider.test.ts │ │ │ └── openai_asr_provider.test.ts │ │ └── utils/ │ │ └── streaming.test.ts │ └── tsconfig.json ├── examples/ │ ├── AISuiteDemo.ipynb │ ├── DeepseekPost.ipynb │ ├── QnA_with_pdf.ipynb │ ├── agents/ │ │ ├── movie_buff_assistant.ipynb │ │ ├── recipe_chef_assistant.ipynb │ │ ├── snake_game_generator.ipynb │ │ ├── stock_dashboard.html │ │ ├── stock_market_dashboard.html │ │ ├── stock_market_mini_tracker.ipynb │ │ ├── stock_market_tracker.ipynb │ │ └── world_weather_dashboard.ipynb │ ├── aisuite_tool_abstraction.ipynb │ ├── asr_example.ipynb │ ├── chat-ui/ │ │ ├── .streamlit/ │ │ │ └── config.toml │ │ ├── README.md │ │ ├── chat.py │ │ └── config.yaml │ ├── client.ipynb │ ├── llm_reasoning.ipynb │ ├── mcp_config_dict_example.py │ ├── mcp_http_example.py │ ├── mcp_tools_example.ipynb │ ├── simple_tool_calling.ipynb │ └── tool_calling_abstraction.ipynb ├── guides/ │ ├── README.md │ ├── anthropic.md │ ├── aws.md │ ├── azure.md │ ├── cerebras.md │ ├── cohere.md │ ├── deepseek.md │ ├── google.md │ ├── groq.md │ ├── huggingface.md │ ├── lmstudio.md │ ├── mistral.md │ ├── nebius.md │ ├── ollama.md │ ├── openai.md │ ├── sambanova.md │ ├── watsonx.md │ └── xai.md ├── pyproject.toml └── tests/ ├── __init__.py ├── client/ │ ├── __init__.py │ ├── test_client.py │ └── test_prerelease.py ├── framework/ │ ├── test_asr_models.py │ └── test_asr_params.py ├── mcp/ │ ├── README.md │ ├── __init__.py │ ├── conftest.py │ ├── test_client.py │ ├── test_e2e.py │ ├── test_http_llm_e2e.py │ ├── test_http_transport.py │ └── test_llm_e2e.py ├── providers/ │ ├── __init__.py │ ├── test_anthropic_converter.py │ ├── test_asr_parameter_passthrough.py │ ├── test_aws_converter.py │ ├── test_azure_provider.py │ ├── test_cerebras_provider.py │ ├── test_cohere_provider.py │ ├── test_deepgram_provider.py │ ├── test_deepseek_provider.py │ ├── test_google_converter.py │ ├── test_google_provider.py │ ├── test_groq_provider.py │ ├── test_huggingface_provider.py │ ├── test_inception_provider.py │ ├── test_lmstudio_provider.py │ ├── test_mistral_provider.py │ ├── test_nebius_provider.py │ ├── test_ollama_provider.py │ ├── test_openai_provider.py │ ├── test_sambanova_provider.py │ └── test_watsonx_provider.py ├── test_provider.py └── utils/ ├── test_mcp_memory_integration.py ├── test_tool_manager.py └── test_tools_mcp_schema.py