anchorbrowser 0.3.1__py3-none-any.whl → 0.3.2__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.
- anchorbrowser/_version.py +1 -1
- anchorbrowser/lib/agent.py +49 -9
- anchorbrowser/lib/browser.py +9 -0
- anchorbrowser/resources/agent.py +132 -4
- {anchorbrowser-0.3.1.dist-info → anchorbrowser-0.3.2.dist-info}/METADATA +1 -1
- {anchorbrowser-0.3.1.dist-info → anchorbrowser-0.3.2.dist-info}/RECORD +8 -8
- {anchorbrowser-0.3.1.dist-info → anchorbrowser-0.3.2.dist-info}/WHEEL +0 -0
- {anchorbrowser-0.3.1.dist-info → anchorbrowser-0.3.2.dist-info}/licenses/LICENSE +0 -0
anchorbrowser/_version.py
CHANGED
anchorbrowser/lib/agent.py
CHANGED
|
@@ -11,18 +11,58 @@ class AgentTaskParams(TypedDict, total=False):
|
|
|
11
11
|
url: Optional[str]
|
|
12
12
|
output_schema: Optional[Dict[str, Any]]
|
|
13
13
|
on_agent_step: Optional[Callable[[str], None]]
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
agent: Optional[str]
|
|
15
|
+
highlight_elements: Optional[bool]
|
|
16
|
+
model: Optional[str]
|
|
17
|
+
provider: Optional[str]
|
|
18
|
+
detect_elements: Optional[bool]
|
|
19
|
+
extended_system_message: Optional[str]
|
|
20
|
+
human_intervention: Optional[bool]
|
|
21
|
+
max_steps: Optional[int]
|
|
22
|
+
secret_values: Optional[Dict[str, Any]]
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def create_task_payload(
|
|
26
|
+
prompt: str,
|
|
27
|
+
output_schema: Optional[Dict[str, Any]] = None,
|
|
28
|
+
agent: Optional[str] = None,
|
|
29
|
+
highlight_elements: Optional[bool] = None,
|
|
30
|
+
model: Optional[str] = None,
|
|
31
|
+
provider: Optional[str] = None,
|
|
32
|
+
detect_elements: Optional[bool] = None,
|
|
33
|
+
extended_system_message: Optional[str] = None,
|
|
34
|
+
human_intervention: Optional[bool] = None,
|
|
35
|
+
max_steps: Optional[int] = None,
|
|
36
|
+
secret_values: Optional[Dict[str, Any]] = None,
|
|
37
|
+
) -> str:
|
|
17
38
|
if not prompt or prompt.strip() == "":
|
|
18
39
|
raise ValueError("Prompt cannot be empty")
|
|
19
40
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
41
|
+
payload: Dict[str, Any] = {
|
|
42
|
+
"prompt": prompt,
|
|
43
|
+
"output_schema": output_schema,
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
if agent is not None:
|
|
47
|
+
payload["agent"] = agent
|
|
48
|
+
if highlight_elements is not None:
|
|
49
|
+
payload["highlight_elements"] = highlight_elements
|
|
50
|
+
if model is not None:
|
|
51
|
+
payload["model"] = model
|
|
52
|
+
if provider is not None:
|
|
53
|
+
payload["provider"] = provider
|
|
54
|
+
if detect_elements is not None:
|
|
55
|
+
payload["detect_elements"] = detect_elements
|
|
56
|
+
if extended_system_message is not None:
|
|
57
|
+
payload["extended_system_message"] = extended_system_message
|
|
58
|
+
if human_intervention is not None:
|
|
59
|
+
payload["human_intervention"] = human_intervention
|
|
60
|
+
if max_steps is not None:
|
|
61
|
+
payload["max_steps"] = max_steps
|
|
62
|
+
if secret_values is not None:
|
|
63
|
+
payload["secret_values"] = secret_values
|
|
64
|
+
|
|
65
|
+
return json.dumps(payload)
|
|
26
66
|
|
|
27
67
|
|
|
28
68
|
def on_agent_step_sync(on_agent_step: Callable[[str], None], browser_setup: BrowserSetup) -> Future[None]:
|
anchorbrowser/lib/browser.py
CHANGED
|
@@ -178,6 +178,15 @@ class AgentTaskParams(TypedDict, total=False):
|
|
|
178
178
|
url: Optional[str]
|
|
179
179
|
output_schema: Optional[Dict[str, Any]]
|
|
180
180
|
on_agent_step: Optional[Callable[[str], None]]
|
|
181
|
+
agent: Optional[str]
|
|
182
|
+
highlight_elements: Optional[bool]
|
|
183
|
+
model: Optional[str]
|
|
184
|
+
provider: Optional[str]
|
|
185
|
+
detect_elements: Optional[bool]
|
|
186
|
+
extended_system_message: Optional[str]
|
|
187
|
+
human_intervention: Optional[bool]
|
|
188
|
+
max_steps: Optional[int]
|
|
189
|
+
secret_values: Optional[Dict[str, Any]]
|
|
181
190
|
|
|
182
191
|
|
|
183
192
|
class BrowserTaskResponse(TypedDict):
|
anchorbrowser/resources/agent.py
CHANGED
|
@@ -72,15 +72,47 @@ class AgentResource(SyncAPIResource):
|
|
|
72
72
|
api_key=self._client.api_key,
|
|
73
73
|
) as browser_setup:
|
|
74
74
|
output_schema = None
|
|
75
|
+
url = None
|
|
76
|
+
agent = None
|
|
77
|
+
highlight_elements = None
|
|
78
|
+
model = None
|
|
79
|
+
provider = None
|
|
80
|
+
detect_elements = None
|
|
81
|
+
extended_system_message = None
|
|
82
|
+
human_intervention = None
|
|
83
|
+
max_steps = None
|
|
84
|
+
secret_values = None
|
|
75
85
|
if task_options:
|
|
76
86
|
output_schema = task_options.get("output_schema")
|
|
77
87
|
url = task_options.get("url")
|
|
88
|
+
agent = task_options.get("agent")
|
|
89
|
+
highlight_elements = task_options.get("highlight_elements")
|
|
90
|
+
model = task_options.get("model")
|
|
91
|
+
provider = task_options.get("provider")
|
|
92
|
+
detect_elements = task_options.get("detect_elements")
|
|
93
|
+
extended_system_message = task_options.get("extended_system_message")
|
|
94
|
+
human_intervention = task_options.get("human_intervention")
|
|
95
|
+
max_steps = task_options.get("max_steps")
|
|
96
|
+
secret_values = task_options.get("secret_values")
|
|
97
|
+
|
|
78
98
|
if url:
|
|
79
99
|
browser_setup.page.goto(url)
|
|
80
100
|
on_agent_step = task_options.get("on_agent_step")
|
|
81
101
|
if on_agent_step:
|
|
82
102
|
on_agent_step_sync(on_agent_step, browser_setup)
|
|
83
|
-
task_payload = create_task_payload(
|
|
103
|
+
task_payload = create_task_payload(
|
|
104
|
+
prompt,
|
|
105
|
+
output_schema=output_schema,
|
|
106
|
+
agent=agent,
|
|
107
|
+
highlight_elements=highlight_elements,
|
|
108
|
+
model=model,
|
|
109
|
+
provider=provider,
|
|
110
|
+
detect_elements=detect_elements,
|
|
111
|
+
extended_system_message=extended_system_message,
|
|
112
|
+
human_intervention=human_intervention,
|
|
113
|
+
max_steps=max_steps,
|
|
114
|
+
secret_values=secret_values,
|
|
115
|
+
)
|
|
84
116
|
task_result = str(browser_setup.ai.evaluate(task_payload))
|
|
85
117
|
return task_result
|
|
86
118
|
|
|
@@ -121,15 +153,47 @@ class AgentResource(SyncAPIResource):
|
|
|
121
153
|
api_key=self._client.api_key,
|
|
122
154
|
) as browser_setup:
|
|
123
155
|
output_schema = None
|
|
156
|
+
url = None
|
|
157
|
+
agent = None
|
|
158
|
+
highlight_elements = None
|
|
159
|
+
model = None
|
|
160
|
+
provider = None
|
|
161
|
+
detect_elements = None
|
|
162
|
+
extended_system_message = None
|
|
163
|
+
human_intervention = None
|
|
164
|
+
max_steps = None
|
|
165
|
+
secret_values = None
|
|
124
166
|
if task_options:
|
|
125
167
|
output_schema = task_options.get("output_schema")
|
|
126
168
|
url = task_options.get("url")
|
|
169
|
+
agent = task_options.get("agent")
|
|
170
|
+
highlight_elements = task_options.get("highlight_elements")
|
|
171
|
+
model = task_options.get("model")
|
|
172
|
+
provider = task_options.get("provider")
|
|
173
|
+
detect_elements = task_options.get("detect_elements")
|
|
174
|
+
extended_system_message = task_options.get("extended_system_message")
|
|
175
|
+
human_intervention = task_options.get("human_intervention")
|
|
176
|
+
max_steps = task_options.get("max_steps")
|
|
177
|
+
secret_values = task_options.get("secret_values")
|
|
178
|
+
|
|
127
179
|
if url:
|
|
128
180
|
browser_setup.page.goto(url)
|
|
129
181
|
on_agent_step = task_options.get("on_agent_step")
|
|
130
182
|
if on_agent_step:
|
|
131
183
|
on_agent_step_sync(on_agent_step, browser_setup)
|
|
132
|
-
task_payload = create_task_payload(
|
|
184
|
+
task_payload = create_task_payload(
|
|
185
|
+
prompt,
|
|
186
|
+
output_schema=output_schema,
|
|
187
|
+
agent=agent,
|
|
188
|
+
highlight_elements=highlight_elements,
|
|
189
|
+
model=model,
|
|
190
|
+
provider=provider,
|
|
191
|
+
detect_elements=detect_elements,
|
|
192
|
+
extended_system_message=extended_system_message,
|
|
193
|
+
human_intervention=human_intervention,
|
|
194
|
+
max_steps=max_steps,
|
|
195
|
+
secret_values=secret_values,
|
|
196
|
+
)
|
|
133
197
|
task_result = str(browser_setup.ai.evaluate(task_payload))
|
|
134
198
|
return BrowserTaskResponse(
|
|
135
199
|
session_id=session.data.id,
|
|
@@ -191,15 +255,47 @@ class AsyncAgentResource(AsyncAPIResource):
|
|
|
191
255
|
|
|
192
256
|
async with browser_setup:
|
|
193
257
|
output_schema = None
|
|
258
|
+
url = None
|
|
259
|
+
agent = None
|
|
260
|
+
highlight_elements = None
|
|
261
|
+
model = None
|
|
262
|
+
provider = None
|
|
263
|
+
detect_elements = None
|
|
264
|
+
extended_system_message = None
|
|
265
|
+
human_intervention = None
|
|
266
|
+
max_steps = None
|
|
267
|
+
secret_values = None
|
|
194
268
|
if task_options:
|
|
195
269
|
output_schema = task_options.get("output_schema")
|
|
196
270
|
url = task_options.get("url")
|
|
271
|
+
agent = task_options.get("agent")
|
|
272
|
+
highlight_elements = task_options.get("highlight_elements")
|
|
273
|
+
model = task_options.get("model")
|
|
274
|
+
provider = task_options.get("provider")
|
|
275
|
+
detect_elements = task_options.get("detect_elements")
|
|
276
|
+
extended_system_message = task_options.get("extended_system_message")
|
|
277
|
+
human_intervention = task_options.get("human_intervention")
|
|
278
|
+
max_steps = task_options.get("max_steps")
|
|
279
|
+
secret_values = task_options.get("secret_values")
|
|
280
|
+
|
|
197
281
|
if url:
|
|
198
282
|
await (await browser_setup.async_page).goto(url)
|
|
199
283
|
on_agent_step = task_options.get("on_agent_step")
|
|
200
284
|
if on_agent_step:
|
|
201
285
|
on_agent_step_async(on_agent_step, browser_setup)
|
|
202
|
-
task_payload = create_task_payload(
|
|
286
|
+
task_payload = create_task_payload(
|
|
287
|
+
prompt,
|
|
288
|
+
output_schema=output_schema,
|
|
289
|
+
agent=agent,
|
|
290
|
+
highlight_elements=highlight_elements,
|
|
291
|
+
model=model,
|
|
292
|
+
provider=provider,
|
|
293
|
+
detect_elements=detect_elements,
|
|
294
|
+
extended_system_message=extended_system_message,
|
|
295
|
+
human_intervention=human_intervention,
|
|
296
|
+
max_steps=max_steps,
|
|
297
|
+
secret_values=secret_values,
|
|
298
|
+
)
|
|
203
299
|
task_result = await (await browser_setup.async_ai).evaluate(task_payload)
|
|
204
300
|
return str(task_result)
|
|
205
301
|
|
|
@@ -240,15 +336,47 @@ class AsyncAgentResource(AsyncAPIResource):
|
|
|
240
336
|
api_key=self._client.api_key,
|
|
241
337
|
) as browser_setup:
|
|
242
338
|
output_schema = None
|
|
339
|
+
url = None
|
|
340
|
+
agent = None
|
|
341
|
+
highlight_elements = None
|
|
342
|
+
model = None
|
|
343
|
+
provider = None
|
|
344
|
+
detect_elements = None
|
|
345
|
+
extended_system_message = None
|
|
346
|
+
human_intervention = None
|
|
347
|
+
max_steps = None
|
|
348
|
+
secret_values = None
|
|
243
349
|
if task_options:
|
|
244
350
|
output_schema = task_options.get("output_schema")
|
|
245
351
|
url = task_options.get("url")
|
|
352
|
+
agent = task_options.get("agent")
|
|
353
|
+
highlight_elements = task_options.get("highlight_elements")
|
|
354
|
+
model = task_options.get("model")
|
|
355
|
+
provider = task_options.get("provider")
|
|
356
|
+
detect_elements = task_options.get("detect_elements")
|
|
357
|
+
extended_system_message = task_options.get("extended_system_message")
|
|
358
|
+
human_intervention = task_options.get("human_intervention")
|
|
359
|
+
max_steps = task_options.get("max_steps")
|
|
360
|
+
secret_values = task_options.get("secret_values")
|
|
361
|
+
|
|
246
362
|
if url:
|
|
247
363
|
await (await browser_setup.async_page).goto(url)
|
|
248
364
|
on_agent_step = task_options.get("on_agent_step")
|
|
249
365
|
if on_agent_step:
|
|
250
366
|
on_agent_step_async(on_agent_step, browser_setup)
|
|
251
|
-
task_payload = create_task_payload(
|
|
367
|
+
task_payload = create_task_payload(
|
|
368
|
+
prompt,
|
|
369
|
+
output_schema=output_schema,
|
|
370
|
+
agent=agent,
|
|
371
|
+
highlight_elements=highlight_elements,
|
|
372
|
+
model=model,
|
|
373
|
+
provider=provider,
|
|
374
|
+
detect_elements=detect_elements,
|
|
375
|
+
extended_system_message=extended_system_message,
|
|
376
|
+
human_intervention=human_intervention,
|
|
377
|
+
max_steps=max_steps,
|
|
378
|
+
secret_values=secret_values,
|
|
379
|
+
)
|
|
252
380
|
task_result = await (await browser_setup.async_ai).evaluate(task_payload)
|
|
253
381
|
return BrowserTaskResponse(
|
|
254
382
|
session_id=session.data.id,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: anchorbrowser
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.2
|
|
4
4
|
Summary: The official Python library for the anchorbrowser API
|
|
5
5
|
Project-URL: Homepage, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
|
|
6
6
|
Project-URL: Repository, https://github.com/anchorbrowser/AnchorBrowser-SDK-Python
|
|
@@ -11,7 +11,7 @@ anchorbrowser/_resource.py,sha256=7lE1EgpVj5kwckk-27umtigTOf9nKTyRl97cgNwRbRQ,11
|
|
|
11
11
|
anchorbrowser/_response.py,sha256=xsiyWOC8LWW-NvbFtZ-MJD4f7eI9RnivKwtKImZ-8o4,28860
|
|
12
12
|
anchorbrowser/_streaming.py,sha256=9uTovnqQkz3LRbIWe9fSWwzB_aI1cX14LvEuMhkEcDI,10128
|
|
13
13
|
anchorbrowser/_types.py,sha256=hYSr4gk9908ZiGTqMX3pHhdzfzUUaHVelFS_I6p2Uj0,7243
|
|
14
|
-
anchorbrowser/_version.py,sha256=
|
|
14
|
+
anchorbrowser/_version.py,sha256=AZ_7aflkLFgIiH3uaHr7gl5FmTPvO9l8uaUJtoODNEM,165
|
|
15
15
|
anchorbrowser/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
16
|
anchorbrowser/_utils/__init__.py,sha256=7fch0GT9zpNnErbciSpUNa-SjTxxjY6kxHxKMOM4AGs,2305
|
|
17
17
|
anchorbrowser/_utils/_compat.py,sha256=D8gtAvjJQrDWt9upS0XaG9Rr5l1QhiAx_I_1utT_tt0,1195
|
|
@@ -26,10 +26,10 @@ anchorbrowser/_utils/_transform.py,sha256=NjCzmnfqYrsAikUHQig6N9QfuTVbKipuP3ur9m
|
|
|
26
26
|
anchorbrowser/_utils/_typing.py,sha256=N_5PPuFNsaygbtA_npZd98SVN1LQQvFTKL6bkWPBZGU,4786
|
|
27
27
|
anchorbrowser/_utils/_utils.py,sha256=0dDqauUbVZEXV0NVl7Bwu904Wwo5eyFCZpQThhFNhyA,12253
|
|
28
28
|
anchorbrowser/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
29
|
-
anchorbrowser/lib/agent.py,sha256=
|
|
30
|
-
anchorbrowser/lib/browser.py,sha256=
|
|
29
|
+
anchorbrowser/lib/agent.py,sha256=bPaGn2-Eta1HL0hB0cClL9WSmjwRfHphruBofq1oVvI,3533
|
|
30
|
+
anchorbrowser/lib/browser.py,sha256=I8BGLRRBEAURb_rJHvMh5qGaN73Ln9jmXBwTkHJXOS0,6349
|
|
31
31
|
anchorbrowser/resources/__init__.py,sha256=xw7K4TTIthqdKN3-YxvyoAtiNmx3dtvHkGbKPcaRhCs,3409
|
|
32
|
-
anchorbrowser/resources/agent.py,sha256=
|
|
32
|
+
anchorbrowser/resources/agent.py,sha256=LJoLbgZK75yjSESh9FSM978p7iwKgxgu8MwDaqstIxo,18580
|
|
33
33
|
anchorbrowser/resources/batch_sessions.py,sha256=d7Jy59NHE0u7mw4sx1N9mhG60-93reu_DqsXsU3stZo,11336
|
|
34
34
|
anchorbrowser/resources/browser.py,sha256=BB5hq_ayIDL_ziYHq13oj8US3XkHzkoXiGLBm7h9dH0,5548
|
|
35
35
|
anchorbrowser/resources/events.py,sha256=B6TwziBmOVMjWwoFO7OJR2X_Jt_3jtzNhQg4lgY-7SE,10780
|
|
@@ -118,7 +118,7 @@ anchorbrowser/types/shared/success_response.py,sha256=l9OWrucXoSjBdsx5QKdvBPFtxv
|
|
|
118
118
|
anchorbrowser/types/task/__init__.py,sha256=CbGxF7UFks1LsFq_wdSi62f4bgThKymv5OOSDmaFBI4,267
|
|
119
119
|
anchorbrowser/types/task/run_execute_params.py,sha256=P-gRINLzKJ12Q03u7Pwu_6QJ8XFvyvAOVvguy03K98k,6680
|
|
120
120
|
anchorbrowser/types/task/run_execute_response.py,sha256=ha86lTlKsLA_yZlaHNHEqBM1F--GiOLuifZpAk9J1bM,794
|
|
121
|
-
anchorbrowser-0.3.
|
|
122
|
-
anchorbrowser-0.3.
|
|
123
|
-
anchorbrowser-0.3.
|
|
124
|
-
anchorbrowser-0.3.
|
|
121
|
+
anchorbrowser-0.3.2.dist-info/METADATA,sha256=lpvpcgf-nUavQJHlnZ6ZXC8mi8M2TBYWLUh1vsgmFjA,15279
|
|
122
|
+
anchorbrowser-0.3.2.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
123
|
+
anchorbrowser-0.3.2.dist-info/licenses/LICENSE,sha256=QYTH6OztHxnELDn890vME8F7-euzmsHhWI4XOSYxwOg,11343
|
|
124
|
+
anchorbrowser-0.3.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|