anchorbrowser 0.3.3__tar.gz → 0.3.5__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.5/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/CHANGELOG.md +12 -0
  3. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/PKG-INFO +1 -1
  4. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/pyproject.toml +1 -1
  5. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_utils.py +1 -1
  6. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_version.py +1 -1
  7. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/agent.py +24 -8
  8. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/sessions.py +23 -6
  9. anchorbrowser-0.3.3/.release-please-manifest.json +0 -3
  10. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/.gitignore +0 -0
  11. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/CONTRIBUTING.md +0 -0
  12. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/LICENSE +0 -0
  13. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/README.md +0 -0
  14. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/SECURITY.md +0 -0
  15. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/api.md +0 -0
  16. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/bin/check-release-environment +0 -0
  17. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/bin/publish-pypi +0 -0
  18. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/examples/.keep +0 -0
  19. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/noxfile.py +0 -0
  20. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/release-please-config.json +0 -0
  21. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/requirements-dev.lock +0 -0
  22. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/requirements.lock +0 -0
  23. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/__init__.py +0 -0
  24. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_base_client.py +0 -0
  25. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_client.py +0 -0
  26. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_compat.py +0 -0
  27. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_constants.py +0 -0
  28. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_exceptions.py +0 -0
  29. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_files.py +0 -0
  30. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_models.py +0 -0
  31. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_qs.py +0 -0
  32. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_resource.py +0 -0
  33. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_response.py +0 -0
  34. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_streaming.py +0 -0
  35. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_types.py +0 -0
  36. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/__init__.py +0 -0
  37. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_compat.py +0 -0
  38. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  39. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_logs.py +0 -0
  40. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_proxy.py +0 -0
  41. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_reflection.py +0 -0
  42. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  43. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_streams.py +0 -0
  44. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_sync.py +0 -0
  45. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_transform.py +0 -0
  46. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/_utils/_typing.py +0 -0
  47. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/lib/.keep +0 -0
  48. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/lib/agent.py +0 -0
  49. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/lib/browser.py +0 -0
  50. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/py.typed +0 -0
  51. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/__init__.py +0 -0
  52. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/batch_sessions.py +0 -0
  53. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/browser.py +0 -0
  54. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/events.py +0 -0
  55. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/extensions.py +0 -0
  56. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/profiles.py +0 -0
  57. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  58. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  59. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  60. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  61. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/all.py +0 -0
  62. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  63. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  64. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  65. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  66. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  67. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  68. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/task.py +0 -0
  69. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/resources/tools.py +0 -0
  70. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/__init__.py +0 -0
  71. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/batch_session_create_params.py +0 -0
  72. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/batch_session_create_response.py +0 -0
  73. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/batch_session_retrieve_response.py +0 -0
  74. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/event_signal_params.py +0 -0
  75. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  76. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  77. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_delete_response.py +0 -0
  78. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_list_response.py +0 -0
  79. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_manifest.py +0 -0
  80. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_retrieve_response.py +0 -0
  81. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_upload_params.py +0 -0
  82. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/extension_upload_response.py +0 -0
  83. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/profile_create_params.py +0 -0
  84. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/profile_list_response.py +0 -0
  85. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  86. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_copy_response.py +0 -0
  87. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_create_params.py +0 -0
  88. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_create_response.py +0 -0
  89. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  90. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  91. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_goto_params.py +0 -0
  92. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_goto_response.py +0 -0
  93. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_list_pages_response.py +0 -0
  94. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_paste_params.py +0 -0
  95. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_paste_response.py +0 -0
  96. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  97. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  98. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  99. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  100. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  101. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  102. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  103. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  104. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/agent/file_list_response.py +0 -0
  105. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  106. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  107. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  108. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/clipboard_get_response.py +0 -0
  109. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  110. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  111. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  112. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  113. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  114. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  115. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  116. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  117. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_double_click_params.py +0 -0
  118. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_double_click_response.py +0 -0
  119. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  120. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  121. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  122. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/recording_pause_response.py +0 -0
  123. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/recording_resume_response.py +0 -0
  124. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  125. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/shared/__init__.py +0 -0
  126. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/shared/success_response.py +0 -0
  127. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task/__init__.py +0 -0
  128. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task/run_execute_params.py +0 -0
  129. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task/run_execute_response.py +0 -0
  130. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task_create_params.py +0 -0
  131. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task_create_response.py +0 -0
  132. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task_list_params.py +0 -0
  133. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/task_list_response.py +0 -0
  134. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  135. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  136. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  137. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  138. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  139. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/__init__.py +0 -0
  140. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/__init__.py +0 -0
  141. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/__init__.py +0 -0
  142. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/agent/test_files.py +0 -0
  143. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  144. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  145. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_agent.py +0 -0
  146. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_all.py +0 -0
  147. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_clipboard.py +0 -0
  148. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_keyboard.py +0 -0
  149. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_mouse.py +0 -0
  150. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/sessions/test_recordings.py +0 -0
  151. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_batch_sessions.py +0 -0
  152. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_events.py +0 -0
  153. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_extensions.py +0 -0
  154. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_profiles.py +0 -0
  155. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_sessions.py +0 -0
  156. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_task.py +0 -0
  157. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/api_resources/test_tools.py +0 -0
  158. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/conftest.py +0 -0
  159. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/sample_file.txt +0 -0
  160. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_client.py +0 -0
  161. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_deepcopy.py +0 -0
  162. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_extract_files.py +0 -0
  163. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_files.py +0 -0
  164. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_models.py +0 -0
  165. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_qs.py +0 -0
  166. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_required_args.py +0 -0
  167. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_response.py +0 -0
  168. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_streaming.py +0 -0
  169. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_transform.py +0 -0
  170. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_utils/test_datetime_parse.py +0 -0
  171. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_utils/test_proxy.py +0 -0
  172. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/test_utils/test_typing.py +0 -0
  173. {anchorbrowser-0.3.3 → anchorbrowser-0.3.5}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.3.5"
3
+ }
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.5 (2025-11-04)
4
+
5
+ Full Changelog: [v0.3.4...v0.3.5](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.4...v0.3.5)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** grammar fix (it's -> its) ([592da81](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/592da814085e1d7348a4eaefc98ebd987ed0d59f))
10
+
11
+ ## 0.3.4 (2025-10-31)
12
+
13
+ Full Changelog: [v0.3.3...v0.3.4](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.3...v0.3.4)
14
+
3
15
  ## 0.3.3 (2025-10-31)
4
16
 
5
17
  Full Changelog: [v0.3.2...v0.3.3](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.2...v0.3.3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.3.3
3
+ Version: 0.3.5
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.3.3"
3
+ version = "0.3.5"
4
4
  description = "The official Python library for the anchorbrowser API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -133,7 +133,7 @@ def is_given(obj: _T | NotGiven | Omit) -> TypeGuard[_T]:
133
133
  # Type safe methods for narrowing types with TypeVars.
134
134
  # The default narrowing for isinstance(obj, dict) is dict[unknown, unknown],
135
135
  # however this cause Pyright to rightfully report errors. As we know we don't
136
- # care about the contained types we can safely use `object` in it's place.
136
+ # care about the contained types we can safely use `object` in its place.
137
137
  #
138
138
  # There are two separate functions defined, `is_*` and `is_*_t` for different use cases.
139
139
  # `is_*` is for when you're dealing with an unknown input
@@ -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.3" # x-release-please-version
4
+ __version__ = "0.3.5" # x-release-please-version
@@ -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
- session = self._client.sessions.create(session=session_options or {})
66
- if not session.data or not session.data.id:
67
- raise ValueError("Failed to create session: No session ID returned")
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=session.data.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
- session = await self._client.sessions.create(session=session_options or {})
247
- if not session.data or not session.data.id:
248
- raise ValueError("Failed to create session: No session ID returned")
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=session.data.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
- return self._get(
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=SessionRetrieveResponse,
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
- return await self._get(
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=SessionRetrieveResponse,
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,3 +0,0 @@
1
- {
2
- ".": "0.3.3"
3
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes