camel-ai 0.2.67__py3-none-any.whl → 0.2.80a2__py3-none-any.whl

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.
Files changed (224) hide show
  1. camel/__init__.py +1 -1
  2. camel/agents/_types.py +6 -2
  3. camel/agents/_utils.py +38 -0
  4. camel/agents/chat_agent.py +4014 -410
  5. camel/agents/mcp_agent.py +30 -27
  6. camel/agents/repo_agent.py +2 -1
  7. camel/benchmarks/browsecomp.py +6 -6
  8. camel/configs/__init__.py +15 -0
  9. camel/configs/aihubmix_config.py +88 -0
  10. camel/configs/amd_config.py +70 -0
  11. camel/configs/cometapi_config.py +104 -0
  12. camel/configs/minimax_config.py +93 -0
  13. camel/configs/nebius_config.py +103 -0
  14. camel/configs/vllm_config.py +2 -0
  15. camel/data_collectors/alpaca_collector.py +15 -6
  16. camel/datagen/self_improving_cot.py +1 -1
  17. camel/datasets/base_generator.py +39 -10
  18. camel/environments/__init__.py +12 -0
  19. camel/environments/rlcards_env.py +860 -0
  20. camel/environments/single_step.py +28 -3
  21. camel/environments/tic_tac_toe.py +1 -1
  22. camel/interpreters/__init__.py +2 -0
  23. camel/interpreters/docker/Dockerfile +4 -16
  24. camel/interpreters/docker_interpreter.py +3 -2
  25. camel/interpreters/e2b_interpreter.py +34 -1
  26. camel/interpreters/internal_python_interpreter.py +51 -2
  27. camel/interpreters/microsandbox_interpreter.py +395 -0
  28. camel/loaders/__init__.py +11 -2
  29. camel/loaders/base_loader.py +85 -0
  30. camel/loaders/chunkr_reader.py +9 -0
  31. camel/loaders/firecrawl_reader.py +4 -4
  32. camel/logger.py +1 -1
  33. camel/memories/agent_memories.py +84 -1
  34. camel/memories/base.py +34 -0
  35. camel/memories/blocks/chat_history_block.py +122 -4
  36. camel/memories/blocks/vectordb_block.py +8 -1
  37. camel/memories/context_creators/score_based.py +29 -237
  38. camel/memories/records.py +88 -8
  39. camel/messages/base.py +166 -40
  40. camel/messages/func_message.py +32 -5
  41. camel/models/__init__.py +10 -0
  42. camel/models/aihubmix_model.py +83 -0
  43. camel/models/aiml_model.py +1 -16
  44. camel/models/amd_model.py +101 -0
  45. camel/models/anthropic_model.py +117 -18
  46. camel/models/aws_bedrock_model.py +2 -33
  47. camel/models/azure_openai_model.py +205 -91
  48. camel/models/base_audio_model.py +3 -1
  49. camel/models/base_model.py +189 -24
  50. camel/models/cohere_model.py +5 -17
  51. camel/models/cometapi_model.py +83 -0
  52. camel/models/crynux_model.py +1 -16
  53. camel/models/deepseek_model.py +6 -16
  54. camel/models/fish_audio_model.py +6 -0
  55. camel/models/gemini_model.py +71 -20
  56. camel/models/groq_model.py +1 -17
  57. camel/models/internlm_model.py +1 -16
  58. camel/models/litellm_model.py +49 -32
  59. camel/models/lmstudio_model.py +1 -17
  60. camel/models/minimax_model.py +83 -0
  61. camel/models/mistral_model.py +1 -16
  62. camel/models/model_factory.py +27 -1
  63. camel/models/model_manager.py +24 -6
  64. camel/models/modelscope_model.py +1 -16
  65. camel/models/moonshot_model.py +185 -19
  66. camel/models/nebius_model.py +83 -0
  67. camel/models/nemotron_model.py +0 -5
  68. camel/models/netmind_model.py +1 -16
  69. camel/models/novita_model.py +1 -16
  70. camel/models/nvidia_model.py +1 -16
  71. camel/models/ollama_model.py +4 -19
  72. camel/models/openai_compatible_model.py +171 -46
  73. camel/models/openai_model.py +205 -77
  74. camel/models/openrouter_model.py +1 -17
  75. camel/models/ppio_model.py +1 -16
  76. camel/models/qianfan_model.py +1 -16
  77. camel/models/qwen_model.py +1 -16
  78. camel/models/reka_model.py +1 -16
  79. camel/models/samba_model.py +34 -47
  80. camel/models/sglang_model.py +64 -31
  81. camel/models/siliconflow_model.py +1 -16
  82. camel/models/stub_model.py +0 -4
  83. camel/models/togetherai_model.py +1 -16
  84. camel/models/vllm_model.py +1 -16
  85. camel/models/volcano_model.py +0 -17
  86. camel/models/watsonx_model.py +1 -16
  87. camel/models/yi_model.py +1 -16
  88. camel/models/zhipuai_model.py +60 -16
  89. camel/parsers/__init__.py +18 -0
  90. camel/parsers/mcp_tool_call_parser.py +176 -0
  91. camel/retrievers/auto_retriever.py +1 -0
  92. camel/runtimes/configs.py +11 -11
  93. camel/runtimes/daytona_runtime.py +15 -16
  94. camel/runtimes/docker_runtime.py +6 -6
  95. camel/runtimes/remote_http_runtime.py +5 -5
  96. camel/services/agent_openapi_server.py +380 -0
  97. camel/societies/__init__.py +2 -0
  98. camel/societies/role_playing.py +26 -28
  99. camel/societies/workforce/__init__.py +2 -0
  100. camel/societies/workforce/events.py +122 -0
  101. camel/societies/workforce/prompts.py +249 -38
  102. camel/societies/workforce/role_playing_worker.py +82 -20
  103. camel/societies/workforce/single_agent_worker.py +634 -34
  104. camel/societies/workforce/structured_output_handler.py +512 -0
  105. camel/societies/workforce/task_channel.py +169 -23
  106. camel/societies/workforce/utils.py +176 -9
  107. camel/societies/workforce/worker.py +77 -23
  108. camel/societies/workforce/workflow_memory_manager.py +772 -0
  109. camel/societies/workforce/workforce.py +3168 -478
  110. camel/societies/workforce/workforce_callback.py +74 -0
  111. camel/societies/workforce/workforce_logger.py +203 -175
  112. camel/societies/workforce/workforce_metrics.py +33 -0
  113. camel/storages/__init__.py +4 -0
  114. camel/storages/key_value_storages/json.py +15 -2
  115. camel/storages/key_value_storages/mem0_cloud.py +48 -47
  116. camel/storages/object_storages/google_cloud.py +1 -1
  117. camel/storages/vectordb_storages/__init__.py +6 -0
  118. camel/storages/vectordb_storages/chroma.py +731 -0
  119. camel/storages/vectordb_storages/oceanbase.py +13 -13
  120. camel/storages/vectordb_storages/pgvector.py +349 -0
  121. camel/storages/vectordb_storages/qdrant.py +3 -3
  122. camel/storages/vectordb_storages/surreal.py +365 -0
  123. camel/storages/vectordb_storages/tidb.py +8 -6
  124. camel/tasks/task.py +244 -27
  125. camel/toolkits/__init__.py +46 -8
  126. camel/toolkits/aci_toolkit.py +64 -19
  127. camel/toolkits/arxiv_toolkit.py +6 -6
  128. camel/toolkits/base.py +63 -5
  129. camel/toolkits/code_execution.py +28 -1
  130. camel/toolkits/context_summarizer_toolkit.py +684 -0
  131. camel/toolkits/craw4ai_toolkit.py +93 -0
  132. camel/toolkits/dappier_toolkit.py +10 -6
  133. camel/toolkits/dingtalk.py +1135 -0
  134. camel/toolkits/edgeone_pages_mcp_toolkit.py +49 -0
  135. camel/toolkits/excel_toolkit.py +901 -67
  136. camel/toolkits/file_toolkit.py +1402 -0
  137. camel/toolkits/function_tool.py +30 -6
  138. camel/toolkits/github_toolkit.py +107 -20
  139. camel/toolkits/gmail_toolkit.py +1839 -0
  140. camel/toolkits/google_calendar_toolkit.py +38 -4
  141. camel/toolkits/google_drive_mcp_toolkit.py +54 -0
  142. camel/toolkits/human_toolkit.py +34 -10
  143. camel/toolkits/hybrid_browser_toolkit/__init__.py +18 -0
  144. camel/toolkits/hybrid_browser_toolkit/config_loader.py +185 -0
  145. camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit.py +246 -0
  146. camel/toolkits/hybrid_browser_toolkit/hybrid_browser_toolkit_ts.py +1973 -0
  147. camel/toolkits/hybrid_browser_toolkit/installer.py +203 -0
  148. camel/toolkits/hybrid_browser_toolkit/ts/package-lock.json +3749 -0
  149. camel/toolkits/hybrid_browser_toolkit/ts/package.json +32 -0
  150. camel/toolkits/hybrid_browser_toolkit/ts/src/browser-scripts.js +125 -0
  151. camel/toolkits/hybrid_browser_toolkit/ts/src/browser-session.ts +1815 -0
  152. camel/toolkits/hybrid_browser_toolkit/ts/src/config-loader.ts +233 -0
  153. camel/toolkits/hybrid_browser_toolkit/ts/src/hybrid-browser-toolkit.ts +590 -0
  154. camel/toolkits/hybrid_browser_toolkit/ts/src/index.ts +7 -0
  155. camel/toolkits/hybrid_browser_toolkit/ts/src/parent-child-filter.ts +226 -0
  156. camel/toolkits/hybrid_browser_toolkit/ts/src/snapshot-parser.ts +219 -0
  157. camel/toolkits/hybrid_browser_toolkit/ts/src/som-screenshot-injected.ts +543 -0
  158. camel/toolkits/hybrid_browser_toolkit/ts/src/types.ts +130 -0
  159. camel/toolkits/hybrid_browser_toolkit/ts/tsconfig.json +26 -0
  160. camel/toolkits/hybrid_browser_toolkit/ts/websocket-server.js +319 -0
  161. camel/toolkits/hybrid_browser_toolkit/ws_wrapper.py +1032 -0
  162. camel/toolkits/hybrid_browser_toolkit_py/__init__.py +17 -0
  163. camel/toolkits/hybrid_browser_toolkit_py/actions.py +575 -0
  164. camel/toolkits/hybrid_browser_toolkit_py/agent.py +311 -0
  165. camel/toolkits/hybrid_browser_toolkit_py/browser_session.py +787 -0
  166. camel/toolkits/hybrid_browser_toolkit_py/config_loader.py +490 -0
  167. camel/toolkits/hybrid_browser_toolkit_py/hybrid_browser_toolkit.py +2390 -0
  168. camel/toolkits/hybrid_browser_toolkit_py/snapshot.py +233 -0
  169. camel/toolkits/hybrid_browser_toolkit_py/stealth_script.js +0 -0
  170. camel/toolkits/hybrid_browser_toolkit_py/unified_analyzer.js +1043 -0
  171. camel/toolkits/image_generation_toolkit.py +390 -0
  172. camel/toolkits/jina_reranker_toolkit.py +3 -4
  173. camel/toolkits/klavis_toolkit.py +5 -1
  174. camel/toolkits/markitdown_toolkit.py +104 -0
  175. camel/toolkits/math_toolkit.py +64 -10
  176. camel/toolkits/mcp_toolkit.py +370 -45
  177. camel/toolkits/memory_toolkit.py +5 -1
  178. camel/toolkits/message_agent_toolkit.py +608 -0
  179. camel/toolkits/message_integration.py +724 -0
  180. camel/toolkits/minimax_mcp_toolkit.py +195 -0
  181. camel/toolkits/note_taking_toolkit.py +277 -0
  182. camel/toolkits/notion_mcp_toolkit.py +224 -0
  183. camel/toolkits/openbb_toolkit.py +5 -1
  184. camel/toolkits/origene_mcp_toolkit.py +56 -0
  185. camel/toolkits/playwright_mcp_toolkit.py +12 -31
  186. camel/toolkits/pptx_toolkit.py +25 -12
  187. camel/toolkits/resend_toolkit.py +168 -0
  188. camel/toolkits/screenshot_toolkit.py +213 -0
  189. camel/toolkits/search_toolkit.py +437 -142
  190. camel/toolkits/slack_toolkit.py +104 -50
  191. camel/toolkits/sympy_toolkit.py +1 -1
  192. camel/toolkits/task_planning_toolkit.py +3 -3
  193. camel/toolkits/terminal_toolkit/__init__.py +18 -0
  194. camel/toolkits/terminal_toolkit/terminal_toolkit.py +957 -0
  195. camel/toolkits/terminal_toolkit/utils.py +532 -0
  196. camel/toolkits/thinking_toolkit.py +1 -1
  197. camel/toolkits/vertex_ai_veo_toolkit.py +590 -0
  198. camel/toolkits/video_analysis_toolkit.py +106 -26
  199. camel/toolkits/video_download_toolkit.py +17 -14
  200. camel/toolkits/web_deploy_toolkit.py +1219 -0
  201. camel/toolkits/wechat_official_toolkit.py +483 -0
  202. camel/toolkits/zapier_toolkit.py +5 -1
  203. camel/types/__init__.py +2 -2
  204. camel/types/agents/tool_calling_record.py +4 -1
  205. camel/types/enums.py +316 -40
  206. camel/types/openai_types.py +2 -2
  207. camel/types/unified_model_type.py +31 -4
  208. camel/utils/commons.py +36 -5
  209. camel/utils/constants.py +3 -0
  210. camel/utils/context_utils.py +1003 -0
  211. camel/utils/mcp.py +138 -4
  212. camel/utils/mcp_client.py +45 -1
  213. camel/utils/message_summarizer.py +148 -0
  214. camel/utils/token_counting.py +43 -20
  215. camel/utils/tool_result.py +44 -0
  216. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/METADATA +296 -85
  217. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/RECORD +219 -146
  218. camel/loaders/pandas_reader.py +0 -368
  219. camel/toolkits/dalle_toolkit.py +0 -175
  220. camel/toolkits/file_write_toolkit.py +0 -444
  221. camel/toolkits/openai_agent_toolkit.py +0 -135
  222. camel/toolkits/terminal_toolkit.py +0 -1037
  223. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/WHEEL +0 -0
  224. {camel_ai-0.2.67.dist-info → camel_ai-0.2.80a2.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,233 @@
1
+ export interface StealthConfig {
2
+ enabled: boolean;
3
+ args?: string[];
4
+ userAgent?: string;
5
+ extraHTTPHeaders?: Record<string, string>;
6
+ }
7
+
8
+ export interface BrowserConfig {
9
+ // Browser configuration
10
+ headless: boolean;
11
+ userDataDir?: string;
12
+ stealth: StealthConfig;
13
+
14
+ // Default settings
15
+ defaultStartUrl: string;
16
+
17
+ // Timeout configurations (in milliseconds)
18
+ defaultTimeout?: number;
19
+ shortTimeout?: number;
20
+ navigationTimeout: number;
21
+ networkIdleTimeout: number;
22
+ screenshotTimeout: number;
23
+ pageStabilityTimeout: number;
24
+ domContentLoadedTimeout: number;
25
+
26
+ // Action timeouts
27
+ popupTimeout: number;
28
+ clickTimeout: number;
29
+
30
+ // Tab management
31
+ tabIdPrefix: string;
32
+ tabCounterPadding: number;
33
+ consoleLogLimit: number;
34
+
35
+ // Scroll and positioning
36
+ scrollPositionScale: number;
37
+ navigationDelay: number;
38
+
39
+ // Page states and URLs
40
+ blankPageUrls: string[];
41
+ dataUrlPrefix: string;
42
+
43
+ // Wait states
44
+ domContentLoadedState: string;
45
+ networkIdleState: string;
46
+
47
+ // HTML attributes
48
+ targetAttribute: string;
49
+ hrefAttribute: string;
50
+ onclickAttribute: string;
51
+
52
+ // Target and navigation values
53
+ blankTarget: string;
54
+ windowOpenString: string;
55
+ javascriptVoidPrefix: string;
56
+ javascriptVoidEmpty: string;
57
+ anchorOnly: string;
58
+
59
+ // Action options
60
+ forceClick: boolean;
61
+ fullPageScreenshot: boolean;
62
+
63
+ // Keyboard keys
64
+ enterKey: string;
65
+
66
+ // Other options
67
+ useNativePlaywrightMapping: boolean;
68
+ viewport: {
69
+ width: number;
70
+ height: number;
71
+ };
72
+
73
+ // CDP connection options
74
+ connectOverCdp: boolean;
75
+ cdpUrl?: string;
76
+ cdpKeepCurrentPage: boolean;
77
+ }
78
+
79
+ export interface WebSocketConfig {
80
+ browser_log_to_file: boolean;
81
+ session_id?: string;
82
+ viewport_limit: boolean;
83
+ fullVisualMode?: boolean;
84
+ }
85
+
86
+ // Default stealth configuration
87
+ function getDefaultStealthConfig(): StealthConfig {
88
+ return {
89
+ enabled: false,
90
+ args: [
91
+ '--disable-blink-features=AutomationControlled',
92
+ '--disable-dev-shm-usage',
93
+ '--disable-features=VizDisplayCompositor',
94
+ '--no-first-run',
95
+ '--no-default-browser-check',
96
+ '--no-sandbox',
97
+ '--disable-setuid-sandbox',
98
+ ],
99
+ userAgent: undefined,
100
+ extraHTTPHeaders: {}
101
+ };
102
+ }
103
+
104
+ // Default configuration helper function
105
+ function getDefaultBrowserConfig(): BrowserConfig {
106
+ return {
107
+ headless: true,
108
+ stealth: getDefaultStealthConfig(),
109
+ defaultStartUrl: 'https://google.com/',
110
+ navigationTimeout: 30000,
111
+ networkIdleTimeout: 5000,
112
+ screenshotTimeout: 15000,
113
+ pageStabilityTimeout: 1500,
114
+ domContentLoadedTimeout: 5000,
115
+ popupTimeout: 5000,
116
+ clickTimeout: 3000,
117
+ tabIdPrefix: 'tab-',
118
+ tabCounterPadding: 3,
119
+ consoleLogLimit: 1000,
120
+ scrollPositionScale: 0.1,
121
+ navigationDelay: 100,
122
+ blankPageUrls: ['chrome://newtab/', 'edge://newtab/', 'chrome://new-tab-page/'],
123
+ dataUrlPrefix: 'data:',
124
+ domContentLoadedState: 'domcontentloaded',
125
+ networkIdleState: 'networkidle',
126
+ targetAttribute: 'target',
127
+ hrefAttribute: 'href',
128
+ onclickAttribute: 'onclick',
129
+ blankTarget: '_blank',
130
+ windowOpenString: 'window.open',
131
+ javascriptVoidPrefix: 'javascript:void',
132
+ javascriptVoidEmpty: 'javascript:;',
133
+ anchorOnly: '#',
134
+ forceClick: true,
135
+ fullPageScreenshot: false,
136
+ enterKey: 'Enter',
137
+ useNativePlaywrightMapping: true,
138
+ viewport: {
139
+ width: 1280,
140
+ height: 720
141
+ },
142
+ connectOverCdp: false,
143
+ cdpUrl: undefined,
144
+ cdpKeepCurrentPage: false
145
+ };
146
+ }
147
+
148
+ function getDefaultWebSocketConfig(): WebSocketConfig {
149
+ return {
150
+ browser_log_to_file: false,
151
+ viewport_limit: false
152
+ };
153
+ }
154
+
155
+ export class ConfigLoader {
156
+ private browserConfig: BrowserConfig;
157
+ private wsConfig: WebSocketConfig;
158
+
159
+ constructor(
160
+ browserConfig: Partial<BrowserConfig> = {},
161
+ wsConfig: Partial<WebSocketConfig> = {}
162
+ ) {
163
+ const defaultConfig = getDefaultBrowserConfig();
164
+ this.browserConfig = {
165
+ ...defaultConfig,
166
+ ...browserConfig,
167
+ stealth: {
168
+ ...defaultConfig.stealth,
169
+ ...(browserConfig.stealth || {})
170
+ }
171
+ };
172
+
173
+ this.wsConfig = {
174
+ ...getDefaultWebSocketConfig(),
175
+ ...wsConfig
176
+ };
177
+ }
178
+
179
+ getBrowserConfig(): BrowserConfig {
180
+ return { ...this.browserConfig };
181
+ }
182
+
183
+ getWebSocketConfig(): WebSocketConfig {
184
+ return { ...this.wsConfig };
185
+ }
186
+
187
+
188
+
189
+
190
+ // Merge from Python config format
191
+ static fromPythonConfig(config: any): ConfigLoader {
192
+ const browserConfig: Partial<BrowserConfig> = {};
193
+ const wsConfig: Partial<WebSocketConfig> = {};
194
+
195
+ // Map Python config to TypeScript config
196
+ if (config.headless !== undefined) browserConfig.headless = config.headless;
197
+ if (config.userDataDir !== undefined) browserConfig.userDataDir = config.userDataDir;
198
+ if (config.stealth !== undefined) {
199
+ // Handle both boolean and object formats for backward compatibility
200
+ if (typeof config.stealth === 'boolean') {
201
+ browserConfig.stealth = {
202
+ enabled: config.stealth,
203
+ args: getDefaultStealthConfig().args
204
+ };
205
+ } else {
206
+ browserConfig.stealth = config.stealth;
207
+ }
208
+ }
209
+ if (config.defaultStartUrl !== undefined) browserConfig.defaultStartUrl = config.defaultStartUrl;
210
+ if (config.navigationTimeout !== undefined) browserConfig.navigationTimeout = config.navigationTimeout;
211
+ if (config.networkIdleTimeout !== undefined) browserConfig.networkIdleTimeout = config.networkIdleTimeout;
212
+ if (config.screenshotTimeout !== undefined) browserConfig.screenshotTimeout = config.screenshotTimeout;
213
+ if (config.pageStabilityTimeout !== undefined) browserConfig.pageStabilityTimeout = config.pageStabilityTimeout;
214
+
215
+ if (config.browser_log_to_file !== undefined) wsConfig.browser_log_to_file = config.browser_log_to_file;
216
+ if (config.session_id !== undefined) wsConfig.session_id = config.session_id;
217
+ if (config.viewport_limit !== undefined) wsConfig.viewport_limit = config.viewport_limit;
218
+ if (config.fullVisualMode !== undefined) wsConfig.fullVisualMode = config.fullVisualMode;
219
+
220
+ // CDP connection options
221
+ if (config.connectOverCdp !== undefined) browserConfig.connectOverCdp = config.connectOverCdp;
222
+ if (config.cdpUrl !== undefined) browserConfig.cdpUrl = config.cdpUrl;
223
+ if (config.cdpKeepCurrentPage !== undefined) browserConfig.cdpKeepCurrentPage = config.cdpKeepCurrentPage;
224
+
225
+ return new ConfigLoader(browserConfig, wsConfig);
226
+ }
227
+
228
+ // Get stealth configuration for browser launch
229
+ getStealthConfig(): StealthConfig {
230
+ return { ...this.browserConfig.stealth };
231
+ }
232
+
233
+ }