camel-ai 0.2.40__tar.gz → 0.2.41__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 (375) hide show
  1. {camel_ai-0.2.40 → camel_ai-0.2.41}/PKG-INFO +2 -1
  2. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/__init__.py +1 -1
  3. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/chat_agent.py +6 -6
  4. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/few_shot_generator.py +14 -6
  5. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/blocks/chat_history_block.py +46 -3
  6. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/enums.py +1 -0
  7. {camel_ai-0.2.40 → camel_ai-0.2.41}/pyproject.toml +2 -1
  8. {camel_ai-0.2.40 → camel_ai-0.2.41}/.gitignore +0 -0
  9. {camel_ai-0.2.40 → camel_ai-0.2.41}/LICENSE +0 -0
  10. {camel_ai-0.2.40 → camel_ai-0.2.41}/README.md +0 -0
  11. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/__init__.py +0 -0
  12. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/_types.py +0 -0
  13. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/_utils.py +0 -0
  14. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/base.py +0 -0
  15. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/critic_agent.py +0 -0
  16. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/deductive_reasoner_agent.py +0 -0
  17. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/embodied_agent.py +0 -0
  18. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/knowledge_graph_agent.py +0 -0
  19. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/multi_hop_generator_agent.py +0 -0
  20. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/programmed_agent_instruction.py +0 -0
  21. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/repo_agent.py +0 -0
  22. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/role_assignment_agent.py +0 -0
  23. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/search_agent.py +0 -0
  24. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/task_agent.py +0 -0
  25. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/tool_agents/__init__.py +0 -0
  26. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/tool_agents/base.py +0 -0
  27. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  28. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/__init__.py +0 -0
  29. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/apibank.py +0 -0
  30. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/apibench.py +0 -0
  31. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/base.py +0 -0
  32. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/gaia.py +0 -0
  33. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/nexus.py +0 -0
  34. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/benchmarks/ragbench.py +0 -0
  35. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/__init__.py +0 -0
  36. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/discord/__init__.py +0 -0
  37. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/discord/discord_app.py +0 -0
  38. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/discord/discord_installation.py +0 -0
  39. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/discord/discord_store.py +0 -0
  40. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/slack/__init__.py +0 -0
  41. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/slack/models.py +0 -0
  42. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/slack/slack_app.py +0 -0
  43. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/bots/telegram_bot.py +0 -0
  44. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/__init__.py +0 -0
  45. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/aiml_config.py +0 -0
  46. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/anthropic_config.py +0 -0
  47. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/base_config.py +0 -0
  48. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/cohere_config.py +0 -0
  49. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/deepseek_config.py +0 -0
  50. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/gemini_config.py +0 -0
  51. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/groq_config.py +0 -0
  52. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/internlm_config.py +0 -0
  53. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/litellm_config.py +0 -0
  54. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/mistral_config.py +0 -0
  55. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/modelscope_config.py +0 -0
  56. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/moonshot_config.py +0 -0
  57. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/nvidia_config.py +0 -0
  58. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/ollama_config.py +0 -0
  59. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/openai_config.py +0 -0
  60. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/openrouter_config.py +0 -0
  61. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/qwen_config.py +0 -0
  62. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/reka_config.py +0 -0
  63. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/samba_config.py +0 -0
  64. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/sglang_config.py +0 -0
  65. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/siliconflow_config.py +0 -0
  66. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/togetherai_config.py +0 -0
  67. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/vllm_config.py +0 -0
  68. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/yi_config.py +0 -0
  69. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/configs/zhipuai_config.py +0 -0
  70. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/data_collector/__init__.py +0 -0
  71. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/data_collector/alpaca_collector.py +0 -0
  72. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/data_collector/base.py +0 -0
  73. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/data_collector/sharegpt_collector.py +0 -0
  74. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/__init__.py +0 -0
  75. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/cot_datagen.py +0 -0
  76. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/evol_instruct/__init__.py +0 -0
  77. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  78. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/evol_instruct/scorer.py +0 -0
  79. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/evol_instruct/templates.py +0 -0
  80. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_improving_cot.py +0 -0
  81. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/__init__.py +0 -0
  82. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  83. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  84. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  85. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  86. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/self_instruct.py +0 -0
  87. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/self_instruct/templates.py +0 -0
  88. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/source2synth/__init__.py +0 -0
  89. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/source2synth/data_processor.py +0 -0
  90. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/source2synth/models.py +0 -0
  91. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  92. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datahubs/__init__.py +0 -0
  93. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datahubs/base.py +0 -0
  94. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datahubs/huggingface.py +0 -0
  95. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datahubs/models.py +0 -0
  96. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/__init__.py +0 -0
  97. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/base_generator.py +0 -0
  98. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/models.py +0 -0
  99. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/self_instruct_generator.py +0 -0
  100. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/datasets/static_dataset.py +0 -0
  101. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/__init__.py +0 -0
  102. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/base.py +0 -0
  103. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/jina_embedding.py +0 -0
  104. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/mistral_embedding.py +0 -0
  105. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/openai_compatible_embedding.py +0 -0
  106. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/openai_embedding.py +0 -0
  107. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  108. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/embeddings/vlm_embedding.py +0 -0
  109. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/environments/__init__.py +0 -0
  110. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/environments/models.py +0 -0
  111. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/environments/multi_step.py +0 -0
  112. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/environments/single_step.py +0 -0
  113. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/extractors/__init__.py +0 -0
  114. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/extractors/base.py +0 -0
  115. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/extractors/python_strategies.py +0 -0
  116. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/generators.py +0 -0
  117. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/human.py +0 -0
  118. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/__init__.py +0 -0
  119. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/base.py +0 -0
  120. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/docker/Dockerfile +0 -0
  121. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/docker_interpreter.py +0 -0
  122. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/e2b_interpreter.py +0 -0
  123. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/internal_python_interpreter.py +0 -0
  124. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/interpreter_error.py +0 -0
  125. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/ipython_interpreter.py +0 -0
  126. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/interpreters/subprocess_interpreter.py +0 -0
  127. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/__init__.py +0 -0
  128. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/apify_reader.py +0 -0
  129. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/base_io.py +0 -0
  130. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/chunkr_reader.py +0 -0
  131. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/firecrawl_reader.py +0 -0
  132. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/jina_url_reader.py +0 -0
  133. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/mineru_extractor.py +0 -0
  134. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/pandas_reader.py +0 -0
  135. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/loaders/unstructured_io.py +0 -0
  136. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/logger.py +0 -0
  137. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/__init__.py +0 -0
  138. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/agent_memories.py +0 -0
  139. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/base.py +0 -0
  140. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/blocks/__init__.py +0 -0
  141. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/blocks/vectordb_block.py +0 -0
  142. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/context_creators/__init__.py +0 -0
  143. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/context_creators/score_based.py +0 -0
  144. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/memories/records.py +0 -0
  145. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/__init__.py +0 -0
  146. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/base.py +0 -0
  147. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/__init__.py +0 -0
  148. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/alpaca.py +0 -0
  149. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/conversation_models.py +0 -0
  150. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  151. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  152. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  153. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  154. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/messages/func_message.py +0 -0
  155. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/__init__.py +0 -0
  156. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/_utils.py +0 -0
  157. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/aiml_model.py +0 -0
  158. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/anthropic_model.py +0 -0
  159. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/azure_openai_model.py +0 -0
  160. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/base_audio_model.py +0 -0
  161. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/base_model.py +0 -0
  162. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/cohere_model.py +0 -0
  163. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/deepseek_model.py +0 -0
  164. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/fish_audio_model.py +0 -0
  165. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/gemini_model.py +0 -0
  166. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/groq_model.py +0 -0
  167. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/internlm_model.py +0 -0
  168. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/litellm_model.py +0 -0
  169. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/mistral_model.py +0 -0
  170. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/model_factory.py +0 -0
  171. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/model_manager.py +0 -0
  172. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/modelscope_model.py +0 -0
  173. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/moonshot_model.py +0 -0
  174. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/nemotron_model.py +0 -0
  175. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/nvidia_model.py +0 -0
  176. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/ollama_model.py +0 -0
  177. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/openai_audio_models.py +0 -0
  178. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/openai_compatible_model.py +0 -0
  179. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/openai_model.py +0 -0
  180. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/openrouter_model.py +0 -0
  181. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/qwen_model.py +0 -0
  182. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reka_model.py +0 -0
  183. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reward/__init__.py +0 -0
  184. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reward/base_reward_model.py +0 -0
  185. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reward/evaluator.py +0 -0
  186. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reward/nemotron_model.py +0 -0
  187. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/reward/skywork_model.py +0 -0
  188. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/samba_model.py +0 -0
  189. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/sglang_model.py +0 -0
  190. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/siliconflow_model.py +0 -0
  191. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/stub_model.py +0 -0
  192. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/togetherai_model.py +0 -0
  193. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/vllm_model.py +0 -0
  194. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/volcano_model.py +0 -0
  195. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/yi_model.py +0 -0
  196. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/models/zhipuai_model.py +0 -0
  197. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/personas/__init__.py +0 -0
  198. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/personas/persona.py +0 -0
  199. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/personas/persona_hub.py +0 -0
  200. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/__init__.py +0 -0
  201. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/ai_society.py +0 -0
  202. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/base.py +0 -0
  203. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/code.py +0 -0
  204. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/evaluation.py +0 -0
  205. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/generate_text_embedding_data.py +0 -0
  206. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/image_craft.py +0 -0
  207. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/misalignment.py +0 -0
  208. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/multi_condition_image_craft.py +0 -0
  209. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/object_recognition.py +0 -0
  210. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/persona_hub.py +0 -0
  211. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/prompt_templates.py +0 -0
  212. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/role_description_prompt_template.py +0 -0
  213. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/solution_extraction.py +0 -0
  214. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/task_prompt_template.py +0 -0
  215. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/translation.py +0 -0
  216. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/prompts/video_description_prompt.py +0 -0
  217. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/py.typed +0 -0
  218. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/responses/__init__.py +0 -0
  219. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/responses/agent_responses.py +0 -0
  220. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/__init__.py +0 -0
  221. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/auto_retriever.py +0 -0
  222. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/base.py +0 -0
  223. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/bm25_retriever.py +0 -0
  224. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  225. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/hybrid_retrival.py +0 -0
  226. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/retrievers/vector_retriever.py +0 -0
  227. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/__init__.py +0 -0
  228. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/api.py +0 -0
  229. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/base.py +0 -0
  230. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/configs.py +0 -0
  231. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/docker_runtime.py +0 -0
  232. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/llm_guard_runtime.py +0 -0
  233. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/remote_http_runtime.py +0 -0
  234. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/utils/__init__.py +0 -0
  235. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/utils/function_risk_toolkit.py +0 -0
  236. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/runtime/utils/ignore_risk_toolkit.py +0 -0
  237. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/schemas/__init__.py +0 -0
  238. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/schemas/base.py +0 -0
  239. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/schemas/openai_converter.py +0 -0
  240. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/schemas/outlines_converter.py +0 -0
  241. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/__init__.py +0 -0
  242. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/babyagi_playing.py +0 -0
  243. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/role_playing.py +0 -0
  244. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/__init__.py +0 -0
  245. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/base.py +0 -0
  246. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/prompts.py +0 -0
  247. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/role_playing_worker.py +0 -0
  248. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/single_agent_worker.py +0 -0
  249. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/task_channel.py +0 -0
  250. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/utils.py +0 -0
  251. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/worker.py +0 -0
  252. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/societies/workforce/workforce.py +0 -0
  253. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/__init__.py +0 -0
  254. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/graph_storages/__init__.py +0 -0
  255. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/graph_storages/base.py +0 -0
  256. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/graph_storages/graph_element.py +0 -0
  257. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/graph_storages/nebula_graph.py +0 -0
  258. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  259. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/__init__.py +0 -0
  260. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/base.py +0 -0
  261. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/in_memory.py +0 -0
  262. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/json.py +0 -0
  263. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  264. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/key_value_storages/redis.py +0 -0
  265. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/object_storages/__init__.py +0 -0
  266. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/object_storages/amazon_s3.py +0 -0
  267. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/object_storages/azure_blob.py +0 -0
  268. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/object_storages/base.py +0 -0
  269. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/object_storages/google_cloud.py +0 -0
  270. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/vectordb_storages/__init__.py +0 -0
  271. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/vectordb_storages/base.py +0 -0
  272. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/vectordb_storages/milvus.py +0 -0
  273. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/vectordb_storages/qdrant.py +0 -0
  274. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/storages/vectordb_storages/tidb.py +0 -0
  275. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/tasks/__init__.py +0 -0
  276. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/tasks/task.py +0 -0
  277. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/tasks/task_prompt.py +0 -0
  278. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/terminators/__init__.py +0 -0
  279. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/terminators/base.py +0 -0
  280. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/terminators/response_terminator.py +0 -0
  281. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/terminators/token_limit_terminator.py +0 -0
  282. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/__init__.py +0 -0
  283. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/arxiv_toolkit.py +0 -0
  284. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/ask_news_toolkit.py +0 -0
  285. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  286. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/base.py +0 -0
  287. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/browser_toolkit.py +0 -0
  288. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/code_execution.py +0 -0
  289. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/dalle_toolkit.py +0 -0
  290. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/dappier_toolkit.py +0 -0
  291. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/data_commons_toolkit.py +0 -0
  292. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/excel_toolkit.py +0 -0
  293. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/file_write_toolkit.py +0 -0
  294. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/function_tool.py +0 -0
  295. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/github_toolkit.py +0 -0
  296. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/google_maps_toolkit.py +0 -0
  297. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/google_scholar_toolkit.py +0 -0
  298. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/human_toolkit.py +0 -0
  299. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/image_analysis_toolkit.py +0 -0
  300. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/linkedin_toolkit.py +0 -0
  301. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/math_toolkit.py +0 -0
  302. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/mcp_toolkit.py +0 -0
  303. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/memory_toolkit.py +0 -0
  304. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/meshy_toolkit.py +0 -0
  305. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/mineru_toolkit.py +0 -0
  306. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/networkx_toolkit.py +0 -0
  307. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/notion_toolkit.py +0 -0
  308. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  309. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  310. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  311. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  312. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  313. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  314. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  315. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  316. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  317. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  318. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  319. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  320. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  321. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  322. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  323. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  324. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  325. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/security_config.py +0 -0
  326. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  327. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  328. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  329. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  330. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  331. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  332. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  333. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/open_api_toolkit.py +0 -0
  334. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/openai_agent_toolkit.py +0 -0
  335. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/openbb_toolkit.py +0 -0
  336. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/page_script.js +0 -0
  337. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/pubmed_toolkit.py +0 -0
  338. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/reddit_toolkit.py +0 -0
  339. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/retrieval_toolkit.py +0 -0
  340. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/search_toolkit.py +0 -0
  341. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/searxng_toolkit.py +0 -0
  342. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  343. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/slack_toolkit.py +0 -0
  344. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/stripe_toolkit.py +0 -0
  345. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/sympy_toolkit.py +0 -0
  346. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/terminal_toolkit.py +0 -0
  347. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/thinking_toolkit.py +0 -0
  348. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/twitter_toolkit.py +0 -0
  349. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/video_analysis_toolkit.py +0 -0
  350. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/video_download_toolkit.py +0 -0
  351. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/weather_toolkit.py +0 -0
  352. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/whatsapp_toolkit.py +0 -0
  353. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/toolkits/zapier_toolkit.py +0 -0
  354. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/__init__.py +0 -0
  355. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/agents/__init__.py +0 -0
  356. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/agents/tool_calling_record.py +0 -0
  357. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/openai_types.py +0 -0
  358. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/types/unified_model_type.py +0 -0
  359. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/__init__.py +0 -0
  360. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/async_func.py +0 -0
  361. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/chunker/__init__.py +0 -0
  362. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/chunker/base.py +0 -0
  363. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/chunker/code_chunker.py +0 -0
  364. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/chunker/uio_chunker.py +0 -0
  365. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/commons.py +0 -0
  366. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/constants.py +0 -0
  367. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/deduplication.py +0 -0
  368. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/mcp.py +0 -0
  369. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/response_format.py +0 -0
  370. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/utils/token_counting.py +0 -0
  371. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/verifiers/__init__.py +0 -0
  372. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/verifiers/base.py +0 -0
  373. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/verifiers/math_verifier.py +0 -0
  374. {camel_ai-0.2.40 → camel_ai-0.2.41}/camel/verifiers/models.py +0 -0
  375. {camel_ai-0.2.40 → camel_ai-0.2.41}/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.40
3
+ Version: 0.2.41
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
@@ -14,6 +14,7 @@ Requires-Dist: colorama<0.5,>=0.4.6
14
14
  Requires-Dist: docstring-parser<0.16,>=0.15
15
15
  Requires-Dist: httpx<1.0.0dev,>=0.28.0
16
16
  Requires-Dist: jsonschema<5,>=4
17
+ Requires-Dist: mcp>=1.3.0
17
18
  Requires-Dist: openai<2,>=1.68.0
18
19
  Requires-Dist: psutil<6,>=5.9.8
19
20
  Requires-Dist: pydantic<2.10,>=1.9
@@ -14,7 +14,7 @@
14
14
 
15
15
  from camel.logger import disable_logging, enable_logging, set_log_level
16
16
 
17
- __version__ = '0.2.40'
17
+ __version__ = '0.2.41'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -603,9 +603,6 @@ class ChatAgent(BaseAgent):
603
603
  self._get_full_tool_schemas(),
604
604
  )
605
605
 
606
- if self.single_iteration:
607
- break
608
-
609
606
  if tool_call_requests := response.tool_call_requests:
610
607
  # Process all tool calls
611
608
  for tool_call_request in tool_call_requests:
@@ -625,6 +622,9 @@ class ChatAgent(BaseAgent):
625
622
  if external_tool_call_requests:
626
623
  break
627
624
 
625
+ if self.single_iteration:
626
+ break
627
+
628
628
  # If we're still here, continue the loop
629
629
  continue
630
630
 
@@ -695,9 +695,6 @@ class ChatAgent(BaseAgent):
695
695
  self._get_full_tool_schemas(),
696
696
  )
697
697
 
698
- if self.single_iteration:
699
- break
700
-
701
698
  if tool_call_requests := response.tool_call_requests:
702
699
  # Process all tool calls
703
700
  for tool_call_request in tool_call_requests:
@@ -718,6 +715,9 @@ class ChatAgent(BaseAgent):
718
715
  if external_tool_call_requests:
719
716
  break
720
717
 
718
+ if self.single_iteration:
719
+ break
720
+
721
721
  # If we're still here, continue the loop
722
722
  continue
723
723
 
@@ -201,19 +201,27 @@ class FewShotGenerator(BaseGenerator):
201
201
  raise TypeError(f"Rationale {rationale} is not a string.")
202
202
 
203
203
  try:
204
- verifier_response = await self.verifier.verify(
205
- solution=rationale,
206
- reference_answer=None,
204
+ verifier_response = await asyncio.wait_for(
205
+ self.verifier.verify(
206
+ solution=rationale,
207
+ reference_answer=None,
208
+ ),
209
+ timeout=180,
207
210
  )
208
211
  if not verifier_response or not verifier_response.result:
209
212
  raise ValueError(
210
213
  "Verifier unsuccessful, response: "
211
214
  f"{verifier_response}"
212
215
  )
213
- except (ValueError, AttributeError) as e:
216
+ except (ValueError, AttributeError, asyncio.TimeoutError) as e:
217
+ error_msg = (
218
+ "Verifier timeout"
219
+ if isinstance(e, asyncio.TimeoutError)
220
+ else f"Verifier issue: {e}"
221
+ )
214
222
  logger.warning(
215
- f"Verifier issue: {e}, "
216
- f"retrying... ({retries + 1}/{max_retries})"
223
+ f"{error_msg}, retrying... "
224
+ f"({retries + 1}/{max_retries})"
217
225
  )
218
226
  retries += 1
219
227
  continue
@@ -74,9 +74,52 @@ class ChatHistoryBlock(MemoryBlock):
74
74
  return list()
75
75
 
76
76
  chat_records: List[MemoryRecord] = []
77
- truncate_idx = -window_size if window_size is not None else 0
78
- for record_dict in record_dicts[truncate_idx:]:
79
- chat_records.append(MemoryRecord.from_dict(record_dict))
77
+ if window_size is not None and window_size >= 0:
78
+ # Initial preserved index: Keep first message
79
+ # if it's SYSTEM/DEVELOPER (index 0)
80
+ start_index = (
81
+ 1
82
+ if (
83
+ record_dicts
84
+ and record_dicts[0]['role_at_backend']
85
+ in {OpenAIBackendRole.SYSTEM, OpenAIBackendRole.DEVELOPER}
86
+ )
87
+ else 0
88
+ )
89
+
90
+ """
91
+ Message Processing Logic:
92
+ 1. Preserve first system/developer message (if needed)
93
+ 2. Keep latest window_size messages from the rest
94
+
95
+ Examples:
96
+ - Case 1: First message is SYSTEM, total 5 messages, window_size=2
97
+ Input: [system_msg, user_msg1, user_msg2, user_msg3, user_msg4]
98
+ Result: [system_msg] + [user_msg3, user_msg4]
99
+
100
+ - Case 2: First message is USER, total 5 messages, window_size=3
101
+ Input: [user_msg1, user_msg2, user_msg3, user_msg4, , user_msg5]
102
+ Result: [user_msg3, user_msg4, , user_msg5]
103
+ """
104
+ preserved_messages = record_dicts[
105
+ :start_index
106
+ ] # Preserve system message (if exists)
107
+ sliding_messages = record_dicts[
108
+ start_index:
109
+ ] # Messages to be truncated
110
+
111
+ # Take last window_size messages (if exceeds limit)
112
+ truncated_messages = sliding_messages[-window_size:]
113
+
114
+ # Combine preserved messages with truncated window messages
115
+ final_records = preserved_messages + truncated_messages
116
+ else:
117
+ # Return full records when no window restriction
118
+ final_records = record_dicts
119
+
120
+ chat_records = [
121
+ MemoryRecord.from_dict(record) for record in final_records
122
+ ]
80
123
 
81
124
  # We assume that, in the chat history memory, the closer the record is
82
125
  # to the current message, the more score it will be.
@@ -902,6 +902,7 @@ class VectorDistance(Enum):
902
902
  class OpenAIBackendRole(Enum):
903
903
  ASSISTANT = "assistant"
904
904
  SYSTEM = "system"
905
+ DEVELOPER = "developer"
905
906
  USER = "user"
906
907
  FUNCTION = "function"
907
908
  TOOL = "tool"
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "camel-ai"
7
- version = "0.2.40"
7
+ version = "0.2.41"
8
8
  description = "Communicative Agents for AI Society Study"
9
9
  authors = [{ name = "CAMEL-AI.org" }]
10
10
  requires-python = ">=3.10,<3.13"
@@ -22,6 +22,7 @@ keywords = [
22
22
  ]
23
23
  dependencies = [
24
24
  "openai>=1.68.0,<2",
25
+ "mcp>=1.3.0",
25
26
  "tiktoken>=0.7.0,<0.8",
26
27
  "colorama>=0.4.6,<0.5",
27
28
  "jsonschema>=4,<5",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes