anchorbrowser 0.3.3__py3-none-any.whl → 0.3.4__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/resources/agent.py +24 -8
- anchorbrowser/resources/sessions/sessions.py +23 -6
- {anchorbrowser-0.3.3.dist-info → anchorbrowser-0.3.4.dist-info}/METADATA +1 -1
- {anchorbrowser-0.3.3.dist-info → anchorbrowser-0.3.4.dist-info}/RECORD +7 -7
- {anchorbrowser-0.3.3.dist-info → anchorbrowser-0.3.4.dist-info}/WHEEL +0 -0
- {anchorbrowser-0.3.3.dist-info → anchorbrowser-0.3.4.dist-info}/licenses/LICENSE +0 -0
anchorbrowser/_version.py
CHANGED
anchorbrowser/resources/agent.py
CHANGED
|
@@ -47,6 +47,7 @@ class AgentResource(SyncAPIResource):
|
|
|
47
47
|
*,
|
|
48
48
|
session_options: Optional[Session] = None,
|
|
49
49
|
task_options: Optional[AgentTaskParams] = None,
|
|
50
|
+
session_id: Optional[str] = None,
|
|
50
51
|
) -> str:
|
|
51
52
|
"""Execute an AI agent task within a browser session.
|
|
52
53
|
|
|
@@ -62,12 +63,19 @@ class AgentResource(SyncAPIResource):
|
|
|
62
63
|
Returns:
|
|
63
64
|
str: The result of the AI agent task execution.
|
|
64
65
|
"""
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
if session_id:
|
|
67
|
+
retrieved_session = self._client.sessions.retrieve(session_id)
|
|
68
|
+
if not retrieved_session or not retrieved_session or not retrieved_session.session_id:
|
|
69
|
+
raise ValueError("Failed to retrieve session: No session ID returned")
|
|
70
|
+
actual_session_id = retrieved_session.session_id
|
|
71
|
+
else:
|
|
72
|
+
created_session = self._client.sessions.create(session=session_options or {})
|
|
73
|
+
if not created_session or not created_session.data or not created_session.data.id:
|
|
74
|
+
raise ValueError("Failed to create session: No session ID returned")
|
|
75
|
+
actual_session_id = created_session.data.id
|
|
68
76
|
|
|
69
77
|
with BrowserSetup(
|
|
70
|
-
session_id=
|
|
78
|
+
session_id=actual_session_id,
|
|
71
79
|
base_url=str(self._client.base_url),
|
|
72
80
|
api_key=self._client.api_key,
|
|
73
81
|
) as browser_setup:
|
|
@@ -228,6 +236,7 @@ class AsyncAgentResource(AsyncAPIResource):
|
|
|
228
236
|
*,
|
|
229
237
|
session_options: Optional[Session] = None,
|
|
230
238
|
task_options: Optional[AgentTaskParams] = None,
|
|
239
|
+
session_id: Optional[str] = None,
|
|
231
240
|
) -> str:
|
|
232
241
|
"""Execute an AI agent task within a browser session.
|
|
233
242
|
|
|
@@ -243,12 +252,19 @@ class AsyncAgentResource(AsyncAPIResource):
|
|
|
243
252
|
Returns:
|
|
244
253
|
str: The result of the AI agent task execution.
|
|
245
254
|
"""
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
255
|
+
if session_id:
|
|
256
|
+
retrieved_session = await self._client.sessions.retrieve(session_id)
|
|
257
|
+
if not retrieved_session or not retrieved_session.session_id:
|
|
258
|
+
raise ValueError("Failed to retrieve session: No session ID returned")
|
|
259
|
+
actual_session_id = retrieved_session.session_id
|
|
260
|
+
else:
|
|
261
|
+
created_session = await self._client.sessions.create(session=session_options or {})
|
|
262
|
+
if not created_session or not created_session.data or not created_session.data.id:
|
|
263
|
+
raise ValueError("Failed to create session: No session ID returned")
|
|
264
|
+
actual_session_id = created_session.data.id
|
|
249
265
|
|
|
250
266
|
browser_setup = BrowserSetup(
|
|
251
|
-
session_id=
|
|
267
|
+
session_id=actual_session_id,
|
|
252
268
|
base_url=str(self._client.base_url),
|
|
253
269
|
api_key=self._client.api_key,
|
|
254
270
|
)
|
|
@@ -42,6 +42,7 @@ from .keyboard import (
|
|
|
42
42
|
AsyncKeyboardResourceWithStreamingResponse,
|
|
43
43
|
)
|
|
44
44
|
from ..._compat import cached_property
|
|
45
|
+
from ..._models import construct_type
|
|
45
46
|
from .clipboard import (
|
|
46
47
|
ClipboardResource,
|
|
47
48
|
AsyncClipboardResource,
|
|
@@ -214,13 +215,21 @@ class SessionsResource(SyncAPIResource):
|
|
|
214
215
|
"""
|
|
215
216
|
if not session_id:
|
|
216
217
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
217
|
-
|
|
218
|
+
|
|
219
|
+
# Get raw response to unwrap the data field
|
|
220
|
+
raw_response = cast(dict[str, object], self._get(
|
|
218
221
|
f"/v1/sessions/{session_id}",
|
|
219
222
|
options=make_request_options(
|
|
220
223
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
221
224
|
),
|
|
222
|
-
cast_to=
|
|
223
|
-
)
|
|
225
|
+
cast_to=object, # Get as raw object (dict) to unwrap
|
|
226
|
+
))
|
|
227
|
+
|
|
228
|
+
# Unwrap data field if API returns { data: {...} }
|
|
229
|
+
data: object = raw_response.get("data", raw_response)
|
|
230
|
+
|
|
231
|
+
# Construct the response type from the unwrapped data
|
|
232
|
+
return cast(SessionRetrieveResponse, construct_type(type_=SessionRetrieveResponse, value=data))
|
|
224
233
|
|
|
225
234
|
def delete(
|
|
226
235
|
self,
|
|
@@ -751,13 +760,21 @@ class AsyncSessionsResource(AsyncAPIResource):
|
|
|
751
760
|
"""
|
|
752
761
|
if not session_id:
|
|
753
762
|
raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
|
|
754
|
-
|
|
763
|
+
|
|
764
|
+
# Get raw response to unwrap the data field
|
|
765
|
+
raw_response = cast(dict[str, object], await self._get(
|
|
755
766
|
f"/v1/sessions/{session_id}",
|
|
756
767
|
options=make_request_options(
|
|
757
768
|
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
758
769
|
),
|
|
759
|
-
cast_to=
|
|
760
|
-
)
|
|
770
|
+
cast_to=object, # Get as raw object (dict) to unwrap
|
|
771
|
+
))
|
|
772
|
+
|
|
773
|
+
# Unwrap data field if API returns { data: {...} }
|
|
774
|
+
data: object = raw_response.get("data", raw_response)
|
|
775
|
+
|
|
776
|
+
# Construct the response type from the unwrapped data
|
|
777
|
+
return cast(SessionRetrieveResponse, construct_type(type_=SessionRetrieveResponse, value=data))
|
|
761
778
|
|
|
762
779
|
async def delete(
|
|
763
780
|
self,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: anchorbrowser
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.4
|
|
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=ageQnvSloL91I4OxR1GL6-V5sDa4A_99PX1Sgi-U7zY,10177
|
|
13
13
|
anchorbrowser/_types.py,sha256=hYSr4gk9908ZiGTqMX3pHhdzfzUUaHVelFS_I6p2Uj0,7243
|
|
14
|
-
anchorbrowser/_version.py,sha256=
|
|
14
|
+
anchorbrowser/_version.py,sha256=muJ6tadXuSGLaQVvia_mPMpjbXFxC4DnnTCIROngwQI,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
|
|
@@ -29,7 +29,7 @@ anchorbrowser/lib/.keep,sha256=wuNrz-5SXo3jJaJOJgz4vFHM41YH_g20F5cRQo0vLes,224
|
|
|
29
29
|
anchorbrowser/lib/agent.py,sha256=bPaGn2-Eta1HL0hB0cClL9WSmjwRfHphruBofq1oVvI,3533
|
|
30
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=-pceCs4e76Ofe-yAfSU_AjNekTl7EWWk3NiDcCf6pKI,19597
|
|
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
|
|
@@ -42,7 +42,7 @@ anchorbrowser/resources/sessions/all.py,sha256=5iN5Vv6UW-2p07lEqiRHw3fFQC4m_acfv
|
|
|
42
42
|
anchorbrowser/resources/sessions/clipboard.py,sha256=RuoY6Ev5oKsuk0KhPgtRk5GXCjqCk2D16e2hXzRY-4I,9572
|
|
43
43
|
anchorbrowser/resources/sessions/keyboard.py,sha256=qeHOvmTC2cA_AcEyXBCTzp6QyjN-cU6BZBq603Ex49g,11024
|
|
44
44
|
anchorbrowser/resources/sessions/mouse.py,sha256=vlyOJgvoJ2z5pDXEmoVQMq1IIifuwnVC3vV3BGEC4lE,14772
|
|
45
|
-
anchorbrowser/resources/sessions/sessions.py,sha256=
|
|
45
|
+
anchorbrowser/resources/sessions/sessions.py,sha256=yR1B39poMSxn4EfO_bJlQbH-LShXD6RZCgQOzOs1JgM,56323
|
|
46
46
|
anchorbrowser/resources/sessions/agent/__init__.py,sha256=xhYEyZLlwYxvBVBNX6FfdOYz9B5Ps4bHXNG_LY1KuDU,976
|
|
47
47
|
anchorbrowser/resources/sessions/agent/agent.py,sha256=VnrjYHkp6jDv3mYUUnfC6xxcrjwO1Uwm5bWAY85We8w,10013
|
|
48
48
|
anchorbrowser/resources/sessions/agent/files.py,sha256=E5pFDXEeaqJAN7DfE774WWJMf-MsXv_tw_KAPsEcfrA,11461
|
|
@@ -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.4.dist-info/METADATA,sha256=3M_cwYxx_aq0EKw7BAV2ZT8__m_e12imAmf-FTmuauo,15279
|
|
122
|
+
anchorbrowser-0.3.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
|
|
123
|
+
anchorbrowser-0.3.4.dist-info/licenses/LICENSE,sha256=QYTH6OztHxnELDn890vME8F7-euzmsHhWI4XOSYxwOg,11343
|
|
124
|
+
anchorbrowser-0.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|