camel-ai 0.2.76a12__tar.gz → 0.2.76a13__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of camel-ai might be problematic. Click here for more details.
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/PKG-INFO +5 -9
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/__init__.py +1 -1
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/mcp_agent.py +30 -27
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/__init__.py +11 -2
- camel_ai-0.2.76a13/camel/parsers/__init__.py +18 -0
- camel_ai-0.2.76a13/camel/parsers/mcp_tool_call_parser.py +176 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/mcp_toolkit.py +2 -1
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/pyproject.toml +5 -10
- camel_ai-0.2.76a12/camel/loaders/pandas_reader.py +0 -368
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/.gitignore +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/LICENSE +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/README.md +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/_types.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/_utils.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/chat_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/critic_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/deductive_reasoner_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/embodied_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/knowledge_graph_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/multi_hop_generator_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/programmed_agent_instruction.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/repo_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/role_assignment_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/search_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/task_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/tool_agents/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/tool_agents/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/apibank.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/apibench.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/browsecomp.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/gaia.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/mock_website/README.md +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/mock_website/mock_web.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/mock_website/requirements.txt +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/mock_website/task.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/nexus.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/benchmarks/ragbench.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/discord/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/discord/discord_app.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/discord/discord_installation.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/discord/discord_store.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/slack/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/slack/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/slack/slack_app.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/bots/telegram_bot.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/aiml_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/amd_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/anthropic_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/base_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/bedrock_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/cohere_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/cometapi_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/crynux_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/deepseek_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/gemini_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/groq_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/internlm_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/litellm_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/lmstudio_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/mistral_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/modelscope_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/moonshot_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/nebius_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/netmind_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/novita_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/nvidia_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/ollama_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/openai_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/openrouter_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/ppio_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/qianfan_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/qwen_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/reka_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/samba_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/sglang_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/siliconflow_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/togetherai_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/vllm_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/watsonx_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/yi_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/configs/zhipuai_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/data_collectors/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/data_collectors/alpaca_collector.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/data_collectors/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/data_collectors/sharegpt_collector.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/cot_datagen.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/evol_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/evol_instruct/scorer.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/evol_instruct/templates.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_improving_cot.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/filter/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/self_instruct.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/self_instruct/templates.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/source2synth/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/source2synth/data_processor.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/source2synth/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datahubs/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datahubs/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datahubs/huggingface.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datahubs/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/base_generator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/few_shot_generator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/self_instruct_generator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/datasets/static_dataset.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/azure_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/gemini_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/jina_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/mistral_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/openai_compatible_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/openai_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/together_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/embeddings/vlm_embedding.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/multi_step.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/rlcards_env.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/single_step.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/environments/tic_tac_toe.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/extractors/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/extractors/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/extractors/python_strategies.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/generators.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/human.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/docker/Dockerfile +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/docker_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/e2b_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/internal_python_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/interpreter_error.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/ipython_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/microsandbox_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/interpreters/subprocess_interpreter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/apify_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/base_io.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/base_loader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/chunkr_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/crawl4ai_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/firecrawl_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/jina_url_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/markitdown.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/mineru_extractor.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/mistral_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/scrapegraph_reader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/loaders/unstructured_io.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/logger.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/agent_memories.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/blocks/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/blocks/chat_history_block.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/blocks/vectordb_block.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/context_creators/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/context_creators/score_based.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/memories/records.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/alpaca.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/conversation_models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/sharegpt/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/messages/func_message.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/_utils.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/aiml_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/amd_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/anthropic_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/aws_bedrock_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/azure_openai_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/base_audio_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/base_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/cohere_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/cometapi_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/crynux_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/deepseek_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/fish_audio_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/gemini_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/groq_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/internlm_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/litellm_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/lmstudio_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/mistral_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/model_factory.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/model_manager.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/modelscope_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/moonshot_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/nebius_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/nemotron_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/netmind_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/novita_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/nvidia_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/ollama_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/openai_audio_models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/openai_compatible_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/openai_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/openrouter_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/ppio_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/qianfan_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/qwen_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reka_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reward/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reward/base_reward_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reward/evaluator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reward/nemotron_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/reward/skywork_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/samba_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/sglang_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/siliconflow_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/stub_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/togetherai_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/vllm_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/volcano_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/watsonx_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/yi_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/models/zhipuai_model.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/personas/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/personas/persona.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/personas/persona_hub.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/ai_society.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/code.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/evaluation.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/generate_text_embedding_data.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/image_craft.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/misalignment.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/multi_condition_image_craft.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/object_recognition.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/persona_hub.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/prompt_templates.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/role_description_prompt_template.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/solution_extraction.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/task_prompt_template.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/translation.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/prompts/video_description_prompt.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/py.typed +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/responses/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/responses/agent_responses.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/auto_retriever.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/bm25_retriever.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/cohere_rerank_retriever.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/hybrid_retrival.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/retrievers/vector_retriever.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/api.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/configs.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/daytona_runtime.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/docker_runtime.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/llm_guard_runtime.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/remote_http_runtime.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/utils/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/schemas/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/schemas/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/schemas/openai_converter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/schemas/outlines_converter.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/services/agent_openapi_server.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/babyagi_playing.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/role_playing.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/prompts.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/role_playing_worker.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/single_agent_worker.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/structured_output_handler.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/task_channel.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/utils.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/worker.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/workforce.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/societies/workforce/workforce_logger.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/graph_storages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/graph_storages/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/graph_storages/graph_element.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/graph_storages/nebula_graph.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/graph_storages/neo4j_graph.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/in_memory.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/json.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/key_value_storages/redis.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/object_storages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/object_storages/amazon_s3.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/object_storages/azure_blob.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/object_storages/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/object_storages/google_cloud.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/chroma.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/faiss.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/milvus.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/oceanbase.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/pgvector.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/qdrant.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/surreal.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/tidb.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/storages/vectordb_storages/weaviate.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/tasks/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/tasks/task.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/tasks/task_prompt.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/terminators/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/terminators/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/terminators/response_terminator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/terminators/token_limit_terminator.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/aci_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/arxiv_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/ask_news_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/async_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/audio_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/bohrium_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/browser_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/browser_toolkit_commons.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/code_execution.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/context_summarizer_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/craw4ai_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/dappier_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/data_commons_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/dingtalk.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/excel_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/file_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/function_tool.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/github_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/google_calendar_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/google_maps_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/google_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/human_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/config_loader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/installer.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/actions.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/agent.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/image_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/image_generation_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/jina_reranker_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/klavis_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/linkedin_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/markitdown_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/math_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/memory_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/meshy_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/message_agent_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/message_integration.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/mineru_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/minimax_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/networkx_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/note_taking_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/notion_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/notion_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/security_config.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/open_api_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/openbb_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/origene_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/page_script.js +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/pptx_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/pubmed_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/pyautogui_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/reddit_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/resend_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/retrieval_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/screenshot_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/search_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/searxng_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/slack_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/stripe_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/sympy_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/task_planning_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/terminal_toolkit/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/terminal_toolkit/terminal_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/terminal_toolkit/utils.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/thinking_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/twitter_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/vertex_ai_veo_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/video_analysis_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/video_download_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/weather_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/web_deploy_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/wechat_official_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/whatsapp_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/toolkits/zapier_toolkit.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/agents/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/agents/tool_calling_record.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/enums.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/mcp_registries.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/openai_types.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/types/unified_model_type.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/async_func.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/chunker/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/chunker/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/chunker/code_chunker.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/chunker/uio_chunker.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/commons.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/constants.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/context_utils.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/deduplication.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/filename.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/langfuse.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/mcp.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/mcp_client.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/message_summarizer.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/response_format.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/token_counting.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/utils/tool_result.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/__init__.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/base.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/math_verifier.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/models.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/physics_verifier.py +0 -0
- {camel_ai-0.2.76a12 → camel_ai-0.2.76a13}/camel/verifiers/python_verifier.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.76a13
|
|
4
4
|
Summary: Communicative Agents for AI Society Study
|
|
5
5
|
Project-URL: Homepage, https://www.camel-ai.org/
|
|
6
6
|
Project-URL: Repository, https://github.com/camel-ai/camel
|
|
@@ -87,8 +87,7 @@ Requires-Dist: numpy<=2.2,>=1.2; extra == 'all'
|
|
|
87
87
|
Requires-Dist: onnxruntime<=1.19.2; extra == 'all'
|
|
88
88
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'all'
|
|
89
89
|
Requires-Dist: openpyxl>=3.1.5; extra == 'all'
|
|
90
|
-
Requires-Dist: pandas
|
|
91
|
-
Requires-Dist: pandasai<3,>=2.3.0; extra == 'all'
|
|
90
|
+
Requires-Dist: pandas>=2; extra == 'all'
|
|
92
91
|
Requires-Dist: pgvector<0.3,>=0.2.4; extra == 'all'
|
|
93
92
|
Requires-Dist: playwright>=1.50.0; extra == 'all'
|
|
94
93
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'all'
|
|
@@ -166,7 +165,7 @@ Requires-Dist: datacommons<2,>=1.4.3; extra == 'data-tools'
|
|
|
166
165
|
Requires-Dist: math-verify<0.8,>=0.7.0; extra == 'data-tools'
|
|
167
166
|
Requires-Dist: networkx<4,>=3.4.2; extra == 'data-tools'
|
|
168
167
|
Requires-Dist: numpy<=2.2,>=1.2; extra == 'data-tools'
|
|
169
|
-
Requires-Dist: pandas
|
|
168
|
+
Requires-Dist: pandas>=2; extra == 'data-tools'
|
|
170
169
|
Requires-Dist: rouge<2,>=1.0.1; extra == 'data-tools'
|
|
171
170
|
Requires-Dist: stripe<12,>=11.3.0; extra == 'data-tools'
|
|
172
171
|
Requires-Dist: textblob<0.18,>=0.17.1; extra == 'data-tools'
|
|
@@ -220,7 +219,6 @@ Requires-Dist: numpy<=2.2,>=1.2; extra == 'document-tools'
|
|
|
220
219
|
Requires-Dist: onnxruntime<=1.19.2; extra == 'document-tools'
|
|
221
220
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
|
|
222
221
|
Requires-Dist: openpyxl>=3.1.5; extra == 'document-tools'
|
|
223
|
-
Requires-Dist: pandasai<3,>=2.3.0; extra == 'document-tools'
|
|
224
222
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'document-tools'
|
|
225
223
|
Requires-Dist: pylatex>=1.4.2; extra == 'document-tools'
|
|
226
224
|
Requires-Dist: pymupdf<2,>=1.22.5; extra == 'document-tools'
|
|
@@ -245,7 +243,7 @@ Requires-Dist: mcp-simple-arxiv==0.2.2; extra == 'eigent'
|
|
|
245
243
|
Requires-Dist: numpy<=2.2,>=1.2; extra == 'eigent'
|
|
246
244
|
Requires-Dist: onnxruntime<=1.19.2; extra == 'eigent'
|
|
247
245
|
Requires-Dist: openpyxl>=3.1.5; extra == 'eigent'
|
|
248
|
-
Requires-Dist: pandas
|
|
246
|
+
Requires-Dist: pandas>=2; extra == 'eigent'
|
|
249
247
|
Requires-Dist: pydub<0.26,>=0.25.1; extra == 'eigent'
|
|
250
248
|
Requires-Dist: pylatex>=1.4.2; extra == 'eigent'
|
|
251
249
|
Requires-Dist: pytesseract>=0.3.13; extra == 'eigent'
|
|
@@ -305,8 +303,7 @@ Requires-Dist: numpy<=2.2,>=1.2; extra == 'owl'
|
|
|
305
303
|
Requires-Dist: onnxruntime<=1.19.2; extra == 'owl'
|
|
306
304
|
Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'owl'
|
|
307
305
|
Requires-Dist: openpyxl>=3.1.5; extra == 'owl'
|
|
308
|
-
Requires-Dist: pandas
|
|
309
|
-
Requires-Dist: pandasai<3,>=2.3.0; extra == 'owl'
|
|
306
|
+
Requires-Dist: pandas>=2; extra == 'owl'
|
|
310
307
|
Requires-Dist: playwright>=1.50.0; extra == 'owl'
|
|
311
308
|
Requires-Dist: prance<24,>=23.6.21.0; extra == 'owl'
|
|
312
309
|
Requires-Dist: pyautogui<0.10,>=0.9.54; extra == 'owl'
|
|
@@ -343,7 +340,6 @@ Requires-Dist: google-genai>=1.13.0; extra == 'rag'
|
|
|
343
340
|
Requires-Dist: nebula3-python==3.8.2; extra == 'rag'
|
|
344
341
|
Requires-Dist: neo4j<6,>=5.18.0; extra == 'rag'
|
|
345
342
|
Requires-Dist: numpy<=2.2,>=1.2; extra == 'rag'
|
|
346
|
-
Requires-Dist: pandasai<3,>=2.3.0; extra == 'rag'
|
|
347
343
|
Requires-Dist: protobuf>=6.0.0; extra == 'rag'
|
|
348
344
|
Requires-Dist: pymilvus<3,>=2.4.0; extra == 'rag'
|
|
349
345
|
Requires-Dist: pyobvector>=0.1.18; extra == 'rag'
|
|
@@ -15,16 +15,25 @@
|
|
|
15
15
|
import asyncio
|
|
16
16
|
import json
|
|
17
17
|
import platform
|
|
18
|
-
import
|
|
19
|
-
|
|
18
|
+
from typing import (
|
|
19
|
+
TYPE_CHECKING,
|
|
20
|
+
Any,
|
|
21
|
+
Callable,
|
|
22
|
+
Dict,
|
|
23
|
+
List,
|
|
24
|
+
Optional,
|
|
25
|
+
Union,
|
|
26
|
+
cast,
|
|
27
|
+
)
|
|
20
28
|
|
|
21
|
-
from camel.agents import ChatAgent
|
|
29
|
+
from camel.agents.chat_agent import ChatAgent
|
|
22
30
|
from camel.logger import get_logger
|
|
23
31
|
from camel.messages import BaseMessage
|
|
24
|
-
from camel.models import BaseModelBackend
|
|
32
|
+
from camel.models.base_model import BaseModelBackend
|
|
33
|
+
from camel.models.model_factory import ModelFactory
|
|
25
34
|
from camel.prompts import TextPrompt
|
|
26
35
|
from camel.responses import ChatAgentResponse
|
|
27
|
-
from camel.toolkits import FunctionTool
|
|
36
|
+
from camel.toolkits.function_tool import FunctionTool
|
|
28
37
|
from camel.types import (
|
|
29
38
|
BaseMCPRegistryConfig,
|
|
30
39
|
MCPRegistryType,
|
|
@@ -33,6 +42,9 @@ from camel.types import (
|
|
|
33
42
|
RoleType,
|
|
34
43
|
)
|
|
35
44
|
|
|
45
|
+
if TYPE_CHECKING:
|
|
46
|
+
from camel.toolkits.mcp_toolkit import MCPToolkit
|
|
47
|
+
|
|
36
48
|
# AgentOps decorator setting
|
|
37
49
|
try:
|
|
38
50
|
import os
|
|
@@ -44,6 +56,8 @@ try:
|
|
|
44
56
|
except (ImportError, AttributeError):
|
|
45
57
|
from camel.utils import track_agent
|
|
46
58
|
|
|
59
|
+
from camel.parsers.mcp_tool_call_parser import extract_tool_calls_from_text
|
|
60
|
+
|
|
47
61
|
logger = get_logger(__name__)
|
|
48
62
|
|
|
49
63
|
|
|
@@ -168,8 +182,10 @@ class MCPAgent(ChatAgent):
|
|
|
168
182
|
**kwargs,
|
|
169
183
|
)
|
|
170
184
|
|
|
171
|
-
def _initialize_mcp_toolkit(self) -> MCPToolkit:
|
|
185
|
+
def _initialize_mcp_toolkit(self) -> "MCPToolkit":
|
|
172
186
|
r"""Initialize the MCP toolkit from the provided configuration."""
|
|
187
|
+
from camel.toolkits.mcp_toolkit import MCPToolkit
|
|
188
|
+
|
|
173
189
|
config_dict = {}
|
|
174
190
|
for registry_config in self.registry_configs:
|
|
175
191
|
config_dict.update(registry_config.get_config())
|
|
@@ -334,27 +350,14 @@ class MCPAgent(ChatAgent):
|
|
|
334
350
|
task = f"## Task:\n {input_message}"
|
|
335
351
|
input_message = str(self._text_tools) + task
|
|
336
352
|
response = await super().astep(input_message, *args, **kwargs)
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
end_match = re.search(r'```', content[json_start:])
|
|
347
|
-
if not end_match:
|
|
348
|
-
break
|
|
349
|
-
json_end = end_match.span()[0] + json_start
|
|
350
|
-
|
|
351
|
-
tool_json = content[json_start:json_end].strip('\n')
|
|
352
|
-
try:
|
|
353
|
-
tool_calls.append(json.loads(tool_json))
|
|
354
|
-
except json.JSONDecodeError:
|
|
355
|
-
logger.warning(f"Failed to parse JSON: {tool_json}")
|
|
356
|
-
continue
|
|
357
|
-
content = content[json_end:]
|
|
353
|
+
raw_content = response.msgs[0].content if response.msgs else ""
|
|
354
|
+
content = (
|
|
355
|
+
raw_content
|
|
356
|
+
if isinstance(raw_content, str)
|
|
357
|
+
else str(raw_content)
|
|
358
|
+
)
|
|
359
|
+
|
|
360
|
+
tool_calls = extract_tool_calls_from_text(content)
|
|
358
361
|
|
|
359
362
|
if not tool_calls:
|
|
360
363
|
return response
|
|
@@ -21,7 +21,6 @@ from .jina_url_reader import JinaURLReader
|
|
|
21
21
|
from .markitdown import MarkItDownLoader
|
|
22
22
|
from .mineru_extractor import MinerU
|
|
23
23
|
from .mistral_reader import MistralReader
|
|
24
|
-
from .pandas_reader import PandasReader
|
|
25
24
|
from .scrapegraph_reader import ScrapeGraphAI
|
|
26
25
|
from .unstructured_io import UnstructuredIO
|
|
27
26
|
|
|
@@ -33,7 +32,6 @@ __all__ = [
|
|
|
33
32
|
'JinaURLReader',
|
|
34
33
|
'Firecrawl',
|
|
35
34
|
'Apify',
|
|
36
|
-
'PandasReader',
|
|
37
35
|
'ChunkrReader',
|
|
38
36
|
'ChunkrReaderConfig',
|
|
39
37
|
'MinerU',
|
|
@@ -42,3 +40,14 @@ __all__ = [
|
|
|
42
40
|
'ScrapeGraphAI',
|
|
43
41
|
'MistralReader',
|
|
44
42
|
]
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
def __getattr__(name: str):
|
|
46
|
+
if name == 'PandasReader':
|
|
47
|
+
raise ImportError(
|
|
48
|
+
"PandasReader has been removed from camel.loaders. "
|
|
49
|
+
"The pandasai dependency limited pandas to version 1.5.3. "
|
|
50
|
+
"Please use ExcelToolkit from camel.toolkits instead for "
|
|
51
|
+
"handling structured data."
|
|
52
|
+
)
|
|
53
|
+
raise AttributeError(f"module '{__name__}' has no attribute '{name}'")
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
"""Helper parsers used across the CAMEL project."""
|
|
15
|
+
|
|
16
|
+
from .mcp_tool_call_parser import extract_tool_calls_from_text
|
|
17
|
+
|
|
18
|
+
__all__ = ["extract_tool_calls_from_text"]
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
"""Utility functions for parsing MCP tool calls from model output."""
|
|
15
|
+
|
|
16
|
+
import ast
|
|
17
|
+
import json
|
|
18
|
+
import logging
|
|
19
|
+
import re
|
|
20
|
+
from typing import Any, Dict, List, Optional
|
|
21
|
+
|
|
22
|
+
try: # pragma: no cover - optional dependency
|
|
23
|
+
import yaml
|
|
24
|
+
except ImportError: # pragma: no cover
|
|
25
|
+
yaml = None # type: ignore[assignment]
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
CODE_BLOCK_PATTERN = re.compile(
|
|
29
|
+
r"```(?:[a-z0-9_-]+)?\s*([\s\S]+?)\s*```",
|
|
30
|
+
re.IGNORECASE,
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
JSON_START_PATTERN = re.compile(r"[{\[]")
|
|
34
|
+
JSON_TOKEN_PATTERN = re.compile(
|
|
35
|
+
r"""
|
|
36
|
+
(?P<double>"(?:\\.|[^"\\])*")
|
|
37
|
+
|
|
|
38
|
+
(?P<single>'(?:\\.|[^'\\])*')
|
|
39
|
+
|
|
|
40
|
+
(?P<brace>[{}\[\]])
|
|
41
|
+
""",
|
|
42
|
+
re.VERBOSE,
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
logger = logging.getLogger(__name__)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
def extract_tool_calls_from_text(content: str) -> List[Dict[str, Any]]:
|
|
49
|
+
"""Extract tool call dictionaries from raw text output."""
|
|
50
|
+
|
|
51
|
+
if not content:
|
|
52
|
+
return []
|
|
53
|
+
|
|
54
|
+
tool_calls: List[Dict[str, Any]] = []
|
|
55
|
+
seen_ranges: List[tuple[int, int]] = []
|
|
56
|
+
|
|
57
|
+
for match in CODE_BLOCK_PATTERN.finditer(content):
|
|
58
|
+
snippet = match.group(1).strip()
|
|
59
|
+
if not snippet:
|
|
60
|
+
continue
|
|
61
|
+
|
|
62
|
+
parsed = _try_parse_json_like(snippet)
|
|
63
|
+
if parsed is None:
|
|
64
|
+
logger.warning(
|
|
65
|
+
"Failed to parse JSON payload from fenced block: %s",
|
|
66
|
+
snippet,
|
|
67
|
+
)
|
|
68
|
+
continue
|
|
69
|
+
|
|
70
|
+
_collect_tool_calls(parsed, tool_calls)
|
|
71
|
+
seen_ranges.append((match.start(1), match.end(1)))
|
|
72
|
+
|
|
73
|
+
for start_match in JSON_START_PATTERN.finditer(content):
|
|
74
|
+
start_idx = start_match.start()
|
|
75
|
+
|
|
76
|
+
if any(start <= start_idx < stop for start, stop in seen_ranges):
|
|
77
|
+
continue
|
|
78
|
+
|
|
79
|
+
segment = _find_json_candidate(content, start_idx)
|
|
80
|
+
if segment is None:
|
|
81
|
+
continue
|
|
82
|
+
|
|
83
|
+
end_idx = start_idx + len(segment)
|
|
84
|
+
if any(start <= start_idx < stop for start, stop in seen_ranges):
|
|
85
|
+
continue
|
|
86
|
+
|
|
87
|
+
parsed = _try_parse_json_like(segment)
|
|
88
|
+
if parsed is None:
|
|
89
|
+
logger.debug(
|
|
90
|
+
"Unable to parse JSON-like candidate: %s",
|
|
91
|
+
_truncate_snippet(segment),
|
|
92
|
+
)
|
|
93
|
+
continue
|
|
94
|
+
|
|
95
|
+
_collect_tool_calls(parsed, tool_calls)
|
|
96
|
+
seen_ranges.append((start_idx, end_idx))
|
|
97
|
+
|
|
98
|
+
return tool_calls
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def _collect_tool_calls(
|
|
102
|
+
payload: Any, accumulator: List[Dict[str, Any]]
|
|
103
|
+
) -> None:
|
|
104
|
+
"""Collect valid tool call dictionaries from parsed payloads."""
|
|
105
|
+
|
|
106
|
+
if isinstance(payload, dict):
|
|
107
|
+
if payload.get("tool_name") is None:
|
|
108
|
+
return
|
|
109
|
+
accumulator.append(payload)
|
|
110
|
+
elif isinstance(payload, list):
|
|
111
|
+
for item in payload:
|
|
112
|
+
_collect_tool_calls(item, accumulator)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def _try_parse_json_like(snippet: str) -> Optional[Any]:
|
|
116
|
+
"""Parse a JSON or JSON-like snippet into Python data."""
|
|
117
|
+
|
|
118
|
+
try:
|
|
119
|
+
return json.loads(snippet)
|
|
120
|
+
except json.JSONDecodeError as exc:
|
|
121
|
+
logger.debug(
|
|
122
|
+
"json.loads failed: %s | snippet=%s",
|
|
123
|
+
exc,
|
|
124
|
+
_truncate_snippet(snippet),
|
|
125
|
+
)
|
|
126
|
+
|
|
127
|
+
if yaml is not None:
|
|
128
|
+
try:
|
|
129
|
+
return yaml.safe_load(snippet)
|
|
130
|
+
except yaml.YAMLError:
|
|
131
|
+
pass
|
|
132
|
+
|
|
133
|
+
try:
|
|
134
|
+
return ast.literal_eval(snippet)
|
|
135
|
+
except (ValueError, SyntaxError):
|
|
136
|
+
return None
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def _find_json_candidate(content: str, start_idx: int) -> Optional[str]:
|
|
140
|
+
"""Locate a balanced JSON-like segment starting at ``start_idx``."""
|
|
141
|
+
|
|
142
|
+
opening = content[start_idx]
|
|
143
|
+
if opening not in "{[":
|
|
144
|
+
return None
|
|
145
|
+
|
|
146
|
+
stack = ["}" if opening == "{" else "]"]
|
|
147
|
+
|
|
148
|
+
for token in JSON_TOKEN_PATTERN.finditer(content, start_idx + 1):
|
|
149
|
+
if token.lastgroup in {"double", "single"}:
|
|
150
|
+
continue
|
|
151
|
+
|
|
152
|
+
brace = token.group("brace")
|
|
153
|
+
if brace in "{[":
|
|
154
|
+
stack.append("}" if brace == "{" else "]")
|
|
155
|
+
continue
|
|
156
|
+
|
|
157
|
+
if not stack:
|
|
158
|
+
return None
|
|
159
|
+
|
|
160
|
+
expected = stack.pop()
|
|
161
|
+
if brace != expected:
|
|
162
|
+
return None
|
|
163
|
+
|
|
164
|
+
if not stack:
|
|
165
|
+
return content[start_idx : token.end()]
|
|
166
|
+
|
|
167
|
+
return None
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def _truncate_snippet(snippet: str, limit: int = 120) -> str:
|
|
171
|
+
"""Return a truncated representation suitable for logging."""
|
|
172
|
+
|
|
173
|
+
compact = " ".join(snippet.strip().split())
|
|
174
|
+
if len(compact) <= limit:
|
|
175
|
+
return compact
|
|
176
|
+
return f"{compact[: limit - 3]}..."
|
|
@@ -21,7 +21,8 @@ from typing import Any, Dict, List, Optional
|
|
|
21
21
|
from typing_extensions import TypeGuard
|
|
22
22
|
|
|
23
23
|
from camel.logger import get_logger
|
|
24
|
-
from camel.toolkits import BaseToolkit
|
|
24
|
+
from camel.toolkits.base import BaseToolkit
|
|
25
|
+
from camel.toolkits.function_tool import FunctionTool
|
|
25
26
|
from camel.utils.commons import run_async
|
|
26
27
|
from camel.utils.mcp_client import MCPClient, create_mcp_client
|
|
27
28
|
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "camel-ai"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.76a13"
|
|
8
8
|
description = "Communicative Agents for AI Society Study"
|
|
9
9
|
authors = [{ name = "CAMEL-AI.org" }]
|
|
10
10
|
requires-python = ">=3.10,<3.13"
|
|
@@ -79,7 +79,6 @@ rag = [
|
|
|
79
79
|
"rank-bm25>=0.2.2,<0.3",
|
|
80
80
|
"cohere>=5.11.0,<6",
|
|
81
81
|
"unstructured==0.16.20",
|
|
82
|
-
"pandasai>=2.3.0,<3",
|
|
83
82
|
"crawl4ai>=0.3.745",
|
|
84
83
|
"pyobvector>=0.1.18",
|
|
85
84
|
"google-genai>=1.13.0",
|
|
@@ -116,7 +115,6 @@ document_tools = [
|
|
|
116
115
|
"docx2txt>=0.8,<0.9",
|
|
117
116
|
"PyMuPDF>=1.22.5,<2",
|
|
118
117
|
"unstructured==0.16.20",
|
|
119
|
-
"pandasai>=2.3.0,<3",
|
|
120
118
|
"prance>=23.6.21.0,<24",
|
|
121
119
|
"openapi-spec-validator>=0.7.1,<0.8",
|
|
122
120
|
"xls2xlsx>=0.2.0",
|
|
@@ -152,7 +150,7 @@ communication_tools = [
|
|
|
152
150
|
]
|
|
153
151
|
data_tools = [
|
|
154
152
|
"numpy>=1.2,<=2.2",
|
|
155
|
-
"pandas>=
|
|
153
|
+
"pandas>=2",
|
|
156
154
|
"textblob>=0.17.1,<0.18",
|
|
157
155
|
"datacommons>=1.4.3,<2",
|
|
158
156
|
"datacommons_pandas>=0.0.3,<0.0.4",
|
|
@@ -239,7 +237,6 @@ owl = [
|
|
|
239
237
|
"docx2txt>=0.8,<0.9",
|
|
240
238
|
"PyMuPDF>=1.22.5,<2",
|
|
241
239
|
"unstructured==0.16.20",
|
|
242
|
-
"pandasai>=2.3.0,<3",
|
|
243
240
|
"prance>=23.6.21.0,<24",
|
|
244
241
|
"openapi-spec-validator>=0.7.1,<0.8",
|
|
245
242
|
"xls2xlsx>=0.2.0",
|
|
@@ -256,7 +253,7 @@ owl = [
|
|
|
256
253
|
"typer>=0.15.2",
|
|
257
254
|
"tree-sitter-python>=0.23.6,<0.24",
|
|
258
255
|
"tree-sitter>=0.23.2,<0.24",
|
|
259
|
-
"pandas>=
|
|
256
|
+
"pandas>=2",
|
|
260
257
|
"rouge>=1.0.1,<2",
|
|
261
258
|
"crawl4ai>=0.3.745",
|
|
262
259
|
"scrapegraph-py>=1.12.0,<2",
|
|
@@ -290,7 +287,7 @@ eigent = [
|
|
|
290
287
|
"wikipedia>=1,<2",
|
|
291
288
|
"requests_oauthlib>=1.3.1,<2",
|
|
292
289
|
"websockets>=13.0,<15.1",
|
|
293
|
-
"pandas>=
|
|
290
|
+
"pandas>=2",
|
|
294
291
|
"pylatex>=1.4.2",
|
|
295
292
|
"python-pptx>=1.0.2",
|
|
296
293
|
"pytesseract>=0.3.13",
|
|
@@ -314,7 +311,6 @@ all = [
|
|
|
314
311
|
"docx2txt>=0.8,<0.9",
|
|
315
312
|
"PyMuPDF>=1.22.5,<2",
|
|
316
313
|
"unstructured==0.16.20",
|
|
317
|
-
"pandasai>=2.3.0,<3",
|
|
318
314
|
"wikipedia>=1,<2",
|
|
319
315
|
"linkup-sdk>=0.2.1,<0.3",
|
|
320
316
|
"duckduckgo-search>=6.3.5,<7",
|
|
@@ -359,7 +355,7 @@ all = [
|
|
|
359
355
|
"tavily-python>=0.5.0,<0.6",
|
|
360
356
|
"apify_client>=1.8.1,<2",
|
|
361
357
|
"stripe>=11.3.0,<12",
|
|
362
|
-
"pandas>=
|
|
358
|
+
"pandas>=2",
|
|
363
359
|
"tree-sitter-python>=0.23.6,<0.24",
|
|
364
360
|
"tree-sitter>=0.23.2,<0.24",
|
|
365
361
|
"networkx>=3.4.2,<4",
|
|
@@ -610,7 +606,6 @@ module = [
|
|
|
610
606
|
"tree-sitter-python",
|
|
611
607
|
"tree-sitter",
|
|
612
608
|
"networkx",
|
|
613
|
-
"pandasai",
|
|
614
609
|
"sklearn.metrics.pairwise",
|
|
615
610
|
"sympy.*",
|
|
616
611
|
"astor",
|