anchorbrowser 0.7.2__tar.gz → 0.7.4__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 (183) hide show
  1. anchorbrowser-0.7.4/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/CHANGELOG.md +18 -0
  3. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/PKG-INFO +1 -1
  4. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/api.md +13 -2
  5. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/pyproject.toml +1 -1
  6. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_version.py +1 -1
  7. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/task.py +91 -0
  8. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/tools.py +79 -0
  9. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/__init__.py +6 -0
  10. anchorbrowser-0.7.4/src/anchorbrowser/types/task_retrieve_execution_result_response.py +41 -0
  11. anchorbrowser-0.7.4/src/anchorbrowser/types/tool_get_perform_web_task_status_response.py +46 -0
  12. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_task.py +105 -0
  13. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_tools.py +85 -0
  14. anchorbrowser-0.7.2/.release-please-manifest.json +0 -3
  15. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/.gitignore +0 -0
  16. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/CONTRIBUTING.md +0 -0
  17. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/LICENSE +0 -0
  18. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/README.md +0 -0
  19. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/SECURITY.md +0 -0
  20. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/bin/check-release-environment +0 -0
  21. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/bin/publish-pypi +0 -0
  22. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/examples/.keep +0 -0
  23. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/noxfile.py +0 -0
  24. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/release-please-config.json +0 -0
  25. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/requirements-dev.lock +0 -0
  26. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/requirements.lock +0 -0
  27. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/__init__.py +0 -0
  28. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_base_client.py +0 -0
  29. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_client.py +0 -0
  30. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_compat.py +0 -0
  31. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_constants.py +0 -0
  32. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_exceptions.py +0 -0
  33. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_files.py +0 -0
  34. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_models.py +0 -0
  35. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_qs.py +0 -0
  36. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_resource.py +0 -0
  37. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_response.py +0 -0
  38. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_streaming.py +0 -0
  39. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_types.py +0 -0
  40. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/__init__.py +0 -0
  41. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_compat.py +0 -0
  42. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  43. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_logs.py +0 -0
  44. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_proxy.py +0 -0
  45. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_reflection.py +0 -0
  46. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  47. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_streams.py +0 -0
  48. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_sync.py +0 -0
  49. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_transform.py +0 -0
  50. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_typing.py +0 -0
  51. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/_utils/_utils.py +0 -0
  52. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/lib/.keep +0 -0
  53. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/lib/agent.py +0 -0
  54. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/lib/browser.py +0 -0
  55. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/py.typed +0 -0
  56. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/__init__.py +0 -0
  57. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/agent.py +0 -0
  58. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/applications/__init__.py +0 -0
  59. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/applications/applications.py +0 -0
  60. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/applications/auth_flows.py +0 -0
  61. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/browser.py +0 -0
  62. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/events.py +0 -0
  63. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/extensions.py +0 -0
  64. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/identities.py +0 -0
  65. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/profiles.py +0 -0
  66. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  67. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  68. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  69. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  70. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/all.py +0 -0
  71. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  72. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  73. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  74. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  75. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  76. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  77. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
  78. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_create_identity_token_params.py +0 -0
  79. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_create_identity_token_response.py +0 -0
  80. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_create_params.py +0 -0
  81. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_create_response.py +0 -0
  82. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_delete_response.py +0 -0
  83. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_list_identities_params.py +0 -0
  84. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_list_identities_response.py +0 -0
  85. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_list_params.py +0 -0
  86. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_list_response.py +0 -0
  87. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/application_retrieve_response.py +0 -0
  88. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/applications/__init__.py +0 -0
  89. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/applications/auth_flow_create_params.py +0 -0
  90. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/applications/auth_flow_create_response.py +0 -0
  91. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/applications/auth_flow_delete_response.py +0 -0
  92. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/applications/auth_flow_list_response.py +0 -0
  93. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/event_signal_params.py +0 -0
  94. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  95. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  96. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/extension_list_response.py +0 -0
  97. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/extension_manifest.py +0 -0
  98. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_create_params.py +0 -0
  99. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_create_response.py +0 -0
  100. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_delete_response.py +0 -0
  101. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_retrieve_credentials_response.py +0 -0
  102. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_retrieve_response.py +0 -0
  103. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_update_params.py +0 -0
  104. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/identity_update_response.py +0 -0
  105. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/profile_create_params.py +0 -0
  106. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/profile_list_response.py +0 -0
  107. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  108. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_create_params.py +0 -0
  109. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_create_response.py +0 -0
  110. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  111. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  112. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_goto_params.py +0 -0
  113. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_goto_response.py +0 -0
  114. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  115. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  116. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  117. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  118. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  119. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  120. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  121. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  122. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  123. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  124. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  125. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  126. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  127. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  128. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  129. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  130. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  131. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  132. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  133. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  134. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  135. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  136. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  137. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/shared/__init__.py +0 -0
  138. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/shared/success_response.py +0 -0
  139. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_create_params.py +0 -0
  140. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_create_response.py +0 -0
  141. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_list_params.py +0 -0
  142. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_list_response.py +0 -0
  143. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_run_params.py +0 -0
  144. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/task_run_response.py +0 -0
  145. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  146. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  147. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  148. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  149. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  150. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/__init__.py +0 -0
  151. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/__init__.py +0 -0
  152. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/applications/test_auth_flows.py +0 -0
  153. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/__init__.py +0 -0
  154. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/agent/test_files.py +0 -0
  155. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  156. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  157. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_agent.py +0 -0
  158. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_all.py +0 -0
  159. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_clipboard.py +0 -0
  160. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_keyboard.py +0 -0
  161. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_mouse.py +0 -0
  162. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/sessions/test_recordings.py +0 -0
  163. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_events.py +0 -0
  164. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_extensions.py +0 -0
  165. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_identities.py +0 -0
  166. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_profiles.py +0 -0
  167. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/api_resources/test_sessions.py +0 -0
  168. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/conftest.py +0 -0
  169. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/sample_file.txt +0 -0
  170. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_client.py +0 -0
  171. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_deepcopy.py +0 -0
  172. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_extract_files.py +0 -0
  173. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_files.py +0 -0
  174. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_models.py +0 -0
  175. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_qs.py +0 -0
  176. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_required_args.py +0 -0
  177. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_response.py +0 -0
  178. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_streaming.py +0 -0
  179. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_transform.py +0 -0
  180. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_utils/test_datetime_parse.py +0 -0
  181. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_utils/test_proxy.py +0 -0
  182. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/test_utils/test_typing.py +0 -0
  183. {anchorbrowser-0.7.2 → anchorbrowser-0.7.4}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.7.4"
3
+ }
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.4 (2026-01-17)
4
+
5
+ Full Changelog: [v0.7.3...v0.7.4](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.3...v0.7.4)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** update `actions/checkout` version ([8e618cd](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/8e618cdbc5ac6406a4d089b7d3c06a533806ec7c))
10
+
11
+ ## 0.7.3 (2026-01-15)
12
+
13
+ Full Changelog: [v0.7.2...v0.7.3](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.2...v0.7.3)
14
+
15
+ ### Features
16
+
17
+ * Added missing PerformWebTaskStatusSuccessResponseData ([fe0cb0e](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/fe0cb0ebf2baaa70a43eb2bf0b0ba232b64e80b8))
18
+ * **api:** manual updates ([7138387](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/713838776e60085512d036062d636f7f5f54d619))
19
+ * BRO-1808 added polling results routes to sdk ([8c0a312](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/8c0a312af463e106d19e433fe3604ea9874a7c0f))
20
+
3
21
  ## 0.7.2 (2026-01-15)
4
22
 
5
23
  Full Changelog: [v0.7.1...v0.7.2](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.1...v0.7.2)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.7.2
3
+ Version: 0.7.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
@@ -140,12 +140,17 @@ Methods:
140
140
  Types:
141
141
 
142
142
  ```python
143
- from anchorbrowser.types import ToolFetchWebpageResponse, ToolPerformWebTaskResponse
143
+ from anchorbrowser.types import (
144
+ ToolFetchWebpageResponse,
145
+ ToolGetPerformWebTaskStatusResponse,
146
+ ToolPerformWebTaskResponse,
147
+ )
144
148
  ```
145
149
 
146
150
  Methods:
147
151
 
148
152
  - <code title="post /v1/tools/fetch-webpage">client.tools.<a href="./src/anchorbrowser/resources/tools.py">fetch_webpage</a>(\*\*<a href="src/anchorbrowser/types/tool_fetch_webpage_params.py">params</a>) -> str</code>
153
+ - <code title="get /v1/tools/perform-web-task/{workflowId}/status">client.tools.<a href="./src/anchorbrowser/resources/tools.py">get_perform_web_task_status</a>(workflow_id) -> <a href="./src/anchorbrowser/types/tool_get_perform_web_task_status_response.py">ToolGetPerformWebTaskStatusResponse</a></code>
149
154
  - <code title="post /v1/tools/perform-web-task">client.tools.<a href="./src/anchorbrowser/resources/tools.py">perform_web_task</a>(\*\*<a href="src/anchorbrowser/types/tool_perform_web_task_params.py">params</a>) -> <a href="./src/anchorbrowser/types/tool_perform_web_task_response.py">ToolPerformWebTaskResponse</a></code>
150
155
  - <code title="post /v1/tools/screenshot">client.tools.<a href="./src/anchorbrowser/resources/tools.py">screenshot_webpage</a>(\*\*<a href="src/anchorbrowser/types/tool_screenshot_webpage_params.py">params</a>) -> BinaryAPIResponse</code>
151
156
 
@@ -179,13 +184,19 @@ Methods:
179
184
  Types:
180
185
 
181
186
  ```python
182
- from anchorbrowser.types import TaskCreateResponse, TaskListResponse, TaskRunResponse
187
+ from anchorbrowser.types import (
188
+ TaskCreateResponse,
189
+ TaskListResponse,
190
+ TaskRetrieveExecutionResultResponse,
191
+ TaskRunResponse,
192
+ )
183
193
  ```
184
194
 
185
195
  Methods:
186
196
 
187
197
  - <code title="post /v1/task">client.task.<a href="./src/anchorbrowser/resources/task.py">create</a>(\*\*<a href="src/anchorbrowser/types/task_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task_create_response.py">TaskCreateResponse</a></code>
188
198
  - <code title="get /v1/task">client.task.<a href="./src/anchorbrowser/resources/task.py">list</a>(\*\*<a href="src/anchorbrowser/types/task_list_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task_list_response.py">TaskListResponse</a></code>
199
+ - <code title="get /v1/task/{taskId}/executions/{executionId}">client.task.<a href="./src/anchorbrowser/resources/task.py">retrieve_execution_result</a>(execution_id, \*, task_id) -> <a href="./src/anchorbrowser/types/task_retrieve_execution_result_response.py">TaskRetrieveExecutionResultResponse</a></code>
189
200
  - <code title="post /v1/task/run">client.task.<a href="./src/anchorbrowser/resources/task.py">run</a>(\*\*<a href="src/anchorbrowser/types/task_run_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task_run_response.py">TaskRunResponse</a></code>
190
201
 
191
202
  # Identities
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.7.2"
3
+ version = "0.7.4"
4
4
  description = "The official Python library for the anchorbrowser API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -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.7.2" # x-release-please-version
4
+ __version__ = "0.7.4" # x-release-please-version
@@ -22,6 +22,7 @@ from .._base_client import make_request_options
22
22
  from ..types.task_run_response import TaskRunResponse
23
23
  from ..types.task_list_response import TaskListResponse
24
24
  from ..types.task_create_response import TaskCreateResponse
25
+ from ..types.task_retrieve_execution_result_response import TaskRetrieveExecutionResultResponse
25
26
 
26
27
  __all__ = ["TaskResource", "AsyncTaskResource"]
27
28
 
@@ -152,6 +153,45 @@ class TaskResource(SyncAPIResource):
152
153
  cast_to=TaskListResponse,
153
154
  )
154
155
 
156
+ def retrieve_execution_result(
157
+ self,
158
+ execution_id: str,
159
+ *,
160
+ task_id: str,
161
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
162
+ # The extra values given here take precedence over values defined on the client or passed to this method.
163
+ extra_headers: Headers | None = None,
164
+ extra_query: Query | None = None,
165
+ extra_body: Body | None = None,
166
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
167
+ ) -> TaskRetrieveExecutionResultResponse:
168
+ """Retrieves a single execution result by its ID.
169
+
170
+ This endpoint is useful for
171
+ polling execution status in async mode or retrieving detailed execution
172
+ information.
173
+
174
+ Args:
175
+ extra_headers: Send extra headers
176
+
177
+ extra_query: Add additional query parameters to the request
178
+
179
+ extra_body: Add additional JSON properties to the request
180
+
181
+ timeout: Override the client-level default timeout for this request, in seconds
182
+ """
183
+ if not task_id:
184
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
185
+ if not execution_id:
186
+ raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
187
+ return self._get(
188
+ f"/v1/task/{task_id}/executions/{execution_id}",
189
+ options=make_request_options(
190
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
191
+ ),
192
+ cast_to=TaskRetrieveExecutionResultResponse,
193
+ )
194
+
155
195
  def run(
156
196
  self,
157
197
  *,
@@ -345,6 +385,45 @@ class AsyncTaskResource(AsyncAPIResource):
345
385
  cast_to=TaskListResponse,
346
386
  )
347
387
 
388
+ async def retrieve_execution_result(
389
+ self,
390
+ execution_id: str,
391
+ *,
392
+ task_id: str,
393
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
394
+ # The extra values given here take precedence over values defined on the client or passed to this method.
395
+ extra_headers: Headers | None = None,
396
+ extra_query: Query | None = None,
397
+ extra_body: Body | None = None,
398
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
399
+ ) -> TaskRetrieveExecutionResultResponse:
400
+ """Retrieves a single execution result by its ID.
401
+
402
+ This endpoint is useful for
403
+ polling execution status in async mode or retrieving detailed execution
404
+ information.
405
+
406
+ Args:
407
+ extra_headers: Send extra headers
408
+
409
+ extra_query: Add additional query parameters to the request
410
+
411
+ extra_body: Add additional JSON properties to the request
412
+
413
+ timeout: Override the client-level default timeout for this request, in seconds
414
+ """
415
+ if not task_id:
416
+ raise ValueError(f"Expected a non-empty value for `task_id` but received {task_id!r}")
417
+ if not execution_id:
418
+ raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
419
+ return await self._get(
420
+ f"/v1/task/{task_id}/executions/{execution_id}",
421
+ options=make_request_options(
422
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
423
+ ),
424
+ cast_to=TaskRetrieveExecutionResultResponse,
425
+ )
426
+
348
427
  async def run(
349
428
  self,
350
429
  *,
@@ -422,6 +501,9 @@ class TaskResourceWithRawResponse:
422
501
  self.list = to_raw_response_wrapper(
423
502
  task.list,
424
503
  )
504
+ self.retrieve_execution_result = to_raw_response_wrapper(
505
+ task.retrieve_execution_result,
506
+ )
425
507
  self.run = to_raw_response_wrapper(
426
508
  task.run,
427
509
  )
@@ -437,6 +519,9 @@ class AsyncTaskResourceWithRawResponse:
437
519
  self.list = async_to_raw_response_wrapper(
438
520
  task.list,
439
521
  )
522
+ self.retrieve_execution_result = async_to_raw_response_wrapper(
523
+ task.retrieve_execution_result,
524
+ )
440
525
  self.run = async_to_raw_response_wrapper(
441
526
  task.run,
442
527
  )
@@ -452,6 +537,9 @@ class TaskResourceWithStreamingResponse:
452
537
  self.list = to_streamed_response_wrapper(
453
538
  task.list,
454
539
  )
540
+ self.retrieve_execution_result = to_streamed_response_wrapper(
541
+ task.retrieve_execution_result,
542
+ )
455
543
  self.run = to_streamed_response_wrapper(
456
544
  task.run,
457
545
  )
@@ -467,6 +555,9 @@ class AsyncTaskResourceWithStreamingResponse:
467
555
  self.list = async_to_streamed_response_wrapper(
468
556
  task.list,
469
557
  )
558
+ self.retrieve_execution_result = async_to_streamed_response_wrapper(
559
+ task.retrieve_execution_result,
560
+ )
470
561
  self.run = async_to_streamed_response_wrapper(
471
562
  task.run,
472
563
  )
@@ -28,6 +28,7 @@ from .._response import (
28
28
  )
29
29
  from .._base_client import make_request_options
30
30
  from ..types.tool_perform_web_task_response import ToolPerformWebTaskResponse
31
+ from ..types.tool_get_perform_web_task_status_response import ToolGetPerformWebTaskStatusResponse
31
32
 
32
33
  __all__ = ["ToolsResource", "AsyncToolsResource"]
33
34
 
@@ -123,6 +124,39 @@ class ToolsResource(SyncAPIResource):
123
124
  cast_to=str,
124
125
  )
125
126
 
127
+ def get_perform_web_task_status(
128
+ self,
129
+ workflow_id: str,
130
+ *,
131
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
132
+ # The extra values given here take precedence over values defined on the client or passed to this method.
133
+ extra_headers: Headers | None = None,
134
+ extra_query: Query | None = None,
135
+ extra_body: Body | None = None,
136
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
137
+ ) -> ToolGetPerformWebTaskStatusResponse:
138
+ """
139
+ Get the status of an asynchronous perform-web-task execution by workflow ID.
140
+
141
+ Args:
142
+ extra_headers: Send extra headers
143
+
144
+ extra_query: Add additional query parameters to the request
145
+
146
+ extra_body: Add additional JSON properties to the request
147
+
148
+ timeout: Override the client-level default timeout for this request, in seconds
149
+ """
150
+ if not workflow_id:
151
+ raise ValueError(f"Expected a non-empty value for `workflow_id` but received {workflow_id!r}")
152
+ return self._get(
153
+ f"/v1/tools/perform-web-task/{workflow_id}/status",
154
+ options=make_request_options(
155
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
156
+ ),
157
+ cast_to=ToolGetPerformWebTaskStatusResponse,
158
+ )
159
+
126
160
  def perform_web_task(
127
161
  self,
128
162
  *,
@@ -404,6 +438,39 @@ class AsyncToolsResource(AsyncAPIResource):
404
438
  cast_to=str,
405
439
  )
406
440
 
441
+ async def get_perform_web_task_status(
442
+ self,
443
+ workflow_id: str,
444
+ *,
445
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
446
+ # The extra values given here take precedence over values defined on the client or passed to this method.
447
+ extra_headers: Headers | None = None,
448
+ extra_query: Query | None = None,
449
+ extra_body: Body | None = None,
450
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
451
+ ) -> ToolGetPerformWebTaskStatusResponse:
452
+ """
453
+ Get the status of an asynchronous perform-web-task execution by workflow ID.
454
+
455
+ Args:
456
+ extra_headers: Send extra headers
457
+
458
+ extra_query: Add additional query parameters to the request
459
+
460
+ extra_body: Add additional JSON properties to the request
461
+
462
+ timeout: Override the client-level default timeout for this request, in seconds
463
+ """
464
+ if not workflow_id:
465
+ raise ValueError(f"Expected a non-empty value for `workflow_id` but received {workflow_id!r}")
466
+ return await self._get(
467
+ f"/v1/tools/perform-web-task/{workflow_id}/status",
468
+ options=make_request_options(
469
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
470
+ ),
471
+ cast_to=ToolGetPerformWebTaskStatusResponse,
472
+ )
473
+
407
474
  async def perform_web_task(
408
475
  self,
409
476
  *,
@@ -599,6 +666,9 @@ class ToolsResourceWithRawResponse:
599
666
  self.fetch_webpage = to_raw_response_wrapper(
600
667
  tools.fetch_webpage,
601
668
  )
669
+ self.get_perform_web_task_status = to_raw_response_wrapper(
670
+ tools.get_perform_web_task_status,
671
+ )
602
672
  self.perform_web_task = to_raw_response_wrapper(
603
673
  tools.perform_web_task,
604
674
  )
@@ -615,6 +685,9 @@ class AsyncToolsResourceWithRawResponse:
615
685
  self.fetch_webpage = async_to_raw_response_wrapper(
616
686
  tools.fetch_webpage,
617
687
  )
688
+ self.get_perform_web_task_status = async_to_raw_response_wrapper(
689
+ tools.get_perform_web_task_status,
690
+ )
618
691
  self.perform_web_task = async_to_raw_response_wrapper(
619
692
  tools.perform_web_task,
620
693
  )
@@ -631,6 +704,9 @@ class ToolsResourceWithStreamingResponse:
631
704
  self.fetch_webpage = to_streamed_response_wrapper(
632
705
  tools.fetch_webpage,
633
706
  )
707
+ self.get_perform_web_task_status = to_streamed_response_wrapper(
708
+ tools.get_perform_web_task_status,
709
+ )
634
710
  self.perform_web_task = to_streamed_response_wrapper(
635
711
  tools.perform_web_task,
636
712
  )
@@ -647,6 +723,9 @@ class AsyncToolsResourceWithStreamingResponse:
647
723
  self.fetch_webpage = async_to_streamed_response_wrapper(
648
724
  tools.fetch_webpage,
649
725
  )
726
+ self.get_perform_web_task_status = async_to_streamed_response_wrapper(
727
+ tools.get_perform_web_task_status,
728
+ )
650
729
  self.perform_web_task = async_to_streamed_response_wrapper(
651
730
  tools.perform_web_task,
652
731
  )
@@ -51,9 +51,15 @@ from .application_list_identities_response import ApplicationListIdentitiesRespo
51
51
  from .identity_retrieve_credentials_response import (
52
52
  IdentityRetrieveCredentialsResponse as IdentityRetrieveCredentialsResponse,
53
53
  )
54
+ from .task_retrieve_execution_result_response import (
55
+ TaskRetrieveExecutionResultResponse as TaskRetrieveExecutionResultResponse,
56
+ )
54
57
  from .application_create_identity_token_params import (
55
58
  ApplicationCreateIdentityTokenParams as ApplicationCreateIdentityTokenParams,
56
59
  )
60
+ from .tool_get_perform_web_task_status_response import (
61
+ ToolGetPerformWebTaskStatusResponse as ToolGetPerformWebTaskStatusResponse,
62
+ )
57
63
  from .application_create_identity_token_response import (
58
64
  ApplicationCreateIdentityTokenResponse as ApplicationCreateIdentityTokenResponse,
59
65
  )
@@ -0,0 +1,41 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from datetime import datetime
5
+ from typing_extensions import Literal
6
+
7
+ from pydantic import Field as FieldInfo
8
+
9
+ from .._models import BaseModel
10
+
11
+ __all__ = ["TaskRetrieveExecutionResultResponse", "Data"]
12
+
13
+
14
+ class Data(BaseModel):
15
+ id: str
16
+ """Unique identifier for the execution result"""
17
+
18
+ start_time: datetime = FieldInfo(alias="startTime")
19
+ """Execution start time"""
20
+
21
+ status: Literal["success", "failure", "timeout", "cancelled"]
22
+ """Execution status"""
23
+
24
+ task_version_id: str = FieldInfo(alias="taskVersionId")
25
+ """Task version identifier"""
26
+
27
+ version: str
28
+ """Version that was executed"""
29
+
30
+ error_message: Optional[str] = FieldInfo(alias="errorMessage", default=None)
31
+ """Error message if execution failed"""
32
+
33
+ execution_time: Optional[float] = FieldInfo(alias="executionTime", default=None)
34
+ """Execution duration in milliseconds"""
35
+
36
+ output: Optional[str] = None
37
+ """Task execution output"""
38
+
39
+
40
+ class TaskRetrieveExecutionResultResponse(BaseModel):
41
+ data: Optional[Data] = None
@@ -0,0 +1,46 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Union
4
+ from typing_extensions import Literal, TypeAlias
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = [
9
+ "ToolGetPerformWebTaskStatusResponse",
10
+ "Data",
11
+ "DataPerformWebTaskStatusSuccessResponseData",
12
+ "DataPerformWebTaskStatusRunningResponseData",
13
+ "DataPerformWebTaskStatusFailedResponseData",
14
+ ]
15
+
16
+
17
+ class DataPerformWebTaskStatusSuccessResponseData(BaseModel):
18
+ result: object
19
+ """The outcome or answer produced by the autonomous task."""
20
+
21
+ status: Literal["COMPLETED"]
22
+ """The workflow has completed successfully."""
23
+
24
+
25
+ class DataPerformWebTaskStatusRunningResponseData(BaseModel):
26
+ status: Literal["RUNNING"]
27
+ """The workflow is currently running."""
28
+
29
+
30
+ class DataPerformWebTaskStatusFailedResponseData(BaseModel):
31
+ error: str
32
+ """Error message describing why the workflow failed."""
33
+
34
+ status: Literal["FAILED"]
35
+ """The workflow has failed."""
36
+
37
+
38
+ Data: TypeAlias = Union[
39
+ DataPerformWebTaskStatusSuccessResponseData,
40
+ DataPerformWebTaskStatusRunningResponseData,
41
+ DataPerformWebTaskStatusFailedResponseData,
42
+ ]
43
+
44
+
45
+ class ToolGetPerformWebTaskStatusResponse(BaseModel):
46
+ data: Data
@@ -13,6 +13,7 @@ from anchorbrowser.types import (
13
13
  TaskRunResponse,
14
14
  TaskListResponse,
15
15
  TaskCreateResponse,
16
+ TaskRetrieveExecutionResultResponse,
16
17
  )
17
18
 
18
19
  base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -122,6 +123,58 @@ class TestTask:
122
123
 
123
124
  assert cast(Any, response.is_closed) is True
124
125
 
126
+ @pytest.mark.skip(reason="Prism tests are disabled")
127
+ @parametrize
128
+ def test_method_retrieve_execution_result(self, client: Anchorbrowser) -> None:
129
+ task = client.task.retrieve_execution_result(
130
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
131
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
132
+ )
133
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
134
+
135
+ @pytest.mark.skip(reason="Prism tests are disabled")
136
+ @parametrize
137
+ def test_raw_response_retrieve_execution_result(self, client: Anchorbrowser) -> None:
138
+ response = client.task.with_raw_response.retrieve_execution_result(
139
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
140
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
141
+ )
142
+
143
+ assert response.is_closed is True
144
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
145
+ task = response.parse()
146
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
147
+
148
+ @pytest.mark.skip(reason="Prism tests are disabled")
149
+ @parametrize
150
+ def test_streaming_response_retrieve_execution_result(self, client: Anchorbrowser) -> None:
151
+ with client.task.with_streaming_response.retrieve_execution_result(
152
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
153
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
154
+ ) as response:
155
+ assert not response.is_closed
156
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
157
+
158
+ task = response.parse()
159
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
160
+
161
+ assert cast(Any, response.is_closed) is True
162
+
163
+ @pytest.mark.skip(reason="Prism tests are disabled")
164
+ @parametrize
165
+ def test_path_params_retrieve_execution_result(self, client: Anchorbrowser) -> None:
166
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_id` but received ''"):
167
+ client.task.with_raw_response.retrieve_execution_result(
168
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
169
+ task_id="",
170
+ )
171
+
172
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `execution_id` but received ''"):
173
+ client.task.with_raw_response.retrieve_execution_result(
174
+ execution_id="",
175
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
176
+ )
177
+
125
178
  @pytest.mark.skip(reason="Prism tests are disabled")
126
179
  @parametrize
127
180
  def test_method_run(self, client: Anchorbrowser) -> None:
@@ -338,6 +391,58 @@ class TestAsyncTask:
338
391
 
339
392
  assert cast(Any, response.is_closed) is True
340
393
 
394
+ @pytest.mark.skip(reason="Prism tests are disabled")
395
+ @parametrize
396
+ async def test_method_retrieve_execution_result(self, async_client: AsyncAnchorbrowser) -> None:
397
+ task = await async_client.task.retrieve_execution_result(
398
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
399
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
400
+ )
401
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
402
+
403
+ @pytest.mark.skip(reason="Prism tests are disabled")
404
+ @parametrize
405
+ async def test_raw_response_retrieve_execution_result(self, async_client: AsyncAnchorbrowser) -> None:
406
+ response = await async_client.task.with_raw_response.retrieve_execution_result(
407
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
408
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
409
+ )
410
+
411
+ assert response.is_closed is True
412
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
413
+ task = await response.parse()
414
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
415
+
416
+ @pytest.mark.skip(reason="Prism tests are disabled")
417
+ @parametrize
418
+ async def test_streaming_response_retrieve_execution_result(self, async_client: AsyncAnchorbrowser) -> None:
419
+ async with async_client.task.with_streaming_response.retrieve_execution_result(
420
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
421
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
422
+ ) as response:
423
+ assert not response.is_closed
424
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
425
+
426
+ task = await response.parse()
427
+ assert_matches_type(TaskRetrieveExecutionResultResponse, task, path=["response"])
428
+
429
+ assert cast(Any, response.is_closed) is True
430
+
431
+ @pytest.mark.skip(reason="Prism tests are disabled")
432
+ @parametrize
433
+ async def test_path_params_retrieve_execution_result(self, async_client: AsyncAnchorbrowser) -> None:
434
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `task_id` but received ''"):
435
+ await async_client.task.with_raw_response.retrieve_execution_result(
436
+ execution_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
437
+ task_id="",
438
+ )
439
+
440
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `execution_id` but received ''"):
441
+ await async_client.task.with_raw_response.retrieve_execution_result(
442
+ execution_id="",
443
+ task_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
444
+ )
445
+
341
446
  @pytest.mark.skip(reason="Prism tests are disabled")
342
447
  @parametrize
343
448
  async def test_method_run(self, async_client: AsyncAnchorbrowser) -> None: