camel-ai 0.2.76a0__tar.gz → 0.2.76a2__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 (487) hide show
  1. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/PKG-INFO +84 -6
  2. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/README.md +82 -5
  3. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/__init__.py +1 -1
  4. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/chat_agent.py +8 -1
  5. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/tic_tac_toe.py +1 -1
  6. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/__init__.py +2 -1
  7. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/agent_memories.py +3 -1
  8. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/blocks/chat_history_block.py +17 -2
  9. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/base_model.py +30 -0
  10. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/single_agent_worker.py +44 -38
  11. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/workforce.py +10 -1
  12. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/object_storages/google_cloud.py +1 -1
  13. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/__init__.py +9 -2
  14. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/aci_toolkit.py +45 -0
  15. camel_ai-0.2.76a2/camel/toolkits/context_summarizer_toolkit.py +683 -0
  16. camel_ai-0.2.76a0/camel/toolkits/file_write_toolkit.py → camel_ai-0.2.76a2/camel/toolkits/file_toolkit.py +194 -34
  17. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/config_loader.py +4 -0
  18. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +67 -2
  19. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +62 -45
  20. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +489 -60
  21. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +5 -2
  22. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +72 -12
  23. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +2 -14
  24. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +1 -0
  25. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +228 -62
  26. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +4 -4
  27. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/markitdown_toolkit.py +27 -1
  28. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/note_taking_toolkit.py +18 -8
  29. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/slack_toolkit.py +50 -1
  30. camel_ai-0.2.76a2/camel/toolkits/vertex_ai_veo_toolkit.py +590 -0
  31. camel_ai-0.2.76a2/camel/toolkits/wechat_official_toolkit.py +483 -0
  32. camel_ai-0.2.76a2/camel/utils/context_utils.py +395 -0
  33. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/hatch_build_npm.py +12 -1
  34. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/pyproject.toml +4 -3
  35. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/.gitignore +0 -0
  36. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/LICENSE +0 -0
  37. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/__init__.py +0 -0
  38. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/_types.py +0 -0
  39. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/_utils.py +0 -0
  40. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/base.py +0 -0
  41. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/critic_agent.py +0 -0
  42. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/deductive_reasoner_agent.py +0 -0
  43. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/embodied_agent.py +0 -0
  44. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/knowledge_graph_agent.py +0 -0
  45. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/mcp_agent.py +0 -0
  46. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/multi_hop_generator_agent.py +0 -0
  47. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/programmed_agent_instruction.py +0 -0
  48. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/repo_agent.py +0 -0
  49. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/role_assignment_agent.py +0 -0
  50. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/search_agent.py +0 -0
  51. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/task_agent.py +0 -0
  52. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/tool_agents/__init__.py +0 -0
  53. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/tool_agents/base.py +0 -0
  54. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  55. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/__init__.py +0 -0
  56. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/apibank.py +0 -0
  57. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/apibench.py +0 -0
  58. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/base.py +0 -0
  59. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/browsecomp.py +0 -0
  60. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/gaia.py +0 -0
  61. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/mock_website/README.md +0 -0
  62. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/mock_website/mock_web.py +0 -0
  63. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/mock_website/requirements.txt +0 -0
  64. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
  65. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/mock_website/task.json +0 -0
  66. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/nexus.py +0 -0
  67. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/benchmarks/ragbench.py +0 -0
  68. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/__init__.py +0 -0
  69. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/discord/__init__.py +0 -0
  70. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/discord/discord_app.py +0 -0
  71. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/discord/discord_installation.py +0 -0
  72. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/discord/discord_store.py +0 -0
  73. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/slack/__init__.py +0 -0
  74. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/slack/models.py +0 -0
  75. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/slack/slack_app.py +0 -0
  76. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/bots/telegram_bot.py +0 -0
  77. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/__init__.py +0 -0
  78. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/aiml_config.py +0 -0
  79. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/amd_config.py +0 -0
  80. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/anthropic_config.py +0 -0
  81. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/base_config.py +0 -0
  82. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/bedrock_config.py +0 -0
  83. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/cohere_config.py +0 -0
  84. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/crynux_config.py +0 -0
  85. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/deepseek_config.py +0 -0
  86. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/gemini_config.py +0 -0
  87. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/groq_config.py +0 -0
  88. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/internlm_config.py +0 -0
  89. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/litellm_config.py +0 -0
  90. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/lmstudio_config.py +0 -0
  91. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/mistral_config.py +0 -0
  92. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/modelscope_config.py +0 -0
  93. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/moonshot_config.py +0 -0
  94. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/nebius_config.py +0 -0
  95. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/netmind_config.py +0 -0
  96. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/novita_config.py +0 -0
  97. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/nvidia_config.py +0 -0
  98. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/ollama_config.py +0 -0
  99. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/openai_config.py +0 -0
  100. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/openrouter_config.py +0 -0
  101. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/ppio_config.py +0 -0
  102. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/qianfan_config.py +0 -0
  103. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/qwen_config.py +0 -0
  104. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/reka_config.py +0 -0
  105. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/samba_config.py +0 -0
  106. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/sglang_config.py +0 -0
  107. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/siliconflow_config.py +0 -0
  108. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/togetherai_config.py +0 -0
  109. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/vllm_config.py +0 -0
  110. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/watsonx_config.py +0 -0
  111. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/yi_config.py +0 -0
  112. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/configs/zhipuai_config.py +0 -0
  113. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/data_collectors/__init__.py +0 -0
  114. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/data_collectors/alpaca_collector.py +0 -0
  115. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/data_collectors/base.py +0 -0
  116. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/data_collectors/sharegpt_collector.py +0 -0
  117. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/__init__.py +0 -0
  118. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/cot_datagen.py +0 -0
  119. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/evol_instruct/__init__.py +0 -0
  120. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  121. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/evol_instruct/scorer.py +0 -0
  122. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/evol_instruct/templates.py +0 -0
  123. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_improving_cot.py +0 -0
  124. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/__init__.py +0 -0
  125. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  126. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  127. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  128. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  129. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/self_instruct.py +0 -0
  130. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/self_instruct/templates.py +0 -0
  131. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/source2synth/__init__.py +0 -0
  132. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/source2synth/data_processor.py +0 -0
  133. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/source2synth/models.py +0 -0
  134. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  135. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datahubs/__init__.py +0 -0
  136. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datahubs/base.py +0 -0
  137. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datahubs/huggingface.py +0 -0
  138. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datahubs/models.py +0 -0
  139. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/__init__.py +0 -0
  140. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/base_generator.py +0 -0
  141. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/few_shot_generator.py +0 -0
  142. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/models.py +0 -0
  143. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/self_instruct_generator.py +0 -0
  144. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/datasets/static_dataset.py +0 -0
  145. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/__init__.py +0 -0
  146. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/azure_embedding.py +0 -0
  147. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/base.py +0 -0
  148. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/gemini_embedding.py +0 -0
  149. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/jina_embedding.py +0 -0
  150. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/mistral_embedding.py +0 -0
  151. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/openai_compatible_embedding.py +0 -0
  152. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/openai_embedding.py +0 -0
  153. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  154. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/together_embedding.py +0 -0
  155. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/embeddings/vlm_embedding.py +0 -0
  156. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/__init__.py +0 -0
  157. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/models.py +0 -0
  158. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/multi_step.py +0 -0
  159. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/rlcards_env.py +0 -0
  160. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/environments/single_step.py +0 -0
  161. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/extractors/__init__.py +0 -0
  162. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/extractors/base.py +0 -0
  163. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/extractors/python_strategies.py +0 -0
  164. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/generators.py +0 -0
  165. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/human.py +0 -0
  166. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/__init__.py +0 -0
  167. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/base.py +0 -0
  168. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/docker/Dockerfile +0 -0
  169. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/docker_interpreter.py +0 -0
  170. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/e2b_interpreter.py +0 -0
  171. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/internal_python_interpreter.py +0 -0
  172. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/interpreter_error.py +0 -0
  173. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/ipython_interpreter.py +0 -0
  174. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/microsandbox_interpreter.py +0 -0
  175. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/interpreters/subprocess_interpreter.py +0 -0
  176. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/__init__.py +0 -0
  177. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/apify_reader.py +0 -0
  178. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/base_io.py +0 -0
  179. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/base_loader.py +0 -0
  180. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/chunkr_reader.py +0 -0
  181. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/crawl4ai_reader.py +0 -0
  182. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/firecrawl_reader.py +0 -0
  183. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/jina_url_reader.py +0 -0
  184. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/markitdown.py +0 -0
  185. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/mineru_extractor.py +0 -0
  186. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/mistral_reader.py +0 -0
  187. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/pandas_reader.py +0 -0
  188. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/scrapegraph_reader.py +0 -0
  189. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/loaders/unstructured_io.py +0 -0
  190. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/logger.py +0 -0
  191. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/base.py +0 -0
  192. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/blocks/__init__.py +0 -0
  193. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/blocks/vectordb_block.py +0 -0
  194. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/context_creators/__init__.py +0 -0
  195. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/context_creators/score_based.py +0 -0
  196. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/memories/records.py +0 -0
  197. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/__init__.py +0 -0
  198. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/base.py +0 -0
  199. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/__init__.py +0 -0
  200. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/alpaca.py +0 -0
  201. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/conversation_models.py +0 -0
  202. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  203. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  204. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  205. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  206. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/messages/func_message.py +0 -0
  207. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/__init__.py +0 -0
  208. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/_utils.py +0 -0
  209. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/aiml_model.py +0 -0
  210. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/amd_model.py +0 -0
  211. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/anthropic_model.py +0 -0
  212. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/aws_bedrock_model.py +0 -0
  213. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/azure_openai_model.py +0 -0
  214. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/base_audio_model.py +0 -0
  215. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/cohere_model.py +0 -0
  216. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/crynux_model.py +0 -0
  217. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/deepseek_model.py +0 -0
  218. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/fish_audio_model.py +0 -0
  219. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/gemini_model.py +0 -0
  220. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/groq_model.py +0 -0
  221. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/internlm_model.py +0 -0
  222. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/litellm_model.py +0 -0
  223. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/lmstudio_model.py +0 -0
  224. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/mistral_model.py +0 -0
  225. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/model_factory.py +0 -0
  226. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/model_manager.py +0 -0
  227. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/modelscope_model.py +0 -0
  228. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/moonshot_model.py +0 -0
  229. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/nebius_model.py +0 -0
  230. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/nemotron_model.py +0 -0
  231. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/netmind_model.py +0 -0
  232. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/novita_model.py +0 -0
  233. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/nvidia_model.py +0 -0
  234. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/ollama_model.py +0 -0
  235. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/openai_audio_models.py +0 -0
  236. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/openai_compatible_model.py +0 -0
  237. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/openai_model.py +0 -0
  238. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/openrouter_model.py +0 -0
  239. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/ppio_model.py +0 -0
  240. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/qianfan_model.py +0 -0
  241. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/qwen_model.py +0 -0
  242. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reka_model.py +0 -0
  243. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reward/__init__.py +0 -0
  244. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reward/base_reward_model.py +0 -0
  245. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reward/evaluator.py +0 -0
  246. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reward/nemotron_model.py +0 -0
  247. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/reward/skywork_model.py +0 -0
  248. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/samba_model.py +0 -0
  249. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/sglang_model.py +0 -0
  250. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/siliconflow_model.py +0 -0
  251. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/stub_model.py +0 -0
  252. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/togetherai_model.py +0 -0
  253. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/vllm_model.py +0 -0
  254. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/volcano_model.py +0 -0
  255. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/watsonx_model.py +0 -0
  256. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/yi_model.py +0 -0
  257. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/models/zhipuai_model.py +0 -0
  258. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/personas/__init__.py +0 -0
  259. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/personas/persona.py +0 -0
  260. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/personas/persona_hub.py +0 -0
  261. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/__init__.py +0 -0
  262. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/ai_society.py +0 -0
  263. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/base.py +0 -0
  264. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/code.py +0 -0
  265. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/evaluation.py +0 -0
  266. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/generate_text_embedding_data.py +0 -0
  267. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/image_craft.py +0 -0
  268. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/misalignment.py +0 -0
  269. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/multi_condition_image_craft.py +0 -0
  270. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/object_recognition.py +0 -0
  271. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/persona_hub.py +0 -0
  272. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/prompt_templates.py +0 -0
  273. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/role_description_prompt_template.py +0 -0
  274. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/solution_extraction.py +0 -0
  275. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/task_prompt_template.py +0 -0
  276. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/translation.py +0 -0
  277. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/prompts/video_description_prompt.py +0 -0
  278. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/py.typed +0 -0
  279. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/responses/__init__.py +0 -0
  280. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/responses/agent_responses.py +0 -0
  281. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/__init__.py +0 -0
  282. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/auto_retriever.py +0 -0
  283. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/base.py +0 -0
  284. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/bm25_retriever.py +0 -0
  285. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  286. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/hybrid_retrival.py +0 -0
  287. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/retrievers/vector_retriever.py +0 -0
  288. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/__init__.py +0 -0
  289. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/api.py +0 -0
  290. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/base.py +0 -0
  291. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/configs.py +0 -0
  292. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/daytona_runtime.py +0 -0
  293. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/docker_runtime.py +0 -0
  294. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/llm_guard_runtime.py +0 -0
  295. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/remote_http_runtime.py +0 -0
  296. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
  297. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/utils/__init__.py +0 -0
  298. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
  299. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
  300. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/schemas/__init__.py +0 -0
  301. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/schemas/base.py +0 -0
  302. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/schemas/openai_converter.py +0 -0
  303. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/schemas/outlines_converter.py +0 -0
  304. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/services/agent_openapi_server.py +0 -0
  305. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/__init__.py +0 -0
  306. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/babyagi_playing.py +0 -0
  307. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/role_playing.py +0 -0
  308. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/__init__.py +0 -0
  309. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/base.py +0 -0
  310. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/prompts.py +0 -0
  311. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/role_playing_worker.py +0 -0
  312. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/structured_output_handler.py +0 -0
  313. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/task_channel.py +0 -0
  314. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/utils.py +0 -0
  315. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/worker.py +0 -0
  316. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/societies/workforce/workforce_logger.py +0 -0
  317. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/__init__.py +0 -0
  318. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/graph_storages/__init__.py +0 -0
  319. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/graph_storages/base.py +0 -0
  320. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/graph_storages/graph_element.py +0 -0
  321. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/graph_storages/nebula_graph.py +0 -0
  322. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  323. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/__init__.py +0 -0
  324. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/base.py +0 -0
  325. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/in_memory.py +0 -0
  326. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/json.py +0 -0
  327. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  328. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/key_value_storages/redis.py +0 -0
  329. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/object_storages/__init__.py +0 -0
  330. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/object_storages/amazon_s3.py +0 -0
  331. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/object_storages/azure_blob.py +0 -0
  332. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/object_storages/base.py +0 -0
  333. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/__init__.py +0 -0
  334. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/base.py +0 -0
  335. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/chroma.py +0 -0
  336. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/faiss.py +0 -0
  337. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/milvus.py +0 -0
  338. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/oceanbase.py +0 -0
  339. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/pgvector.py +0 -0
  340. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/qdrant.py +0 -0
  341. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/surreal.py +0 -0
  342. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/tidb.py +0 -0
  343. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/storages/vectordb_storages/weaviate.py +0 -0
  344. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/tasks/__init__.py +0 -0
  345. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/tasks/task.py +0 -0
  346. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/tasks/task_prompt.py +0 -0
  347. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/terminators/__init__.py +0 -0
  348. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/terminators/base.py +0 -0
  349. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/terminators/response_terminator.py +0 -0
  350. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/terminators/token_limit_terminator.py +0 -0
  351. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/arxiv_toolkit.py +0 -0
  352. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/ask_news_toolkit.py +0 -0
  353. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/async_browser_toolkit.py +0 -0
  354. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  355. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/base.py +0 -0
  356. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/bohrium_toolkit.py +0 -0
  357. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/browser_toolkit.py +0 -0
  358. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/browser_toolkit_commons.py +0 -0
  359. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/code_execution.py +0 -0
  360. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/craw4ai_toolkit.py +0 -0
  361. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/dappier_toolkit.py +0 -0
  362. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/data_commons_toolkit.py +0 -0
  363. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
  364. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/excel_toolkit.py +0 -0
  365. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/function_tool.py +0 -0
  366. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/github_toolkit.py +0 -0
  367. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/google_calendar_toolkit.py +0 -0
  368. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
  369. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/google_maps_toolkit.py +0 -0
  370. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/google_scholar_toolkit.py +0 -0
  371. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/human_toolkit.py +0 -0
  372. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/__init__.py +0 -0
  373. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +0 -0
  374. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -0
  375. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +0 -0
  376. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +0 -0
  377. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +0 -0
  378. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +0 -0
  379. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +0 -0
  380. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +0 -0
  381. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/__init__.py +0 -0
  382. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/actions.py +0 -0
  383. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/agent.py +0 -0
  384. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +0 -0
  385. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +0 -0
  386. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +0 -0
  387. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
  388. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +0 -0
  389. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/image_analysis_toolkit.py +0 -0
  390. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/image_generation_toolkit.py +0 -0
  391. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/jina_reranker_toolkit.py +0 -0
  392. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/klavis_toolkit.py +0 -0
  393. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/linkedin_toolkit.py +0 -0
  394. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/math_toolkit.py +0 -0
  395. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/mcp_toolkit.py +0 -0
  396. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/memory_toolkit.py +0 -0
  397. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/meshy_toolkit.py +0 -0
  398. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/message_agent_toolkit.py +0 -0
  399. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/message_integration.py +0 -0
  400. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/mineru_toolkit.py +0 -0
  401. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/minimax_mcp_toolkit.py +0 -0
  402. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/networkx_toolkit.py +0 -0
  403. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/notion_mcp_toolkit.py +0 -0
  404. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/notion_toolkit.py +0 -0
  405. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  406. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  407. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  408. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  409. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  410. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  411. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  412. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  413. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  414. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  415. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  416. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  417. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  418. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  419. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  420. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  421. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  422. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/security_config.py +0 -0
  423. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  424. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  425. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  426. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  427. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  428. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  429. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  430. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/open_api_toolkit.py +0 -0
  431. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/openbb_toolkit.py +0 -0
  432. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/origene_mcp_toolkit.py +0 -0
  433. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/page_script.js +0 -0
  434. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
  435. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/pptx_toolkit.py +0 -0
  436. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/pubmed_toolkit.py +0 -0
  437. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
  438. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/pyautogui_toolkit.py +0 -0
  439. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/reddit_toolkit.py +0 -0
  440. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/retrieval_toolkit.py +0 -0
  441. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/screenshot_toolkit.py +0 -0
  442. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/search_toolkit.py +0 -0
  443. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/searxng_toolkit.py +0 -0
  444. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  445. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/stripe_toolkit.py +0 -0
  446. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/sympy_toolkit.py +0 -0
  447. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/task_planning_toolkit.py +0 -0
  448. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/terminal_toolkit.py +0 -0
  449. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/thinking_toolkit.py +0 -0
  450. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/twitter_toolkit.py +0 -0
  451. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/video_analysis_toolkit.py +0 -0
  452. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/video_download_toolkit.py +0 -0
  453. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/weather_toolkit.py +0 -0
  454. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/web_deploy_toolkit.py +0 -0
  455. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/whatsapp_toolkit.py +0 -0
  456. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
  457. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/toolkits/zapier_toolkit.py +0 -0
  458. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/__init__.py +0 -0
  459. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/agents/__init__.py +0 -0
  460. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/agents/tool_calling_record.py +0 -0
  461. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/enums.py +0 -0
  462. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/mcp_registries.py +0 -0
  463. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/openai_types.py +0 -0
  464. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/types/unified_model_type.py +0 -0
  465. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/__init__.py +0 -0
  466. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/async_func.py +0 -0
  467. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/chunker/__init__.py +0 -0
  468. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/chunker/base.py +0 -0
  469. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/chunker/code_chunker.py +0 -0
  470. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/chunker/uio_chunker.py +0 -0
  471. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/commons.py +0 -0
  472. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/constants.py +0 -0
  473. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/deduplication.py +0 -0
  474. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/filename.py +0 -0
  475. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/langfuse.py +0 -0
  476. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/mcp.py +0 -0
  477. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/mcp_client.py +0 -0
  478. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/message_summarizer.py +0 -0
  479. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/response_format.py +0 -0
  480. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/token_counting.py +0 -0
  481. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/utils/tool_result.py +0 -0
  482. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/verifiers/__init__.py +0 -0
  483. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/verifiers/base.py +0 -0
  484. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/verifiers/math_verifier.py +0 -0
  485. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/verifiers/models.py +0 -0
  486. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/camel/verifiers/physics_verifier.py +0 -0
  487. {camel_ai-0.2.76a0 → camel_ai-0.2.76a2}/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.76a0
3
+ Version: 0.2.76a2
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
@@ -57,6 +57,7 @@ Requires-Dist: flask>=2.0; extra == 'all'
57
57
  Requires-Dist: google-api-python-client==2.166.0; extra == 'all'
58
58
  Requires-Dist: google-auth-httplib2==0.2.0; extra == 'all'
59
59
  Requires-Dist: google-auth-oauthlib==1.2.1; extra == 'all'
60
+ Requires-Dist: google-cloud-aiplatform>=1.111.0; extra == 'all'
60
61
  Requires-Dist: google-cloud-storage<3,>=2.18.0; extra == 'all'
61
62
  Requires-Dist: google-genai>=1.13.0; extra == 'all'
62
63
  Requires-Dist: googlemaps<5,>=4.10.0; extra == 'all'
@@ -447,12 +448,52 @@ Join us ([*Discord*](https://discord.camel-ai.org/) or [*WeChat*](https://ghli.o
447
448
  </div>
448
449
 
449
450
  <div align="center">
450
- <img src="docs/images/star.gif" alt="Star" width="186" height="60">
451
+ <img src="docs/images/stars.gif" alt="Star">
451
452
  </a>
452
453
  </div>
453
454
 
454
455
  <br>
455
456
 
457
+ <details>
458
+ <summary><kbd>Table of contents</kbd></summary>
459
+
460
+ <br/>
461
+
462
+ - [CAMEL Framework Design Principles](#camel-framework-design-principles)
463
+ - [Why Use CAMEL for Your Research?](#why-use-camel-for-your-research)
464
+ - [What Can You Build With CAMEL?](#what-can-you-build-with-camel)
465
+ - [Data Generation](#1-data-generation)
466
+ - [Task Automation](#2-task-automation)
467
+ - [World Simulation](#3-world-simulation)
468
+ - [Quick Start](#quick-start)
469
+ - [Starting with ChatAgent](#starting-with-chatagent)
470
+ - [Seeking Help](#seeking-help)
471
+ - [Tech Stack](#tech-stack)
472
+ - [Research](#research)
473
+ - [Synthetic Datasets](#synthetic-datasets)
474
+ - [Cookbooks (Usecases)](#cookbooks-usecases)
475
+ - [Basic Concepts](#1-basic-concepts)
476
+ - [Advanced Features](#2-advanced-features)
477
+ - [Model Training & Data Generation](#3-model-training--data-generation)
478
+ - [Multi-Agent Systems & Applications](#4-multi-agent-systems--applications)
479
+ - [Data Processing](#5-data-processing)
480
+ - [Real-World Usecases](#real-world-usecases)
481
+ - [🧱 Built with CAMEL (Real-world Producs & Research)](#-built-with-camel-real-world-producs--research)
482
+ - [Research Projects](#research-projects)
483
+ - [Product Projects](#product-projects)
484
+ - [🗓️ Events](#️-events)
485
+ - [Contributing to CAMEL](#contributing-to-camel)
486
+ - [Community & Contact](#community--contact)
487
+ - [Citation](#citation)
488
+ - [Acknowledgment](#acknowledgment)
489
+ - [License](#license)
490
+
491
+ ####
492
+
493
+ <br/>
494
+
495
+ </details>
496
+
456
497
 
457
498
  ## CAMEL Framework Design Principles
458
499
 
@@ -686,6 +727,18 @@ We believe that studying these agents on a large scale offers valuable insights
686
727
 
687
728
  **Explore our research projects:**
688
729
 
730
+ <div align="center">
731
+ <a href="https://github.com/camel-ai/owl">
732
+ <img src="docs/images/owl.png" alt="OWL">
733
+ </a>
734
+ </div>
735
+
736
+ <div align="center">
737
+ <a href="https://oasis.camel-ai.org/">
738
+ <img src="docs/images/oasis.png" alt="OASIS">
739
+ </a>
740
+ </div>
741
+
689
742
  <div align="center">
690
743
  <a href="https://crab.camel-ai.org/">
691
744
  <img src="docs/images/crab.png" alt="CRAB">
@@ -693,14 +746,14 @@ We believe that studying these agents on a large scale offers valuable insights
693
746
  </div>
694
747
 
695
748
  <div align="center">
696
- <a href="https://agent-trust.camel-ai.org/">
697
- <img src="docs/images/agent_trust.png" alt="Agent Trust">
749
+ <a href="https://github.com/camel-ai/loong">
750
+ <img src="docs/images/loong.png" alt="Loong">
698
751
  </a>
699
752
  </div>
700
753
 
701
754
  <div align="center">
702
- <a href="https://oasis.camel-ai.org/">
703
- <img src="docs/images/oasis.png" alt="OASIS">
755
+ <a href="https://agent-trust.camel-ai.org/">
756
+ <img src="docs/images/agent_trust.png" alt="Agent Trust">
704
757
  </a>
705
758
  </div>
706
759
 
@@ -834,6 +887,31 @@ Real-world usecases demonstrating how CAMEL’s multi-agent framework enables re
834
887
 
835
888
  <br>
836
889
 
890
+ ## 🧱 Built with CAMEL (Real-world Producs & Research)
891
+ <div align="left">
892
+ <a href="https://www.camel-ai.org/">
893
+ <img src="docs/images/built_with_CAMEL.png" alt="Built with CAMEL" height="40px">
894
+ </a>
895
+ </div>
896
+
897
+ ### Research Projects
898
+
899
+ | Name | Description |
900
+ |:---|:---|
901
+ | **[ChatDev](https://github.com/OpenBMB/ChatDev/tree/main/camel)** | Communicative Agents for software Development |
902
+ | **[Paper2Poster](https://github.com/Paper2Poster/Paper2Poster)** | Multimodal poster automation from scientific papers |
903
+
904
+ ### Product Projects
905
+
906
+ | Name | Description |
907
+ |:---|:---|
908
+ | **[Eigent](https://www.eigent.ai/)** | The World First Multi-agent Workforce |
909
+ | **[EigentBot](https://bot.eigent.ai/)** | One EigentBot,
910
+ Every Code Answer |
911
+ | **[Matrix](https://matrix.eigent.ai/)** | Social Media Simulation |
912
+ | **[AI Geometric](https://www.linkedin.com/posts/aigeometric_ai-interviewpreparation-careerdevelopment-activity-7261428422516555776-MtaK/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAChHluEB9xRwkjiJ6VSAzqM2Y-U4NI2sKGY)** | AI-powered interview copilot |
913
+ | **[Log10](https://github.com/log10-io/log10/blob/main/src/log10/agents/camel.py)** | AI accuracy, delivered |
914
+
837
915
 
838
916
  ## 🗓️ Events
839
917
 
@@ -51,12 +51,52 @@ Join us ([*Discord*](https://discord.camel-ai.org/) or [*WeChat*](https://ghli.o
51
51
  </div>
52
52
 
53
53
  <div align="center">
54
- <img src="docs/images/star.gif" alt="Star" width="186" height="60">
54
+ <img src="docs/images/stars.gif" alt="Star">
55
55
  </a>
56
56
  </div>
57
57
 
58
58
  <br>
59
59
 
60
+ <details>
61
+ <summary><kbd>Table of contents</kbd></summary>
62
+
63
+ <br/>
64
+
65
+ - [CAMEL Framework Design Principles](#camel-framework-design-principles)
66
+ - [Why Use CAMEL for Your Research?](#why-use-camel-for-your-research)
67
+ - [What Can You Build With CAMEL?](#what-can-you-build-with-camel)
68
+ - [Data Generation](#1-data-generation)
69
+ - [Task Automation](#2-task-automation)
70
+ - [World Simulation](#3-world-simulation)
71
+ - [Quick Start](#quick-start)
72
+ - [Starting with ChatAgent](#starting-with-chatagent)
73
+ - [Seeking Help](#seeking-help)
74
+ - [Tech Stack](#tech-stack)
75
+ - [Research](#research)
76
+ - [Synthetic Datasets](#synthetic-datasets)
77
+ - [Cookbooks (Usecases)](#cookbooks-usecases)
78
+ - [Basic Concepts](#1-basic-concepts)
79
+ - [Advanced Features](#2-advanced-features)
80
+ - [Model Training & Data Generation](#3-model-training--data-generation)
81
+ - [Multi-Agent Systems & Applications](#4-multi-agent-systems--applications)
82
+ - [Data Processing](#5-data-processing)
83
+ - [Real-World Usecases](#real-world-usecases)
84
+ - [🧱 Built with CAMEL (Real-world Producs & Research)](#-built-with-camel-real-world-producs--research)
85
+ - [Research Projects](#research-projects)
86
+ - [Product Projects](#product-projects)
87
+ - [🗓️ Events](#️-events)
88
+ - [Contributing to CAMEL](#contributing-to-camel)
89
+ - [Community & Contact](#community--contact)
90
+ - [Citation](#citation)
91
+ - [Acknowledgment](#acknowledgment)
92
+ - [License](#license)
93
+
94
+ ####
95
+
96
+ <br/>
97
+
98
+ </details>
99
+
60
100
 
61
101
  ## CAMEL Framework Design Principles
62
102
 
@@ -290,6 +330,18 @@ We believe that studying these agents on a large scale offers valuable insights
290
330
 
291
331
  **Explore our research projects:**
292
332
 
333
+ <div align="center">
334
+ <a href="https://github.com/camel-ai/owl">
335
+ <img src="docs/images/owl.png" alt="OWL">
336
+ </a>
337
+ </div>
338
+
339
+ <div align="center">
340
+ <a href="https://oasis.camel-ai.org/">
341
+ <img src="docs/images/oasis.png" alt="OASIS">
342
+ </a>
343
+ </div>
344
+
293
345
  <div align="center">
294
346
  <a href="https://crab.camel-ai.org/">
295
347
  <img src="docs/images/crab.png" alt="CRAB">
@@ -297,14 +349,14 @@ We believe that studying these agents on a large scale offers valuable insights
297
349
  </div>
298
350
 
299
351
  <div align="center">
300
- <a href="https://agent-trust.camel-ai.org/">
301
- <img src="docs/images/agent_trust.png" alt="Agent Trust">
352
+ <a href="https://github.com/camel-ai/loong">
353
+ <img src="docs/images/loong.png" alt="Loong">
302
354
  </a>
303
355
  </div>
304
356
 
305
357
  <div align="center">
306
- <a href="https://oasis.camel-ai.org/">
307
- <img src="docs/images/oasis.png" alt="OASIS">
358
+ <a href="https://agent-trust.camel-ai.org/">
359
+ <img src="docs/images/agent_trust.png" alt="Agent Trust">
308
360
  </a>
309
361
  </div>
310
362
 
@@ -438,6 +490,31 @@ Real-world usecases demonstrating how CAMEL’s multi-agent framework enables re
438
490
 
439
491
  <br>
440
492
 
493
+ ## 🧱 Built with CAMEL (Real-world Producs & Research)
494
+ <div align="left">
495
+ <a href="https://www.camel-ai.org/">
496
+ <img src="docs/images/built_with_CAMEL.png" alt="Built with CAMEL" height="40px">
497
+ </a>
498
+ </div>
499
+
500
+ ### Research Projects
501
+
502
+ | Name | Description |
503
+ |:---|:---|
504
+ | **[ChatDev](https://github.com/OpenBMB/ChatDev/tree/main/camel)** | Communicative Agents for software Development |
505
+ | **[Paper2Poster](https://github.com/Paper2Poster/Paper2Poster)** | Multimodal poster automation from scientific papers |
506
+
507
+ ### Product Projects
508
+
509
+ | Name | Description |
510
+ |:---|:---|
511
+ | **[Eigent](https://www.eigent.ai/)** | The World First Multi-agent Workforce |
512
+ | **[EigentBot](https://bot.eigent.ai/)** | One EigentBot,
513
+ Every Code Answer |
514
+ | **[Matrix](https://matrix.eigent.ai/)** | Social Media Simulation |
515
+ | **[AI Geometric](https://www.linkedin.com/posts/aigeometric_ai-interviewpreparation-careerdevelopment-activity-7261428422516555776-MtaK/?utm_source=share&utm_medium=member_desktop&rcm=ACoAAChHluEB9xRwkjiJ6VSAzqM2Y-U4NI2sKGY)** | AI-powered interview copilot |
516
+ | **[Log10](https://github.com/log10-io/log10/blob/main/src/log10/agents/camel.py)** | AI accuracy, delivered |
517
+
441
518
 
442
519
  ## 🗓️ Events
443
520
 
@@ -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.76a0'
17
+ __version__ = '0.2.76a2'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -63,6 +63,7 @@ from camel.memories import (
63
63
  MemoryRecord,
64
64
  ScoreBasedContextCreator,
65
65
  )
66
+ from camel.memories.blocks.chat_history_block import EmptyMemoryWarning
66
67
  from camel.messages import (
67
68
  BaseMessage,
68
69
  FunctionCallingMessage,
@@ -841,7 +842,12 @@ class ChatAgent(BaseAgent):
841
842
  current_tokens = token_counter.count_tokens_from_messages(
842
843
  [message.to_openai_message(role)]
843
844
  )
844
- _, ctx_tokens = self.memory.get_context()
845
+ import warnings
846
+
847
+ with warnings.catch_warnings():
848
+ warnings.filterwarnings("ignore", category=EmptyMemoryWarning)
849
+ _, ctx_tokens = self.memory.get_context()
850
+
845
851
  remaining_budget = max(0, token_limit - ctx_tokens)
846
852
 
847
853
  if current_tokens <= remaining_budget:
@@ -1035,6 +1041,7 @@ class ChatAgent(BaseAgent):
1035
1041
  None
1036
1042
  """
1037
1043
  self.memory.clear()
1044
+
1038
1045
  if self.system_message is not None:
1039
1046
  self.update_memory(self.system_message, OpenAIBackendRole.SYSTEM)
1040
1047
 
@@ -483,7 +483,7 @@ class TicTacToeEnv(MultiStepEnv):
483
483
  # Check all win combinations.
484
484
  for a, b, c in TicTacToeEnv.WIN_COMBINATIONS:
485
485
  if board[a] != " " and board[a] == board[b] == board[c]:
486
- return board[a]
486
+ return board[a] # type: ignore[return-value]
487
487
  # Check for draw.
488
488
  if all(cell != " " for cell in board):
489
489
  return "draw"
@@ -18,7 +18,7 @@ from .agent_memories import (
18
18
  VectorDBMemory,
19
19
  )
20
20
  from .base import AgentMemory, BaseContextCreator, MemoryBlock
21
- from .blocks.chat_history_block import ChatHistoryBlock
21
+ from .blocks.chat_history_block import ChatHistoryBlock, EmptyMemoryWarning
22
22
  from .blocks.vectordb_block import VectorDBBlock
23
23
  from .context_creators.score_based import ScoreBasedContextCreator
24
24
  from .records import ContextRecord, MemoryRecord
@@ -35,4 +35,5 @@ __all__ = [
35
35
  'ChatHistoryBlock',
36
36
  'VectorDBBlock',
37
37
  'LongtermAgentMemory',
38
+ 'EmptyMemoryWarning',
38
39
  ]
@@ -51,7 +51,9 @@ class ChatHistoryMemory(AgentMemory):
51
51
  raise ValueError("`window_size` must be non-negative.")
52
52
  self._context_creator = context_creator
53
53
  self._window_size = window_size
54
- self._chat_history_block = ChatHistoryBlock(storage=storage)
54
+ self._chat_history_block = ChatHistoryBlock(
55
+ storage=storage,
56
+ )
55
57
  self._agent_id = agent_id
56
58
 
57
59
  @property
@@ -21,6 +21,17 @@ from camel.storages.key_value_storages.in_memory import InMemoryKeyValueStorage
21
21
  from camel.types import OpenAIBackendRole
22
22
 
23
23
 
24
+ class EmptyMemoryWarning(UserWarning):
25
+ """Warning raised when attempting to access an empty memory.
26
+
27
+ This warning is raised when operations are performed on memory
28
+ that contains no records. It can be safely caught and suppressed
29
+ in contexts where empty memory is expected.
30
+ """
31
+
32
+ pass
33
+
34
+
24
35
  class ChatHistoryBlock(MemoryBlock):
25
36
  r"""An implementation of the :obj:`MemoryBlock` abstract base class for
26
37
  maintaining a record of chat histories.
@@ -39,7 +50,7 @@ class ChatHistoryBlock(MemoryBlock):
39
50
  last message is 1.0, and with each step taken backward, the score
40
51
  of the message is multiplied by the `keep_rate`. Higher `keep_rate`
41
52
  leads to high possibility to keep history messages during context
42
- creation.
53
+ creation. (default: :obj:`0.9`)
43
54
  """
44
55
 
45
56
  def __init__(
@@ -70,7 +81,11 @@ class ChatHistoryBlock(MemoryBlock):
70
81
  """
71
82
  record_dicts = self.storage.load()
72
83
  if len(record_dicts) == 0:
73
- warnings.warn("The `ChatHistoryMemory` is empty.")
84
+ warnings.warn(
85
+ "The `ChatHistoryMemory` is empty.",
86
+ EmptyMemoryWarning,
87
+ stacklevel=1,
88
+ )
74
89
  return list()
75
90
 
76
91
  if window_size is not None and window_size >= 0:
@@ -24,6 +24,7 @@ from openai.lib.streaming.chat import (
24
24
  )
25
25
  from pydantic import BaseModel
26
26
 
27
+ from camel.logger import get_logger as camel_get_logger
27
28
  from camel.messages import OpenAIMessage
28
29
  from camel.types import (
29
30
  ChatCompletion,
@@ -34,6 +35,21 @@ from camel.types import (
34
35
  )
35
36
  from camel.utils import BaseTokenCounter
36
37
 
38
+ if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
39
+ try:
40
+ from traceroot import get_logger # type: ignore[import]
41
+ from traceroot import trace as observe # type: ignore[import]
42
+
43
+ logger = get_logger('base_model')
44
+ except ImportError:
45
+ from camel.utils import observe
46
+
47
+ logger = camel_get_logger('base_model')
48
+ else:
49
+ from camel.utils import observe
50
+
51
+ logger = camel_get_logger('base_model')
52
+
37
53
 
38
54
  class ModelBackendMeta(abc.ABCMeta):
39
55
  r"""Metaclass that automatically preprocesses messages in run method.
@@ -364,6 +380,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
364
380
  """
365
381
  pass
366
382
 
383
+ @observe()
367
384
  def run(
368
385
  self,
369
386
  messages: List[OpenAIMessage],
@@ -403,7 +420,13 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
403
420
  elif not tools:
404
421
  tools = None
405
422
 
423
+ logger.info("Running model: %s", self.model_type)
424
+ logger.info("Messages: %s", messages)
425
+ logger.info("Response format: %s", response_format)
426
+ logger.info("Tools: %s", tools)
427
+
406
428
  result = self._run(messages, response_format, tools)
429
+ logger.info("Result: %s", result)
407
430
 
408
431
  # Log the response if logging is enabled
409
432
  if log_path:
@@ -411,6 +434,7 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
411
434
 
412
435
  return result
413
436
 
437
+ @observe()
414
438
  async def arun(
415
439
  self,
416
440
  messages: List[OpenAIMessage],
@@ -448,7 +472,13 @@ class BaseModelBackend(ABC, metaclass=ModelBackendMeta):
448
472
  elif not tools:
449
473
  tools = None
450
474
 
475
+ logger.info("Running model: %s", self.model_type)
476
+ logger.info("Messages: %s", messages)
477
+ logger.info("Response format: %s", response_format)
478
+ logger.info("Tools: %s", tools)
479
+
451
480
  result = await self._arun(messages, response_format, tools)
481
+ logger.info("Result: %s", result)
452
482
 
453
483
  # Log the response if logging is enabled
454
484
  if log_path:
@@ -35,8 +35,8 @@ from camel.tasks.task import Task, TaskState, is_task_result_insufficient
35
35
  class AgentPool:
36
36
  r"""A pool of agent instances for efficient reuse.
37
37
 
38
- This pool manages a collection of pre-cloned agents. It supports
39
- auto-scaling based ondemand and intelligent reuse of existing agents.
38
+ This pool manages a collection of pre-cloned agents with automatic
39
+ scaling and idle timeout cleanup.
40
40
 
41
41
  Args:
42
42
  base_agent (ChatAgent): The base agent to clone from.
@@ -48,6 +48,8 @@ class AgentPool:
48
48
  (default: :obj:`True`)
49
49
  idle_timeout (float): Time in seconds after which idle agents are
50
50
  removed. (default: :obj:`180.0`)
51
+ cleanup_interval (float): Fixed interval in seconds between cleanup
52
+ checks. (default: :obj:`60.0`)
51
53
  """
52
54
 
53
55
  def __init__(
@@ -56,12 +58,14 @@ class AgentPool:
56
58
  initial_size: int = 1,
57
59
  max_size: int = 10,
58
60
  auto_scale: bool = True,
59
- idle_timeout: float = 180.0, # 3 minutes
61
+ idle_timeout: float = 180.0,
62
+ cleanup_interval: float = 60.0,
60
63
  ):
61
64
  self.base_agent = base_agent
62
65
  self.max_size = max_size
63
66
  self.auto_scale = auto_scale
64
67
  self.idle_timeout = idle_timeout
68
+ self.cleanup_interval = cleanup_interval
65
69
 
66
70
  # Pool management
67
71
  self._available_agents: deque = deque()
@@ -73,6 +77,7 @@ class AgentPool:
73
77
  self._total_borrows = 0
74
78
  self._total_clones_created = 0
75
79
  self._pool_hits = 0
80
+ self._agents_cleaned = 0
76
81
 
77
82
  # Initialize pool
78
83
  self._initialize_pool(initial_size)
@@ -82,6 +87,7 @@ class AgentPool:
82
87
  for _ in range(min(size, self.max_size)):
83
88
  agent = self._create_fresh_agent()
84
89
  self._available_agents.append(agent)
90
+ self._agent_last_used[id(agent)] = time.time()
85
91
 
86
92
  def _create_fresh_agent(self) -> ChatAgent:
87
93
  r"""Create a fresh agent instance."""
@@ -94,53 +100,46 @@ class AgentPool:
94
100
  async with self._lock:
95
101
  self._total_borrows += 1
96
102
 
97
- # Try to get from available agents first
98
103
  if self._available_agents:
99
104
  agent = self._available_agents.popleft()
100
105
  self._in_use_agents.add(id(agent))
101
106
  self._pool_hits += 1
102
-
103
- # Reset the agent state
104
- agent.reset()
105
107
  return agent
106
108
 
107
- # Check if we can create new agents
108
- total_agents = len(self._available_agents) + len(
109
- self._in_use_agents
110
- )
111
- if total_agents < self.max_size:
109
+ # Check if we can create a new agent
110
+ if len(self._in_use_agents) < self.max_size or self.auto_scale:
112
111
  agent = self._create_fresh_agent()
113
112
  self._in_use_agents.add(id(agent))
114
113
  return agent
115
114
 
116
- # Pool exhausted, wait and retry or create temporary agent
117
- if self.auto_scale:
118
- # Create a temporary agent that won't be returned to pool
119
- return self._create_fresh_agent()
120
- else:
121
- # Wait for an agent to become available
122
- while not self._available_agents:
123
- await asyncio.sleep(0.1)
124
-
125
- agent = self._available_agents.popleft()
126
- self._in_use_agents.add(id(agent))
127
- agent.reset()
128
- return agent
115
+ # Wait for available agent
116
+ while True:
117
+ async with self._lock:
118
+ if self._available_agents:
119
+ agent = self._available_agents.popleft()
120
+ self._in_use_agents.add(id(agent))
121
+ self._pool_hits += 1
122
+ return agent
123
+ await asyncio.sleep(0.05)
129
124
 
130
125
  async def return_agent(self, agent: ChatAgent) -> None:
131
126
  r"""Return an agent to the pool."""
127
+ agent_id = id(agent)
128
+
132
129
  async with self._lock:
133
- agent_id = id(agent)
130
+ if agent_id not in self._in_use_agents:
131
+ return
134
132
 
135
- if agent_id in self._in_use_agents:
136
- self._in_use_agents.remove(agent_id)
133
+ self._in_use_agents.discard(agent_id)
137
134
 
138
- # Only return to pool if we're under max size
139
- if len(self._available_agents) < self.max_size:
140
- # Reset agent state before returning to pool
141
- agent.reset()
142
- self._available_agents.append(agent)
143
- self._agent_last_used[agent_id] = time.time()
135
+ # Only add back to pool if under max size
136
+ if len(self._available_agents) < self.max_size:
137
+ agent.reset()
138
+ self._agent_last_used[agent_id] = time.time()
139
+ self._available_agents.append(agent)
140
+ else:
141
+ # Remove tracking for agents not returned to pool
142
+ self._agent_last_used.pop(agent_id, None)
144
143
 
145
144
  async def cleanup_idle_agents(self) -> None:
146
145
  r"""Remove idle agents from the pool to free memory."""
@@ -148,30 +147,35 @@ class AgentPool:
148
147
  return
149
148
 
150
149
  async with self._lock:
150
+ if not self._available_agents:
151
+ return
152
+
151
153
  current_time = time.time()
152
154
  agents_to_remove = []
153
155
 
154
156
  for agent in list(self._available_agents):
155
157
  agent_id = id(agent)
156
158
  last_used = self._agent_last_used.get(agent_id, current_time)
157
-
158
159
  if current_time - last_used > self.idle_timeout:
159
160
  agents_to_remove.append(agent)
160
161
 
161
162
  for agent in agents_to_remove:
162
163
  self._available_agents.remove(agent)
163
- agent_id = id(agent)
164
- self._agent_last_used.pop(agent_id, None)
164
+ self._agent_last_used.pop(id(agent), None)
165
+ self._agents_cleaned += 1
165
166
 
166
167
  def get_stats(self) -> dict:
167
168
  r"""Get pool statistics."""
168
169
  return {
169
170
  "available_agents": len(self._available_agents),
170
171
  "in_use_agents": len(self._in_use_agents),
172
+ "pool_size": len(self._available_agents)
173
+ + len(self._in_use_agents),
171
174
  "total_borrows": self._total_borrows,
172
175
  "total_clones_created": self._total_clones_created,
173
176
  "pool_hits": self._pool_hits,
174
177
  "hit_rate": self._pool_hits / max(self._total_borrows, 1),
178
+ "agents_cleaned_up": self._agents_cleaned,
175
179
  }
176
180
 
177
181
 
@@ -477,7 +481,9 @@ class SingleAgentWorker(Worker):
477
481
  r"""Periodically clean up idle agents from the pool."""
478
482
  while True:
479
483
  try:
480
- await asyncio.sleep(60) # Cleanup every minute
484
+ # Fixed interval cleanup
485
+ await asyncio.sleep(self.agent_pool.cleanup_interval)
486
+
481
487
  if self.agent_pool:
482
488
  await self.agent_pool.cleanup_idle_agents()
483
489
  except asyncio.CancelledError:
@@ -16,6 +16,7 @@ from __future__ import annotations
16
16
  import asyncio
17
17
  import concurrent.futures
18
18
  import json
19
+ import os
19
20
  import time
20
21
  import uuid
21
22
  from collections import deque
@@ -79,7 +80,15 @@ from camel.utils import dependencies_required
79
80
 
80
81
  from .workforce_logger import WorkforceLogger
81
82
 
82
- logger = get_logger(__name__)
83
+ if os.environ.get("TRACEROOT_ENABLED", "False").lower() == "true":
84
+ try:
85
+ import traceroot # type: ignore[import]
86
+
87
+ logger = traceroot.get_logger('camel')
88
+ except ImportError:
89
+ logger = get_logger(__name__)
90
+ else:
91
+ logger = get_logger(__name__)
83
92
 
84
93
  # Constants for configuration values
85
94
  MAX_TASK_RETRIES = 3
@@ -46,7 +46,7 @@ class GoogleCloudStorage(BaseObjectStorage):
46
46
  create_if_not_exists: bool = True,
47
47
  anonymous: bool = False,
48
48
  ) -> None:
49
- from google.cloud import storage
49
+ from google.cloud import storage # type: ignore[attr-defined]
50
50
 
51
51
  self.create_if_not_exists = create_if_not_exists
52
52