anchorbrowser 0.7.1__tar.gz → 0.7.3__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 (185) hide show
  1. anchorbrowser-0.7.3/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/CHANGELOG.md +18 -0
  3. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/PKG-INFO +1 -1
  4. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/api.md +13 -4
  5. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/pyproject.toml +1 -1
  6. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_version.py +1 -1
  7. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/applications/auth_flows.py +1 -144
  8. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/task.py +92 -1
  9. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/tools.py +79 -0
  10. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/__init__.py +6 -0
  11. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/applications/__init__.py +0 -2
  12. anchorbrowser-0.7.3/src/anchorbrowser/types/task_retrieve_execution_result_response.py +41 -0
  13. anchorbrowser-0.7.3/src/anchorbrowser/types/tool_get_perform_web_task_status_response.py +46 -0
  14. anchorbrowser-0.7.3/tests/api_resources/applications/test_auth_flows.py +342 -0
  15. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_task.py +105 -0
  16. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_tools.py +85 -0
  17. anchorbrowser-0.7.1/.release-please-manifest.json +0 -3
  18. anchorbrowser-0.7.1/src/anchorbrowser/types/applications/auth_flow_update_params.py +0 -32
  19. anchorbrowser-0.7.1/src/anchorbrowser/types/applications/auth_flow_update_response.py +0 -39
  20. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/.gitignore +0 -0
  21. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/CONTRIBUTING.md +0 -0
  22. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/LICENSE +0 -0
  23. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/README.md +0 -0
  24. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/SECURITY.md +0 -0
  25. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/bin/check-release-environment +0 -0
  26. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/bin/publish-pypi +0 -0
  27. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/examples/.keep +0 -0
  28. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/noxfile.py +0 -0
  29. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/release-please-config.json +0 -0
  30. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/requirements-dev.lock +0 -0
  31. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/requirements.lock +0 -0
  32. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/__init__.py +0 -0
  33. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_base_client.py +0 -0
  34. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_client.py +0 -0
  35. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_compat.py +0 -0
  36. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_constants.py +0 -0
  37. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_exceptions.py +0 -0
  38. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_files.py +0 -0
  39. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_models.py +0 -0
  40. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_qs.py +0 -0
  41. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_resource.py +0 -0
  42. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_response.py +0 -0
  43. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_streaming.py +0 -0
  44. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_types.py +0 -0
  45. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/__init__.py +0 -0
  46. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_compat.py +0 -0
  47. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  48. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_logs.py +0 -0
  49. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_proxy.py +0 -0
  50. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_reflection.py +0 -0
  51. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  52. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_streams.py +0 -0
  53. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_sync.py +0 -0
  54. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_transform.py +0 -0
  55. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_typing.py +0 -0
  56. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/_utils/_utils.py +0 -0
  57. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/lib/.keep +0 -0
  58. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/lib/agent.py +0 -0
  59. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/lib/browser.py +0 -0
  60. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/py.typed +0 -0
  61. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/__init__.py +0 -0
  62. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/agent.py +0 -0
  63. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/applications/__init__.py +0 -0
  64. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/applications/applications.py +0 -0
  65. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/browser.py +0 -0
  66. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/events.py +0 -0
  67. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/extensions.py +0 -0
  68. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/identities.py +0 -0
  69. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/profiles.py +0 -0
  70. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  71. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  72. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  73. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  74. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/all.py +0 -0
  75. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  76. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  77. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  78. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  79. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  80. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  81. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
  82. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_create_identity_token_params.py +0 -0
  83. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_create_identity_token_response.py +0 -0
  84. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_create_params.py +0 -0
  85. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_create_response.py +0 -0
  86. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_delete_response.py +0 -0
  87. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_list_identities_params.py +0 -0
  88. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_list_identities_response.py +0 -0
  89. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_list_params.py +0 -0
  90. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_list_response.py +0 -0
  91. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/application_retrieve_response.py +0 -0
  92. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/applications/auth_flow_create_params.py +0 -0
  93. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/applications/auth_flow_create_response.py +0 -0
  94. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/applications/auth_flow_delete_response.py +0 -0
  95. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/applications/auth_flow_list_response.py +0 -0
  96. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/event_signal_params.py +0 -0
  97. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  98. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  99. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/extension_list_response.py +0 -0
  100. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/extension_manifest.py +0 -0
  101. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_create_params.py +0 -0
  102. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_create_response.py +0 -0
  103. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_delete_response.py +0 -0
  104. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_retrieve_credentials_response.py +0 -0
  105. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_retrieve_response.py +0 -0
  106. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_update_params.py +0 -0
  107. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/identity_update_response.py +0 -0
  108. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/profile_create_params.py +0 -0
  109. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/profile_list_response.py +0 -0
  110. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  111. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_create_params.py +0 -0
  112. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_create_response.py +0 -0
  113. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  114. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  115. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_goto_params.py +0 -0
  116. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_goto_response.py +0 -0
  117. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  118. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  119. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  120. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  121. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  122. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  123. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  124. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  125. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  126. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  127. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  128. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  129. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  130. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  131. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  132. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  133. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  134. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  135. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  136. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  137. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  138. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  139. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  140. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/shared/__init__.py +0 -0
  141. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/shared/success_response.py +0 -0
  142. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_create_params.py +0 -0
  143. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_create_response.py +0 -0
  144. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_list_params.py +0 -0
  145. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_list_response.py +0 -0
  146. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_run_params.py +0 -0
  147. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/task_run_response.py +0 -0
  148. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  149. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  150. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  151. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  152. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  153. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/__init__.py +0 -0
  154. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/__init__.py +0 -0
  155. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/__init__.py +0 -0
  156. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/agent/test_files.py +0 -0
  157. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  158. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  159. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_agent.py +0 -0
  160. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_all.py +0 -0
  161. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_clipboard.py +0 -0
  162. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_keyboard.py +0 -0
  163. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_mouse.py +0 -0
  164. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/sessions/test_recordings.py +0 -0
  165. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_events.py +0 -0
  166. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_extensions.py +0 -0
  167. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_identities.py +0 -0
  168. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_profiles.py +0 -0
  169. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/api_resources/test_sessions.py +0 -0
  170. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/conftest.py +0 -0
  171. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/sample_file.txt +0 -0
  172. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_client.py +0 -0
  173. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_deepcopy.py +0 -0
  174. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_extract_files.py +0 -0
  175. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_files.py +0 -0
  176. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_models.py +0 -0
  177. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_qs.py +0 -0
  178. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_required_args.py +0 -0
  179. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_response.py +0 -0
  180. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_streaming.py +0 -0
  181. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_transform.py +0 -0
  182. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_utils/test_datetime_parse.py +0 -0
  183. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_utils/test_proxy.py +0 -0
  184. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/test_utils/test_typing.py +0 -0
  185. {anchorbrowser-0.7.1 → anchorbrowser-0.7.3}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.7.3"
3
+ }
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.3 (2026-01-15)
4
+
5
+ Full Changelog: [v0.7.2...v0.7.3](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.2...v0.7.3)
6
+
7
+ ### Features
8
+
9
+ * Added missing PerformWebTaskStatusSuccessResponseData ([fe0cb0e](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/fe0cb0ebf2baaa70a43eb2bf0b0ba232b64e80b8))
10
+ * **api:** manual updates ([7138387](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/713838776e60085512d036062d636f7f5f54d619))
11
+ * BRO-1808 added polling results routes to sdk ([8c0a312](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/8c0a312af463e106d19e433fe3604ea9874a7c0f))
12
+
13
+ ## 0.7.2 (2026-01-15)
14
+
15
+ Full Changelog: [v0.7.1...v0.7.2](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.1...v0.7.2)
16
+
17
+ ### Features
18
+
19
+ * **api:** manual updates ([d1ad53a](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/d1ad53a3d9c95ec228dc2a084db220538cbda64b))
20
+
3
21
  ## 0.7.1 (2026-01-15)
4
22
 
5
23
  Full Changelog: [v0.7.0...v0.7.1](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.0...v0.7.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.7.1
3
+ Version: 0.7.3
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
@@ -241,7 +252,6 @@ Types:
241
252
  ```python
242
253
  from anchorbrowser.types.applications import (
243
254
  AuthFlowCreateResponse,
244
- AuthFlowUpdateResponse,
245
255
  AuthFlowListResponse,
246
256
  AuthFlowDeleteResponse,
247
257
  )
@@ -250,6 +260,5 @@ from anchorbrowser.types.applications import (
250
260
  Methods:
251
261
 
252
262
  - <code title="post /v1/applications/{application_id}/auth-flows">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">create</a>(application_id, \*\*<a href="src/anchorbrowser/types/applications/auth_flow_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/applications/auth_flow_create_response.py">AuthFlowCreateResponse</a></code>
253
- - <code title="patch /v1/applications/{application_id}/auth-flows/{auth_flow_id}">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">update</a>(auth_flow_id, \*, application_id, \*\*<a href="src/anchorbrowser/types/applications/auth_flow_update_params.py">params</a>) -> <a href="./src/anchorbrowser/types/applications/auth_flow_update_response.py">AuthFlowUpdateResponse</a></code>
254
263
  - <code title="get /v1/applications/{application_id}/auth-flows">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">list</a>(application_id) -> <a href="./src/anchorbrowser/types/applications/auth_flow_list_response.py">AuthFlowListResponse</a></code>
255
264
  - <code title="delete /v1/applications/{application_id}/auth-flows/{auth_flow_id}">client.applications.auth_flows.<a href="./src/anchorbrowser/resources/applications/auth_flows.py">delete</a>(auth_flow_id, \*, application_id) -> <a href="./src/anchorbrowser/types/applications/auth_flow_delete_response.py">AuthFlowDeleteResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.7.1"
3
+ version = "0.7.3"
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.1" # x-release-please-version
4
+ __version__ = "0.7.3" # x-release-please-version
@@ -18,11 +18,10 @@ from ..._response import (
18
18
  async_to_streamed_response_wrapper,
19
19
  )
20
20
  from ..._base_client import make_request_options
21
- from ...types.applications import auth_flow_create_params, auth_flow_update_params
21
+ from ...types.applications import auth_flow_create_params
22
22
  from ...types.applications.auth_flow_list_response import AuthFlowListResponse
23
23
  from ...types.applications.auth_flow_create_response import AuthFlowCreateResponse
24
24
  from ...types.applications.auth_flow_delete_response import AuthFlowDeleteResponse
25
- from ...types.applications.auth_flow_update_response import AuthFlowUpdateResponse
26
25
 
27
26
  __all__ = ["AuthFlowsResource", "AsyncAuthFlowsResource"]
28
27
 
@@ -109,71 +108,6 @@ class AuthFlowsResource(SyncAPIResource):
109
108
  cast_to=AuthFlowCreateResponse,
110
109
  )
111
110
 
112
- def update(
113
- self,
114
- auth_flow_id: str,
115
- *,
116
- application_id: str,
117
- custom_fields: Iterable[auth_flow_update_params.CustomField] | Omit = omit,
118
- description: str | Omit = omit,
119
- is_recommended: bool | Omit = omit,
120
- methods: List[Literal["username_password", "authenticator", "custom"]] | Omit = omit,
121
- name: str | Omit = omit,
122
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
123
- # The extra values given here take precedence over values defined on the client or passed to this method.
124
- extra_headers: Headers | None = None,
125
- extra_query: Query | None = None,
126
- extra_body: Body | None = None,
127
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
128
- ) -> AuthFlowUpdateResponse:
129
- """Updates an existing authentication flow.
130
-
131
- **Beta** Capability.
132
-
133
- [Contact support](mailto:support@anchorbrowser.io) to
134
- enable.
135
-
136
- Args:
137
- custom_fields: Custom fields for this authentication flow
138
-
139
- description: Description of the authentication flow
140
-
141
- is_recommended: Whether this is the recommended authentication flow
142
-
143
- methods: Authentication methods in this flow
144
-
145
- name: Name of the authentication flow
146
-
147
- extra_headers: Send extra headers
148
-
149
- extra_query: Add additional query parameters to the request
150
-
151
- extra_body: Add additional JSON properties to the request
152
-
153
- timeout: Override the client-level default timeout for this request, in seconds
154
- """
155
- if not application_id:
156
- raise ValueError(f"Expected a non-empty value for `application_id` but received {application_id!r}")
157
- if not auth_flow_id:
158
- raise ValueError(f"Expected a non-empty value for `auth_flow_id` but received {auth_flow_id!r}")
159
- return self._patch(
160
- f"/v1/applications/{application_id}/auth-flows/{auth_flow_id}",
161
- body=maybe_transform(
162
- {
163
- "custom_fields": custom_fields,
164
- "description": description,
165
- "is_recommended": is_recommended,
166
- "methods": methods,
167
- "name": name,
168
- },
169
- auth_flow_update_params.AuthFlowUpdateParams,
170
- ),
171
- options=make_request_options(
172
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
173
- ),
174
- cast_to=AuthFlowUpdateResponse,
175
- )
176
-
177
111
  def list(
178
112
  self,
179
113
  application_id: str,
@@ -333,71 +267,6 @@ class AsyncAuthFlowsResource(AsyncAPIResource):
333
267
  cast_to=AuthFlowCreateResponse,
334
268
  )
335
269
 
336
- async def update(
337
- self,
338
- auth_flow_id: str,
339
- *,
340
- application_id: str,
341
- custom_fields: Iterable[auth_flow_update_params.CustomField] | Omit = omit,
342
- description: str | Omit = omit,
343
- is_recommended: bool | Omit = omit,
344
- methods: List[Literal["username_password", "authenticator", "custom"]] | Omit = omit,
345
- name: str | Omit = omit,
346
- # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
347
- # The extra values given here take precedence over values defined on the client or passed to this method.
348
- extra_headers: Headers | None = None,
349
- extra_query: Query | None = None,
350
- extra_body: Body | None = None,
351
- timeout: float | httpx.Timeout | None | NotGiven = not_given,
352
- ) -> AuthFlowUpdateResponse:
353
- """Updates an existing authentication flow.
354
-
355
- **Beta** Capability.
356
-
357
- [Contact support](mailto:support@anchorbrowser.io) to
358
- enable.
359
-
360
- Args:
361
- custom_fields: Custom fields for this authentication flow
362
-
363
- description: Description of the authentication flow
364
-
365
- is_recommended: Whether this is the recommended authentication flow
366
-
367
- methods: Authentication methods in this flow
368
-
369
- name: Name of the authentication flow
370
-
371
- extra_headers: Send extra headers
372
-
373
- extra_query: Add additional query parameters to the request
374
-
375
- extra_body: Add additional JSON properties to the request
376
-
377
- timeout: Override the client-level default timeout for this request, in seconds
378
- """
379
- if not application_id:
380
- raise ValueError(f"Expected a non-empty value for `application_id` but received {application_id!r}")
381
- if not auth_flow_id:
382
- raise ValueError(f"Expected a non-empty value for `auth_flow_id` but received {auth_flow_id!r}")
383
- return await self._patch(
384
- f"/v1/applications/{application_id}/auth-flows/{auth_flow_id}",
385
- body=await async_maybe_transform(
386
- {
387
- "custom_fields": custom_fields,
388
- "description": description,
389
- "is_recommended": is_recommended,
390
- "methods": methods,
391
- "name": name,
392
- },
393
- auth_flow_update_params.AuthFlowUpdateParams,
394
- ),
395
- options=make_request_options(
396
- extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
397
- ),
398
- cast_to=AuthFlowUpdateResponse,
399
- )
400
-
401
270
  async def list(
402
271
  self,
403
272
  application_id: str,
@@ -482,9 +351,6 @@ class AuthFlowsResourceWithRawResponse:
482
351
  self.create = to_raw_response_wrapper(
483
352
  auth_flows.create,
484
353
  )
485
- self.update = to_raw_response_wrapper(
486
- auth_flows.update,
487
- )
488
354
  self.list = to_raw_response_wrapper(
489
355
  auth_flows.list,
490
356
  )
@@ -500,9 +366,6 @@ class AsyncAuthFlowsResourceWithRawResponse:
500
366
  self.create = async_to_raw_response_wrapper(
501
367
  auth_flows.create,
502
368
  )
503
- self.update = async_to_raw_response_wrapper(
504
- auth_flows.update,
505
- )
506
369
  self.list = async_to_raw_response_wrapper(
507
370
  auth_flows.list,
508
371
  )
@@ -518,9 +381,6 @@ class AuthFlowsResourceWithStreamingResponse:
518
381
  self.create = to_streamed_response_wrapper(
519
382
  auth_flows.create,
520
383
  )
521
- self.update = to_streamed_response_wrapper(
522
- auth_flows.update,
523
- )
524
384
  self.list = to_streamed_response_wrapper(
525
385
  auth_flows.list,
526
386
  )
@@ -536,9 +396,6 @@ class AsyncAuthFlowsResourceWithStreamingResponse:
536
396
  self.create = async_to_streamed_response_wrapper(
537
397
  auth_flows.create,
538
398
  )
539
- self.update = async_to_streamed_response_wrapper(
540
- auth_flows.update,
541
- )
542
399
  self.list = async_to_streamed_response_wrapper(
543
400
  auth_flows.list,
544
401
  )
@@ -16,12 +16,13 @@ from .._response import (
16
16
  to_raw_response_wrapper,
17
17
  to_streamed_response_wrapper,
18
18
  async_to_raw_response_wrapper,
19
- async_to_streamed_response_wrapper,
19
+ async_to_streamed_response_wrapper
20
20
  )
21
21
  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
  )
@@ -4,7 +4,5 @@ from __future__ import annotations
4
4
 
5
5
  from .auth_flow_create_params import AuthFlowCreateParams as AuthFlowCreateParams
6
6
  from .auth_flow_list_response import AuthFlowListResponse as AuthFlowListResponse
7
- from .auth_flow_update_params import AuthFlowUpdateParams as AuthFlowUpdateParams
8
7
  from .auth_flow_create_response import AuthFlowCreateResponse as AuthFlowCreateResponse
9
8
  from .auth_flow_delete_response import AuthFlowDeleteResponse as AuthFlowDeleteResponse
10
- from .auth_flow_update_response import AuthFlowUpdateResponse as AuthFlowUpdateResponse
@@ -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