camel-ai 0.2.57__tar.gz → 0.2.59__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.

Files changed (412) hide show
  1. {camel_ai-0.2.57 → camel_ai-0.2.59}/.gitignore +4 -1
  2. {camel_ai-0.2.57 → camel_ai-0.2.59}/PKG-INFO +4 -2
  3. {camel_ai-0.2.57 → camel_ai-0.2.59}/README.md +1 -1
  4. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/__init__.py +1 -2
  5. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/chat_agent.py +136 -9
  6. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/critic_agent.py +73 -8
  7. camel_ai-0.2.59/camel/agents/mcp_agent.py +446 -0
  8. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/__init__.py +2 -0
  9. camel_ai-0.2.59/camel/benchmarks/browsecomp.py +854 -0
  10. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/human.py +14 -0
  11. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/__init__.py +2 -0
  12. camel_ai-0.2.59/camel/loaders/markitdown.py +204 -0
  13. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/openai_compatible_model.py +3 -3
  14. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/role_playing.py +50 -0
  15. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/role_playing_worker.py +17 -8
  16. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/workforce.py +74 -18
  17. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/__init__.py +4 -0
  18. camel_ai-0.2.59/camel/toolkits/async_browser_toolkit.py +1800 -0
  19. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/base.py +12 -1
  20. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/browser_toolkit.py +19 -3
  21. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/excel_toolkit.py +3 -2
  22. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/function_tool.py +1 -1
  23. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/mcp_toolkit.py +134 -6
  24. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/search_toolkit.py +0 -169
  25. camel_ai-0.2.59/camel/toolkits/wolfram_alpha_toolkit.py +237 -0
  26. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/__init__.py +10 -0
  27. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/enums.py +3 -3
  28. camel_ai-0.2.59/camel/types/mcp_registries.py +157 -0
  29. {camel_ai-0.2.57 → camel_ai-0.2.59}/pyproject.toml +5 -2
  30. camel_ai-0.2.57/camel/agents/mcp_agent.py +0 -233
  31. {camel_ai-0.2.57 → camel_ai-0.2.59}/LICENSE +0 -0
  32. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/__init__.py +0 -0
  33. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/_types.py +0 -0
  34. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/_utils.py +0 -0
  35. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/base.py +0 -0
  36. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/deductive_reasoner_agent.py +0 -0
  37. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/embodied_agent.py +0 -0
  38. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/knowledge_graph_agent.py +0 -0
  39. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/multi_hop_generator_agent.py +0 -0
  40. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/programmed_agent_instruction.py +0 -0
  41. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/repo_agent.py +0 -0
  42. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/role_assignment_agent.py +0 -0
  43. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/search_agent.py +0 -0
  44. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/task_agent.py +0 -0
  45. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/tool_agents/__init__.py +0 -0
  46. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/tool_agents/base.py +0 -0
  47. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  48. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/apibank.py +0 -0
  49. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/apibench.py +0 -0
  50. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/base.py +0 -0
  51. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/gaia.py +0 -0
  52. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/nexus.py +0 -0
  53. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/benchmarks/ragbench.py +0 -0
  54. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/__init__.py +0 -0
  55. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/discord/__init__.py +0 -0
  56. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/discord/discord_app.py +0 -0
  57. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/discord/discord_installation.py +0 -0
  58. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/discord/discord_store.py +0 -0
  59. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/slack/__init__.py +0 -0
  60. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/slack/models.py +0 -0
  61. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/slack/slack_app.py +0 -0
  62. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/bots/telegram_bot.py +0 -0
  63. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/__init__.py +0 -0
  64. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/aiml_config.py +0 -0
  65. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/anthropic_config.py +0 -0
  66. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/base_config.py +0 -0
  67. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/bedrock_config.py +0 -0
  68. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/cohere_config.py +0 -0
  69. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/deepseek_config.py +0 -0
  70. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/gemini_config.py +0 -0
  71. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/groq_config.py +0 -0
  72. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/internlm_config.py +0 -0
  73. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/litellm_config.py +0 -0
  74. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/lmstudio_config.py +0 -0
  75. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/mistral_config.py +0 -0
  76. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/modelscope_config.py +0 -0
  77. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/moonshot_config.py +0 -0
  78. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/netmind_config.py +0 -0
  79. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/novita_config.py +0 -0
  80. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/nvidia_config.py +0 -0
  81. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/ollama_config.py +0 -0
  82. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/openai_config.py +0 -0
  83. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/openrouter_config.py +0 -0
  84. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/ppio_config.py +0 -0
  85. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/qwen_config.py +0 -0
  86. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/reka_config.py +0 -0
  87. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/samba_config.py +0 -0
  88. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/sglang_config.py +0 -0
  89. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/siliconflow_config.py +0 -0
  90. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/togetherai_config.py +0 -0
  91. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/vllm_config.py +0 -0
  92. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/watsonx_config.py +0 -0
  93. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/yi_config.py +0 -0
  94. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/configs/zhipuai_config.py +0 -0
  95. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/data_collector/__init__.py +0 -0
  96. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/data_collector/alpaca_collector.py +0 -0
  97. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/data_collector/base.py +0 -0
  98. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/data_collector/sharegpt_collector.py +0 -0
  99. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/__init__.py +0 -0
  100. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/cot_datagen.py +0 -0
  101. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/evol_instruct/__init__.py +0 -0
  102. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  103. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/evol_instruct/scorer.py +0 -0
  104. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/evol_instruct/templates.py +0 -0
  105. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_improving_cot.py +0 -0
  106. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/__init__.py +0 -0
  107. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  108. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  109. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  110. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  111. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/self_instruct.py +0 -0
  112. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/self_instruct/templates.py +0 -0
  113. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/source2synth/__init__.py +0 -0
  114. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/source2synth/data_processor.py +0 -0
  115. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/source2synth/models.py +0 -0
  116. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  117. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datahubs/__init__.py +0 -0
  118. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datahubs/base.py +0 -0
  119. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datahubs/huggingface.py +0 -0
  120. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datahubs/models.py +0 -0
  121. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/__init__.py +0 -0
  122. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/base_generator.py +0 -0
  123. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/few_shot_generator.py +0 -0
  124. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/models.py +0 -0
  125. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/self_instruct_generator.py +0 -0
  126. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/datasets/static_dataset.py +0 -0
  127. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/__init__.py +0 -0
  128. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/azure_embedding.py +0 -0
  129. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/base.py +0 -0
  130. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/gemini_embedding.py +0 -0
  131. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/jina_embedding.py +0 -0
  132. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/mistral_embedding.py +0 -0
  133. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/openai_compatible_embedding.py +0 -0
  134. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/openai_embedding.py +0 -0
  135. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  136. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/together_embedding.py +0 -0
  137. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/embeddings/vlm_embedding.py +0 -0
  138. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/environments/__init__.py +0 -0
  139. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/environments/models.py +0 -0
  140. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/environments/multi_step.py +0 -0
  141. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/environments/single_step.py +0 -0
  142. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/environments/tic_tac_toe.py +0 -0
  143. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/extractors/__init__.py +0 -0
  144. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/extractors/base.py +0 -0
  145. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/extractors/python_strategies.py +0 -0
  146. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/generators.py +0 -0
  147. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/__init__.py +0 -0
  148. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/base.py +0 -0
  149. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/docker/Dockerfile +0 -0
  150. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/docker_interpreter.py +0 -0
  151. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/e2b_interpreter.py +0 -0
  152. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/internal_python_interpreter.py +0 -0
  153. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/interpreter_error.py +0 -0
  154. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/ipython_interpreter.py +0 -0
  155. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/interpreters/subprocess_interpreter.py +0 -0
  156. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/apify_reader.py +0 -0
  157. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/base_io.py +0 -0
  158. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/chunkr_reader.py +0 -0
  159. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/crawl4ai_reader.py +0 -0
  160. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/firecrawl_reader.py +0 -0
  161. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/jina_url_reader.py +0 -0
  162. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/mineru_extractor.py +0 -0
  163. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/pandas_reader.py +0 -0
  164. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/scrapegraph_reader.py +0 -0
  165. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/loaders/unstructured_io.py +0 -0
  166. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/logger.py +0 -0
  167. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/__init__.py +0 -0
  168. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/agent_memories.py +0 -0
  169. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/base.py +0 -0
  170. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/blocks/__init__.py +0 -0
  171. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/blocks/chat_history_block.py +0 -0
  172. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/blocks/vectordb_block.py +0 -0
  173. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/context_creators/__init__.py +0 -0
  174. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/context_creators/score_based.py +0 -0
  175. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/memories/records.py +0 -0
  176. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/__init__.py +0 -0
  177. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/base.py +0 -0
  178. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/__init__.py +0 -0
  179. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/alpaca.py +0 -0
  180. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/conversation_models.py +0 -0
  181. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  182. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  183. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  184. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  185. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/messages/func_message.py +0 -0
  186. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/__init__.py +0 -0
  187. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/_utils.py +0 -0
  188. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/aiml_model.py +0 -0
  189. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/anthropic_model.py +0 -0
  190. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/aws_bedrock_model.py +0 -0
  191. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/azure_openai_model.py +0 -0
  192. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/base_audio_model.py +0 -0
  193. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/base_model.py +0 -0
  194. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/cohere_model.py +0 -0
  195. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/deepseek_model.py +0 -0
  196. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/fish_audio_model.py +0 -0
  197. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/gemini_model.py +0 -0
  198. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/groq_model.py +0 -0
  199. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/internlm_model.py +0 -0
  200. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/litellm_model.py +0 -0
  201. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/lmstudio_model.py +0 -0
  202. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/mistral_model.py +0 -0
  203. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/model_factory.py +0 -0
  204. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/model_manager.py +0 -0
  205. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/modelscope_model.py +0 -0
  206. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/moonshot_model.py +0 -0
  207. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/nemotron_model.py +0 -0
  208. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/netmind_model.py +0 -0
  209. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/novita_model.py +0 -0
  210. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/nvidia_model.py +0 -0
  211. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/ollama_model.py +0 -0
  212. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/openai_audio_models.py +0 -0
  213. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/openai_model.py +0 -0
  214. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/openrouter_model.py +0 -0
  215. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/ppio_model.py +0 -0
  216. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/qwen_model.py +0 -0
  217. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reka_model.py +0 -0
  218. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reward/__init__.py +0 -0
  219. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reward/base_reward_model.py +0 -0
  220. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reward/evaluator.py +0 -0
  221. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reward/nemotron_model.py +0 -0
  222. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/reward/skywork_model.py +0 -0
  223. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/samba_model.py +0 -0
  224. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/sglang_model.py +0 -0
  225. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/siliconflow_model.py +0 -0
  226. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/stub_model.py +0 -0
  227. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/togetherai_model.py +0 -0
  228. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/vllm_model.py +0 -0
  229. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/volcano_model.py +0 -0
  230. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/watsonx_model.py +0 -0
  231. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/yi_model.py +0 -0
  232. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/models/zhipuai_model.py +0 -0
  233. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/personas/__init__.py +0 -0
  234. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/personas/persona.py +0 -0
  235. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/personas/persona_hub.py +0 -0
  236. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/__init__.py +0 -0
  237. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/ai_society.py +0 -0
  238. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/base.py +0 -0
  239. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/code.py +0 -0
  240. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/evaluation.py +0 -0
  241. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/generate_text_embedding_data.py +0 -0
  242. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/image_craft.py +0 -0
  243. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/misalignment.py +0 -0
  244. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/multi_condition_image_craft.py +0 -0
  245. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/object_recognition.py +0 -0
  246. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/persona_hub.py +0 -0
  247. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/prompt_templates.py +0 -0
  248. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/role_description_prompt_template.py +0 -0
  249. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/solution_extraction.py +0 -0
  250. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/task_prompt_template.py +0 -0
  251. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/translation.py +0 -0
  252. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/prompts/video_description_prompt.py +0 -0
  253. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/py.typed +0 -0
  254. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/responses/__init__.py +0 -0
  255. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/responses/agent_responses.py +0 -0
  256. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/__init__.py +0 -0
  257. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/auto_retriever.py +0 -0
  258. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/base.py +0 -0
  259. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/bm25_retriever.py +0 -0
  260. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  261. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/hybrid_retrival.py +0 -0
  262. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/retrievers/vector_retriever.py +0 -0
  263. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/__init__.py +0 -0
  264. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/api.py +0 -0
  265. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/base.py +0 -0
  266. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/configs.py +0 -0
  267. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/daytona_runtime.py +0 -0
  268. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/docker_runtime.py +0 -0
  269. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/llm_guard_runtime.py +0 -0
  270. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/remote_http_runtime.py +0 -0
  271. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/ubuntu_docker_runtime.py +0 -0
  272. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/utils/__init__.py +0 -0
  273. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/utils/function_risk_toolkit.py +0 -0
  274. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
  275. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/schemas/__init__.py +0 -0
  276. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/schemas/base.py +0 -0
  277. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/schemas/openai_converter.py +0 -0
  278. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/schemas/outlines_converter.py +0 -0
  279. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/__init__.py +0 -0
  280. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/babyagi_playing.py +0 -0
  281. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/__init__.py +0 -0
  282. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/base.py +0 -0
  283. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/prompts.py +0 -0
  284. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/single_agent_worker.py +0 -0
  285. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/task_channel.py +0 -0
  286. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/utils.py +0 -0
  287. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/societies/workforce/worker.py +0 -0
  288. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/__init__.py +0 -0
  289. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/graph_storages/__init__.py +0 -0
  290. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/graph_storages/base.py +0 -0
  291. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/graph_storages/graph_element.py +0 -0
  292. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/graph_storages/nebula_graph.py +0 -0
  293. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  294. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/__init__.py +0 -0
  295. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/base.py +0 -0
  296. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/in_memory.py +0 -0
  297. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/json.py +0 -0
  298. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  299. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/key_value_storages/redis.py +0 -0
  300. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/object_storages/__init__.py +0 -0
  301. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/object_storages/amazon_s3.py +0 -0
  302. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/object_storages/azure_blob.py +0 -0
  303. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/object_storages/base.py +0 -0
  304. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/object_storages/google_cloud.py +0 -0
  305. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/__init__.py +0 -0
  306. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/base.py +0 -0
  307. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/milvus.py +0 -0
  308. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/oceanbase.py +0 -0
  309. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/qdrant.py +0 -0
  310. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/storages/vectordb_storages/tidb.py +0 -0
  311. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/tasks/__init__.py +0 -0
  312. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/tasks/task.py +0 -0
  313. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/tasks/task_prompt.py +0 -0
  314. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/terminators/__init__.py +0 -0
  315. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/terminators/base.py +0 -0
  316. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/terminators/response_terminator.py +0 -0
  317. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/terminators/token_limit_terminator.py +0 -0
  318. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/aci_toolkit.py +0 -0
  319. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/arxiv_toolkit.py +0 -0
  320. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/ask_news_toolkit.py +0 -0
  321. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  322. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/code_execution.py +0 -0
  323. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/dalle_toolkit.py +0 -0
  324. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/dappier_toolkit.py +0 -0
  325. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/data_commons_toolkit.py +0 -0
  326. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/file_write_toolkit.py +0 -0
  327. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/github_toolkit.py +0 -0
  328. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/google_calendar_toolkit.py +0 -0
  329. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/google_maps_toolkit.py +0 -0
  330. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/google_scholar_toolkit.py +0 -0
  331. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/human_toolkit.py +0 -0
  332. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/image_analysis_toolkit.py +0 -0
  333. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/jina_reranker_toolkit.py +0 -0
  334. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/klavis_toolkit.py +0 -0
  335. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/linkedin_toolkit.py +0 -0
  336. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/math_toolkit.py +0 -0
  337. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/memory_toolkit.py +0 -0
  338. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/meshy_toolkit.py +0 -0
  339. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/mineru_toolkit.py +0 -0
  340. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/networkx_toolkit.py +0 -0
  341. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/notion_toolkit.py +0 -0
  342. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  343. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  344. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  345. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  346. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  347. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  348. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  349. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  350. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  351. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  352. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  353. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  354. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  355. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  356. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  357. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  358. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  359. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/security_config.py +0 -0
  360. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  361. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  362. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  363. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  364. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  365. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  366. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  367. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/open_api_toolkit.py +0 -0
  368. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/openai_agent_toolkit.py +0 -0
  369. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/openbb_toolkit.py +0 -0
  370. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/page_script.js +0 -0
  371. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
  372. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/pubmed_toolkit.py +0 -0
  373. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
  374. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/pyautogui_toolkit.py +0 -0
  375. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/reddit_toolkit.py +0 -0
  376. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/retrieval_toolkit.py +0 -0
  377. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/searxng_toolkit.py +0 -0
  378. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  379. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/slack_toolkit.py +0 -0
  380. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/stripe_toolkit.py +0 -0
  381. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/sympy_toolkit.py +0 -0
  382. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/terminal_toolkit.py +0 -0
  383. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/thinking_toolkit.py +0 -0
  384. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/twitter_toolkit.py +0 -0
  385. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/video_analysis_toolkit.py +0 -0
  386. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/video_download_toolkit.py +0 -0
  387. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/weather_toolkit.py +0 -0
  388. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/whatsapp_toolkit.py +0 -0
  389. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/toolkits/zapier_toolkit.py +0 -0
  390. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/agents/__init__.py +0 -0
  391. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/agents/tool_calling_record.py +0 -0
  392. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/openai_types.py +0 -0
  393. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/types/unified_model_type.py +0 -0
  394. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/__init__.py +0 -0
  395. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/async_func.py +0 -0
  396. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/chunker/__init__.py +0 -0
  397. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/chunker/base.py +0 -0
  398. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/chunker/code_chunker.py +0 -0
  399. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/chunker/uio_chunker.py +0 -0
  400. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/commons.py +0 -0
  401. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/constants.py +0 -0
  402. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/deduplication.py +0 -0
  403. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/filename.py +0 -0
  404. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/mcp.py +0 -0
  405. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/response_format.py +0 -0
  406. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/utils/token_counting.py +0 -0
  407. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/__init__.py +0 -0
  408. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/base.py +0 -0
  409. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/math_verifier.py +0 -0
  410. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/models.py +0 -0
  411. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/physics_verifier.py +0 -0
  412. {camel_ai-0.2.57 → camel_ai-0.2.59}/camel/verifiers/python_verifier.py +0 -0
@@ -430,4 +430,7 @@ benchmark/gaia/Dataset
430
430
  benchmark/gaia/results.jsonl
431
431
 
432
432
  # Secret files for docker
433
- .container/.env
433
+ .container/.env
434
+
435
+ # Environment variables file
436
+ .env
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: camel-ai
3
- Version: 0.2.57
3
+ Version: 0.2.59
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
@@ -65,6 +65,7 @@ Requires-Dist: ipykernel<7,>=6.0.0; extra == 'all'
65
65
  Requires-Dist: jupyter-client<9,>=8.6.2; extra == 'all'
66
66
  Requires-Dist: linkup-sdk<0.3,>=0.2.1; extra == 'all'
67
67
  Requires-Dist: litellm<2,>=1.38.1; extra == 'all'
68
+ Requires-Dist: markitdown==0.1.1; extra == 'all'
68
69
  Requires-Dist: math-verify<0.8,>=0.7.0; extra == 'all'
69
70
  Requires-Dist: mcp>=1.3.0; extra == 'all'
70
71
  Requires-Dist: mem0ai>=0.1.67; extra == 'all'
@@ -196,6 +197,7 @@ Requires-Dist: crawl4ai>=0.3.745; extra == 'document-tools'
196
197
  Requires-Dist: docx2txt<0.9,>=0.8; extra == 'document-tools'
197
198
  Requires-Dist: docx>=0.2.4; extra == 'document-tools'
198
199
  Requires-Dist: fpdf>=1.7.2; extra == 'document-tools'
200
+ Requires-Dist: markitdown==0.1.1; extra == 'document-tools'
199
201
  Requires-Dist: numpy~=1.26; extra == 'document-tools'
200
202
  Requires-Dist: openapi-spec-validator<0.8,>=0.7.1; extra == 'document-tools'
201
203
  Requires-Dist: openpyxl>=3.1.5; extra == 'document-tools'
@@ -598,7 +600,7 @@ Please reach out to us on [CAMEL discord](https://discord.camel-ai.org/) if you
598
600
 
599
601
  <div align="center">
600
602
  <a href="https://docs.camel-ai.org">
601
- <img src="docs/images/techstack.png" alt="TechStack">
603
+ <img src="https://camel-ai.github.io/camel_asset/graphics/techstack.png" alt="TechStack">
602
604
  </a>
603
605
  </div>
604
606
 
@@ -260,7 +260,7 @@ Please reach out to us on [CAMEL discord](https://discord.camel-ai.org/) if you
260
260
 
261
261
  <div align="center">
262
262
  <a href="https://docs.camel-ai.org">
263
- <img src="docs/images/techstack.png" alt="TechStack">
263
+ <img src="https://camel-ai.github.io/camel_asset/graphics/techstack.png" alt="TechStack">
264
264
  </a>
265
265
  </div>
266
266
 
@@ -14,11 +14,10 @@
14
14
 
15
15
  from camel.logger import disable_logging, enable_logging, set_log_level
16
16
 
17
- __version__ = '0.2.57'
17
+ __version__ = '0.2.59'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
21
- 'camel',
22
21
  'disable_logging',
23
22
  'enable_logging',
24
23
  'set_log_level',
@@ -442,6 +442,11 @@ class ChatAgent(BaseAgent):
442
442
  new_tool = convert_to_function_tool(tool)
443
443
  self._internal_tools[new_tool.get_function_name()] = new_tool
444
444
 
445
+ def add_tools(self, tools: List[Union[FunctionTool, Callable]]) -> None:
446
+ r"""Add a list of tools to the agent."""
447
+ for tool in tools:
448
+ self.add_tool(tool)
449
+
445
450
  def add_external_tool(
446
451
  self, tool: Union[FunctionTool, Callable, Dict[str, Any]]
447
452
  ) -> None:
@@ -462,6 +467,11 @@ class ChatAgent(BaseAgent):
462
467
  return True
463
468
  return False
464
469
 
470
+ def remove_tools(self, tool_names: List[str]) -> None:
471
+ r"""Remove a list of tools from the agent by name."""
472
+ for tool_name in tool_names:
473
+ self.remove_tool(tool_name)
474
+
465
475
  def remove_external_tool(self, tool_name: str) -> bool:
466
476
  r"""Remove an external tool from the agent by name.
467
477
 
@@ -748,9 +758,17 @@ class ChatAgent(BaseAgent):
748
758
  tool_call_records: List[ToolCallingRecord] = []
749
759
  external_tool_call_requests: Optional[List[ToolCallRequest]] = None
750
760
 
761
+ accumulated_context_tokens = (
762
+ 0 # This tracks cumulative context tokens, not API usage tokens
763
+ )
764
+
765
+ # Initialize token usage tracker
766
+ step_token_usage = self._create_token_usage_tracker()
767
+
751
768
  while True:
752
769
  try:
753
770
  openai_messages, num_tokens = self.memory.get_context()
771
+ accumulated_context_tokens += num_tokens
754
772
  except RuntimeError as e:
755
773
  return self._step_terminate(
756
774
  e.args[1], tool_call_records, "max_tokens_exceeded"
@@ -758,16 +776,23 @@ class ChatAgent(BaseAgent):
758
776
  # Get response from model backend
759
777
  response = self._get_model_response(
760
778
  openai_messages,
761
- num_tokens,
779
+ accumulated_context_tokens, # Cumulative context tokens
762
780
  response_format,
763
781
  self._get_full_tool_schemas(),
764
782
  )
765
783
 
784
+ # Accumulate API token usage
785
+ self._update_token_usage_tracker(
786
+ step_token_usage, response.usage_dict
787
+ )
788
+
766
789
  # Terminate Agent if stop_event is set
767
790
  if self.stop_event and self.stop_event.is_set():
768
791
  # Use the _step_terminate to terminate the agent with reason
769
792
  return self._step_terminate(
770
- num_tokens, tool_call_records, "termination_triggered"
793
+ accumulated_context_tokens,
794
+ tool_call_records,
795
+ "termination_triggered",
771
796
  )
772
797
 
773
798
  if tool_call_requests := response.tool_call_requests:
@@ -803,8 +828,11 @@ class ChatAgent(BaseAgent):
803
828
  return self._convert_to_chatagent_response(
804
829
  response,
805
830
  tool_call_records,
806
- num_tokens,
831
+ accumulated_context_tokens,
807
832
  external_tool_call_requests,
833
+ step_token_usage["prompt_tokens"],
834
+ step_token_usage["completion_tokens"],
835
+ step_token_usage["total_tokens"],
808
836
  )
809
837
 
810
838
  @property
@@ -847,9 +875,16 @@ class ChatAgent(BaseAgent):
847
875
 
848
876
  tool_call_records: List[ToolCallingRecord] = []
849
877
  external_tool_call_requests: Optional[List[ToolCallRequest]] = None
878
+ accumulated_context_tokens = (
879
+ 0 # This tracks cumulative context tokens, not API usage tokens
880
+ )
881
+
882
+ # Initialize token usage tracker
883
+ step_token_usage = self._create_token_usage_tracker()
850
884
  while True:
851
885
  try:
852
886
  openai_messages, num_tokens = self.memory.get_context()
887
+ accumulated_context_tokens += num_tokens
853
888
  except RuntimeError as e:
854
889
  return self._step_terminate(
855
890
  e.args[1], tool_call_records, "max_tokens_exceeded"
@@ -857,7 +892,7 @@ class ChatAgent(BaseAgent):
857
892
 
858
893
  response = await self._aget_model_response(
859
894
  openai_messages,
860
- num_tokens,
895
+ accumulated_context_tokens,
861
896
  response_format,
862
897
  self._get_full_tool_schemas(),
863
898
  )
@@ -866,7 +901,9 @@ class ChatAgent(BaseAgent):
866
901
  if self.stop_event and self.stop_event.is_set():
867
902
  # Use the _step_terminate to terminate the agent with reason
868
903
  return self._step_terminate(
869
- num_tokens, tool_call_records, "termination_triggered"
904
+ accumulated_context_tokens,
905
+ tool_call_records,
906
+ "termination_triggered",
870
907
  )
871
908
 
872
909
  if tool_call_requests := response.tool_call_requests:
@@ -900,28 +937,68 @@ class ChatAgent(BaseAgent):
900
937
  await self._aformat_response_if_needed(response, response_format)
901
938
  self._record_final_output(response.output_messages)
902
939
 
940
+ # Create token usage tracker for this step
941
+ step_token_usage = self._create_token_usage_tracker()
942
+
943
+ # Update with response usage
944
+ self._update_token_usage_tracker(step_token_usage, response.usage_dict)
945
+
903
946
  return self._convert_to_chatagent_response(
904
947
  response,
905
948
  tool_call_records,
906
- num_tokens,
949
+ accumulated_context_tokens,
907
950
  external_tool_call_requests,
951
+ step_token_usage["prompt_tokens"],
952
+ step_token_usage["completion_tokens"],
953
+ step_token_usage["total_tokens"],
908
954
  )
909
955
 
956
+ def _create_token_usage_tracker(self) -> Dict[str, int]:
957
+ r"""Creates a fresh token usage tracker for a step.
958
+
959
+ Returns:
960
+ Dict[str, int]: A dictionary for tracking token usage.
961
+ """
962
+ return {"prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0}
963
+
964
+ def _update_token_usage_tracker(
965
+ self, tracker: Dict[str, int], usage_dict: Dict[str, int]
966
+ ) -> None:
967
+ r"""Updates a token usage tracker with values from a usage dictionary.
968
+
969
+ Args:
970
+ tracker (Dict[str, int]): The token usage tracker to update.
971
+ usage_dict (Dict[str, int]): The usage dictionary with new values.
972
+ """
973
+ tracker["prompt_tokens"] += usage_dict.get("prompt_tokens", 0)
974
+ tracker["completion_tokens"] += usage_dict.get("completion_tokens", 0)
975
+ tracker["total_tokens"] += usage_dict.get("total_tokens", 0)
976
+
910
977
  def _convert_to_chatagent_response(
911
978
  self,
912
979
  response: ModelResponse,
913
980
  tool_call_records: List[ToolCallingRecord],
914
- num_tokens: int,
981
+ num_tokens: int, # Context tokens from the last call in step
915
982
  external_tool_call_requests: Optional[List[ToolCallRequest]],
983
+ step_api_prompt_tokens: int = 0,
984
+ step_api_completion_tokens: int = 0,
985
+ step_api_total_tokens: int = 0,
916
986
  ) -> ChatAgentResponse:
917
987
  r"""Parse the final model response into the chat agent response."""
988
+ # Create usage_dict for the current step's API calls
989
+ step_api_usage_dict = {
990
+ "prompt_tokens": step_api_prompt_tokens,
991
+ "completion_tokens": step_api_completion_tokens,
992
+ "total_tokens": step_api_total_tokens,
993
+ }
994
+
918
995
  info = self._step_get_info(
919
996
  response.output_messages,
920
997
  response.finish_reasons,
921
- response.usage_dict,
998
+ step_api_usage_dict, # Pass step-specific API usage here
922
999
  response.response_id,
923
1000
  tool_call_records,
924
- num_tokens,
1001
+ num_tokens, # This is context tokens, not API usage
925
1002
  external_tool_call_requests,
926
1003
  )
927
1004
 
@@ -1570,6 +1647,56 @@ class ChatAgent(BaseAgent):
1570
1647
  """
1571
1648
  self.model_backend.add_strategy(name, strategy_fn)
1572
1649
 
1650
+ def clone(self, with_memory: bool = False) -> ChatAgent:
1651
+ r"""Creates a new instance of :obj:`ChatAgent` with the same
1652
+ configuration as the current instance.
1653
+
1654
+ Args:
1655
+ with_memory (bool): Whether to copy the memory (conversation
1656
+ history) to the new agent. If True, the new agent will have
1657
+ the same conversation history. If False, the new agent will
1658
+ have a fresh memory with only the system message.
1659
+ (default: :obj:`False`)
1660
+
1661
+ Returns:
1662
+ ChatAgent: A new instance of :obj:`ChatAgent` with the same
1663
+ configuration.
1664
+ """
1665
+ # Create a new instance with the same configuration
1666
+ # If with_memory is True, set system_message to None
1667
+ # If with_memory is False, use the original system message
1668
+ # To avoid duplicated system memory.
1669
+ system_message = None if with_memory else self._original_system_message
1670
+
1671
+ new_agent = ChatAgent(
1672
+ system_message=system_message,
1673
+ model=self.model_backend.models, # Pass the existing model_backend
1674
+ memory=None, # clone memory later
1675
+ message_window_size=getattr(self.memory, "window_size", None),
1676
+ token_limit=getattr(
1677
+ self.memory.get_context_creator(), "token_limit", None
1678
+ ),
1679
+ output_language=self._output_language,
1680
+ tools=list(self._internal_tools.values()),
1681
+ external_tools=[
1682
+ schema for schema in self._external_tool_schemas.values()
1683
+ ],
1684
+ response_terminators=self.response_terminators,
1685
+ scheduling_strategy=self.model_backend.scheduling_strategy.__name__,
1686
+ single_iteration=self.single_iteration,
1687
+ stop_event=self.stop_event,
1688
+ )
1689
+
1690
+ # Copy memory if requested
1691
+ if with_memory:
1692
+ # Get all records from the current memory
1693
+ context_records = self.memory.retrieve()
1694
+ # Write them to the new agent's memory
1695
+ for context_record in context_records:
1696
+ new_agent.memory.write_record(context_record.memory_record)
1697
+
1698
+ return new_agent
1699
+
1573
1700
  def __repr__(self) -> str:
1574
1701
  r"""Returns a string representation of the :obj:`ChatAgent`.
1575
1702
 
@@ -13,7 +13,7 @@
13
13
  # ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
14
14
  import random
15
15
  import warnings
16
- from typing import Any, Dict, Optional, Sequence
16
+ from typing import Any, Dict, List, Optional, Sequence, Tuple, Union
17
17
 
18
18
  from colorama import Fore
19
19
 
@@ -22,6 +22,7 @@ from camel.memories import AgentMemory
22
22
  from camel.messages import BaseMessage
23
23
  from camel.models import BaseModelBackend
24
24
  from camel.responses import ChatAgentResponse
25
+ from camel.types import ModelPlatformType, ModelType
25
26
  from camel.utils import get_first_int, print_text_animated
26
27
 
27
28
  # AgentOps decorator setting
@@ -41,11 +42,18 @@ class CriticAgent(ChatAgent):
41
42
  r"""A class for the critic agent that assists in selecting an option.
42
43
 
43
44
  Args:
44
- system_message (BaseMessage): The system message for the critic
45
- agent.
46
- model (BaseModelBackend, optional): The model backend to use for
47
- generating responses. (default: :obj:`OpenAIModel` with
48
- `GPT_4O_MINI`)
45
+ system_message (Union[BaseMessage, str], optional): The system message
46
+ for the chat agent. (default: :obj:`None`)
47
+ model (Union[BaseModelBackend, Tuple[str, str], str, ModelType,
48
+ Tuple[ModelPlatformType, ModelType], List[BaseModelBackend],
49
+ List[str], List[ModelType], List[Tuple[str, str]],
50
+ List[Tuple[ModelPlatformType, ModelType]]], optional):
51
+ The model backend(s) to use. Can be a single instance,
52
+ a specification (string, enum, tuple), or a list of instances
53
+ or specifications to be managed by `ModelManager`. If a list of
54
+ specifications (not `BaseModelBackend` instances) is provided,
55
+ they will be instantiated using `ModelFactory`. (default:
56
+ :obj:`ModelPlatformType.DEFAULT` with `ModelType.DEFAULT`)
49
57
  message_window_size (int, optional): The maximum number of previous
50
58
  messages to include in the context window. If `None`, no windowing
51
59
  is performed. (default: :obj:`6`)
@@ -58,8 +66,21 @@ class CriticAgent(ChatAgent):
58
66
 
59
67
  def __init__(
60
68
  self,
61
- system_message: BaseMessage,
62
- model: Optional[BaseModelBackend] = None,
69
+ system_message: Optional[Union[BaseMessage, str]] = None,
70
+ model: Optional[
71
+ Union[
72
+ BaseModelBackend,
73
+ Tuple[str, str],
74
+ str,
75
+ ModelType,
76
+ Tuple[ModelPlatformType, ModelType],
77
+ List[BaseModelBackend],
78
+ List[str],
79
+ List[ModelType],
80
+ List[Tuple[str, str]],
81
+ List[Tuple[ModelPlatformType, ModelType]],
82
+ ]
83
+ ] = None,
63
84
  memory: Optional[AgentMemory] = None,
64
85
  message_window_size: int = 6,
65
86
  retry_attempts: int = 2,
@@ -200,3 +221,47 @@ class CriticAgent(ChatAgent):
200
221
  terminated=False,
201
222
  info={},
202
223
  )
224
+
225
+ def clone(self, with_memory: bool = False) -> 'CriticAgent':
226
+ r"""Creates a new instance of :obj:`CriticAgent` with the same
227
+ configuration as the current instance.
228
+
229
+ Args:
230
+ with_memory (bool): Whether to copy the memory (conversation
231
+ history) to the new agent. If True, the new agent will have
232
+ the same conversation history. If False, the new agent will
233
+ have a fresh memory with only the system message.
234
+ (default: :obj:`False`)
235
+
236
+ Returns:
237
+ CriticAgent: A new instance of :obj:`CriticAgent` with the same
238
+ configuration.
239
+ """
240
+ # Create a new instance with the same configuration
241
+ # If with_memory is True, set system_message to None
242
+ # If with_memory is False, use the original system message
243
+ # To avoid duplicated system memory.
244
+ system_message = None if with_memory else self._original_system_message
245
+
246
+ new_agent = CriticAgent(
247
+ system_message=system_message,
248
+ model=self.model_backend.models, # Pass the existing model_backend
249
+ memory=None, # clone memory later
250
+ message_window_size=getattr(self.memory, "window_size", 6),
251
+ retry_attempts=self.retry_attempts,
252
+ verbose=self.verbose,
253
+ logger_color=self.logger_color,
254
+ )
255
+
256
+ # Copy memory if requested
257
+ if with_memory:
258
+ # Get all records from the current memory
259
+ context_records = self.memory.retrieve()
260
+ # Write them to the new agent's memory
261
+ for context_record in context_records:
262
+ new_agent.memory.write_record(context_record.memory_record)
263
+
264
+ # Copy CriticAgent-specific attributes
265
+ new_agent.options_dict = self.options_dict.copy()
266
+
267
+ return new_agent