anchorbrowser 0.1.1__py3-none-any.whl → 0.3.0__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 (39) hide show
  1. anchorbrowser/_client.py +17 -1
  2. anchorbrowser/_models.py +3 -0
  3. anchorbrowser/_version.py +1 -1
  4. anchorbrowser/resources/__init__.py +28 -0
  5. anchorbrowser/resources/batch_sessions.py +288 -0
  6. anchorbrowser/resources/profiles.py +1 -115
  7. anchorbrowser/resources/sessions/__init__.py +14 -0
  8. anchorbrowser/resources/sessions/agent/__init__.py +33 -0
  9. anchorbrowser/resources/sessions/agent/agent.py +273 -0
  10. anchorbrowser/resources/sessions/agent/files.py +280 -0
  11. anchorbrowser/resources/sessions/mouse.py +1 -233
  12. anchorbrowser/resources/sessions/sessions.py +39 -1
  13. anchorbrowser/resources/task.py +465 -0
  14. anchorbrowser/types/__init__.py +7 -1
  15. anchorbrowser/types/batch_session_create_params.py +487 -0
  16. anchorbrowser/types/batch_session_create_response.py +27 -0
  17. anchorbrowser/types/batch_session_retrieve_response.py +90 -0
  18. anchorbrowser/types/session_create_params.py +52 -9
  19. anchorbrowser/types/sessions/__init__.py +0 -4
  20. anchorbrowser/types/sessions/agent/__init__.py +7 -0
  21. anchorbrowser/types/sessions/agent/file_list_response.py +32 -0
  22. anchorbrowser/types/sessions/agent/file_upload_params.py +14 -0
  23. anchorbrowser/types/sessions/agent/file_upload_response.py +17 -0
  24. anchorbrowser/types/task/__init__.py +6 -0
  25. anchorbrowser/types/task/run_execute_params.py +324 -0
  26. anchorbrowser/types/task/run_execute_response.py +33 -0
  27. anchorbrowser/types/task_create_params.py +317 -0
  28. anchorbrowser/types/task_create_response.py +345 -0
  29. anchorbrowser/types/task_list_params.py +15 -0
  30. anchorbrowser/types/task_list_response.py +361 -0
  31. {anchorbrowser-0.1.1.dist-info → anchorbrowser-0.3.0.dist-info}/METADATA +6 -6
  32. {anchorbrowser-0.1.1.dist-info → anchorbrowser-0.3.0.dist-info}/RECORD +34 -20
  33. anchorbrowser/types/profile_update_params.py +0 -21
  34. anchorbrowser/types/sessions/mouse_down_params.py +0 -18
  35. anchorbrowser/types/sessions/mouse_down_response.py +0 -11
  36. anchorbrowser/types/sessions/mouse_up_params.py +0 -18
  37. anchorbrowser/types/sessions/mouse_up_response.py +0 -11
  38. {anchorbrowser-0.1.1.dist-info → anchorbrowser-0.3.0.dist-info}/WHEEL +0 -0
  39. {anchorbrowser-0.1.1.dist-info → anchorbrowser-0.3.0.dist-info}/licenses/LICENSE +0 -0
@@ -17,15 +17,7 @@ from ..._response import (
17
17
  async_to_streamed_response_wrapper,
18
18
  )
19
19
  from ..._base_client import make_request_options
20
- from ...types.sessions import (
21
- mouse_up_params,
22
- mouse_down_params,
23
- mouse_move_params,
24
- mouse_click_params,
25
- mouse_double_click_params,
26
- )
27
- from ...types.sessions.mouse_up_response import MouseUpResponse
28
- from ...types.sessions.mouse_down_response import MouseDownResponse
20
+ from ...types.sessions import mouse_move_params, mouse_click_params, mouse_double_click_params
29
21
  from ...types.sessions.mouse_move_response import MouseMoveResponse
30
22
  from ...types.sessions.mouse_click_response import MouseClickResponse
31
23
  from ...types.sessions.mouse_double_click_response import MouseDoubleClickResponse
@@ -153,56 +145,6 @@ class MouseResource(SyncAPIResource):
153
145
  cast_to=MouseDoubleClickResponse,
154
146
  )
155
147
 
156
- def down(
157
- self,
158
- session_id: str,
159
- *,
160
- x: int,
161
- y: int,
162
- button: Literal["left", "middle", "right"] | Omit = omit,
163
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
164
- # The extra values given here take precedence over values defined on the client or passed to this method.
165
- extra_headers: Headers | None = None,
166
- extra_query: Query | None = None,
167
- extra_body: Body | None = None,
168
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
169
- ) -> MouseDownResponse:
170
- """
171
- Performs a mouse button down action at the specified coordinates
172
-
173
- Args:
174
- x: X coordinate
175
-
176
- y: Y coordinate
177
-
178
- button: Mouse button to use
179
-
180
- extra_headers: Send extra headers
181
-
182
- extra_query: Add additional query parameters to the request
183
-
184
- extra_body: Add additional JSON properties to the request
185
-
186
- timeout: Override the client-level default timeout for this request, in seconds
187
- """
188
- if not session_id:
189
- raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
190
- return self._post(
191
- f"/v1/sessions/{session_id}/mouse/down",
192
- body=maybe_transform(
193
- {
194
- "x": x,
195
- "y": y,
196
- "button": button,
197
- },
198
- mouse_down_params.MouseDownParams,
199
- ),
200
- options=make_request_options(
201
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
202
- ),
203
- cast_to=MouseDownResponse,
204
- )
205
-
206
148
  def move(
207
149
  self,
208
150
  session_id: str,
@@ -249,56 +191,6 @@ class MouseResource(SyncAPIResource):
249
191
  cast_to=MouseMoveResponse,
250
192
  )
251
193
 
252
- def up(
253
- self,
254
- session_id: str,
255
- *,
256
- x: int,
257
- y: int,
258
- button: Literal["left", "middle", "right"] | Omit = omit,
259
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
260
- # The extra values given here take precedence over values defined on the client or passed to this method.
261
- extra_headers: Headers | None = None,
262
- extra_query: Query | None = None,
263
- extra_body: Body | None = None,
264
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
265
- ) -> MouseUpResponse:
266
- """
267
- Performs a mouse button up action at the specified coordinates
268
-
269
- Args:
270
- x: X coordinate
271
-
272
- y: Y coordinate
273
-
274
- button: Mouse button to use
275
-
276
- extra_headers: Send extra headers
277
-
278
- extra_query: Add additional query parameters to the request
279
-
280
- extra_body: Add additional JSON properties to the request
281
-
282
- timeout: Override the client-level default timeout for this request, in seconds
283
- """
284
- if not session_id:
285
- raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
286
- return self._post(
287
- f"/v1/sessions/{session_id}/mouse/up",
288
- body=maybe_transform(
289
- {
290
- "x": x,
291
- "y": y,
292
- "button": button,
293
- },
294
- mouse_up_params.MouseUpParams,
295
- ),
296
- options=make_request_options(
297
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
298
- ),
299
- cast_to=MouseUpResponse,
300
- )
301
-
302
194
 
303
195
  class AsyncMouseResource(AsyncAPIResource):
304
196
  @cached_property
@@ -420,56 +312,6 @@ class AsyncMouseResource(AsyncAPIResource):
420
312
  cast_to=MouseDoubleClickResponse,
421
313
  )
422
314
 
423
- async def down(
424
- self,
425
- session_id: str,
426
- *,
427
- x: int,
428
- y: int,
429
- button: Literal["left", "middle", "right"] | Omit = omit,
430
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
431
- # The extra values given here take precedence over values defined on the client or passed to this method.
432
- extra_headers: Headers | None = None,
433
- extra_query: Query | None = None,
434
- extra_body: Body | None = None,
435
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
436
- ) -> MouseDownResponse:
437
- """
438
- Performs a mouse button down action at the specified coordinates
439
-
440
- Args:
441
- x: X coordinate
442
-
443
- y: Y coordinate
444
-
445
- button: Mouse button to use
446
-
447
- extra_headers: Send extra headers
448
-
449
- extra_query: Add additional query parameters to the request
450
-
451
- extra_body: Add additional JSON properties to the request
452
-
453
- timeout: Override the client-level default timeout for this request, in seconds
454
- """
455
- if not session_id:
456
- raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
457
- return await self._post(
458
- f"/v1/sessions/{session_id}/mouse/down",
459
- body=await async_maybe_transform(
460
- {
461
- "x": x,
462
- "y": y,
463
- "button": button,
464
- },
465
- mouse_down_params.MouseDownParams,
466
- ),
467
- options=make_request_options(
468
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
469
- ),
470
- cast_to=MouseDownResponse,
471
- )
472
-
473
315
  async def move(
474
316
  self,
475
317
  session_id: str,
@@ -516,56 +358,6 @@ class AsyncMouseResource(AsyncAPIResource):
516
358
  cast_to=MouseMoveResponse,
517
359
  )
518
360
 
519
- async def up(
520
- self,
521
- session_id: str,
522
- *,
523
- x: int,
524
- y: int,
525
- button: Literal["left", "middle", "right"] | Omit = omit,
526
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
527
- # The extra values given here take precedence over values defined on the client or passed to this method.
528
- extra_headers: Headers | None = None,
529
- extra_query: Query | None = None,
530
- extra_body: Body | None = None,
531
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
532
- ) -> MouseUpResponse:
533
- """
534
- Performs a mouse button up action at the specified coordinates
535
-
536
- Args:
537
- x: X coordinate
538
-
539
- y: Y coordinate
540
-
541
- button: Mouse button to use
542
-
543
- extra_headers: Send extra headers
544
-
545
- extra_query: Add additional query parameters to the request
546
-
547
- extra_body: Add additional JSON properties to the request
548
-
549
- timeout: Override the client-level default timeout for this request, in seconds
550
- """
551
- if not session_id:
552
- raise ValueError(f"Expected a non-empty value for `session_id` but received {session_id!r}")
553
- return await self._post(
554
- f"/v1/sessions/{session_id}/mouse/up",
555
- body=await async_maybe_transform(
556
- {
557
- "x": x,
558
- "y": y,
559
- "button": button,
560
- },
561
- mouse_up_params.MouseUpParams,
562
- ),
563
- options=make_request_options(
564
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
565
- ),
566
- cast_to=MouseUpResponse,
567
- )
568
-
569
361
 
570
362
  class MouseResourceWithRawResponse:
571
363
  def __init__(self, mouse: MouseResource) -> None:
@@ -577,15 +369,9 @@ class MouseResourceWithRawResponse:
577
369
  self.double_click = to_raw_response_wrapper(
578
370
  mouse.double_click,
579
371
  )
580
- self.down = to_raw_response_wrapper(
581
- mouse.down,
582
- )
583
372
  self.move = to_raw_response_wrapper(
584
373
  mouse.move,
585
374
  )
586
- self.up = to_raw_response_wrapper(
587
- mouse.up,
588
- )
589
375
 
590
376
 
591
377
  class AsyncMouseResourceWithRawResponse:
@@ -598,15 +384,9 @@ class AsyncMouseResourceWithRawResponse:
598
384
  self.double_click = async_to_raw_response_wrapper(
599
385
  mouse.double_click,
600
386
  )
601
- self.down = async_to_raw_response_wrapper(
602
- mouse.down,
603
- )
604
387
  self.move = async_to_raw_response_wrapper(
605
388
  mouse.move,
606
389
  )
607
- self.up = async_to_raw_response_wrapper(
608
- mouse.up,
609
- )
610
390
 
611
391
 
612
392
  class MouseResourceWithStreamingResponse:
@@ -619,15 +399,9 @@ class MouseResourceWithStreamingResponse:
619
399
  self.double_click = to_streamed_response_wrapper(
620
400
  mouse.double_click,
621
401
  )
622
- self.down = to_streamed_response_wrapper(
623
- mouse.down,
624
- )
625
402
  self.move = to_streamed_response_wrapper(
626
403
  mouse.move,
627
404
  )
628
- self.up = to_streamed_response_wrapper(
629
- mouse.up,
630
- )
631
405
 
632
406
 
633
407
  class AsyncMouseResourceWithStreamingResponse:
@@ -640,12 +414,6 @@ class AsyncMouseResourceWithStreamingResponse:
640
414
  self.double_click = async_to_streamed_response_wrapper(
641
415
  mouse.double_click,
642
416
  )
643
- self.down = async_to_streamed_response_wrapper(
644
- mouse.down,
645
- )
646
417
  self.move = async_to_streamed_response_wrapper(
647
418
  mouse.move,
648
419
  )
649
- self.up = async_to_streamed_response_wrapper(
650
- mouse.up,
651
- )
@@ -2,7 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from typing import Mapping, cast
5
+ from typing import Mapping, Iterable, cast
6
6
  from typing_extensions import Literal
7
7
 
8
8
  import httpx
@@ -65,6 +65,14 @@ from ..._response import (
65
65
  async_to_custom_raw_response_wrapper,
66
66
  async_to_custom_streamed_response_wrapper,
67
67
  )
68
+ from .agent.agent import (
69
+ AgentResource,
70
+ AsyncAgentResource,
71
+ AgentResourceWithRawResponse,
72
+ AsyncAgentResourceWithRawResponse,
73
+ AgentResourceWithStreamingResponse,
74
+ AsyncAgentResourceWithStreamingResponse,
75
+ )
68
76
  from ..._base_client import make_request_options
69
77
  from .recordings.recordings import (
70
78
  RecordingsResource,
@@ -109,6 +117,9 @@ class SessionsResource(SyncAPIResource):
109
117
  @cached_property
110
118
  def clipboard(self) -> ClipboardResource:
111
119
  return ClipboardResource(self._client)
120
+ @cached_property
121
+ def agent(self) -> AgentResource:
122
+ return AgentResource(self._client)
112
123
 
113
124
  @cached_property
114
125
  def with_raw_response(self) -> SessionsResourceWithRawResponse:
@@ -133,6 +144,7 @@ class SessionsResource(SyncAPIResource):
133
144
  self,
134
145
  *,
135
146
  browser: session_create_params.Browser | Omit = omit,
147
+ integrations: Iterable[session_create_params.Integration] | Omit = omit,
136
148
  session: session_create_params.Session | Omit = omit,
137
149
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
138
150
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -148,6 +160,9 @@ class SessionsResource(SyncAPIResource):
148
160
  Args:
149
161
  browser: Browser-specific configurations.
150
162
 
163
+ integrations: Array of integrations to load in the browser session. Integrations must be
164
+ previously created using the Integrations API.
165
+
151
166
  session: Session-related configurations.
152
167
 
153
168
  extra_headers: Send extra headers
@@ -163,6 +178,7 @@ class SessionsResource(SyncAPIResource):
163
178
  body=maybe_transform(
164
179
  {
165
180
  "browser": browser,
181
+ "integrations": integrations,
166
182
  "session": session,
167
183
  },
168
184
  session_create_params.SessionCreateParams,
@@ -638,6 +654,9 @@ class AsyncSessionsResource(AsyncAPIResource):
638
654
  @cached_property
639
655
  def clipboard(self) -> AsyncClipboardResource:
640
656
  return AsyncClipboardResource(self._client)
657
+ @cached_property
658
+ def agent(self) -> AsyncAgentResource:
659
+ return AsyncAgentResource(self._client)
641
660
 
642
661
  @cached_property
643
662
  def with_raw_response(self) -> AsyncSessionsResourceWithRawResponse:
@@ -662,6 +681,7 @@ class AsyncSessionsResource(AsyncAPIResource):
662
681
  self,
663
682
  *,
664
683
  browser: session_create_params.Browser | Omit = omit,
684
+ integrations: Iterable[session_create_params.Integration] | Omit = omit,
665
685
  session: session_create_params.Session | Omit = omit,
666
686
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
667
687
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -677,6 +697,9 @@ class AsyncSessionsResource(AsyncAPIResource):
677
697
  Args:
678
698
  browser: Browser-specific configurations.
679
699
 
700
+ integrations: Array of integrations to load in the browser session. Integrations must be
701
+ previously created using the Integrations API.
702
+
680
703
  session: Session-related configurations.
681
704
 
682
705
  extra_headers: Send extra headers
@@ -692,6 +715,7 @@ class AsyncSessionsResource(AsyncAPIResource):
692
715
  body=await async_maybe_transform(
693
716
  {
694
717
  "browser": browser,
718
+ "integrations": integrations,
695
719
  "session": session,
696
720
  },
697
721
  session_create_params.SessionCreateParams,
@@ -1209,6 +1233,10 @@ class SessionsResourceWithRawResponse:
1209
1233
  def clipboard(self) -> ClipboardResourceWithRawResponse:
1210
1234
  return ClipboardResourceWithRawResponse(self._sessions.clipboard)
1211
1235
 
1236
+ @cached_property
1237
+ def agent(self) -> AgentResourceWithRawResponse:
1238
+ return AgentResourceWithRawResponse(self._sessions.agent)
1239
+
1212
1240
 
1213
1241
  class AsyncSessionsResourceWithRawResponse:
1214
1242
  def __init__(self, sessions: AsyncSessionsResource) -> None:
@@ -1272,6 +1300,9 @@ class AsyncSessionsResourceWithRawResponse:
1272
1300
  def clipboard(self) -> AsyncClipboardResourceWithRawResponse:
1273
1301
  return AsyncClipboardResourceWithRawResponse(self._sessions.clipboard)
1274
1302
 
1303
+ @cached_property
1304
+ def agent(self) -> AsyncAgentResourceWithRawResponse:
1305
+ return AsyncAgentResourceWithRawResponse(self._sessions.agent)
1275
1306
 
1276
1307
  class SessionsResourceWithStreamingResponse:
1277
1308
  def __init__(self, sessions: SessionsResource) -> None:
@@ -1335,6 +1366,9 @@ class SessionsResourceWithStreamingResponse:
1335
1366
  def clipboard(self) -> ClipboardResourceWithStreamingResponse:
1336
1367
  return ClipboardResourceWithStreamingResponse(self._sessions.clipboard)
1337
1368
 
1369
+ @cached_property
1370
+ def agent(self) -> AgentResourceWithStreamingResponse:
1371
+ return AgentResourceWithStreamingResponse(self._sessions.agent)
1338
1372
 
1339
1373
  class AsyncSessionsResourceWithStreamingResponse:
1340
1374
  def __init__(self, sessions: AsyncSessionsResource) -> None:
@@ -1397,3 +1431,7 @@ class AsyncSessionsResourceWithStreamingResponse:
1397
1431
  @cached_property
1398
1432
  def clipboard(self) -> AsyncClipboardResourceWithStreamingResponse:
1399
1433
  return AsyncClipboardResourceWithStreamingResponse(self._sessions.clipboard)
1434
+
1435
+ @cached_property
1436
+ def agent(self) -> AsyncAgentResourceWithStreamingResponse:
1437
+ return AsyncAgentResourceWithStreamingResponse(self._sessions.agent)