anchorbrowser 0.3.11__tar.gz → 0.3.13__tar.gz

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 (173) hide show
  1. anchorbrowser-0.3.13/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/CHANGELOG.md +22 -0
  3. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/PKG-INFO +3 -2
  4. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/README.md +2 -1
  5. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/pyproject.toml +7 -5
  6. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/requirements-dev.lock +55 -46
  7. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/requirements.lock +15 -15
  8. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_types.py +3 -2
  9. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_version.py +1 -1
  10. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/batch_session_create_params.py +34 -0
  11. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_create_params.py +32 -0
  12. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_create_params.py +8 -0
  13. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_create_response.py +8 -0
  14. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_list_response.py +8 -0
  15. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_run_params.py +8 -0
  16. anchorbrowser-0.3.11/.release-please-manifest.json +0 -3
  17. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/.gitignore +0 -0
  18. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/CONTRIBUTING.md +0 -0
  19. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/LICENSE +0 -0
  20. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/SECURITY.md +0 -0
  21. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/api.md +0 -0
  22. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/bin/check-release-environment +0 -0
  23. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/bin/publish-pypi +0 -0
  24. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/examples/.keep +0 -0
  25. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/noxfile.py +0 -0
  26. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/release-please-config.json +0 -0
  27. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/__init__.py +0 -0
  28. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_base_client.py +0 -0
  29. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_client.py +0 -0
  30. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_compat.py +0 -0
  31. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_constants.py +0 -0
  32. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_exceptions.py +0 -0
  33. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_files.py +0 -0
  34. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_models.py +0 -0
  35. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_qs.py +0 -0
  36. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_resource.py +0 -0
  37. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_response.py +0 -0
  38. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_streaming.py +0 -0
  39. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/__init__.py +0 -0
  40. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_compat.py +0 -0
  41. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  42. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_logs.py +0 -0
  43. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_proxy.py +0 -0
  44. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_reflection.py +0 -0
  45. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  46. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_streams.py +0 -0
  47. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_sync.py +0 -0
  48. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_transform.py +0 -0
  49. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_typing.py +0 -0
  50. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/_utils/_utils.py +0 -0
  51. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/lib/.keep +0 -0
  52. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/lib/agent.py +0 -0
  53. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/lib/browser.py +0 -0
  54. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/py.typed +0 -0
  55. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/__init__.py +0 -0
  56. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/agent.py +0 -0
  57. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/batch_sessions.py +0 -0
  58. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/browser.py +0 -0
  59. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/events.py +0 -0
  60. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/extensions.py +0 -0
  61. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/profiles.py +0 -0
  62. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  63. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  64. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  65. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  66. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/all.py +0 -0
  67. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  68. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  69. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  70. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  71. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  72. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  73. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
  74. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/task/run.py +0 -0
  75. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/task.py +0 -0
  76. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/resources/tools.py +0 -0
  77. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/__init__.py +0 -0
  78. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/batch_session_create_response.py +0 -0
  79. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/batch_session_retrieve_response.py +0 -0
  80. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/event_signal_params.py +0 -0
  81. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  82. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  83. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_delete_response.py +0 -0
  84. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_list_response.py +0 -0
  85. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_manifest.py +0 -0
  86. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_retrieve_response.py +0 -0
  87. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_upload_params.py +0 -0
  88. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/extension_upload_response.py +0 -0
  89. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/profile_create_params.py +0 -0
  90. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/profile_list_response.py +0 -0
  91. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  92. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_copy_response.py +0 -0
  93. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_create_response.py +0 -0
  94. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  95. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  96. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_goto_params.py +0 -0
  97. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_goto_response.py +0 -0
  98. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_list_pages_response.py +0 -0
  99. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_paste_params.py +0 -0
  100. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_paste_response.py +0 -0
  101. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  102. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  103. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  104. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  105. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  106. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  107. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  108. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  109. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/agent/file_list_response.py +0 -0
  110. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  111. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  112. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  113. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/clipboard_get_response.py +0 -0
  114. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  115. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  116. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  117. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  118. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  119. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  120. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  121. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  122. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_double_click_params.py +0 -0
  123. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_double_click_response.py +0 -0
  124. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  125. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  126. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  127. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/recording_pause_response.py +0 -0
  128. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/recording_resume_response.py +0 -0
  129. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  130. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/shared/__init__.py +0 -0
  131. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/shared/success_response.py +0 -0
  132. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_list_params.py +0 -0
  133. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/task_run_response.py +0 -0
  134. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  135. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  136. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  137. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  138. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  139. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/__init__.py +0 -0
  140. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/__init__.py +0 -0
  141. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/__init__.py +0 -0
  142. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/agent/test_files.py +0 -0
  143. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  144. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  145. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_agent.py +0 -0
  146. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_all.py +0 -0
  147. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_clipboard.py +0 -0
  148. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_keyboard.py +0 -0
  149. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_mouse.py +0 -0
  150. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/sessions/test_recordings.py +0 -0
  151. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_batch_sessions.py +0 -0
  152. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_events.py +0 -0
  153. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_extensions.py +0 -0
  154. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_profiles.py +0 -0
  155. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_sessions.py +0 -0
  156. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_task.py +0 -0
  157. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/api_resources/test_tools.py +0 -0
  158. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/conftest.py +0 -0
  159. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/sample_file.txt +0 -0
  160. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_client.py +0 -0
  161. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_deepcopy.py +0 -0
  162. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_extract_files.py +0 -0
  163. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_files.py +0 -0
  164. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_models.py +0 -0
  165. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_qs.py +0 -0
  166. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_required_args.py +0 -0
  167. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_response.py +0 -0
  168. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_streaming.py +0 -0
  169. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_transform.py +0 -0
  170. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_utils/test_datetime_parse.py +0 -0
  171. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_utils/test_proxy.py +0 -0
  172. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/test_utils/test_typing.py +0 -0
  173. {anchorbrowser-0.3.11 → anchorbrowser-0.3.13}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.3.13"
3
+ }
@@ -1,5 +1,27 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.13 (2025-12-09)
4
+
5
+ Full Changelog: [v0.3.12...v0.3.13](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.12...v0.3.13)
6
+
7
+ ### Bug Fixes
8
+
9
+ * **types:** allow pyright to infer TypedDict types within SequenceNotStr ([cb35cbc](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/cb35cbcfddccb5fee912b1cafe3dfab5b237209f))
10
+
11
+
12
+ ### Chores
13
+
14
+ * add missing docstrings ([6e46d9f](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/6e46d9f28d01af030ea754883f0086cd80705999))
15
+
16
+ ## 0.3.12 (2025-12-03)
17
+
18
+ Full Changelog: [v0.3.11...v0.3.12](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.11...v0.3.12)
19
+
20
+ ### Chores
21
+
22
+ * **docs:** use environment variables for authentication in code snippets ([8d13120](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/8d13120a106de59c11150b731c22056d50df1192))
23
+ * update lockfile ([4d3c63b](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/4d3c63b11cacbd6e10f2c837c7e25ce9842b7cc2))
24
+
3
25
  ## 0.3.11 (2025-11-28)
4
26
 
5
27
  Full Changelog: [v0.3.10...v0.3.11](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.10...v0.3.11)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.3.11
3
+ Version: 0.3.13
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
@@ -120,6 +120,7 @@ pip install anchorbrowser[aiohttp]
120
120
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
121
121
 
122
122
  ```python
123
+ import os
123
124
  import asyncio
124
125
  from anchorbrowser import DefaultAioHttpClient
125
126
  from anchorbrowser import AsyncAnchorbrowser
@@ -127,7 +128,7 @@ from anchorbrowser import AsyncAnchorbrowser
127
128
 
128
129
  async def main() -> None:
129
130
  async with AsyncAnchorbrowser(
130
- api_key="Your API Key",
131
+ api_key=os.environ.get("ANCHORBROWSER_API_KEY"), # This is the default and can be omitted
131
132
  http_client=DefaultAioHttpClient(),
132
133
  ) as client:
133
134
  session = await client.sessions.create(
@@ -83,6 +83,7 @@ pip install anchorbrowser[aiohttp]
83
83
  Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:
84
84
 
85
85
  ```python
86
+ import os
86
87
  import asyncio
87
88
  from anchorbrowser import DefaultAioHttpClient
88
89
  from anchorbrowser import AsyncAnchorbrowser
@@ -90,7 +91,7 @@ from anchorbrowser import AsyncAnchorbrowser
90
91
 
91
92
  async def main() -> None:
92
93
  async with AsyncAnchorbrowser(
93
- api_key="Your API Key",
94
+ api_key=os.environ.get("ANCHORBROWSER_API_KEY"), # This is the default and can be omitted
94
95
  http_client=DefaultAioHttpClient(),
95
96
  ) as client:
96
97
  session = await client.sessions.create(
@@ -1,22 +1,24 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.3.11"
3
+ version = "0.3.13"
4
4
  description = "The official Python library for the anchorbrowser API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
7
7
  authors = [
8
8
  { name = "Anchorbrowser", email = "support@anchorbrowser.io" },
9
9
  ]
10
+
10
11
  dependencies = [
11
12
  "httpx>=0.28.1",
12
- "pydantic>=1.9.0, <3",
13
+ "pydantic>=1.9.0, <3",
13
14
  "typing-extensions>=4.15.0",
14
- "anyio>=3.5.0, <5",
15
- "distro>=1.7.0, <2",
16
- "sniffio",
15
+ "anyio>=3.5.0, <5",
16
+ "distro>=1.7.0, <2",
17
+ "sniffio",
17
18
  "websockets>=15.0.1",
18
19
  "playwright>=1.55.0",
19
20
  ]
21
+
20
22
  requires-python = ">= 3.9"
21
23
  classifiers = [
22
24
  "Typing :: Typed",
@@ -12,40 +12,45 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via anchorbrowser
17
17
  # via httpx-aiohttp
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via anchorbrowser
24
24
  # via httpx
25
- argcomplete==3.1.2
25
+ argcomplete==3.6.3
26
26
  # via nox
27
27
  async-timeout==5.0.1
28
28
  # via aiohttp
29
- attrs==25.3.0
29
+ attrs==25.4.0
30
30
  # via aiohttp
31
- certifi==2023.7.22
31
+ # via nox
32
+ backports-asyncio-runner==1.2.0
33
+ # via pytest-asyncio
34
+ certifi==2025.11.12
32
35
  # via httpcore
33
36
  # via httpx
34
- colorlog==6.7.0
37
+ colorlog==6.10.1
38
+ # via nox
39
+ dependency-groups==1.3.1
35
40
  # via nox
36
- dirty-equals==0.6.0
37
- distlib==0.3.7
41
+ dirty-equals==0.11
42
+ distlib==0.4.0
38
43
  # via virtualenv
39
- distro==1.8.0
44
+ distro==1.9.0
40
45
  # via anchorbrowser
41
- exceptiongroup==1.3.0
46
+ exceptiongroup==1.3.1
42
47
  # via anyio
43
48
  # via pytest
44
- execnet==2.1.1
49
+ execnet==2.1.2
45
50
  # via pytest-xdist
46
- filelock==3.12.4
51
+ filelock==3.19.1
47
52
  # via virtualenv
48
- frozenlist==1.6.2
53
+ frozenlist==1.8.0
49
54
  # via aiohttp
50
55
  # via aiosignal
51
56
  greenlet==3.2.4
@@ -60,73 +65,75 @@ httpx==0.28.1
60
65
  # via respx
61
66
  httpx-aiohttp==0.1.9
62
67
  # via anchorbrowser
63
- idna==3.4
68
+ humanize==4.13.0
69
+ # via nox
70
+ idna==3.11
64
71
  # via anyio
65
72
  # via httpx
66
73
  # via yarl
67
- importlib-metadata==7.0.0
68
- iniconfig==2.0.0
74
+ importlib-metadata==8.7.0
75
+ iniconfig==2.1.0
69
76
  # via pytest
70
77
  markdown-it-py==3.0.0
71
78
  # via rich
72
79
  mdurl==0.1.2
73
80
  # via markdown-it-py
74
- multidict==6.4.4
81
+ multidict==6.7.0
75
82
  # via aiohttp
76
83
  # via yarl
77
84
  mypy==1.17.0
78
- mypy-extensions==1.0.0
85
+ mypy-extensions==1.1.0
79
86
  # via mypy
80
- nodeenv==1.8.0
87
+ nodeenv==1.9.1
81
88
  # via pyright
82
- nox==2023.4.22
83
- packaging==23.2
89
+ nox==2025.11.12
90
+ packaging==25.0
91
+ # via dependency-groups
84
92
  # via nox
85
93
  # via pytest
86
94
  pathspec==0.12.1
87
95
  # via mypy
88
- platformdirs==3.11.0
96
+ platformdirs==4.4.0
89
97
  # via virtualenv
90
98
  playwright==1.55.0
91
99
  # via anchorbrowser
92
- pluggy==1.5.0
100
+ #via rich
101
+ pluggy==1.6.0
93
102
  # via pytest
94
- propcache==0.3.1
103
+ propcache==0.4.1
95
104
  # via aiohttp
96
105
  # via yarl
97
- pydantic==2.11.9
106
+ pydantic==2.12.5
98
107
  # via anchorbrowser
99
- pydantic-core==2.33.2
108
+ pydantic-core==2.41.5
100
109
  # via pydantic
101
110
  pyee==13.0.0
102
111
  # via playwright
103
- pygments==2.18.0
104
- # via rich
112
+ pygments==2.19.2
113
+ # via pytest
105
114
  pyright==1.1.399
106
- pytest==8.3.3
115
+ pytest==8.4.2
107
116
  # via pytest-asyncio
108
117
  # via pytest-xdist
109
- pytest-asyncio==0.24.0
110
- pytest-xdist==3.7.0
111
- python-dateutil==2.8.2
118
+ pytest-asyncio==1.2.0
119
+ pytest-xdist==3.8.0
120
+ python-dateutil==2.9.0.post0
112
121
  # via time-machine
113
- pytz==2023.3.post1
114
- # via dirty-equals
115
122
  respx==0.22.0
116
- rich==13.7.1
117
- ruff==0.9.4
118
- setuptools==68.2.2
119
- # via nodeenv
120
- six==1.16.0
123
+ rich==14.2.0
124
+ ruff==0.14.7
125
+ six==1.17.0
121
126
  # via python-dateutil
122
- sniffio==1.3.0
127
+ sniffio==1.3.1
123
128
  # via anchorbrowser
124
129
  # via anyio
125
130
  time-machine==2.9.0
126
131
  tomli==2.3.0
127
132
  # via mypy
133
+ # via nox
128
134
  # via pytest
129
135
  typing-extensions==4.15.0
136
+ # via aiosignal
130
137
  # via anchorbrowser
131
138
  # via anyio
132
139
  # via exceptiongroup
@@ -136,14 +143,16 @@ typing-extensions==4.15.0
136
143
  # via pydantic-core
137
144
  # via pyee
138
145
  # via pyright
146
+ # via pytest-asyncio
139
147
  # via typing-inspection
140
- typing-inspection==0.4.1
148
+ # via virtualenv
149
+ typing-inspection==0.4.2
141
150
  # via pydantic
142
- virtualenv==20.24.5
151
+ virtualenv==20.35.4
143
152
  # via nox
144
153
  websockets==15.0.1
145
154
  # via anchorbrowser
146
- yarl==1.20.0
155
+ yarl==1.22.0
147
156
  # via aiohttp
148
- zipp==3.17.0
157
+ zipp==3.23.0
149
158
  # via importlib-metadata
@@ -12,28 +12,28 @@
12
12
  -e file:.
13
13
  aiohappyeyeballs==2.6.1
14
14
  # via aiohttp
15
- aiohttp==3.12.8
15
+ aiohttp==3.13.2
16
16
  # via anchorbrowser
17
17
  # via httpx-aiohttp
18
- aiosignal==1.3.2
18
+ aiosignal==1.4.0
19
19
  # via aiohttp
20
- annotated-types==0.6.0
20
+ annotated-types==0.7.0
21
21
  # via pydantic
22
- anyio==4.4.0
22
+ anyio==4.12.0
23
23
  # via anchorbrowser
24
24
  # via httpx
25
25
  async-timeout==5.0.1
26
26
  # via aiohttp
27
- attrs==25.3.0
27
+ attrs==25.4.0
28
28
  # via aiohttp
29
- certifi==2023.7.22
29
+ certifi==2025.11.12
30
30
  # via httpcore
31
31
  # via httpx
32
- distro==1.8.0
32
+ distro==1.9.0
33
33
  # via anchorbrowser
34
- exceptiongroup==1.3.0
34
+ exceptiongroup==1.3.1
35
35
  # via anyio
36
- frozenlist==1.6.2
36
+ frozenlist==1.8.0
37
37
  # via aiohttp
38
38
  # via aiosignal
39
39
  greenlet==3.2.4
@@ -47,16 +47,16 @@ httpx==0.28.1
47
47
  # via httpx-aiohttp
48
48
  httpx-aiohttp==0.1.9
49
49
  # via anchorbrowser
50
- idna==3.4
50
+ idna==3.11
51
51
  # via anyio
52
52
  # via httpx
53
53
  # via yarl
54
- multidict==6.4.4
54
+ multidict==6.7.0
55
55
  # via aiohttp
56
56
  # via yarl
57
57
  playwright==1.55.0
58
58
  # via anchorbrowser
59
- propcache==0.3.1
59
+ propcache==0.4.1
60
60
  # via aiohttp
61
61
  # via yarl
62
62
  pydantic==2.12.5
@@ -65,10 +65,10 @@ pydantic-core==2.41.5
65
65
  # via pydantic
66
66
  pyee==13.0.0
67
67
  # via playwright
68
- sniffio==1.3.0
68
+ sniffio==1.3.1
69
69
  # via anchorbrowser
70
- # via anyio
71
70
  typing-extensions==4.15.0
71
+ # via aiosignal
72
72
  # via anchorbrowser
73
73
  # via anyio
74
74
  # via exceptiongroup
@@ -81,5 +81,5 @@ typing-inspection==0.4.2
81
81
  # via pydantic
82
82
  websockets==15.0.1
83
83
  # via anchorbrowser
84
- yarl==1.20.0
84
+ yarl==1.22.0
85
85
  # via aiohttp
@@ -243,6 +243,9 @@ _T_co = TypeVar("_T_co", covariant=True)
243
243
  if TYPE_CHECKING:
244
244
  # This works because str.__contains__ does not accept object (either in typeshed or at runtime)
245
245
  # https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
246
+ #
247
+ # Note: index() and count() methods are intentionally omitted to allow pyright to properly
248
+ # infer TypedDict types when dict literals are used in lists assigned to SequenceNotStr.
246
249
  class SequenceNotStr(Protocol[_T_co]):
247
250
  @overload
248
251
  def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
@@ -251,8 +254,6 @@ if TYPE_CHECKING:
251
254
  def __contains__(self, value: object, /) -> bool: ...
252
255
  def __len__(self) -> int: ...
253
256
  def __iter__(self) -> Iterator[_T_co]: ...
254
- def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
255
- def count(self, value: Any, /) -> int: ...
256
257
  def __reversed__(self) -> Iterator[_T_co]: ...
257
258
  else:
258
259
  # just point this to a normal `Sequence` at runtime to avoid having to special case
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "anchorbrowser"
4
- __version__ = "0.3.11" # x-release-please-version
4
+ __version__ = "0.3.13" # x-release-please-version
@@ -47,11 +47,15 @@ class BatchSessionCreateParams(TypedDict, total=False):
47
47
 
48
48
 
49
49
  class ConfigurationBrowserAdblock(TypedDict, total=False):
50
+ """Configuration for ad-blocking."""
51
+
50
52
  active: bool
51
53
  """Enable or disable ad-blocking. Defaults to `true`."""
52
54
 
53
55
 
54
56
  class ConfigurationBrowserCaptchaSolver(TypedDict, total=False):
57
+ """Configuration for captcha-solving."""
58
+
55
59
  active: bool
56
60
  """Enable or disable captcha-solving.
57
61
 
@@ -60,6 +64,8 @@ class ConfigurationBrowserCaptchaSolver(TypedDict, total=False):
60
64
 
61
65
 
62
66
  class ConfigurationBrowserDisableWebSecurity(TypedDict, total=False):
67
+ """Configuration for disabling web security features."""
68
+
63
69
  active: bool
64
70
  """Whether to disable web security features (CORS, same-origin policy, etc.).
65
71
 
@@ -69,11 +75,17 @@ class ConfigurationBrowserDisableWebSecurity(TypedDict, total=False):
69
75
 
70
76
 
71
77
  class ConfigurationBrowserExtraStealth(TypedDict, total=False):
78
+ """
79
+ Configuration for extra stealth mode to enhance browser fingerprinting protection.
80
+ """
81
+
72
82
  active: bool
73
83
  """Enable or disable extra stealth mode."""
74
84
 
75
85
 
76
86
  class ConfigurationBrowserFullscreen(TypedDict, total=False):
87
+ """Configuration for fullscreen mode."""
88
+
77
89
  active: bool
78
90
  """Enable or disable fullscreen mode.
79
91
 
@@ -82,11 +94,15 @@ class ConfigurationBrowserFullscreen(TypedDict, total=False):
82
94
 
83
95
 
84
96
  class ConfigurationBrowserHeadless(TypedDict, total=False):
97
+ """Configuration for headless mode."""
98
+
85
99
  active: bool
86
100
  """Whether browser should be headless or headful. Defaults to `false`."""
87
101
 
88
102
 
89
103
  class ConfigurationBrowserP2pDownload(TypedDict, total=False):
104
+ """Configuration for peer-to-peer download capture functionality."""
105
+
90
106
  active: bool
91
107
  """Enable or disable P2P downloads.
92
108
 
@@ -96,6 +112,8 @@ class ConfigurationBrowserP2pDownload(TypedDict, total=False):
96
112
 
97
113
 
98
114
  class ConfigurationBrowserPopupBlocker(TypedDict, total=False):
115
+ """Configuration for popup blocking."""
116
+
99
117
  active: bool
100
118
  """Blocks popups, including ads and CAPTCHA consent banners.
101
119
 
@@ -104,6 +122,8 @@ class ConfigurationBrowserPopupBlocker(TypedDict, total=False):
104
122
 
105
123
 
106
124
  class ConfigurationBrowserProfile(TypedDict, total=False):
125
+ """Options for managing and persisting browser session profiles."""
126
+
107
127
  name: str
108
128
  """The name of the profile to be used during the browser session."""
109
129
 
@@ -115,6 +135,8 @@ class ConfigurationBrowserProfile(TypedDict, total=False):
115
135
 
116
136
 
117
137
  class ConfigurationBrowserViewport(TypedDict, total=False):
138
+ """Configuration for the browser's viewport size."""
139
+
118
140
  height: int
119
141
  """Height of the viewport in pixels. Defaults to `900`."""
120
142
 
@@ -123,6 +145,8 @@ class ConfigurationBrowserViewport(TypedDict, total=False):
123
145
 
124
146
 
125
147
  class ConfigurationBrowser(TypedDict, total=False):
148
+ """Browser-specific configurations."""
149
+
126
150
  adblock: ConfigurationBrowserAdblock
127
151
  """Configuration for ad-blocking."""
128
152
 
@@ -193,6 +217,8 @@ class ConfigurationIntegration(TypedDict, total=False):
193
217
 
194
218
 
195
219
  class ConfigurationSessionLiveView(TypedDict, total=False):
220
+ """Configuration for live viewing the browser session."""
221
+
196
222
  read_only: bool
197
223
  """Enable or disable read-only mode for live viewing. Defaults to `false`."""
198
224
 
@@ -435,11 +461,15 @@ ConfigurationSessionProxy: TypeAlias = Union[ConfigurationSessionProxyAnchorProx
435
461
 
436
462
 
437
463
  class ConfigurationSessionRecording(TypedDict, total=False):
464
+ """Configuration for session recording."""
465
+
438
466
  active: bool
439
467
  """Enable or disable video recording of the browser session. Defaults to `true`."""
440
468
 
441
469
 
442
470
  class ConfigurationSessionTimeout(TypedDict, total=False):
471
+ """Timeout configurations for the browser session."""
472
+
443
473
  idle_timeout: int
444
474
  """
445
475
  The amount of time (in minutes) the browser session waits for new connections
@@ -454,6 +484,8 @@ class ConfigurationSessionTimeout(TypedDict, total=False):
454
484
 
455
485
 
456
486
  class ConfigurationSession(TypedDict, total=False):
487
+ """Session-related configurations."""
488
+
457
489
  initial_url: str
458
490
  """The URL to navigate to when the browser session starts.
459
491
 
@@ -474,6 +506,8 @@ class ConfigurationSession(TypedDict, total=False):
474
506
 
475
507
 
476
508
  class Configuration(TypedDict, total=False):
509
+ """Configuration that applies to all sessions in the batch"""
510
+
477
511
  browser: ConfigurationBrowser
478
512
  """Browser-specific configurations."""
479
513
 
@@ -49,11 +49,15 @@ class SessionCreateParams(TypedDict, total=False):
49
49
 
50
50
 
51
51
  class BrowserAdblock(TypedDict, total=False):
52
+ """Configuration for ad-blocking."""
53
+
52
54
  active: bool
53
55
  """Enable or disable ad-blocking. Defaults to `true`."""
54
56
 
55
57
 
56
58
  class BrowserCaptchaSolver(TypedDict, total=False):
59
+ """Configuration for captcha-solving."""
60
+
57
61
  active: bool
58
62
  """Enable or disable captcha-solving.
59
63
 
@@ -62,6 +66,8 @@ class BrowserCaptchaSolver(TypedDict, total=False):
62
66
 
63
67
 
64
68
  class BrowserDisableWebSecurity(TypedDict, total=False):
69
+ """Configuration for disabling web security features."""
70
+
65
71
  active: bool
66
72
  """Whether to disable web security features (CORS, same-origin policy, etc.).
67
73
 
@@ -71,11 +77,17 @@ class BrowserDisableWebSecurity(TypedDict, total=False):
71
77
 
72
78
 
73
79
  class BrowserExtraStealth(TypedDict, total=False):
80
+ """
81
+ Configuration for extra stealth mode to enhance browser fingerprinting protection.
82
+ """
83
+
74
84
  active: bool
75
85
  """Enable or disable extra stealth mode."""
76
86
 
77
87
 
78
88
  class BrowserFullscreen(TypedDict, total=False):
89
+ """Configuration for fullscreen mode."""
90
+
79
91
  active: bool
80
92
  """Enable or disable fullscreen mode.
81
93
 
@@ -84,11 +96,15 @@ class BrowserFullscreen(TypedDict, total=False):
84
96
 
85
97
 
86
98
  class BrowserHeadless(TypedDict, total=False):
99
+ """Configuration for headless mode."""
100
+
87
101
  active: bool
88
102
  """Whether browser should be headless or headful. Defaults to `false`."""
89
103
 
90
104
 
91
105
  class BrowserP2pDownload(TypedDict, total=False):
106
+ """Configuration for peer-to-peer download capture functionality."""
107
+
92
108
  active: bool
93
109
  """Enable or disable P2P downloads.
94
110
 
@@ -98,6 +114,8 @@ class BrowserP2pDownload(TypedDict, total=False):
98
114
 
99
115
 
100
116
  class BrowserPopupBlocker(TypedDict, total=False):
117
+ """Configuration for popup blocking."""
118
+
101
119
  active: bool
102
120
  """Blocks popups, including ads and CAPTCHA consent banners.
103
121
 
@@ -106,6 +124,8 @@ class BrowserPopupBlocker(TypedDict, total=False):
106
124
 
107
125
 
108
126
  class BrowserProfile(TypedDict, total=False):
127
+ """Options for managing and persisting browser session profiles."""
128
+
109
129
  name: str
110
130
  """The name of the profile to be used during the browser session."""
111
131
 
@@ -117,6 +137,8 @@ class BrowserProfile(TypedDict, total=False):
117
137
 
118
138
 
119
139
  class BrowserViewport(TypedDict, total=False):
140
+ """Configuration for the browser's viewport size."""
141
+
120
142
  height: int
121
143
  """Height of the viewport in pixels. Defaults to `900`."""
122
144
 
@@ -125,6 +147,8 @@ class BrowserViewport(TypedDict, total=False):
125
147
 
126
148
 
127
149
  class Browser(TypedDict, total=False):
150
+ """Browser-specific configurations."""
151
+
128
152
  adblock: BrowserAdblock
129
153
  """Configuration for ad-blocking."""
130
154
 
@@ -194,6 +218,8 @@ class Integration(TypedDict, total=False):
194
218
 
195
219
 
196
220
  class SessionLiveView(TypedDict, total=False):
221
+ """Configuration for live viewing the browser session."""
222
+
197
223
  read_only: bool
198
224
  """Enable or disable read-only mode for live viewing. Defaults to `false`."""
199
225
 
@@ -437,11 +463,15 @@ SessionProxy: TypeAlias = Union[SessionProxyAnchorProxy, SessionProxyCustomProxy
437
463
 
438
464
 
439
465
  class SessionRecording(TypedDict, total=False):
466
+ """Configuration for session recording."""
467
+
440
468
  active: bool
441
469
  """Enable or disable video recording of the browser session. Defaults to `true`."""
442
470
 
443
471
 
444
472
  class SessionTimeout(TypedDict, total=False):
473
+ """Timeout configurations for the browser session."""
474
+
445
475
  idle_timeout: int
446
476
  """
447
477
  The amount of time (in minutes) the browser session waits for new connections
@@ -456,6 +486,8 @@ class SessionTimeout(TypedDict, total=False):
456
486
 
457
487
 
458
488
  class Session(TypedDict, total=False):
489
+ """Session-related configurations."""
490
+
459
491
  initial_url: str
460
492
  """The URL to navigate to when the browser session starts.
461
493
 
@@ -37,6 +37,8 @@ class TaskCreateParams(TypedDict, total=False):
37
37
 
38
38
 
39
39
  class BrowserConfigurationLiveView(TypedDict, total=False):
40
+ """Configuration for live viewing the browser session."""
41
+
40
42
  read_only: bool
41
43
  """Enable or disable read-only mode for live viewing. Defaults to `false`."""
42
44
 
@@ -279,11 +281,15 @@ BrowserConfigurationProxy: TypeAlias = Union[BrowserConfigurationProxyAnchorProx
279
281
 
280
282
 
281
283
  class BrowserConfigurationRecording(TypedDict, total=False):
284
+ """Configuration for session recording."""
285
+
282
286
  active: bool
283
287
  """Enable or disable video recording of the browser session. Defaults to `true`."""
284
288
 
285
289
 
286
290
  class BrowserConfigurationTimeout(TypedDict, total=False):
291
+ """Timeout configurations for the browser session."""
292
+
287
293
  idle_timeout: int
288
294
  """
289
295
  The amount of time (in minutes) the browser session waits for new connections
@@ -298,6 +304,8 @@ class BrowserConfigurationTimeout(TypedDict, total=False):
298
304
 
299
305
 
300
306
  class BrowserConfiguration(TypedDict, total=False):
307
+ """Browser configuration for task execution"""
308
+
301
309
  initial_url: str
302
310
  """The URL to navigate to when the browser session starts.
303
311