camel-ai 0.2.74a1__tar.gz → 0.2.74a5__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 (475) hide show
  1. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/PKG-INFO +2 -1
  2. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/__init__.py +1 -1
  3. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/anthropic_model.py +4 -1
  4. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/prompts.py +3 -19
  5. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/workforce.py +13 -8
  6. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/note_taking_toolkit.py +3 -4
  7. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/search_toolkit.py +78 -29
  8. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/pyproject.toml +2 -1
  9. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/.gitignore +0 -0
  10. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/LICENSE +0 -0
  11. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/README.md +0 -0
  12. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/__init__.py +0 -0
  13. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/_types.py +0 -0
  14. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/_utils.py +0 -0
  15. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/base.py +0 -0
  16. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/chat_agent.py +0 -0
  17. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/critic_agent.py +0 -0
  18. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/deductive_reasoner_agent.py +0 -0
  19. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/embodied_agent.py +0 -0
  20. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/knowledge_graph_agent.py +0 -0
  21. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/mcp_agent.py +0 -0
  22. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/multi_hop_generator_agent.py +0 -0
  23. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/programmed_agent_instruction.py +0 -0
  24. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/repo_agent.py +0 -0
  25. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/role_assignment_agent.py +0 -0
  26. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/search_agent.py +0 -0
  27. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/task_agent.py +0 -0
  28. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/tool_agents/__init__.py +0 -0
  29. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/tool_agents/base.py +0 -0
  30. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/agents/tool_agents/hugging_face_tool_agent.py +0 -0
  31. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/__init__.py +0 -0
  32. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/apibank.py +0 -0
  33. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/apibench.py +0 -0
  34. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/base.py +0 -0
  35. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/browsecomp.py +0 -0
  36. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/gaia.py +0 -0
  37. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/mock_website/README.md +0 -0
  38. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/mock_website/mock_web.py +0 -0
  39. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/mock_website/requirements.txt +0 -0
  40. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/mock_website/shopping_mall/app.py +0 -0
  41. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/mock_website/task.json +0 -0
  42. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/nexus.py +0 -0
  43. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/benchmarks/ragbench.py +0 -0
  44. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/__init__.py +0 -0
  45. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/discord/__init__.py +0 -0
  46. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/discord/discord_app.py +0 -0
  47. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/discord/discord_installation.py +0 -0
  48. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/discord/discord_store.py +0 -0
  49. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/slack/__init__.py +0 -0
  50. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/slack/models.py +0 -0
  51. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/slack/slack_app.py +0 -0
  52. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/bots/telegram_bot.py +0 -0
  53. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/__init__.py +0 -0
  54. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/aiml_config.py +0 -0
  55. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/anthropic_config.py +0 -0
  56. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/base_config.py +0 -0
  57. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/bedrock_config.py +0 -0
  58. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/cohere_config.py +0 -0
  59. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/crynux_config.py +0 -0
  60. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/deepseek_config.py +0 -0
  61. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/gemini_config.py +0 -0
  62. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/groq_config.py +0 -0
  63. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/internlm_config.py +0 -0
  64. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/litellm_config.py +0 -0
  65. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/lmstudio_config.py +0 -0
  66. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/mistral_config.py +0 -0
  67. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/modelscope_config.py +0 -0
  68. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/moonshot_config.py +0 -0
  69. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/netmind_config.py +0 -0
  70. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/novita_config.py +0 -0
  71. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/nvidia_config.py +0 -0
  72. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/ollama_config.py +0 -0
  73. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/openai_config.py +0 -0
  74. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/openrouter_config.py +0 -0
  75. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/ppio_config.py +0 -0
  76. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/qianfan_config.py +0 -0
  77. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/qwen_config.py +0 -0
  78. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/reka_config.py +0 -0
  79. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/samba_config.py +0 -0
  80. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/sglang_config.py +0 -0
  81. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/siliconflow_config.py +0 -0
  82. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/togetherai_config.py +0 -0
  83. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/vllm_config.py +0 -0
  84. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/watsonx_config.py +0 -0
  85. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/yi_config.py +0 -0
  86. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/configs/zhipuai_config.py +0 -0
  87. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/data_collectors/__init__.py +0 -0
  88. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/data_collectors/alpaca_collector.py +0 -0
  89. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/data_collectors/base.py +0 -0
  90. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/data_collectors/sharegpt_collector.py +0 -0
  91. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/__init__.py +0 -0
  92. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/cot_datagen.py +0 -0
  93. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/evol_instruct/__init__.py +0 -0
  94. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/evol_instruct/evol_instruct.py +0 -0
  95. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/evol_instruct/scorer.py +0 -0
  96. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/evol_instruct/templates.py +0 -0
  97. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_improving_cot.py +0 -0
  98. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/__init__.py +0 -0
  99. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/filter/__init__.py +0 -0
  100. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/filter/filter_function.py +0 -0
  101. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/filter/filter_registry.py +0 -0
  102. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/filter/instruction_filter.py +0 -0
  103. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/self_instruct.py +0 -0
  104. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/self_instruct/templates.py +0 -0
  105. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/source2synth/__init__.py +0 -0
  106. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/source2synth/data_processor.py +0 -0
  107. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/source2synth/models.py +0 -0
  108. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datagen/source2synth/user_data_processor_config.py +0 -0
  109. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datahubs/__init__.py +0 -0
  110. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datahubs/base.py +0 -0
  111. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datahubs/huggingface.py +0 -0
  112. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datahubs/models.py +0 -0
  113. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/__init__.py +0 -0
  114. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/base_generator.py +0 -0
  115. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/few_shot_generator.py +0 -0
  116. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/models.py +0 -0
  117. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/self_instruct_generator.py +0 -0
  118. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/datasets/static_dataset.py +0 -0
  119. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/__init__.py +0 -0
  120. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/azure_embedding.py +0 -0
  121. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/base.py +0 -0
  122. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/gemini_embedding.py +0 -0
  123. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/jina_embedding.py +0 -0
  124. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/mistral_embedding.py +0 -0
  125. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/openai_compatible_embedding.py +0 -0
  126. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/openai_embedding.py +0 -0
  127. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/sentence_transformers_embeddings.py +0 -0
  128. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/together_embedding.py +0 -0
  129. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/embeddings/vlm_embedding.py +0 -0
  130. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/__init__.py +0 -0
  131. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/models.py +0 -0
  132. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/multi_step.py +0 -0
  133. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/rlcards_env.py +0 -0
  134. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/single_step.py +0 -0
  135. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/environments/tic_tac_toe.py +0 -0
  136. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/extractors/__init__.py +0 -0
  137. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/extractors/base.py +0 -0
  138. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/extractors/python_strategies.py +0 -0
  139. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/generators.py +0 -0
  140. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/human.py +0 -0
  141. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/__init__.py +0 -0
  142. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/base.py +0 -0
  143. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/docker/Dockerfile +0 -0
  144. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/docker_interpreter.py +0 -0
  145. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/e2b_interpreter.py +0 -0
  146. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/internal_python_interpreter.py +0 -0
  147. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/interpreter_error.py +0 -0
  148. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/ipython_interpreter.py +0 -0
  149. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/interpreters/subprocess_interpreter.py +0 -0
  150. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/__init__.py +0 -0
  151. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/apify_reader.py +0 -0
  152. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/base_io.py +0 -0
  153. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/base_loader.py +0 -0
  154. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/chunkr_reader.py +0 -0
  155. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/crawl4ai_reader.py +0 -0
  156. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/firecrawl_reader.py +0 -0
  157. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/jina_url_reader.py +0 -0
  158. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/markitdown.py +0 -0
  159. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/mineru_extractor.py +0 -0
  160. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/mistral_reader.py +0 -0
  161. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/pandas_reader.py +0 -0
  162. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/scrapegraph_reader.py +0 -0
  163. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/loaders/unstructured_io.py +0 -0
  164. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/logger.py +0 -0
  165. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/__init__.py +0 -0
  166. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/agent_memories.py +0 -0
  167. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/base.py +0 -0
  168. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/blocks/__init__.py +0 -0
  169. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/blocks/chat_history_block.py +0 -0
  170. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/blocks/vectordb_block.py +0 -0
  171. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/context_creators/__init__.py +0 -0
  172. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/context_creators/score_based.py +0 -0
  173. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/memories/records.py +0 -0
  174. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/__init__.py +0 -0
  175. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/base.py +0 -0
  176. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/__init__.py +0 -0
  177. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/alpaca.py +0 -0
  178. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/conversation_models.py +0 -0
  179. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/sharegpt/__init__.py +0 -0
  180. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/sharegpt/function_call_formatter.py +0 -0
  181. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/sharegpt/hermes/__init__.py +0 -0
  182. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py +0 -0
  183. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/messages/func_message.py +0 -0
  184. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/__init__.py +0 -0
  185. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/_utils.py +0 -0
  186. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/aiml_model.py +0 -0
  187. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/aws_bedrock_model.py +0 -0
  188. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/azure_openai_model.py +0 -0
  189. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/base_audio_model.py +0 -0
  190. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/base_model.py +0 -0
  191. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/cohere_model.py +0 -0
  192. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/crynux_model.py +0 -0
  193. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/deepseek_model.py +0 -0
  194. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/fish_audio_model.py +0 -0
  195. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/gemini_model.py +0 -0
  196. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/groq_model.py +0 -0
  197. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/internlm_model.py +0 -0
  198. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/litellm_model.py +0 -0
  199. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/lmstudio_model.py +0 -0
  200. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/mistral_model.py +0 -0
  201. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/model_factory.py +0 -0
  202. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/model_manager.py +0 -0
  203. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/modelscope_model.py +0 -0
  204. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/moonshot_model.py +0 -0
  205. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/nemotron_model.py +0 -0
  206. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/netmind_model.py +0 -0
  207. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/novita_model.py +0 -0
  208. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/nvidia_model.py +0 -0
  209. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/ollama_model.py +0 -0
  210. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/openai_audio_models.py +0 -0
  211. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/openai_compatible_model.py +0 -0
  212. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/openai_model.py +0 -0
  213. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/openrouter_model.py +0 -0
  214. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/ppio_model.py +0 -0
  215. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/qianfan_model.py +0 -0
  216. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/qwen_model.py +0 -0
  217. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reka_model.py +0 -0
  218. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reward/__init__.py +0 -0
  219. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reward/base_reward_model.py +0 -0
  220. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reward/evaluator.py +0 -0
  221. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reward/nemotron_model.py +0 -0
  222. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/reward/skywork_model.py +0 -0
  223. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/samba_model.py +0 -0
  224. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/sglang_model.py +0 -0
  225. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/siliconflow_model.py +0 -0
  226. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/stub_model.py +0 -0
  227. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/togetherai_model.py +0 -0
  228. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/vllm_model.py +0 -0
  229. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/volcano_model.py +0 -0
  230. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/watsonx_model.py +0 -0
  231. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/yi_model.py +0 -0
  232. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/models/zhipuai_model.py +0 -0
  233. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/personas/__init__.py +0 -0
  234. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/personas/persona.py +0 -0
  235. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/personas/persona_hub.py +0 -0
  236. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/__init__.py +0 -0
  237. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/ai_society.py +0 -0
  238. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/base.py +0 -0
  239. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/code.py +0 -0
  240. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/evaluation.py +0 -0
  241. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/generate_text_embedding_data.py +0 -0
  242. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/image_craft.py +0 -0
  243. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/misalignment.py +0 -0
  244. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/multi_condition_image_craft.py +0 -0
  245. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/object_recognition.py +0 -0
  246. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/persona_hub.py +0 -0
  247. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/prompt_templates.py +0 -0
  248. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/role_description_prompt_template.py +0 -0
  249. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/solution_extraction.py +0 -0
  250. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/task_prompt_template.py +0 -0
  251. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/translation.py +0 -0
  252. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/prompts/video_description_prompt.py +0 -0
  253. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/py.typed +0 -0
  254. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/responses/__init__.py +0 -0
  255. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/responses/agent_responses.py +0 -0
  256. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/__init__.py +0 -0
  257. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/auto_retriever.py +0 -0
  258. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/base.py +0 -0
  259. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/bm25_retriever.py +0 -0
  260. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/cohere_rerank_retriever.py +0 -0
  261. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/hybrid_retrival.py +0 -0
  262. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/retrievers/vector_retriever.py +0 -0
  263. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/__init__.py +0 -0
  264. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/api.py +0 -0
  265. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/base.py +0 -0
  266. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/configs.py +0 -0
  267. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/daytona_runtime.py +0 -0
  268. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/docker_runtime.py +0 -0
  269. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/llm_guard_runtime.py +0 -0
  270. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/remote_http_runtime.py +0 -0
  271. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/ubuntu_docker_runtime.py +0 -0
  272. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/utils/__init__.py +0 -0
  273. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/utils/function_risk_toolkit.py +0 -0
  274. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/runtimes/utils/ignore_risk_toolkit.py +0 -0
  275. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/schemas/__init__.py +0 -0
  276. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/schemas/base.py +0 -0
  277. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/schemas/openai_converter.py +0 -0
  278. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/schemas/outlines_converter.py +0 -0
  279. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/services/agent_openapi_server.py +0 -0
  280. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/__init__.py +0 -0
  281. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/babyagi_playing.py +0 -0
  282. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/role_playing.py +0 -0
  283. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/__init__.py +0 -0
  284. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/base.py +0 -0
  285. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/role_playing_worker.py +0 -0
  286. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/single_agent_worker.py +0 -0
  287. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/structured_output_handler.py +0 -0
  288. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/task_channel.py +0 -0
  289. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/utils.py +0 -0
  290. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/worker.py +0 -0
  291. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/societies/workforce/workforce_logger.py +0 -0
  292. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/__init__.py +0 -0
  293. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/graph_storages/__init__.py +0 -0
  294. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/graph_storages/base.py +0 -0
  295. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/graph_storages/graph_element.py +0 -0
  296. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/graph_storages/nebula_graph.py +0 -0
  297. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/graph_storages/neo4j_graph.py +0 -0
  298. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/__init__.py +0 -0
  299. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/base.py +0 -0
  300. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/in_memory.py +0 -0
  301. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/json.py +0 -0
  302. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/mem0_cloud.py +0 -0
  303. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/key_value_storages/redis.py +0 -0
  304. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/object_storages/__init__.py +0 -0
  305. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/object_storages/amazon_s3.py +0 -0
  306. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/object_storages/azure_blob.py +0 -0
  307. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/object_storages/base.py +0 -0
  308. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/object_storages/google_cloud.py +0 -0
  309. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/__init__.py +0 -0
  310. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/base.py +0 -0
  311. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/chroma.py +0 -0
  312. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/faiss.py +0 -0
  313. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/milvus.py +0 -0
  314. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/oceanbase.py +0 -0
  315. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/pgvector.py +0 -0
  316. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/qdrant.py +0 -0
  317. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/surreal.py +0 -0
  318. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/tidb.py +0 -0
  319. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/storages/vectordb_storages/weaviate.py +0 -0
  320. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/tasks/__init__.py +0 -0
  321. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/tasks/task.py +0 -0
  322. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/tasks/task_prompt.py +0 -0
  323. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/terminators/__init__.py +0 -0
  324. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/terminators/base.py +0 -0
  325. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/terminators/response_terminator.py +0 -0
  326. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/terminators/token_limit_terminator.py +0 -0
  327. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/__init__.py +0 -0
  328. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/aci_toolkit.py +0 -0
  329. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/arxiv_toolkit.py +0 -0
  330. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/ask_news_toolkit.py +0 -0
  331. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/async_browser_toolkit.py +0 -0
  332. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/audio_analysis_toolkit.py +0 -0
  333. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/base.py +0 -0
  334. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/bohrium_toolkit.py +0 -0
  335. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/browser_toolkit.py +0 -0
  336. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/browser_toolkit_commons.py +0 -0
  337. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/code_execution.py +0 -0
  338. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/craw4ai_toolkit.py +0 -0
  339. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/dappier_toolkit.py +0 -0
  340. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/data_commons_toolkit.py +0 -0
  341. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/edgeone_pages_mcp_toolkit.py +0 -0
  342. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/excel_toolkit.py +0 -0
  343. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/file_write_toolkit.py +0 -0
  344. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/function_tool.py +0 -0
  345. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/github_toolkit.py +0 -0
  346. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/google_calendar_toolkit.py +0 -0
  347. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/google_drive_mcp_toolkit.py +0 -0
  348. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/google_maps_toolkit.py +0 -0
  349. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/google_scholar_toolkit.py +0 -0
  350. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/human_toolkit.py +0 -0
  351. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/__init__.py +0 -0
  352. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/config_loader.py +0 -0
  353. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +0 -0
  354. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +0 -0
  355. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +0 -0
  356. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/package.json +0 -0
  357. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +0 -0
  358. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +0 -0
  359. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +0 -0
  360. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +0 -0
  361. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +0 -0
  362. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +0 -0
  363. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +0 -0
  364. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +0 -0
  365. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +0 -0
  366. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/__init__.py +0 -0
  367. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/actions.py +0 -0
  368. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/agent.py +0 -0
  369. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +0 -0
  370. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +0 -0
  371. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +0 -0
  372. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +0 -0
  373. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
  374. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +0 -0
  375. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/image_analysis_toolkit.py +0 -0
  376. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/jina_reranker_toolkit.py +0 -0
  377. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/klavis_toolkit.py +0 -0
  378. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/linkedin_toolkit.py +0 -0
  379. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/markitdown_toolkit.py +0 -0
  380. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/math_toolkit.py +0 -0
  381. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/mcp_toolkit.py +0 -0
  382. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/memory_toolkit.py +0 -0
  383. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/meshy_toolkit.py +0 -0
  384. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/message_agent_toolkit.py +0 -0
  385. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/message_integration.py +0 -0
  386. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/mineru_toolkit.py +0 -0
  387. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/networkx_toolkit.py +0 -0
  388. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/notion_mcp_toolkit.py +0 -0
  389. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/notion_toolkit.py +0 -0
  390. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/biztoc/__init__.py +0 -0
  391. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/biztoc/ai-plugin.json +0 -0
  392. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/biztoc/openapi.yaml +0 -0
  393. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/coursera/__init__.py +0 -0
  394. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/coursera/openapi.yaml +0 -0
  395. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/create_qr_code/__init__.py +0 -0
  396. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/create_qr_code/openapi.yaml +0 -0
  397. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/klarna/__init__.py +0 -0
  398. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/klarna/openapi.yaml +0 -0
  399. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/nasa_apod/__init__.py +0 -0
  400. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/nasa_apod/openapi.yaml +0 -0
  401. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/__init__.py +0 -0
  402. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/ai-plugin.json +0 -0
  403. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/openapi.yaml +0 -0
  404. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/paths/__init__.py +0 -0
  405. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/paths/get_classes.py +0 -0
  406. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/outschool/paths/search_teachers.py +0 -0
  407. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/security_config.py +0 -0
  408. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/speak/__init__.py +0 -0
  409. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/speak/openapi.yaml +0 -0
  410. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/web_scraper/__init__.py +0 -0
  411. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/web_scraper/ai-plugin.json +0 -0
  412. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/web_scraper/openapi.yaml +0 -0
  413. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/web_scraper/paths/__init__.py +0 -0
  414. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_specs/web_scraper/paths/scraper.py +0 -0
  415. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/open_api_toolkit.py +0 -0
  416. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/openai_agent_toolkit.py +0 -0
  417. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/openai_image_toolkit.py +0 -0
  418. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/openbb_toolkit.py +0 -0
  419. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/origene_mcp_toolkit.py +0 -0
  420. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/page_script.js +0 -0
  421. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/playwright_mcp_toolkit.py +0 -0
  422. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/pptx_toolkit.py +0 -0
  423. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/pubmed_toolkit.py +0 -0
  424. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/pulse_mcp_search_toolkit.py +0 -0
  425. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/pyautogui_toolkit.py +0 -0
  426. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/reddit_toolkit.py +0 -0
  427. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/retrieval_toolkit.py +0 -0
  428. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/screenshot_toolkit.py +0 -0
  429. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/searxng_toolkit.py +0 -0
  430. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/semantic_scholar_toolkit.py +0 -0
  431. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/slack_toolkit.py +0 -0
  432. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/stripe_toolkit.py +0 -0
  433. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/sympy_toolkit.py +0 -0
  434. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/task_planning_toolkit.py +0 -0
  435. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/terminal_toolkit.py +0 -0
  436. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/thinking_toolkit.py +0 -0
  437. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/twitter_toolkit.py +0 -0
  438. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/video_analysis_toolkit.py +0 -0
  439. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/video_download_toolkit.py +0 -0
  440. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/weather_toolkit.py +0 -0
  441. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/web_deploy_toolkit.py +0 -0
  442. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/whatsapp_toolkit.py +0 -0
  443. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/wolfram_alpha_toolkit.py +0 -0
  444. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/toolkits/zapier_toolkit.py +0 -0
  445. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/__init__.py +0 -0
  446. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/agents/__init__.py +0 -0
  447. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/agents/tool_calling_record.py +0 -0
  448. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/enums.py +0 -0
  449. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/mcp_registries.py +0 -0
  450. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/openai_types.py +0 -0
  451. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/types/unified_model_type.py +0 -0
  452. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/__init__.py +0 -0
  453. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/async_func.py +0 -0
  454. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/chunker/__init__.py +0 -0
  455. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/chunker/base.py +0 -0
  456. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/chunker/code_chunker.py +0 -0
  457. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/chunker/uio_chunker.py +0 -0
  458. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/commons.py +0 -0
  459. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/constants.py +0 -0
  460. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/deduplication.py +0 -0
  461. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/filename.py +0 -0
  462. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/langfuse.py +0 -0
  463. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/mcp.py +0 -0
  464. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/mcp_client.py +0 -0
  465. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/message_summarizer.py +0 -0
  466. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/response_format.py +0 -0
  467. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/token_counting.py +0 -0
  468. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/utils/tool_result.py +0 -0
  469. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/__init__.py +0 -0
  470. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/base.py +0 -0
  471. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/math_verifier.py +0 -0
  472. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/models.py +0 -0
  473. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/physics_verifier.py +0 -0
  474. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/camel/verifiers/python_verifier.py +0 -0
  475. {camel_ai-0.2.74a1 → camel_ai-0.2.74a5}/hatch_build_npm.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: camel-ai
3
- Version: 0.2.74a1
3
+ Version: 0.2.74a5
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
@@ -254,6 +254,7 @@ Requires-Dist: python-pptx>=1.0.2; extra == 'eigent'
254
254
  Requires-Dist: reportlab>=4.4.2; extra == 'eigent'
255
255
  Requires-Dist: requests-oauthlib<2,>=1.3.1; extra == 'eigent'
256
256
  Requires-Dist: scenedetect>=0.6.5.2; extra == 'eigent'
257
+ Requires-Dist: slack-sdk<4,>=3.27.2; extra == 'eigent'
257
258
  Requires-Dist: tabulate>=0.9.0; extra == 'eigent'
258
259
  Requires-Dist: websockets<15.1,>=13.0; extra == 'eigent'
259
260
  Requires-Dist: wikipedia<2,>=1; extra == 'eigent'
@@ -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.74a1'
17
+ __version__ = '0.2.74a5'
18
18
 
19
19
  __all__ = [
20
20
  '__version__',
@@ -145,7 +145,10 @@ class AnthropicModel(OpenAICompatibleModel):
145
145
  tokenization style.
146
146
  """
147
147
  if not self._token_counter:
148
- self._token_counter = AnthropicTokenCounter(self.model_type)
148
+ # Pass the API key to the token counter
149
+ self._token_counter = AnthropicTokenCounter(
150
+ self.model_type, api_key=self._api_key
151
+ )
149
152
  return self._token_counter
150
153
 
151
154
  def check_model_config(self):
@@ -198,10 +198,9 @@ Now you should summarize the scenario and return the result of the task.
198
198
 
199
199
  TASK_DECOMPOSE_PROMPT = r"""You need to either decompose a complex task or enhance a simple one, following these important principles to maximize efficiency and clarity for the executing agents:
200
200
 
201
- 0. **Enhance Simple Tasks, Don't Decompose**: First, evaluate if the task is a single, straightforward action.
202
- * **If the task is simple, DO NOT decompose it.** Instead, **rewrite and enhance** it by consolidating the main goal with any specific details from the additional information into a single, self-contained instruction. The goal is to produce a high-quality task with a clear, specific deliverable.
203
- * For example, a vague task like "Generate a report about camel-ai" should be enhanced to "Generate a comprehensive, well-structured report about camel-ai as one HTML file".
204
- * **Only decompose if a task is truly complex**: A task is complex if it involves multiple distinct steps, requires different worker skills, or can be significantly sped up by running parts in parallel.
201
+ 0. **Analyze Task Complexity**: First, evaluate if the task is a single, straightforward action or a complex one.
202
+ * **If the task is complex or could be decomposed into multiple subtasks run in parallel, decompose it.** A task is considered complex if it involves multiple distinct steps, requires different skills, or can be significantly sped up by running parts in parallel.
203
+ * **If the task is simple, do not decompose it.** Instead, **rewrite and enhance** it to produce a high-quality task with a clear, specific deliverable.
205
204
 
206
205
  1. **Self-Contained Subtasks** (if decomposing): This is critical principle. Each subtask's description **must be fully self-sufficient and independently understandable**. The agent executing the subtask has **no knowledge** of the parent task, other subtasks, or the overall workflow.
207
206
  * **DO NOT** use relative references like "the first task," "the paper mentioned above," or "the result from the previous step."
@@ -230,21 +229,6 @@ These principles aim to reduce overall completion time by maximizing concurrent
230
229
 
231
230
  **EXAMPLE FORMAT ONLY** (DO NOT use this example content for actual task decomposition):
232
231
 
233
- ***
234
- **Example 0: Simple Task (Enhance, Don't Decompose)**
235
-
236
- * **Overall Task**: "Generate a report about camel-ai"
237
- * **Available Workers**:
238
- * `DocumentAgent`: A worker that can read documents and write summaries.
239
- * **Correct Output**:
240
- ```xml
241
- <tasks>
242
- <task>Generate a comprehensive, well-structured report about camel-ai as one HTML file</task>
243
- </tasks>
244
- ```
245
- * **Reasoning**: The original task is simple but its details are vague. It is **enhanced** by consolidating all given details (output format, content focus) into a single, precise, and self-contained instruction. This follows the "Enhance Simple Tasks" principle and does not invent new information.
246
- ***
247
-
248
232
  ***
249
233
  **Example 1: Sequential Task for a Single Worker**
250
234
 
@@ -84,7 +84,7 @@ logger = get_logger(__name__)
84
84
  # Constants for configuration values
85
85
  MAX_TASK_RETRIES = 3
86
86
  MAX_PENDING_TASKS_LIMIT = 20
87
- TASK_TIMEOUT_SECONDS = 180.0
87
+ TASK_TIMEOUT_SECONDS = 480.0
88
88
  DEFAULT_WORKER_POOL_SIZE = 10
89
89
 
90
90
 
@@ -163,6 +163,11 @@ class Workforce(BaseNode):
163
163
  for graceful shutdown when a task fails 3 times. During this
164
164
  period, the workforce remains active for debugging.
165
165
  Set to 0 for immediate shutdown. (default: :obj:`15.0`)
166
+ task_timeout_seconds (Optional[float], optional): The timeout in
167
+ seconds for waiting for tasks to be returned by workers. If None,
168
+ uses the global TASK_TIMEOUT_SECONDS value (600.0 seconds).
169
+ Increase this value for tasks that require more processing time.
170
+ (default: :obj:`None`)
166
171
  share_memory (bool, optional): Whether to enable shared memory across
167
172
  SingleAgentWorker instances in the workforce. When enabled, all
168
173
  SingleAgentWorker instances, coordinator agent, and task planning
@@ -231,6 +236,7 @@ class Workforce(BaseNode):
231
236
  graceful_shutdown_timeout: float = 15.0,
232
237
  share_memory: bool = False,
233
238
  use_structured_output_handler: bool = True,
239
+ task_timeout_seconds: Optional[float] = None,
234
240
  ) -> None:
235
241
  super().__init__(description)
236
242
  self._child_listening_tasks: Deque[
@@ -241,6 +247,9 @@ class Workforce(BaseNode):
241
247
  self.graceful_shutdown_timeout = graceful_shutdown_timeout
242
248
  self.share_memory = share_memory
243
249
  self.use_structured_output_handler = use_structured_output_handler
250
+ self.task_timeout_seconds = (
251
+ task_timeout_seconds or TASK_TIMEOUT_SECONDS
252
+ )
244
253
  if self.use_structured_output_handler:
245
254
  self.structured_handler = StructuredOutputHandler()
246
255
  self.metrics_logger = WorkforceLogger(workforce_id=self.node_id)
@@ -343,12 +352,7 @@ class Workforce(BaseNode):
343
352
  # Set up task agent with default system message and required tools
344
353
  task_sys_msg = BaseMessage.make_assistant_message(
345
354
  role_name="Task Planner",
346
- content="You are going to compose and decompose tasks. Keep "
347
- "tasks that are sequential and require the same type of "
348
- "agent together in one agent process. Only decompose tasks "
349
- "that can be handled in parallel and require different types "
350
- "of agents. This ensures efficient execution by minimizing "
351
- "context switching between agents.",
355
+ content="You are going to handle tasks.",
352
356
  )
353
357
  task_planning_tools = TaskPlanningToolkit().get_tools()
354
358
 
@@ -2311,7 +2315,7 @@ class Workforce(BaseNode):
2311
2315
  # Add timeout to prevent indefinite waiting
2312
2316
  return await asyncio.wait_for(
2313
2317
  self._channel.get_returned_task_by_publisher(self.node_id),
2314
- timeout=TASK_TIMEOUT_SECONDS,
2318
+ timeout=self.task_timeout_seconds,
2315
2319
  )
2316
2320
  except Exception as e:
2317
2321
  error_msg = (
@@ -3066,6 +3070,7 @@ class Workforce(BaseNode):
3066
3070
  graceful_shutdown_timeout=self.graceful_shutdown_timeout,
3067
3071
  share_memory=self.share_memory,
3068
3072
  use_structured_output_handler=self.use_structured_output_handler,
3073
+ task_timeout_seconds=self.task_timeout_seconds,
3069
3074
  )
3070
3075
 
3071
3076
  for child in self._children:
@@ -138,7 +138,7 @@ class NoteTakingToolkit(BaseToolkit):
138
138
  self.registry.append(note_name)
139
139
  self._save_registry()
140
140
 
141
- def create_note(self, note_name: str, content: str = "") -> str:
141
+ def create_note(self, note_name: str, content: str) -> str:
142
142
  r"""Creates a new note with a unique name.
143
143
 
144
144
  This function will create a new file for your note.
@@ -149,12 +149,11 @@ class NoteTakingToolkit(BaseToolkit):
149
149
  Args:
150
150
  note_name (str): The name for your new note (without the .md
151
151
  extension). This name must be unique.
152
- content (str, optional): The initial content to write in the note.
153
- If not provided, an empty note will be created. Defaults to "".
152
+ content (str): The initial content to write in the note.
154
153
 
155
154
  Returns:
156
155
  str: A message confirming the creation of the note or an error if
157
- the note name is not valid or already exists.
156
+ the note name is not valid or already exists.
158
157
  """
159
158
  try:
160
159
  note_path = self.working_directory / f"{note_name}.md"
@@ -35,24 +35,19 @@ class SearchToolkit(BaseToolkit):
35
35
  def __init__(
36
36
  self,
37
37
  timeout: Optional[float] = None,
38
- number_of_result_pages: int = 10,
39
38
  exclude_domains: Optional[List[str]] = None,
40
39
  ):
41
- r"""Initializes the RedditToolkit with the specified number of retries
42
- and delay.
40
+ r"""Initializes the SearchToolkit.
43
41
 
44
42
  Args:
45
43
  timeout (float): Timeout for API requests in seconds.
46
44
  (default: :obj:`None`)
47
- number_of_result_pages (int): The number of result pages to
48
- retrieve. (default: :obj:`10`)
49
45
  exclude_domains (Optional[List[str]]): List of domains to
50
46
  exclude from search results. Currently only supported
51
47
  by the `search_google` function.
52
48
  (default: :obj:`None`)
53
49
  """
54
50
  super().__init__(timeout=timeout)
55
- self.number_of_result_pages = number_of_result_pages
56
51
  self.exclude_domains = exclude_domains
57
52
 
58
53
  @dependencies_required("wikipedia")
@@ -167,7 +162,10 @@ class SearchToolkit(BaseToolkit):
167
162
 
168
163
  @dependencies_required("duckduckgo_search")
169
164
  def search_duckduckgo(
170
- self, query: str, source: str = "text"
165
+ self,
166
+ query: str,
167
+ source: str = "text",
168
+ number_of_result_pages: int = 10,
171
169
  ) -> List[Dict[str, Any]]:
172
170
  r"""Use DuckDuckGo search engine to search information for
173
171
  the given query.
@@ -180,6 +178,10 @@ class SearchToolkit(BaseToolkit):
180
178
  query (str): The query to be searched.
181
179
  source (str): The type of information to query (e.g., "text",
182
180
  "images", "videos"). Defaults to "text".
181
+ number_of_result_pages (int): The number of result pages to
182
+ retrieve. Adjust this based on your task - use fewer results
183
+ for focused searches and more for comprehensive searches.
184
+ (default: :obj:`10`)
183
185
 
184
186
  Returns:
185
187
  List[Dict[str, Any]]: A list of dictionaries where each dictionary
@@ -194,7 +196,7 @@ class SearchToolkit(BaseToolkit):
194
196
  if source == "text":
195
197
  try:
196
198
  results = ddgs.text(
197
- keywords=query, max_results=self.number_of_result_pages
199
+ keywords=query, max_results=number_of_result_pages
198
200
  )
199
201
  except RequestException as e:
200
202
  # Handle specific exceptions or general request exceptions
@@ -214,7 +216,7 @@ class SearchToolkit(BaseToolkit):
214
216
  elif source == "images":
215
217
  try:
216
218
  results = ddgs.images(
217
- keywords=query, max_results=self.number_of_result_pages
219
+ keywords=query, max_results=number_of_result_pages
218
220
  )
219
221
  except RequestException as e:
220
222
  # Handle specific exceptions or general request exceptions
@@ -235,7 +237,7 @@ class SearchToolkit(BaseToolkit):
235
237
  elif source == "videos":
236
238
  try:
237
239
  results = ddgs.videos(
238
- keywords=query, max_results=self.number_of_result_pages
240
+ keywords=query, max_results=number_of_result_pages
239
241
  )
240
242
  except RequestException as e:
241
243
  # Handle specific exceptions or general request exceptions
@@ -279,6 +281,7 @@ class SearchToolkit(BaseToolkit):
279
281
  units: Optional[str] = None,
280
282
  extra_snippets: Optional[bool] = None,
281
283
  summary: Optional[bool] = None,
284
+ number_of_result_pages: int = 10,
282
285
  ) -> Dict[str, Any]:
283
286
  r"""This function queries the Brave search engine API and returns a
284
287
  dictionary, representing a search result.
@@ -365,6 +368,10 @@ class SearchToolkit(BaseToolkit):
365
368
  summary (Optional[bool]): This parameter enables summary key
366
369
  generation in web search results. This is required for
367
370
  summarizer to be enabled.
371
+ number_of_result_pages (int): The number of result pages to
372
+ retrieve. Adjust this based on your task - use fewer results
373
+ for focused searches and more for comprehensive searches.
374
+ (default: :obj:`10`)
368
375
 
369
376
  Returns:
370
377
  Dict[str, Any]: A dictionary representing a search result.
@@ -391,7 +398,7 @@ class SearchToolkit(BaseToolkit):
391
398
  "country": country,
392
399
  "search_lang": search_lang,
393
400
  "ui_lang": ui_lang,
394
- "count": self.number_of_result_pages,
401
+ "count": number_of_result_pages,
395
402
  "offset": offset,
396
403
  "safesearch": safesearch,
397
404
  "freshness": freshness,
@@ -444,6 +451,8 @@ class SearchToolkit(BaseToolkit):
444
451
  self,
445
452
  query: str,
446
453
  search_type: str = "web",
454
+ number_of_result_pages: int = 10,
455
+ start_page: int = 1,
447
456
  ) -> List[Dict[str, Any]]:
448
457
  r"""Use Google search engine to search information for the given query.
449
458
 
@@ -451,6 +460,15 @@ class SearchToolkit(BaseToolkit):
451
460
  query (str): The query to be searched.
452
461
  search_type (str): The type of search to perform. Either "web" for
453
462
  web pages or "image" for image search. (default: "web")
463
+ number_of_result_pages (int): The number of result pages to
464
+ retrieve. Adjust this based on your task - use fewer results
465
+ for focused searches and more for comprehensive searches.
466
+ (default: :obj:`10`)
467
+ start_page (int): The result page to start from. Use this for
468
+ pagination - e.g., start_page=1 for results 1-10,
469
+ start_page=11 for results 11-20, etc. This allows agents to
470
+ check initial results and continue searching if needed.
471
+ (default: :obj:`1`)
454
472
 
455
473
  Returns:
456
474
  List[Dict[str, Any]]: A list of dictionaries where each dictionary
@@ -503,8 +521,8 @@ class SearchToolkit(BaseToolkit):
503
521
  # https://cse.google.com/cse/all
504
522
  SEARCH_ENGINE_ID = os.getenv("SEARCH_ENGINE_ID")
505
523
 
506
- # Using the first page
507
- start_page_idx = 1
524
+ # Using the specified start page
525
+ start_page_idx = start_page
508
526
  # Different language may get different result
509
527
  search_language = "en"
510
528
 
@@ -522,7 +540,7 @@ class SearchToolkit(BaseToolkit):
522
540
  base_url = (
523
541
  f"https://www.googleapis.com/customsearch/v1?"
524
542
  f"key={GOOGLE_API_KEY}&cx={SEARCH_ENGINE_ID}&q={modified_query}&start="
525
- f"{start_page_idx}&lr={search_language}&num={self.number_of_result_pages}"
543
+ f"{start_page_idx}&lr={search_language}&num={number_of_result_pages}"
526
544
  )
527
545
 
528
546
  # Add searchType parameter for image search
@@ -620,11 +638,17 @@ class SearchToolkit(BaseToolkit):
620
638
  responses.append({"error": f"google search failed: {e!s}"})
621
639
  return responses
622
640
 
623
- def tavily_search(self, query: str, **kwargs) -> List[Dict[str, Any]]:
641
+ def tavily_search(
642
+ self, query: str, number_of_result_pages: int = 10, **kwargs
643
+ ) -> List[Dict[str, Any]]:
624
644
  r"""Use Tavily Search API to search information for the given query.
625
645
 
626
646
  Args:
627
647
  query (str): The query to be searched.
648
+ number_of_result_pages (int): The number of result pages to
649
+ retrieve. Adjust this based on your task - use fewer results
650
+ for focused searches and more for comprehensive searches.
651
+ (default: :obj:`10`)
628
652
  **kwargs: Additional optional parameters supported by Tavily's API:
629
653
  - search_depth (str): "basic" or "advanced" search depth.
630
654
  - topic (str): The search category, e.g., "general" or "news."
@@ -661,7 +685,7 @@ class SearchToolkit(BaseToolkit):
661
685
 
662
686
  try:
663
687
  results = client.search(
664
- query, max_results=self.number_of_result_pages, **kwargs
688
+ query, max_results=number_of_result_pages, **kwargs
665
689
  )
666
690
  return results
667
691
  except Exception as e:
@@ -674,6 +698,7 @@ class SearchToolkit(BaseToolkit):
674
698
  freshness: str = "noLimit",
675
699
  summary: bool = False,
676
700
  page: int = 1,
701
+ number_of_result_pages: int = 10,
677
702
  ) -> Dict[str, Any]:
678
703
  r"""Query the Bocha AI search API and return search results.
679
704
 
@@ -689,6 +714,10 @@ class SearchToolkit(BaseToolkit):
689
714
  summary (bool): Whether to include text summaries in results.
690
715
  Default is False.
691
716
  page (int): Page number of results. Default is 1.
717
+ number_of_result_pages (int): The number of result pages to
718
+ retrieve. Adjust this based on your task - use fewer results
719
+ for focused searches and more for comprehensive searches.
720
+ (default: :obj:`10`)
692
721
 
693
722
  Returns:
694
723
  Dict[str, Any]: A dictionary containing search results, including
@@ -710,7 +739,7 @@ class SearchToolkit(BaseToolkit):
710
739
  "query": query,
711
740
  "freshness": freshness,
712
741
  "summary": summary,
713
- "count": self.number_of_result_pages,
742
+ "count": number_of_result_pages,
714
743
  "page": page,
715
744
  },
716
745
  ensure_ascii=False,
@@ -728,13 +757,19 @@ class SearchToolkit(BaseToolkit):
728
757
  except requests.exceptions.RequestException as e:
729
758
  return {"error": f"Bocha AI search failed: {e!s}"}
730
759
 
731
- def search_baidu(self, query: str) -> Dict[str, Any]:
760
+ def search_baidu(
761
+ self, query: str, number_of_result_pages: int = 10
762
+ ) -> Dict[str, Any]:
732
763
  r"""Search Baidu using web scraping to retrieve relevant search
733
764
  results. This method queries Baidu's search engine and extracts search
734
765
  results including titles, descriptions, and URLs.
735
766
 
736
767
  Args:
737
768
  query (str): Search query string to submit to Baidu.
769
+ number_of_result_pages (int): The number of result pages to
770
+ retrieve. Adjust this based on your task - use fewer results
771
+ for focused searches and more for comprehensive searches.
772
+ (default: :obj:`10`)
738
773
 
739
774
  Returns:
740
775
  Dict[str, Any]: A dictionary containing search results or error
@@ -752,7 +787,7 @@ class SearchToolkit(BaseToolkit):
752
787
  ),
753
788
  "Referer": "https://www.baidu.com",
754
789
  }
755
- params = {"wd": query, "rn": str(self.number_of_result_pages)}
790
+ params = {"wd": query, "rn": str(number_of_result_pages)}
756
791
 
757
792
  response = requests.get(url, headers=headers, params=params)
758
793
  response.encoding = "utf-8"
@@ -781,7 +816,7 @@ class SearchToolkit(BaseToolkit):
781
816
  "url": link,
782
817
  }
783
818
  )
784
- if len(results) >= self.number_of_result_pages:
819
+ if len(results) >= number_of_result_pages:
785
820
  break
786
821
 
787
822
  if not results:
@@ -795,7 +830,9 @@ class SearchToolkit(BaseToolkit):
795
830
  except Exception as e:
796
831
  return {"error": f"Baidu scraping error: {e!s}"}
797
832
 
798
- def search_bing(self, query: str) -> Dict[str, Any]:
833
+ def search_bing(
834
+ self, query: str, number_of_result_pages: int = 10
835
+ ) -> Dict[str, Any]:
799
836
  r"""Use Bing search engine to search information for the given query.
800
837
 
801
838
  This function queries the Chinese version of Bing search engine (cn.
@@ -807,6 +844,10 @@ class SearchToolkit(BaseToolkit):
807
844
  Args:
808
845
  query (str): The search query string to submit to Bing. Works best
809
846
  with Chinese queries or when Chinese results are preferred.
847
+ number_of_result_pages (int): The number of result pages to
848
+ retrieve. Adjust this based on your task - use fewer results
849
+ for focused searches and more for comprehensive searches.
850
+ (default: :obj:`10`)
810
851
 
811
852
  Returns:
812
853
  Dict ([str, Any]): A dictionary containing either:
@@ -856,9 +897,7 @@ class SearchToolkit(BaseToolkit):
856
897
  result_items = b_results_tag.find_all("li")
857
898
 
858
899
  results: List[Dict[str, Any]] = []
859
- for i in range(
860
- min(len(result_items), self.number_of_result_pages)
861
- ):
900
+ for i in range(min(len(result_items), number_of_result_pages)):
862
901
  row = result_items[i]
863
902
  if not isinstance(row, Tag):
864
903
  continue
@@ -927,6 +966,7 @@ class SearchToolkit(BaseToolkit):
927
966
  exclude_text: Optional[List[str]] = None,
928
967
  use_autoprompt: bool = True,
929
968
  text: bool = False,
969
+ number_of_result_pages: int = 10,
930
970
  ) -> Dict[str, Any]:
931
971
  r"""Use Exa search API to perform intelligent web search with optional
932
972
  content extraction.
@@ -948,6 +988,10 @@ class SearchToolkit(BaseToolkit):
948
988
  enhance the query. (default: :obj:`True`)
949
989
  text (bool): Whether to include webpage contents in results.
950
990
  (default: :obj:`False`)
991
+ number_of_result_pages (int): The number of result pages to
992
+ retrieve. Must be between 1 and 100. Adjust this based on
993
+ your task - use fewer results for focused searches and more
994
+ for comprehensive searches. (default: :obj:`10`)
951
995
 
952
996
  Returns:
953
997
  Dict[str, Any]: A dict containing search results and metadata:
@@ -967,8 +1011,8 @@ class SearchToolkit(BaseToolkit):
967
1011
  exa = Exa(EXA_API_KEY)
968
1012
 
969
1013
  if (
970
- self.number_of_result_pages is not None
971
- and not 0 < self.number_of_result_pages <= 100
1014
+ number_of_result_pages is not None
1015
+ and not 0 < number_of_result_pages <= 100
972
1016
  ):
973
1017
  raise ValueError("num_results must be between 1 and 100")
974
1018
 
@@ -996,7 +1040,7 @@ class SearchToolkit(BaseToolkit):
996
1040
  query=query,
997
1041
  type=search_type,
998
1042
  category=category,
999
- num_results=self.number_of_result_pages,
1043
+ num_results=number_of_result_pages,
1000
1044
  include_text=include_text,
1001
1045
  exclude_text=exclude_text,
1002
1046
  use_autoprompt=use_autoprompt,
@@ -1010,7 +1054,7 @@ class SearchToolkit(BaseToolkit):
1010
1054
  query=query,
1011
1055
  type=search_type,
1012
1056
  category=category,
1013
- num_results=self.number_of_result_pages,
1057
+ num_results=number_of_result_pages,
1014
1058
  include_text=include_text,
1015
1059
  exclude_text=exclude_text,
1016
1060
  use_autoprompt=use_autoprompt,
@@ -1043,6 +1087,7 @@ class SearchToolkit(BaseToolkit):
1043
1087
  return_main_text: bool = False,
1044
1088
  return_markdown_text: bool = True,
1045
1089
  enable_rerank: bool = True,
1090
+ number_of_result_pages: int = 10,
1046
1091
  ) -> Dict[str, Any]:
1047
1092
  r"""Query the Alibaba Tongxiao search API and return search results.
1048
1093
 
@@ -1071,6 +1116,10 @@ class SearchToolkit(BaseToolkit):
1071
1116
  enable_rerank (bool): Whether to enable result reranking. If
1072
1117
  response time is critical, setting this to False can reduce
1073
1118
  response time by approximately 140ms. (default: :obj:`True`)
1119
+ number_of_result_pages (int): The number of result pages to
1120
+ retrieve. Adjust this based on your task - use fewer results
1121
+ for focused searches and more for comprehensive searches.
1122
+ (default: :obj:`10`)
1074
1123
 
1075
1124
  Returns:
1076
1125
  Dict[str, Any]: A dictionary containing either search results with
@@ -1096,7 +1145,7 @@ class SearchToolkit(BaseToolkit):
1096
1145
  params: Dict[str, Union[str, int]] = {
1097
1146
  "query": query,
1098
1147
  "timeRange": time_range,
1099
- "page": self.number_of_result_pages,
1148
+ "page": number_of_result_pages,
1100
1149
  "returnMainText": str(return_main_text).lower(),
1101
1150
  "returnMarkdownText": str(return_markdown_text).lower(),
1102
1151
  "enableRerank": str(enable_rerank).lower(),
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "camel-ai"
7
- version = "0.2.74a1"
7
+ version = "0.2.74a5"
8
8
  description = "Communicative Agents for AI Society Study"
9
9
  authors = [{ name = "CAMEL-AI.org" }]
10
10
  requires-python = ">=3.10,<3.13"
@@ -302,6 +302,7 @@ eigent = [
302
302
  "exa-py>=1.10.0,<2",
303
303
  "reportlab>=4.4.2",
304
304
  "onnxruntime<=1.19.2",
305
+ "slack-sdk>=3.27.2,<4",
305
306
  ]
306
307
  all = [
307
308
  "numpy>=1.2,<=2.2",
File without changes
File without changes
File without changes