camel-ai 0.2.67__py3-none-any.whl → 0.2.69a1__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.
Potentially problematic release.
This version of camel-ai might be problematic. Click here for more details.
- camel/__init__.py +1 -1
- camel/agents/chat_agent.py +170 -11
- camel/configs/vllm_config.py +2 -0
- camel/datagen/self_improving_cot.py +1 -1
- camel/environments/__init__.py +12 -0
- camel/environments/rlcards_env.py +860 -0
- camel/interpreters/docker/Dockerfile +2 -5
- camel/loaders/firecrawl_reader.py +4 -4
- camel/memories/blocks/vectordb_block.py +8 -1
- camel/memories/context_creators/score_based.py +185 -39
- camel/models/anthropic_model.py +114 -2
- camel/runtimes/configs.py +11 -11
- camel/runtimes/daytona_runtime.py +4 -4
- camel/runtimes/docker_runtime.py +6 -6
- camel/runtimes/remote_http_runtime.py +5 -5
- camel/societies/workforce/prompts.py +55 -21
- camel/societies/workforce/single_agent_worker.py +274 -14
- camel/societies/workforce/task_channel.py +9 -2
- camel/societies/workforce/utils.py +10 -2
- camel/societies/workforce/worker.py +74 -16
- camel/societies/workforce/workforce.py +90 -35
- camel/tasks/task.py +18 -12
- camel/toolkits/__init__.py +2 -0
- camel/toolkits/aci_toolkit.py +19 -19
- camel/toolkits/arxiv_toolkit.py +6 -6
- camel/toolkits/dappier_toolkit.py +5 -5
- camel/toolkits/file_write_toolkit.py +10 -10
- camel/toolkits/github_toolkit.py +3 -3
- camel/toolkits/non_visual_browser_toolkit/__init__.py +18 -0
- camel/toolkits/non_visual_browser_toolkit/actions.py +196 -0
- camel/toolkits/non_visual_browser_toolkit/agent.py +278 -0
- camel/toolkits/non_visual_browser_toolkit/browser_non_visual_toolkit.py +363 -0
- camel/toolkits/non_visual_browser_toolkit/nv_browser_session.py +175 -0
- camel/toolkits/non_visual_browser_toolkit/snapshot.js +188 -0
- camel/toolkits/non_visual_browser_toolkit/snapshot.py +164 -0
- camel/toolkits/pptx_toolkit.py +4 -4
- camel/toolkits/sympy_toolkit.py +1 -1
- camel/toolkits/task_planning_toolkit.py +3 -3
- camel/toolkits/thinking_toolkit.py +1 -1
- {camel_ai-0.2.67.dist-info → camel_ai-0.2.69a1.dist-info}/METADATA +2 -1
- {camel_ai-0.2.67.dist-info → camel_ai-0.2.69a1.dist-info}/RECORD +43 -35
- {camel_ai-0.2.67.dist-info → camel_ai-0.2.69a1.dist-info}/WHEEL +0 -0
- {camel_ai-0.2.67.dist-info → camel_ai-0.2.69a1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
(() => {
|
|
2
|
+
// Store each element as {text, priority, depth}
|
|
3
|
+
const elements = [];
|
|
4
|
+
|
|
5
|
+
// Maximum lines allowed before we start dropping lower-priority nodes
|
|
6
|
+
const MAX_LINES = 400;
|
|
7
|
+
|
|
8
|
+
// Priority helper – lower number = higher priority
|
|
9
|
+
function getPriority(tag, role, text) {
|
|
10
|
+
// 1. Interactive elements
|
|
11
|
+
if (["input", "button", "a", "select", "textarea"].includes(tag)) return 1;
|
|
12
|
+
if (["checkbox", "radio"].includes(role)) return 1;
|
|
13
|
+
|
|
14
|
+
// 2. Labels / descriptive adjacent text (label elements)
|
|
15
|
+
if (tag === "label") return 2;
|
|
16
|
+
|
|
17
|
+
// 3. General visible text
|
|
18
|
+
if (text) return 3;
|
|
19
|
+
|
|
20
|
+
// 4. Low-value structural nodes
|
|
21
|
+
return 4;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function isVisible(node) {
|
|
25
|
+
const rect = node.getBoundingClientRect();
|
|
26
|
+
if (rect.width === 0 || rect.height === 0) return false;
|
|
27
|
+
|
|
28
|
+
const style = window.getComputedStyle(node);
|
|
29
|
+
if (style.display === 'none' || style.visibility === 'hidden') return false;
|
|
30
|
+
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function getRole(node) {
|
|
35
|
+
const tag = node.tagName.toLowerCase();
|
|
36
|
+
const type = node.getAttribute('type');
|
|
37
|
+
|
|
38
|
+
if (node.getAttribute('role')) return node.getAttribute('role');
|
|
39
|
+
|
|
40
|
+
if (tag === 'input') {
|
|
41
|
+
if (type === 'checkbox') return 'checkbox';
|
|
42
|
+
if (type === 'radio') return 'radio';
|
|
43
|
+
return 'input';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if (tag === 'button') return 'button';
|
|
47
|
+
if (tag === 'a') return 'link';
|
|
48
|
+
if (tag === 'select') return 'select';
|
|
49
|
+
if (tag === 'textarea') return 'textarea';
|
|
50
|
+
if (tag === 'p') return 'paragraph';
|
|
51
|
+
if (tag === 'span') return 'text';
|
|
52
|
+
|
|
53
|
+
return 'generic';
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function getAccessibleName(node) {
|
|
57
|
+
if (node.hasAttribute('aria-label')) {
|
|
58
|
+
return node.getAttribute('aria-label');
|
|
59
|
+
}
|
|
60
|
+
if (node.hasAttribute('aria-labelledby')) {
|
|
61
|
+
const id = node.getAttribute('aria-labelledby');
|
|
62
|
+
const labelEl = document.getElementById(id);
|
|
63
|
+
if (labelEl) return labelEl.textContent.trim();
|
|
64
|
+
}
|
|
65
|
+
if (node.hasAttribute('title')) {
|
|
66
|
+
return node.getAttribute('title');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const tagName = node.tagName?.toLowerCase();
|
|
70
|
+
if (['style', 'script', 'meta', 'noscript', 'svg'].includes(tagName)) {
|
|
71
|
+
return '';
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const text = node.textContent?.trim() || '';
|
|
75
|
+
|
|
76
|
+
// Ignore styles, tokens, or long CSS-like expressions
|
|
77
|
+
if (/^[.#]?[a-zA-Z0-9\-_]+\s*\{[^}]*\}/.test(text)) return '';
|
|
78
|
+
if ((text.match(/[;:{}]/g)?.length || 0) > 2) return '';
|
|
79
|
+
|
|
80
|
+
return text.replace(/[^\w\u4e00-\u9fa5\s\-.,?!'"()()]/g, '').trim();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
let refCounter = 1;
|
|
84
|
+
|
|
85
|
+
function traverse(node, depth) {
|
|
86
|
+
if (node.nodeType !== Node.ELEMENT_NODE) return;
|
|
87
|
+
if (!isVisible(node)) return;
|
|
88
|
+
|
|
89
|
+
const tagName = node.tagName.toLowerCase();
|
|
90
|
+
const text = getAccessibleName(node).slice(0, 50);
|
|
91
|
+
|
|
92
|
+
// Skip unlabeled links (anchors without any accessible name)
|
|
93
|
+
if (tagName === 'a' && !text) {
|
|
94
|
+
// Skip unlabeled links; process children if any
|
|
95
|
+
for (const child of node.children) {
|
|
96
|
+
traverse(child, depth + 1);
|
|
97
|
+
}
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const hasRoleOrText = ['button', 'a', 'input', 'select', 'textarea', 'p', 'span'].includes(tagName) ||
|
|
102
|
+
node.getAttribute('role') || text;
|
|
103
|
+
|
|
104
|
+
if (hasRoleOrText) {
|
|
105
|
+
const role = getRole(node);
|
|
106
|
+
const ref = `e${refCounter++}`;
|
|
107
|
+
const label = text ? `"${text}"` : '';
|
|
108
|
+
|
|
109
|
+
// Raw line (without indent) – we will apply indentation later once we know
|
|
110
|
+
// which ancestor lines survive filtering so that indentation always reflects
|
|
111
|
+
// the visible hierarchy.
|
|
112
|
+
const lineText = `- ${role}${label ? ` ${label}` : ''} [ref=${ref}]`;
|
|
113
|
+
const priority = getPriority(tagName, role, text);
|
|
114
|
+
|
|
115
|
+
elements.push({ text: lineText, priority, depth });
|
|
116
|
+
|
|
117
|
+
// Always inject ref so Playwright can still locate the element even if line is later filtered out.
|
|
118
|
+
node.setAttribute('aria-ref', ref);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
for (const child of node.children) {
|
|
122
|
+
traverse(child, depth + 1);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function processDocument(doc, depth = 0) {
|
|
127
|
+
try {
|
|
128
|
+
traverse(doc.body, depth);
|
|
129
|
+
} catch (e) {
|
|
130
|
+
// Handle docs without body (e.g., about:blank)
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
const frames = doc.querySelectorAll('iframe');
|
|
134
|
+
for (const frame of frames) {
|
|
135
|
+
try {
|
|
136
|
+
if (frame.contentDocument) {
|
|
137
|
+
processDocument(frame.contentDocument, depth + 1);
|
|
138
|
+
}
|
|
139
|
+
} catch (e) {
|
|
140
|
+
// Skip cross-origin iframes
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
processDocument(document);
|
|
146
|
+
|
|
147
|
+
// Always drop priority-4 nodes (low-value structural or invisible)
|
|
148
|
+
let finalElements = elements.filter(el => el.priority <= 3);
|
|
149
|
+
|
|
150
|
+
// Additional size condensation when still exceeding MAX_LINES
|
|
151
|
+
if (finalElements.length > MAX_LINES) {
|
|
152
|
+
const filterBy = (maxPriority) => finalElements.filter(el => el.priority <= maxPriority);
|
|
153
|
+
|
|
154
|
+
// Progressively tighten: keep 1-3, then 1-2, finally only 1
|
|
155
|
+
for (const limit of [3, 2, 1]) {
|
|
156
|
+
const candidate = filterBy(limit);
|
|
157
|
+
if (candidate.length <= MAX_LINES || limit === 1) {
|
|
158
|
+
finalElements = candidate;
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// ------------------------------------------------------------------
|
|
165
|
+
// Re-apply indentation so that it matches the *visible* hierarchy only.
|
|
166
|
+
// Whenever an ancestor element is removed due to priority rules, its
|
|
167
|
+
// children will be re-indented one level up so the structure remains
|
|
168
|
+
// intuitive.
|
|
169
|
+
// ------------------------------------------------------------------
|
|
170
|
+
const outputLines = [];
|
|
171
|
+
const depthStack = []; // keeps track of kept original depths
|
|
172
|
+
|
|
173
|
+
for (const el of finalElements) {
|
|
174
|
+
// Pop depths that are not ancestors of current element
|
|
175
|
+
while (depthStack.length && depthStack[depthStack.length - 1] >= el.depth) {
|
|
176
|
+
depthStack.pop();
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
// Push the current depth so future descendants know their ancestor chain
|
|
180
|
+
depthStack.push(el.depth);
|
|
181
|
+
|
|
182
|
+
const compressedDepth = depthStack.length - 1; // root level has zero indent
|
|
183
|
+
const indent = '\t'.repeat(compressedDepth);
|
|
184
|
+
outputLines.push(indent + el.text);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return outputLines.join('\n');
|
|
188
|
+
})();
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
# ========= Copyright 2023-2024 @ CAMEL-AI.org. All Rights Reserved. =========
|
|
14
|
+
from pathlib import Path
|
|
15
|
+
from typing import TYPE_CHECKING, Dict, List, Optional
|
|
16
|
+
|
|
17
|
+
if TYPE_CHECKING:
|
|
18
|
+
from playwright.async_api import Page
|
|
19
|
+
|
|
20
|
+
# Logging support
|
|
21
|
+
from camel.logger import get_logger
|
|
22
|
+
|
|
23
|
+
logger = get_logger(__name__)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class PageSnapshot:
|
|
27
|
+
"""Utility for capturing YAML-like page snapshots and diff-only
|
|
28
|
+
variants."""
|
|
29
|
+
|
|
30
|
+
MAX_TIMEOUT_MS = 5000 # wait_for_load_state timeout
|
|
31
|
+
|
|
32
|
+
def __init__(self, page: "Page"):
|
|
33
|
+
self.page = page
|
|
34
|
+
self.snapshot_data: Optional[str] = None # last full snapshot
|
|
35
|
+
self._last_url: Optional[str] = None
|
|
36
|
+
self.last_info: Dict[str, List[int] | bool] = {
|
|
37
|
+
"is_diff": False,
|
|
38
|
+
"priorities": [1, 2, 3],
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
# ---------------------------------------------------------------------
|
|
42
|
+
# Public API
|
|
43
|
+
# ---------------------------------------------------------------------
|
|
44
|
+
async def capture(
|
|
45
|
+
self, *, force_refresh: bool = False, diff_only: bool = False
|
|
46
|
+
) -> str:
|
|
47
|
+
"""Return current snapshot or just the diff to previous one."""
|
|
48
|
+
try:
|
|
49
|
+
current_url = self.page.url
|
|
50
|
+
|
|
51
|
+
# Serve cached copy (unless diff requested)
|
|
52
|
+
if (
|
|
53
|
+
not force_refresh
|
|
54
|
+
and current_url == self._last_url
|
|
55
|
+
and self.snapshot_data
|
|
56
|
+
and not diff_only
|
|
57
|
+
):
|
|
58
|
+
return self.snapshot_data
|
|
59
|
+
|
|
60
|
+
# ensure DOM stability
|
|
61
|
+
await self.page.wait_for_load_state(
|
|
62
|
+
'domcontentloaded', timeout=self.MAX_TIMEOUT_MS
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
logger.debug("Capturing page snapshot …")
|
|
66
|
+
snapshot_text = await self._get_snapshot_direct()
|
|
67
|
+
formatted = self._format_snapshot(snapshot_text or "<empty>")
|
|
68
|
+
|
|
69
|
+
output = formatted
|
|
70
|
+
if diff_only and self.snapshot_data:
|
|
71
|
+
output = self._compute_diff(self.snapshot_data, formatted)
|
|
72
|
+
|
|
73
|
+
# update cache with *full* snapshot (not diff)
|
|
74
|
+
self._last_url = current_url
|
|
75
|
+
self.snapshot_data = formatted
|
|
76
|
+
|
|
77
|
+
# analyse priorities present (only for non-diff)
|
|
78
|
+
priorities_included = self._detect_priorities(
|
|
79
|
+
formatted if not diff_only else self.snapshot_data or formatted
|
|
80
|
+
)
|
|
81
|
+
self.last_info = {
|
|
82
|
+
"is_diff": diff_only and self.snapshot_data is not None,
|
|
83
|
+
"priorities": priorities_included,
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
logger.debug(
|
|
87
|
+
"Snapshot captured. Diff_only=%s, priorities=%s",
|
|
88
|
+
diff_only,
|
|
89
|
+
self.last_info["priorities"],
|
|
90
|
+
)
|
|
91
|
+
return output
|
|
92
|
+
except Exception as exc:
|
|
93
|
+
logger.error("Snapshot capture failed: %s", exc)
|
|
94
|
+
return f"Error: Could not capture page snapshot {exc}"
|
|
95
|
+
|
|
96
|
+
# ------------------------------------------------------------------
|
|
97
|
+
# Internal helpers
|
|
98
|
+
# ------------------------------------------------------------------
|
|
99
|
+
_snapshot_js_cache: Optional[str] = None # class-level cache
|
|
100
|
+
|
|
101
|
+
async def _get_snapshot_direct(self) -> Optional[str]:
|
|
102
|
+
try:
|
|
103
|
+
if PageSnapshot._snapshot_js_cache is None:
|
|
104
|
+
js_path = Path(__file__).parent / "snapshot.js"
|
|
105
|
+
PageSnapshot._snapshot_js_cache = js_path.read_text(
|
|
106
|
+
encoding="utf-8"
|
|
107
|
+
)
|
|
108
|
+
return await self.page.evaluate(PageSnapshot._snapshot_js_cache)
|
|
109
|
+
except Exception as e:
|
|
110
|
+
logger.warning("Failed to execute snapshot JavaScript: %s", e)
|
|
111
|
+
return None
|
|
112
|
+
|
|
113
|
+
@staticmethod
|
|
114
|
+
def _format_snapshot(text: str) -> str:
|
|
115
|
+
return "\n".join(["- Page Snapshot", "```yaml", text, "```"])
|
|
116
|
+
|
|
117
|
+
@staticmethod
|
|
118
|
+
def _compute_diff(old: str, new: str) -> str:
|
|
119
|
+
if not old or not new:
|
|
120
|
+
return "- Page Snapshot (error: missing data for diff)"
|
|
121
|
+
|
|
122
|
+
import difflib
|
|
123
|
+
|
|
124
|
+
diff = list(
|
|
125
|
+
difflib.unified_diff(
|
|
126
|
+
old.splitlines(False),
|
|
127
|
+
new.splitlines(False),
|
|
128
|
+
fromfile='prev',
|
|
129
|
+
tofile='curr',
|
|
130
|
+
lineterm='',
|
|
131
|
+
)
|
|
132
|
+
)
|
|
133
|
+
if not diff:
|
|
134
|
+
return "- Page Snapshot (no structural changes)"
|
|
135
|
+
return "\n".join(["- Page Snapshot (diff)", "```diff", *diff, "```"])
|
|
136
|
+
|
|
137
|
+
# ------------------------------------------------------------------
|
|
138
|
+
def _detect_priorities(self, snapshot_yaml: str) -> List[int]:
|
|
139
|
+
"""Return sorted list of priorities present (1,2,3)."""
|
|
140
|
+
priorities = set()
|
|
141
|
+
for line in snapshot_yaml.splitlines():
|
|
142
|
+
if '[ref=' not in line:
|
|
143
|
+
continue
|
|
144
|
+
lower_line = line.lower()
|
|
145
|
+
if any(
|
|
146
|
+
r in lower_line
|
|
147
|
+
for r in (
|
|
148
|
+
"input",
|
|
149
|
+
"button",
|
|
150
|
+
"select",
|
|
151
|
+
"textarea",
|
|
152
|
+
"checkbox",
|
|
153
|
+
"radio",
|
|
154
|
+
"link",
|
|
155
|
+
)
|
|
156
|
+
):
|
|
157
|
+
priorities.add(1)
|
|
158
|
+
elif 'label' in lower_line:
|
|
159
|
+
priorities.add(2)
|
|
160
|
+
else:
|
|
161
|
+
priorities.add(3)
|
|
162
|
+
if not priorities:
|
|
163
|
+
priorities.add(3)
|
|
164
|
+
return sorted(priorities)
|
camel/toolkits/pptx_toolkit.py
CHANGED
|
@@ -62,7 +62,7 @@ class PPTXToolkit(BaseToolkit):
|
|
|
62
62
|
output_dir (str): The default directory for output files.
|
|
63
63
|
Defaults to the current working directory.
|
|
64
64
|
timeout (Optional[float]): The timeout for the toolkit.
|
|
65
|
-
(default: :obj
|
|
65
|
+
(default: :obj:`None`)
|
|
66
66
|
"""
|
|
67
67
|
super().__init__(timeout=timeout)
|
|
68
68
|
self.output_dir = Path(output_dir).resolve()
|
|
@@ -120,7 +120,7 @@ class PPTXToolkit(BaseToolkit):
|
|
|
120
120
|
frame_paragraph: The paragraph to format.
|
|
121
121
|
text (str): The text to format.
|
|
122
122
|
set_color_to_white (bool): Whether to set the color to white.
|
|
123
|
-
(default: :obj
|
|
123
|
+
(default: :obj:`False`)
|
|
124
124
|
"""
|
|
125
125
|
from pptx.dml.color import RGBColor
|
|
126
126
|
|
|
@@ -170,7 +170,7 @@ class PPTXToolkit(BaseToolkit):
|
|
|
170
170
|
flat_items_list (List[Tuple[str, int]]): The list of items to be
|
|
171
171
|
displayed.
|
|
172
172
|
set_color_to_white (bool): Whether to set the font color to white.
|
|
173
|
-
(default: :obj
|
|
173
|
+
(default: :obj:`False`)
|
|
174
174
|
"""
|
|
175
175
|
if not flat_items_list:
|
|
176
176
|
logger.warning("Empty bullet point list provided")
|
|
@@ -368,7 +368,7 @@ class PPTXToolkit(BaseToolkit):
|
|
|
368
368
|
supplied, it is resolved to self.output_dir.
|
|
369
369
|
template (Optional[str]): The path to the template PPTX file.
|
|
370
370
|
Initializes a presentation from a given template file Or PPTX
|
|
371
|
-
file. (default: :obj
|
|
371
|
+
file. (default: :obj:`None`)
|
|
372
372
|
|
|
373
373
|
Returns:
|
|
374
374
|
str: A success message indicating the file was created.
|
camel/toolkits/sympy_toolkit.py
CHANGED
|
@@ -32,7 +32,7 @@ class TaskPlanningToolkit(BaseToolkit):
|
|
|
32
32
|
|
|
33
33
|
Args:
|
|
34
34
|
timeout (Optional[float]): The timeout for the toolkit.
|
|
35
|
-
(default: :obj
|
|
35
|
+
(default: :obj:`None`)
|
|
36
36
|
"""
|
|
37
37
|
super().__init__(timeout=timeout)
|
|
38
38
|
|
|
@@ -53,7 +53,7 @@ class TaskPlanningToolkit(BaseToolkit):
|
|
|
53
53
|
string is the content for a new sub-task.
|
|
54
54
|
original_task_id (Optional[str]): The id of the task to be
|
|
55
55
|
decomposed. If not provided, a new id will be generated.
|
|
56
|
-
(default: :obj
|
|
56
|
+
(default: :obj:`None`)
|
|
57
57
|
|
|
58
58
|
Returns:
|
|
59
59
|
List[Task]: A list of newly created sub-task objects.
|
|
@@ -99,7 +99,7 @@ class TaskPlanningToolkit(BaseToolkit):
|
|
|
99
99
|
sub_task_contents (List[str]): A list of strings, where each
|
|
100
100
|
string is the content for a new sub-task.
|
|
101
101
|
original_task_id (Optional[str]): The id of the task to be
|
|
102
|
-
decomposed. (default: :obj
|
|
102
|
+
decomposed. (default: :obj:`None`)
|
|
103
103
|
|
|
104
104
|
Returns:
|
|
105
105
|
List[Task]: Reordered or modified tasks.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: camel-ai
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.69a1
|
|
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
|
|
@@ -109,6 +109,7 @@ Requires-Dist: rank-bm25<0.3,>=0.2.2; extra == 'all'
|
|
|
109
109
|
Requires-Dist: redis<6,>=5.0.6; extra == 'all'
|
|
110
110
|
Requires-Dist: reka-api<4,>=3.0.8; extra == 'all'
|
|
111
111
|
Requires-Dist: requests-oauthlib<2,>=1.3.1; extra == 'all'
|
|
112
|
+
Requires-Dist: rlcard<1.3.0,>=1.0.0; extra == 'all'
|
|
112
113
|
Requires-Dist: rouge<2,>=1.0.1; extra == 'all'
|
|
113
114
|
Requires-Dist: scenedetect>=0.6.5.2; extra == 'all'
|
|
114
115
|
Requires-Dist: scholarly[tor]==1.7.11; extra == 'all'
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
camel/__init__.py,sha256=
|
|
1
|
+
camel/__init__.py,sha256=1jdrogMF4lEAc0fG6MGwLdfMt_c4luht9mj7KUDk-ts,901
|
|
2
2
|
camel/generators.py,sha256=JRqj9_m1PF4qT6UtybzTQ-KBT9MJQt18OAAYvQ_fr2o,13844
|
|
3
3
|
camel/human.py,sha256=Xg8x1cS5KK4bQ1SDByiHZnzsRpvRP-KZViNvmu38xo4,5475
|
|
4
4
|
camel/logger.py,sha256=rZVeOVYuQ9RYJ5Tqyv0usqy0g4zaVEq4qSfZ9nd2640,5755
|
|
@@ -7,7 +7,7 @@ camel/agents/__init__.py,sha256=64weKqdvmpZcGWyVkO-OKASAmVUdrQjv60JApgPk_SA,1644
|
|
|
7
7
|
camel/agents/_types.py,sha256=ryPRmEXnpNtbFT23GoAcwK-zxWWsIOqYu64mxMx_PhI,1430
|
|
8
8
|
camel/agents/_utils.py,sha256=AR7Qqgbkmn4X2edYUQf1rdksGUyV5hm3iK1z-Dn0Mcg,6266
|
|
9
9
|
camel/agents/base.py,sha256=c4bJYL3G3Z41SaFdMPMn8ZjLdFiFaVOFO6EQIfuCVR8,1124
|
|
10
|
-
camel/agents/chat_agent.py,sha256=
|
|
10
|
+
camel/agents/chat_agent.py,sha256=6Bv_RWMnl2sS73hXkm7An2_Rg62e5FDlLn8eHHCGo9A,79389
|
|
11
11
|
camel/agents/critic_agent.py,sha256=L6cTbYjyZB0DCa51tQ6LZLA6my8kHLC4nktHySH78H4,10433
|
|
12
12
|
camel/agents/deductive_reasoner_agent.py,sha256=6BZGaq1hR6hKJuQtOfoYQnk_AkZpw_Mr7mUy2MspQgs,13540
|
|
13
13
|
camel/agents/embodied_agent.py,sha256=XBxBu5ZMmSJ4B2U3Z7SMwvLlgp6yNpaBe8HNQmY9CZA,7536
|
|
@@ -74,7 +74,7 @@ camel/configs/samba_config.py,sha256=t7jm6LEen6_d3TBohdIu_fOiYU0rscra2CFttnoOiDg
|
|
|
74
74
|
camel/configs/sglang_config.py,sha256=GgqfDiuAHYJH0HfzBpkP8DvoDc7FYLO1ZP6kNnmKEdo,3943
|
|
75
75
|
camel/configs/siliconflow_config.py,sha256=o1mRul-Krb-r3HCZQZfV_UgEJL6nXTH9qu9bUemaoGU,4115
|
|
76
76
|
camel/configs/togetherai_config.py,sha256=7tge2Tarri68B1AS9FXWPm89jjcIbo6fB3aJaEMYwTc,5449
|
|
77
|
-
camel/configs/vllm_config.py,sha256=
|
|
77
|
+
camel/configs/vllm_config.py,sha256=JOwLAW4xkRUZGKY06AjzUsnmaYzdcScaDfMSg1-nfKc,6253
|
|
78
78
|
camel/configs/watsonx_config.py,sha256=Ox_xZVCHp-42vKtWSWZtROt9rle7y2aNjVUYEXZ-AnE,4688
|
|
79
79
|
camel/configs/yi_config.py,sha256=EJVp6SWX6XuQFMxqgpg-HnBPkr_HvsCJIgQiK5R-i1I,2720
|
|
80
80
|
camel/configs/zhipuai_config.py,sha256=RQrUrWFXKvyrXo8mbGeyUsal5YRbWCKAwU4s6_4yeu4,3560
|
|
@@ -84,7 +84,7 @@ camel/data_collectors/base.py,sha256=Rn0aJBBvpMZYYTLT1yNjIalIvDuVVwOx6iawKlzocZQ
|
|
|
84
84
|
camel/data_collectors/sharegpt_collector.py,sha256=Et5Q7imvnPdEDKBoTMJOchfTGHunHimFnUmQygRAeFU,7617
|
|
85
85
|
camel/datagen/__init__.py,sha256=EPF-eZ4rg7qbeSVZhfQ0iME0WDRSqRwBGbW-s0ZJ2EA,949
|
|
86
86
|
camel/datagen/cot_datagen.py,sha256=_KuXa0ksUkGy9UdIyWC-ld9C8rISnGCVI8Ef1H0SUIo,17345
|
|
87
|
-
camel/datagen/self_improving_cot.py,sha256=
|
|
87
|
+
camel/datagen/self_improving_cot.py,sha256=BIqYr1Hv2mITjp4VR45bRKX8FrcxY8H4v1KL131SCN4,34283
|
|
88
88
|
camel/datagen/evol_instruct/__init__.py,sha256=cajmED2eAPBUBH4EfabTJsgYehMtsTPwEYHWX-uTXTQ,827
|
|
89
89
|
camel/datagen/evol_instruct/evol_instruct.py,sha256=JEh3w5r0BybElfQgpBwptFSPMx0jfLztm4oSGGrM1Xc,16269
|
|
90
90
|
camel/datagen/evol_instruct/scorer.py,sha256=Ae2iZQVcvKEgwVWVsuQyxCDYQAyO292YxfnaKAMeukA,6237
|
|
@@ -121,9 +121,10 @@ camel/embeddings/openai_embedding.py,sha256=zix0O8KdbiVarol4hktKi-0I060epsnj8qAE
|
|
|
121
121
|
camel/embeddings/sentence_transformers_embeddings.py,sha256=q9jR_C5y58R-35WGaluT5q5gOwVRWz3-uo-Ivisbsj4,2732
|
|
122
122
|
camel/embeddings/together_embedding.py,sha256=Nl7uyk3pxyI4-l147LEkc1zj5O-H17RbJtb8pYb2K7Q,4765
|
|
123
123
|
camel/embeddings/vlm_embedding.py,sha256=ydmU1n-3ecqkqsRH5crvLfbRlfNcWnpHBuE6B_5_HuQ,5708
|
|
124
|
-
camel/environments/__init__.py,sha256=
|
|
124
|
+
camel/environments/__init__.py,sha256=VXNFb4jGImUYBVWR_G6D-_fUd4n7yZw_t_BVlZNOUxg,1276
|
|
125
125
|
camel/environments/models.py,sha256=jVcCyU7xObKoWPnkshmPqyyKi3AOiMVVtUZA-tWEYUU,4194
|
|
126
126
|
camel/environments/multi_step.py,sha256=HPIH2W-iWsmtDLeN1gjxo7LoAnMQQZzdmfjhmRoBAxg,8534
|
|
127
|
+
camel/environments/rlcards_env.py,sha256=OclnrJf7HgjuGUgYP6lISBmzTyG_gThHgPKwTUrG9y8,29861
|
|
127
128
|
camel/environments/single_step.py,sha256=zrAXLOBGGKQFnGENasUnmFO_T-rjppGPK2CRBLGu7aQ,23019
|
|
128
129
|
camel/environments/tic_tac_toe.py,sha256=axRDN9yUVH8PzACkD6zenWiQKFDaupGsQ7NmSvbJCIc,19080
|
|
129
130
|
camel/extractors/__init__.py,sha256=lgtDl8zWvN826fJVKqRv05w556YZ-EdrHwdzKphywgA,1097
|
|
@@ -137,13 +138,13 @@ camel/interpreters/internal_python_interpreter.py,sha256=TU4ITQTsR8TXsklN11xWEcC
|
|
|
137
138
|
camel/interpreters/interpreter_error.py,sha256=uEhcmHmmcajt5C9PLeHs21h1fE6cmyt23tCAGie1kTA,880
|
|
138
139
|
camel/interpreters/ipython_interpreter.py,sha256=V-Z_nIwaKmmivv_gD6nwdzmqfBUW4IoN4vZ0IOaUTZU,6582
|
|
139
140
|
camel/interpreters/subprocess_interpreter.py,sha256=DMLJIlTiHk0QA_pH5CXESHdJk-5olKo3aUh0KNECqJI,17759
|
|
140
|
-
camel/interpreters/docker/Dockerfile,sha256=
|
|
141
|
+
camel/interpreters/docker/Dockerfile,sha256=n3oXzcJhELuN2oYzOyEItICga6RqtwRyjPtS-Qes-F4,1625
|
|
141
142
|
camel/loaders/__init__.py,sha256=NfXLr0gQUhfyMeB5KpU9EUvhhFLp3X5KNinDs2WO0Q0,1548
|
|
142
143
|
camel/loaders/apify_reader.py,sha256=oaVjKyNhJhG-hTuIwrpZ2hsB4XTL0M-kUksgSL2R0ck,7952
|
|
143
144
|
camel/loaders/base_io.py,sha256=zsbdBPHgSPFyQrtiUgAsHvy39QHWUObRYNaVvr-pPk0,10190
|
|
144
145
|
camel/loaders/chunkr_reader.py,sha256=LC2zZvq2BiT1j2ukWPCttgo8a3RlOhFDfijYsEEQ_9I,6452
|
|
145
146
|
camel/loaders/crawl4ai_reader.py,sha256=ugfGMpWhfLnKf_XEOyDGI2ekpViDnSATg9eSxHyWX7M,7653
|
|
146
|
-
camel/loaders/firecrawl_reader.py,sha256=
|
|
147
|
+
camel/loaders/firecrawl_reader.py,sha256=whHBhixQkCtJZYhhr7TgU7aMcbnfDR8LXx5If5Ci_kg,5687
|
|
147
148
|
camel/loaders/jina_url_reader.py,sha256=dL9J5JlsFKEhi4gU_vYIxKvvf_RJ4LY9gG6i8P8JpcA,3601
|
|
148
149
|
camel/loaders/markitdown.py,sha256=2tc9Tf2pMJFkFzJwTAge-2kdmgRBBAV3sXHjcbo9AVE,7058
|
|
149
150
|
camel/loaders/mineru_extractor.py,sha256=nKa5n7f3ergv1TURcbXZJP5mQpnSCIFdlWrxWn4hBz8,9070
|
|
@@ -157,9 +158,9 @@ camel/memories/base.py,sha256=3BGuExfwwkbkVpxw1uYms8O37F-PD8ArcmYnFKYUcI4,5652
|
|
|
157
158
|
camel/memories/records.py,sha256=NoiwDuwnKYObhrXPHSRGw8xdxAqyZDDiarOAN6-d17I,4451
|
|
158
159
|
camel/memories/blocks/__init__.py,sha256=ci7_WU11222cNd1Zkv-a0z5E2ux95NMjAYm_cDzF0pE,854
|
|
159
160
|
camel/memories/blocks/chat_history_block.py,sha256=ZAQZ9NqbwZ_w8XebQ3vVPSTA2sfUNooOfI4oNrGxdDo,6679
|
|
160
|
-
camel/memories/blocks/vectordb_block.py,sha256=
|
|
161
|
+
camel/memories/blocks/vectordb_block.py,sha256=r0mRGLV14YUr8aruLdylBjKdSm11oprsiNEWl0EJJhQ,4166
|
|
161
162
|
camel/memories/context_creators/__init__.py,sha256=pqzkBM2ro5JZD7RhWg05TjinphhCq0QTIqBJlIL1sJ0,800
|
|
162
|
-
camel/memories/context_creators/score_based.py,sha256=
|
|
163
|
+
camel/memories/context_creators/score_based.py,sha256=26YCaPQbIF4_0QpLyhAhFgGZaq0vwCAEgqpu4yyg6vA,16246
|
|
163
164
|
camel/messages/__init__.py,sha256=Px-gTFp2Kcgbeb2sZQ_f4tqjoLHE-QEOiMHIMfPrvTw,1949
|
|
164
165
|
camel/messages/base.py,sha256=4tW240FyYWBoNhvfFClCjCGoiHiAdhHqMqsbg2_nX44,19760
|
|
165
166
|
camel/messages/func_message.py,sha256=2fv35Ruyhhf-wmqtCPiqC-ZujnR-hJH-rEoSgPTKdA8,5959
|
|
@@ -173,7 +174,7 @@ camel/messages/conversion/sharegpt/hermes/hermes_function_formatter.py,sha256=-9
|
|
|
173
174
|
camel/models/__init__.py,sha256=leNjmPCEeO8jZAvY8op1XeFPMuSnF349buZRGCE3aBU,3385
|
|
174
175
|
camel/models/_utils.py,sha256=hob1ehnS5xZitMCdYToHVgaTB55JnaP4_DSWnTEfVsg,2045
|
|
175
176
|
camel/models/aiml_model.py,sha256=tQeJcS0RlRwMK-sapFVUSIr-r5cJyCt0UNphzD8O2oI,4070
|
|
176
|
-
camel/models/anthropic_model.py,sha256=
|
|
177
|
+
camel/models/anthropic_model.py,sha256=m5J1-RabKyYf-2ejA7A8r4qbRLpS9oRtHWapzHs0BnM,8878
|
|
177
178
|
camel/models/aws_bedrock_model.py,sha256=bcQBiHVdVuJXyPEkSdymQlGx2zHIVj5d4ouFuF8CSY0,4670
|
|
178
179
|
camel/models/azure_openai_model.py,sha256=FGQ6Cls-a7uzStsgPmBPffgm7TgTEzN3R2SWlAmiBeY,15164
|
|
179
180
|
camel/models/base_audio_model.py,sha256=_VUWh1L3rh8mldNvM5R6jBOKtvmTeBKJyRxAdPJmPlY,3324
|
|
@@ -252,11 +253,11 @@ camel/retrievers/vector_retriever.py,sha256=Fp6k7FkoeUXLiUokqsMIO74Dh2mJcmJP2TrC
|
|
|
252
253
|
camel/runtimes/__init__.py,sha256=bFbqDIST69V6LC_Oe5YBz-8qlUaJt4zWGFFT0ctiMLI,1273
|
|
253
254
|
camel/runtimes/api.py,sha256=JfkHqQ_Xs3ZNl4TXC_obV3Ymi21ltP1LAkXzBA3H_Lo,3227
|
|
254
255
|
camel/runtimes/base.py,sha256=KKBLO6PwWEWBXbYaVtO9JXqBT8110iYpMhgNSIxQvYQ,1512
|
|
255
|
-
camel/runtimes/configs.py,sha256=
|
|
256
|
-
camel/runtimes/daytona_runtime.py,sha256=
|
|
257
|
-
camel/runtimes/docker_runtime.py,sha256=
|
|
256
|
+
camel/runtimes/configs.py,sha256=xPTfryhNyBW4ON7UuJnvp1--RHscKZSipjAazoUC8Fw,2420
|
|
257
|
+
camel/runtimes/daytona_runtime.py,sha256=Gy6M_fXYAGHaCQp_rIdN09ZmSxI6XvriyhtGjhZTMmg,9162
|
|
258
|
+
camel/runtimes/docker_runtime.py,sha256=m2rJKXN_JwHHSPQ-C_9ksLl9xpVwUcGt1R24O92guws,13573
|
|
258
259
|
camel/runtimes/llm_guard_runtime.py,sha256=nSV-_tKzxgtT44PSq_CMSh4GTIlxzfUIa1dy4oeU1Ds,8103
|
|
259
|
-
camel/runtimes/remote_http_runtime.py,sha256=
|
|
260
|
+
camel/runtimes/remote_http_runtime.py,sha256=DMQonuUX1sad4-WtEAaWxnotYTXTd-RkljA42ekkneM,6665
|
|
260
261
|
camel/runtimes/ubuntu_docker_runtime.py,sha256=l_1kmFY5o59BC_v-2DUqZrRLsMtrm6hTf9K9ENhq-cY,12467
|
|
261
262
|
camel/runtimes/utils/__init__.py,sha256=_4kT7j4gW9t5Zd_AbFa2mcHe8rpLB0tVlgAhQHxfwQQ,875
|
|
262
263
|
camel/runtimes/utils/function_risk_toolkit.py,sha256=0A9IN61JSziwKYB0AtCTZByXV9A3zWDRcNATG2V2dmA,2356
|
|
@@ -270,13 +271,13 @@ camel/societies/babyagi_playing.py,sha256=KbTdpHfZ2V8AripVck0bNTOyF-RSaMPCRARz3D
|
|
|
270
271
|
camel/societies/role_playing.py,sha256=1TsQbGYmN91BeQ0DGM5PpSJ9TMbn1F3maJNuv4fQ5zI,31749
|
|
271
272
|
camel/societies/workforce/__init__.py,sha256=bkTI-PE-MSK9AQ2V2gR6cR2WY-R7Jqy_NmXRtAoqo8o,920
|
|
272
273
|
camel/societies/workforce/base.py,sha256=z2DmbTP5LL5-aCAAqglznQqCLfPmnyM5zD3w6jjtsb8,2175
|
|
273
|
-
camel/societies/workforce/prompts.py,sha256=
|
|
274
|
+
camel/societies/workforce/prompts.py,sha256=_l7OUkzH5p7KOd8HMZle9zB9W3jKza_Yb_6elFKiZ2s,11813
|
|
274
275
|
camel/societies/workforce/role_playing_worker.py,sha256=pWPCtkLx-xbc4SWyZBfMwvWr-R5ZpANhN7g6PDuH8Po,7615
|
|
275
|
-
camel/societies/workforce/single_agent_worker.py,sha256=
|
|
276
|
-
camel/societies/workforce/task_channel.py,sha256=
|
|
277
|
-
camel/societies/workforce/utils.py,sha256=
|
|
278
|
-
camel/societies/workforce/worker.py,sha256=
|
|
279
|
-
camel/societies/workforce/workforce.py,sha256=
|
|
276
|
+
camel/societies/workforce/single_agent_worker.py,sha256=NIP0cHueDNQZxzN-MikmwIe-1LoT3V8Z1LgqdiPidCE,14438
|
|
277
|
+
camel/societies/workforce/task_channel.py,sha256=uqQQI67Tr4awbR4bjZXdx8_4gL6-ON5IjQk_H_ryqT4,7431
|
|
278
|
+
camel/societies/workforce/utils.py,sha256=Gjlz7pLo4r1b6iNHtlIMxeEuat4d6tEEQMI40JAU3kY,6190
|
|
279
|
+
camel/societies/workforce/worker.py,sha256=36tkOyz4G2wfBdrFjt9NBPXsx4UbE6uL5on8sP2aoqk,6414
|
|
280
|
+
camel/societies/workforce/workforce.py,sha256=gLbjcGeAXwHCyk6jGs7mBHJnpEG7xcvEcwjA2ibi6-0,88526
|
|
280
281
|
camel/societies/workforce/workforce_logger.py,sha256=2xGMMYQPphC5WlPbgWWp9SEY2hGpP-GkhgsNC19irns,24237
|
|
281
282
|
camel/storages/__init__.py,sha256=bFpvvAS2QyZoIr-tnwhMWsZRL411kIRq6IMUHcI7KHs,1989
|
|
282
283
|
camel/storages/graph_storages/__init__.py,sha256=G29BNn651C0WTOpjCl4QnVM-4B9tcNh8DdmsCiONH8Y,948
|
|
@@ -304,15 +305,15 @@ camel/storages/vectordb_storages/qdrant.py,sha256=a_cT0buSCHQ2CPZy852-mdvMDwy5zo
|
|
|
304
305
|
camel/storages/vectordb_storages/tidb.py,sha256=w83bxgKgso43MtHqlpf2EMSpn1_Nz6ZZtY4fPw_-vgs,11192
|
|
305
306
|
camel/storages/vectordb_storages/weaviate.py,sha256=wDUE4KvfmOl3DqHFU4uF0VKbHu-q9vKhZDe8FZ6QXsk,27888
|
|
306
307
|
camel/tasks/__init__.py,sha256=MuHwkw5GRQc8NOCzj8tjtBrr2Xg9KrcKp-ed_-2ZGIM,906
|
|
307
|
-
camel/tasks/task.py,sha256=
|
|
308
|
+
camel/tasks/task.py,sha256=RXRGbzDc00UZQ6f6EIFyaLLlGVKoyhXMWQr9ooLwg18,16337
|
|
308
309
|
camel/tasks/task_prompt.py,sha256=3KZmKYKUPcTKe8EAZOZBN3G05JHRVt7oHY9ORzLVu1g,2150
|
|
309
310
|
camel/terminators/__init__.py,sha256=t8uqrkUnXEOYMXQDgaBkMFJ0EXFKI0kmx4cUimli3Ls,991
|
|
310
311
|
camel/terminators/base.py,sha256=xmJzERX7GdSXcxZjAHHODa0rOxRChMSRboDCNHWSscs,1511
|
|
311
312
|
camel/terminators/response_terminator.py,sha256=n3G5KP6Oj7-7WlRN0yFcrtLpqAJKaKS0bmhrWlFfCgQ,4982
|
|
312
313
|
camel/terminators/token_limit_terminator.py,sha256=YWv6ZR8R9yI2Qnf_3xES5bEE_O5bb2CxQ0EUXfMh34c,2118
|
|
313
|
-
camel/toolkits/__init__.py,sha256=
|
|
314
|
-
camel/toolkits/aci_toolkit.py,sha256=
|
|
315
|
-
camel/toolkits/arxiv_toolkit.py,sha256=
|
|
314
|
+
camel/toolkits/__init__.py,sha256=2Cf42WOw5v4kKo8WyoyHILoqtPdfV7_Xx4YuFcZt76o,5121
|
|
315
|
+
camel/toolkits/aci_toolkit.py,sha256=39AsXloBb16hHB7DKi6mFU6NPZ3iVpM2FZgaP4o4eLE,16060
|
|
316
|
+
camel/toolkits/arxiv_toolkit.py,sha256=mw629nIN_ozaAxNv3nbvhonJKNI2-97ScRCBS3gVqNo,6297
|
|
316
317
|
camel/toolkits/ask_news_toolkit.py,sha256=WfWaqwEo1Apbil3-Rb5y65Ws43NU4rAFWZu5VHe4los,23448
|
|
317
318
|
camel/toolkits/async_browser_toolkit.py,sha256=dHXV8uCDetLKN7no5otyP3hHDnQIRhGY0msJRJrFbIY,50436
|
|
318
319
|
camel/toolkits/audio_analysis_toolkit.py,sha256=dnDtQJbztVBwBpamSyCfigPw2GBnDAfi3fOPgql4Y50,8941
|
|
@@ -322,12 +323,12 @@ camel/toolkits/browser_toolkit.py,sha256=Ntn_LmCrhqqIBWq9HtiIKw-M0cL5ebn74Ej1GBo
|
|
|
322
323
|
camel/toolkits/browser_toolkit_commons.py,sha256=uuc1V5tN3YJmTSe6NHAVJqwsL4iYD7IiSZWxPLYW67A,22196
|
|
323
324
|
camel/toolkits/code_execution.py,sha256=ptexsx8t9teGse8ROnAHCYaLlDg843p-9p1ek-8JpWU,5620
|
|
324
325
|
camel/toolkits/dalle_toolkit.py,sha256=GSnV7reQsVmhMi9sbQy1Ks_5Vs57Dlir_AbT2PPCZwo,6153
|
|
325
|
-
camel/toolkits/dappier_toolkit.py,sha256=
|
|
326
|
+
camel/toolkits/dappier_toolkit.py,sha256=OEHOYXX_oXhgbVtWYAy13nO9uXf9i5qEXSwY4PexNFg,8194
|
|
326
327
|
camel/toolkits/data_commons_toolkit.py,sha256=aHZUSL1ACpnYGaf1rE2csVKTmXTmN8lMGRUBYhZ_YEk,14168
|
|
327
328
|
camel/toolkits/excel_toolkit.py,sha256=DSjBXl24_LrJubGFFmB_vqliKzzWTbT1TH309YQVUO8,6653
|
|
328
|
-
camel/toolkits/file_write_toolkit.py,sha256=
|
|
329
|
+
camel/toolkits/file_write_toolkit.py,sha256=i1CivjvqTpHakYK_EynNvNikjZZYsusxkjT2v-f9EYc,16473
|
|
329
330
|
camel/toolkits/function_tool.py,sha256=045I_vyqvB6PorcoVaEbxYjGe-fD-FBKtO4lfpZ2eVw,33535
|
|
330
|
-
camel/toolkits/github_toolkit.py,sha256=
|
|
331
|
+
camel/toolkits/github_toolkit.py,sha256=iUyRrjWGAW_iljZVfNyfkm1Vi55wJxK6PsDAQs9pOag,13099
|
|
331
332
|
camel/toolkits/google_calendar_toolkit.py,sha256=E-sdgdbtNBs_CXbhht9t1dsVr4DsTr5NguHkx4fvSmc,15410
|
|
332
333
|
camel/toolkits/google_maps_toolkit.py,sha256=WTnkURpGri9KcY5OwV7AJJHOzmpu5RNmYE1QCVqvwWM,12023
|
|
333
334
|
camel/toolkits/google_scholar_toolkit.py,sha256=WQ9a0HQr0vro1Uo1m--alCUXvMmaHVKeQYqGCxXc2s8,7562
|
|
@@ -348,7 +349,7 @@ camel/toolkits/openai_agent_toolkit.py,sha256=hT2ancdQigngAiY1LNnGJzZeiBDHUxrRGv
|
|
|
348
349
|
camel/toolkits/openbb_toolkit.py,sha256=8yBZL9E2iSgskosBQhD3pTP56oV6gerWpFjIJc_2UMo,28935
|
|
349
350
|
camel/toolkits/page_script.js,sha256=mXepZPnQNVLp_Wgb64lv7DMQIJYl_XIHJHLVt1OFZO4,13146
|
|
350
351
|
camel/toolkits/playwright_mcp_toolkit.py,sha256=TRweKatFu-7UzfiuXrud2D_4OQjbf4tdP_sCBJ69FG8,3018
|
|
351
|
-
camel/toolkits/pptx_toolkit.py,sha256=
|
|
352
|
+
camel/toolkits/pptx_toolkit.py,sha256=r30gSigVYOq8knphTxCl_G1c84jaD4Mvbuf06KhMrGg,28562
|
|
352
353
|
camel/toolkits/pubmed_toolkit.py,sha256=VGl8KeyWi7pjb2kEhFBLmpBlP9ezv8JyWRHtEVTQ6nQ,12227
|
|
353
354
|
camel/toolkits/pulse_mcp_search_toolkit.py,sha256=uLUpm19uC_4xLJow0gGVS9f-5T5EW2iRAXdJ4nqJG-A,4783
|
|
354
355
|
camel/toolkits/pyautogui_toolkit.py,sha256=Q810fm8cFvElRory7B74aqS2YV6BOpdRE6jkewoM8xc,16093
|
|
@@ -359,10 +360,10 @@ camel/toolkits/searxng_toolkit.py,sha256=a2GtE4FGSrmaIVvX6Yide-abBYD1wsHqitnDlx9
|
|
|
359
360
|
camel/toolkits/semantic_scholar_toolkit.py,sha256=Rh7eA_YPxV5pvPIzhjjvpr3vtlaCniJicrqzkPWW9_I,11634
|
|
360
361
|
camel/toolkits/slack_toolkit.py,sha256=Nb3w-TbUmnUWEvHE9Hbf_wkpSepm_zKQj7m19UyoFio,11194
|
|
361
362
|
camel/toolkits/stripe_toolkit.py,sha256=07swo5znGTnorafC1uYLKB4NRcJIOPOx19J7tkpLYWk,10102
|
|
362
|
-
camel/toolkits/sympy_toolkit.py,sha256=
|
|
363
|
-
camel/toolkits/task_planning_toolkit.py,sha256=
|
|
363
|
+
camel/toolkits/sympy_toolkit.py,sha256=BAQnI8EFJydNUpKQWXBdleQ1Cm-srDBhFlqp9V9pbPQ,33757
|
|
364
|
+
camel/toolkits/task_planning_toolkit.py,sha256=Ttw9fHae4omGC1SA-6uaeXVHJ1YkwiVloz_hO-fm1gw,4855
|
|
364
365
|
camel/toolkits/terminal_toolkit.py,sha256=gupuTvNkwnFzcFwDB_irSJ9-dXRr8yEAsYq5ChEkkHg,37230
|
|
365
|
-
camel/toolkits/thinking_toolkit.py,sha256=
|
|
366
|
+
camel/toolkits/thinking_toolkit.py,sha256=nZYLvKWIx2BM1DYu69I9B5EISAG7aYcLYXKv9663BVk,8000
|
|
366
367
|
camel/toolkits/twitter_toolkit.py,sha256=Px4N8aUxUzy01LhGSWkdrC2JgwKkrY3cvxgMeJ2XYfU,15939
|
|
367
368
|
camel/toolkits/video_analysis_toolkit.py,sha256=Mf7kZ2UDKFzIq8XjJc6EhL8qXQnEomQ8OBy_eyjD49A,20647
|
|
368
369
|
camel/toolkits/video_download_toolkit.py,sha256=jBb2SQ9OA5HIuGF7FbNQ0KrvvwMWPxUnvUyCHjbHuQQ,7501
|
|
@@ -370,6 +371,13 @@ camel/toolkits/weather_toolkit.py,sha256=fs9x9aC38Wsvni6A4PPpbRX6-aBnZiqs2Jix39y
|
|
|
370
371
|
camel/toolkits/whatsapp_toolkit.py,sha256=udUQXkXyeWsmrUlOJZsGBhHtc_jhB05Axe_TchhibsU,5760
|
|
371
372
|
camel/toolkits/wolfram_alpha_toolkit.py,sha256=qeIM8ySn5ilcExBWtx-hDOc35bNcebLVnZ67kt1H3mQ,9295
|
|
372
373
|
camel/toolkits/zapier_toolkit.py,sha256=A83y1UcfuopH7Fx82pORzypl1StbhBjB2HhyOqYa300,7124
|
|
374
|
+
camel/toolkits/non_visual_browser_toolkit/__init__.py,sha256=mXAjf6qkl8BgJrBKPR5d2C3B2m4pOHvq6sRavmgOweA,812
|
|
375
|
+
camel/toolkits/non_visual_browser_toolkit/actions.py,sha256=pue7Q5ZGLhqcmbkuahrN_JBYdeV0xtqu9i4gr9mqGWU,7113
|
|
376
|
+
camel/toolkits/non_visual_browser_toolkit/agent.py,sha256=y6sAWlPXScVn7f2bPueS8yd8IQ3CkJ0HutP4DChs6P8,10330
|
|
377
|
+
camel/toolkits/non_visual_browser_toolkit/browser_non_visual_toolkit.py,sha256=C3RLqSDmYCmPiSijRBrcwdzRb5eGMQCSaIpMF72o4h0,12925
|
|
378
|
+
camel/toolkits/non_visual_browser_toolkit/nv_browser_session.py,sha256=qJSYc081tIdJ-T_KqsEUWQz_gQs-Uif1SuYhn6CC3sg,6289
|
|
379
|
+
camel/toolkits/non_visual_browser_toolkit/snapshot.js,sha256=4MHtRGlbvJWxs1gQC9RS0ButppPeLZPIHTwZ7AS7hFQ,6627
|
|
380
|
+
camel/toolkits/non_visual_browser_toolkit/snapshot.py,sha256=aJi_IP8E4RXFAt1waS2Eft3t7vbdtU_2m3ALjOJ1dic,5952
|
|
373
381
|
camel/toolkits/open_api_specs/security_config.py,sha256=ZVnBa_zEifaE_ao2xsvV5majuJHpn2Tn7feMDOnj-eo,898
|
|
374
382
|
camel/toolkits/open_api_specs/biztoc/__init__.py,sha256=OKCZrQCDwaWtXIN_2rA9FSqEvgpQRieRoHh7Ek6N16A,702
|
|
375
383
|
camel/toolkits/open_api_specs/biztoc/ai-plugin.json,sha256=IJinQbLv5MFPGFwdN7PbOhwArFVExSEZdJspe-mOBIo,866
|
|
@@ -423,7 +431,7 @@ camel/verifiers/math_verifier.py,sha256=tA1D4S0sm8nsWISevxSN0hvSVtIUpqmJhzqfbuMo
|
|
|
423
431
|
camel/verifiers/models.py,sha256=GdxYPr7UxNrR1577yW4kyroRcLGfd-H1GXgv8potDWU,2471
|
|
424
432
|
camel/verifiers/physics_verifier.py,sha256=c1grrRddcrVN7szkxhv2QirwY9viIRSITWeWFF5HmLs,30187
|
|
425
433
|
camel/verifiers/python_verifier.py,sha256=ogTz77wODfEcDN4tMVtiSkRQyoiZbHPY2fKybn59lHw,20558
|
|
426
|
-
camel_ai-0.2.
|
|
427
|
-
camel_ai-0.2.
|
|
428
|
-
camel_ai-0.2.
|
|
429
|
-
camel_ai-0.2.
|
|
434
|
+
camel_ai-0.2.69a1.dist-info/METADATA,sha256=jl-Gs6_fECtoyaAusXMrlvSrTx1WvMmSAx39z4biZT8,44837
|
|
435
|
+
camel_ai-0.2.69a1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
436
|
+
camel_ai-0.2.69a1.dist-info/licenses/LICENSE,sha256=id0nB2my5kG0xXeimIu5zZrbHLS6EQvxvkKkzIHaT2k,11343
|
|
437
|
+
camel_ai-0.2.69a1.dist-info/RECORD,,
|