anchorbrowser 0.7.0__tar.gz → 0.7.2__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.2/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/CHANGELOG.md +12 -0
  3. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/PKG-INFO +1 -1
  4. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/api.md +0 -2
  5. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/pyproject.toml +1 -1
  6. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_version.py +1 -1
  7. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/auth_flows.py +1 -144
  8. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/tools.py +8 -0
  9. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/__init__.py +0 -2
  10. anchorbrowser-0.7.2/tests/api_resources/applications/test_auth_flows.py +342 -0
  11. anchorbrowser-0.7.0/.release-please-manifest.json +0 -3
  12. anchorbrowser-0.7.0/src/anchorbrowser/types/applications/auth_flow_update_params.py +0 -32
  13. anchorbrowser-0.7.0/src/anchorbrowser/types/applications/auth_flow_update_response.py +0 -39
  14. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/.gitignore +0 -0
  15. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/CONTRIBUTING.md +0 -0
  16. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/LICENSE +0 -0
  17. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/README.md +0 -0
  18. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/SECURITY.md +0 -0
  19. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/bin/check-release-environment +0 -0
  20. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/bin/publish-pypi +0 -0
  21. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/examples/.keep +0 -0
  22. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/noxfile.py +0 -0
  23. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/release-please-config.json +0 -0
  24. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/requirements-dev.lock +0 -0
  25. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/requirements.lock +0 -0
  26. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/__init__.py +0 -0
  27. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_base_client.py +0 -0
  28. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_client.py +0 -0
  29. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_compat.py +0 -0
  30. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_constants.py +0 -0
  31. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_exceptions.py +0 -0
  32. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_files.py +0 -0
  33. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_models.py +0 -0
  34. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_qs.py +0 -0
  35. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_resource.py +0 -0
  36. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_response.py +0 -0
  37. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_streaming.py +0 -0
  38. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_types.py +0 -0
  39. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/__init__.py +0 -0
  40. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_compat.py +0 -0
  41. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  42. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_logs.py +0 -0
  43. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_proxy.py +0 -0
  44. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_reflection.py +0 -0
  45. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  46. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_streams.py +0 -0
  47. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_sync.py +0 -0
  48. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_transform.py +0 -0
  49. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_typing.py +0 -0
  50. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/_utils/_utils.py +0 -0
  51. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/.keep +0 -0
  52. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/agent.py +0 -0
  53. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/lib/browser.py +0 -0
  54. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/py.typed +0 -0
  55. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/__init__.py +0 -0
  56. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/agent.py +0 -0
  57. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/__init__.py +0 -0
  58. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/applications/applications.py +0 -0
  59. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/browser.py +0 -0
  60. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/events.py +0 -0
  61. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/extensions.py +0 -0
  62. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/identities.py +0 -0
  63. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/profiles.py +0 -0
  64. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  65. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  66. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  67. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  68. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/all.py +0 -0
  69. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  70. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  71. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  72. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  73. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  74. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  75. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
  76. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/resources/task.py +0 -0
  77. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/__init__.py +0 -0
  78. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_identity_token_params.py +0 -0
  79. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_identity_token_response.py +0 -0
  80. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_params.py +0 -0
  81. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_create_response.py +0 -0
  82. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_delete_response.py +0 -0
  83. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_identities_params.py +0 -0
  84. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_identities_response.py +0 -0
  85. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_params.py +0 -0
  86. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_list_response.py +0 -0
  87. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/application_retrieve_response.py +0 -0
  88. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_create_params.py +0 -0
  89. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_create_response.py +0 -0
  90. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_delete_response.py +0 -0
  91. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/applications/auth_flow_list_response.py +0 -0
  92. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_signal_params.py +0 -0
  93. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  94. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  95. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/extension_list_response.py +0 -0
  96. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/extension_manifest.py +0 -0
  97. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_create_params.py +0 -0
  98. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_create_response.py +0 -0
  99. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_delete_response.py +0 -0
  100. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_retrieve_credentials_response.py +0 -0
  101. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_retrieve_response.py +0 -0
  102. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_update_params.py +0 -0
  103. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/identity_update_response.py +0 -0
  104. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_create_params.py +0 -0
  105. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_list_response.py +0 -0
  106. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  107. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_create_params.py +0 -0
  108. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_create_response.py +0 -0
  109. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  110. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  111. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_goto_params.py +0 -0
  112. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_goto_response.py +0 -0
  113. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  114. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  115. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  116. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  117. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  118. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  119. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  120. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  121. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  122. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  123. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  124. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  125. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  126. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  127. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  128. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  129. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  130. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  131. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  132. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  133. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  134. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  135. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  136. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/shared/__init__.py +0 -0
  137. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/shared/success_response.py +0 -0
  138. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_create_params.py +0 -0
  139. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_create_response.py +0 -0
  140. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_list_params.py +0 -0
  141. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_list_response.py +0 -0
  142. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_run_params.py +0 -0
  143. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/task_run_response.py +0 -0
  144. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  145. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  146. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  147. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  148. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  149. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/__init__.py +0 -0
  150. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/__init__.py +0 -0
  151. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/__init__.py +0 -0
  152. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/agent/test_files.py +0 -0
  153. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  154. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  155. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_agent.py +0 -0
  156. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_all.py +0 -0
  157. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_clipboard.py +0 -0
  158. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_keyboard.py +0 -0
  159. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_mouse.py +0 -0
  160. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/sessions/test_recordings.py +0 -0
  161. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_events.py +0 -0
  162. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_extensions.py +0 -0
  163. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_identities.py +0 -0
  164. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_profiles.py +0 -0
  165. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_sessions.py +0 -0
  166. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_task.py +0 -0
  167. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/api_resources/test_tools.py +0 -0
  168. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/conftest.py +0 -0
  169. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/sample_file.txt +0 -0
  170. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_client.py +0 -0
  171. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_deepcopy.py +0 -0
  172. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_extract_files.py +0 -0
  173. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_files.py +0 -0
  174. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_models.py +0 -0
  175. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_qs.py +0 -0
  176. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_required_args.py +0 -0
  177. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_response.py +0 -0
  178. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_streaming.py +0 -0
  179. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_transform.py +0 -0
  180. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_datetime_parse.py +0 -0
  181. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_proxy.py +0 -0
  182. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/test_utils/test_typing.py +0 -0
  183. {anchorbrowser-0.7.0 → anchorbrowser-0.7.2}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.7.2"
3
+ }
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.7.2 (2026-01-15)
4
+
5
+ Full Changelog: [v0.7.1...v0.7.2](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.1...v0.7.2)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([d1ad53a](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/d1ad53a3d9c95ec228dc2a084db220538cbda64b))
10
+
11
+ ## 0.7.1 (2026-01-15)
12
+
13
+ Full Changelog: [v0.7.0...v0.7.1](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.7.0...v0.7.1)
14
+
3
15
  ## 0.7.0 (2026-01-14)
4
16
 
5
17
  Full Changelog: [v0.6.2...v0.7.0](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.6.2...v0.7.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.7.0
3
+ Version: 0.7.2
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
@@ -241,7 +241,6 @@ Types:
241
241
  ```python
242
242
  from anchorbrowser.types.applications import (
243
243
  AuthFlowCreateResponse,
244
- AuthFlowUpdateResponse,
245
244
  AuthFlowListResponse,
246
245
  AuthFlowDeleteResponse,
247
246
  )
@@ -250,6 +249,5 @@ from anchorbrowser.types.applications import (
250
249
  Methods:
251
250
 
252
251
  - <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
252
  - <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
253
  - <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.0"
3
+ version = "0.7.2"
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.0" # x-release-please-version
4
+ __version__ = "0.7.2" # 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
  )
@@ -139,6 +139,7 @@ class ToolsResource(SyncAPIResource):
139
139
  secret_values: Dict[str, str] | Omit = omit,
140
140
  url: str | Omit = omit,
141
141
  directly_open_url: bool | Omit = omit,
142
+ async_: bool | Omit = omit,
142
143
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
143
144
  # The extra values given here take precedence over values defined on the client or passed to this method.
144
145
  extra_headers: Headers | None = None,
@@ -185,6 +186,8 @@ class ToolsResource(SyncAPIResource):
185
186
 
186
187
  directly_open_url: If true, the tool will directly open the URL in the browser.
187
188
 
189
+ async_: Whether to execute the task asynchronously.
190
+
188
191
  extra_headers: Send extra headers
189
192
 
190
193
  extra_query: Add additional query parameters to the request
@@ -209,6 +212,7 @@ class ToolsResource(SyncAPIResource):
209
212
  "secret_values": secret_values,
210
213
  "url": url,
211
214
  "directly_open_url": directly_open_url,
215
+ "async": async_,
212
216
  },
213
217
  tool_perform_web_task_params.ToolPerformWebTaskParams,
214
218
  ),
@@ -416,6 +420,7 @@ class AsyncToolsResource(AsyncAPIResource):
416
420
  secret_values: Dict[str, str] | Omit = omit,
417
421
  url: str | Omit = omit,
418
422
  directly_open_url: bool | Omit = omit,
423
+ async_: bool | Omit = omit,
419
424
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
420
425
  # The extra values given here take precedence over values defined on the client or passed to this method.
421
426
  extra_headers: Headers | None = None,
@@ -462,6 +467,8 @@ class AsyncToolsResource(AsyncAPIResource):
462
467
 
463
468
  directly_open_url: If true, the tool will directly open the URL in the browser.
464
469
 
470
+ async_: Whether to execute the task asynchronously.
471
+
465
472
  extra_headers: Send extra headers
466
473
 
467
474
  extra_query: Add additional query parameters to the request
@@ -486,6 +493,7 @@ class AsyncToolsResource(AsyncAPIResource):
486
493
  "secret_values": secret_values,
487
494
  "url": url,
488
495
  "directly_open_url": directly_open_url,
496
+ "async": async_,
489
497
  },
490
498
  tool_perform_web_task_params.ToolPerformWebTaskParams,
491
499
  ),
@@ -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,342 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import os
6
+ from typing import Any, cast
7
+
8
+ import pytest
9
+
10
+ from tests.utils import assert_matches_type
11
+ from anchorbrowser import Anchorbrowser, AsyncAnchorbrowser
12
+ from anchorbrowser.types.applications import (
13
+ AuthFlowListResponse,
14
+ AuthFlowCreateResponse,
15
+ AuthFlowDeleteResponse,
16
+ )
17
+
18
+ base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
19
+
20
+
21
+ class TestAuthFlows:
22
+ parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
23
+
24
+ @pytest.mark.skip(reason="Prism tests are disabled")
25
+ @parametrize
26
+ def test_method_create(self, client: Anchorbrowser) -> None:
27
+ auth_flow = client.applications.auth_flows.create(
28
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
29
+ methods=["username_password"],
30
+ name="Standard Login",
31
+ )
32
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
33
+
34
+ @pytest.mark.skip(reason="Prism tests are disabled")
35
+ @parametrize
36
+ def test_method_create_with_all_params(self, client: Anchorbrowser) -> None:
37
+ auth_flow = client.applications.auth_flows.create(
38
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
39
+ methods=["username_password"],
40
+ name="Standard Login",
41
+ custom_fields=[{"name": "name"}],
42
+ description="Username and password authentication",
43
+ is_recommended=True,
44
+ )
45
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
46
+
47
+ @pytest.mark.skip(reason="Prism tests are disabled")
48
+ @parametrize
49
+ def test_raw_response_create(self, client: Anchorbrowser) -> None:
50
+ response = client.applications.auth_flows.with_raw_response.create(
51
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
52
+ methods=["username_password"],
53
+ name="Standard Login",
54
+ )
55
+
56
+ assert response.is_closed is True
57
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
58
+ auth_flow = response.parse()
59
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
60
+
61
+ @pytest.mark.skip(reason="Prism tests are disabled")
62
+ @parametrize
63
+ def test_streaming_response_create(self, client: Anchorbrowser) -> None:
64
+ with client.applications.auth_flows.with_streaming_response.create(
65
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
66
+ methods=["username_password"],
67
+ name="Standard Login",
68
+ ) as response:
69
+ assert not response.is_closed
70
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
71
+
72
+ auth_flow = response.parse()
73
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
74
+
75
+ assert cast(Any, response.is_closed) is True
76
+
77
+ @pytest.mark.skip(reason="Prism tests are disabled")
78
+ @parametrize
79
+ def test_path_params_create(self, client: Anchorbrowser) -> None:
80
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
81
+ client.applications.auth_flows.with_raw_response.create(
82
+ application_id="",
83
+ methods=["username_password"],
84
+ name="Standard Login",
85
+ )
86
+
87
+ @pytest.mark.skip(reason="Prism tests are disabled")
88
+ @parametrize
89
+ def test_method_list(self, client: Anchorbrowser) -> None:
90
+ auth_flow = client.applications.auth_flows.list(
91
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
92
+ )
93
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
94
+
95
+ @pytest.mark.skip(reason="Prism tests are disabled")
96
+ @parametrize
97
+ def test_raw_response_list(self, client: Anchorbrowser) -> None:
98
+ response = client.applications.auth_flows.with_raw_response.list(
99
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
100
+ )
101
+
102
+ assert response.is_closed is True
103
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
104
+ auth_flow = response.parse()
105
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
106
+
107
+ @pytest.mark.skip(reason="Prism tests are disabled")
108
+ @parametrize
109
+ def test_streaming_response_list(self, client: Anchorbrowser) -> None:
110
+ with client.applications.auth_flows.with_streaming_response.list(
111
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
112
+ ) as response:
113
+ assert not response.is_closed
114
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
115
+
116
+ auth_flow = response.parse()
117
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
118
+
119
+ assert cast(Any, response.is_closed) is True
120
+
121
+ @pytest.mark.skip(reason="Prism tests are disabled")
122
+ @parametrize
123
+ def test_path_params_list(self, client: Anchorbrowser) -> None:
124
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
125
+ client.applications.auth_flows.with_raw_response.list(
126
+ "",
127
+ )
128
+
129
+ @pytest.mark.skip(reason="Prism tests are disabled")
130
+ @parametrize
131
+ def test_method_delete(self, client: Anchorbrowser) -> None:
132
+ auth_flow = client.applications.auth_flows.delete(
133
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
134
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
135
+ )
136
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
137
+
138
+ @pytest.mark.skip(reason="Prism tests are disabled")
139
+ @parametrize
140
+ def test_raw_response_delete(self, client: Anchorbrowser) -> None:
141
+ response = client.applications.auth_flows.with_raw_response.delete(
142
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
143
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
144
+ )
145
+
146
+ assert response.is_closed is True
147
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
148
+ auth_flow = response.parse()
149
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
150
+
151
+ @pytest.mark.skip(reason="Prism tests are disabled")
152
+ @parametrize
153
+ def test_streaming_response_delete(self, client: Anchorbrowser) -> None:
154
+ with client.applications.auth_flows.with_streaming_response.delete(
155
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
156
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
157
+ ) as response:
158
+ assert not response.is_closed
159
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
160
+
161
+ auth_flow = response.parse()
162
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
163
+
164
+ assert cast(Any, response.is_closed) is True
165
+
166
+ @pytest.mark.skip(reason="Prism tests are disabled")
167
+ @parametrize
168
+ def test_path_params_delete(self, client: Anchorbrowser) -> None:
169
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
170
+ client.applications.auth_flows.with_raw_response.delete(
171
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
172
+ application_id="",
173
+ )
174
+
175
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_flow_id` but received ''"):
176
+ client.applications.auth_flows.with_raw_response.delete(
177
+ auth_flow_id="",
178
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
179
+ )
180
+
181
+
182
+ class TestAsyncAuthFlows:
183
+ parametrize = pytest.mark.parametrize(
184
+ "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
185
+ )
186
+
187
+ @pytest.mark.skip(reason="Prism tests are disabled")
188
+ @parametrize
189
+ async def test_method_create(self, async_client: AsyncAnchorbrowser) -> None:
190
+ auth_flow = await async_client.applications.auth_flows.create(
191
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
192
+ methods=["username_password"],
193
+ name="Standard Login",
194
+ )
195
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
196
+
197
+ @pytest.mark.skip(reason="Prism tests are disabled")
198
+ @parametrize
199
+ async def test_method_create_with_all_params(self, async_client: AsyncAnchorbrowser) -> None:
200
+ auth_flow = await async_client.applications.auth_flows.create(
201
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
202
+ methods=["username_password"],
203
+ name="Standard Login",
204
+ custom_fields=[{"name": "name"}],
205
+ description="Username and password authentication",
206
+ is_recommended=True,
207
+ )
208
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
209
+
210
+ @pytest.mark.skip(reason="Prism tests are disabled")
211
+ @parametrize
212
+ async def test_raw_response_create(self, async_client: AsyncAnchorbrowser) -> None:
213
+ response = await async_client.applications.auth_flows.with_raw_response.create(
214
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
215
+ methods=["username_password"],
216
+ name="Standard Login",
217
+ )
218
+
219
+ assert response.is_closed is True
220
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
221
+ auth_flow = await response.parse()
222
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
223
+
224
+ @pytest.mark.skip(reason="Prism tests are disabled")
225
+ @parametrize
226
+ async def test_streaming_response_create(self, async_client: AsyncAnchorbrowser) -> None:
227
+ async with async_client.applications.auth_flows.with_streaming_response.create(
228
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
229
+ methods=["username_password"],
230
+ name="Standard Login",
231
+ ) as response:
232
+ assert not response.is_closed
233
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
234
+
235
+ auth_flow = await response.parse()
236
+ assert_matches_type(AuthFlowCreateResponse, auth_flow, path=["response"])
237
+
238
+ assert cast(Any, response.is_closed) is True
239
+
240
+ @pytest.mark.skip(reason="Prism tests are disabled")
241
+ @parametrize
242
+ async def test_path_params_create(self, async_client: AsyncAnchorbrowser) -> None:
243
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
244
+ await async_client.applications.auth_flows.with_raw_response.create(
245
+ application_id="",
246
+ methods=["username_password"],
247
+ name="Standard Login",
248
+ )
249
+
250
+ @pytest.mark.skip(reason="Prism tests are disabled")
251
+ @parametrize
252
+ async def test_method_list(self, async_client: AsyncAnchorbrowser) -> None:
253
+ auth_flow = await async_client.applications.auth_flows.list(
254
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
255
+ )
256
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
257
+
258
+ @pytest.mark.skip(reason="Prism tests are disabled")
259
+ @parametrize
260
+ async def test_raw_response_list(self, async_client: AsyncAnchorbrowser) -> None:
261
+ response = await async_client.applications.auth_flows.with_raw_response.list(
262
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
263
+ )
264
+
265
+ assert response.is_closed is True
266
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
267
+ auth_flow = await response.parse()
268
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
269
+
270
+ @pytest.mark.skip(reason="Prism tests are disabled")
271
+ @parametrize
272
+ async def test_streaming_response_list(self, async_client: AsyncAnchorbrowser) -> None:
273
+ async with async_client.applications.auth_flows.with_streaming_response.list(
274
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
275
+ ) as response:
276
+ assert not response.is_closed
277
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
278
+
279
+ auth_flow = await response.parse()
280
+ assert_matches_type(AuthFlowListResponse, auth_flow, path=["response"])
281
+
282
+ assert cast(Any, response.is_closed) is True
283
+
284
+ @pytest.mark.skip(reason="Prism tests are disabled")
285
+ @parametrize
286
+ async def test_path_params_list(self, async_client: AsyncAnchorbrowser) -> None:
287
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
288
+ await async_client.applications.auth_flows.with_raw_response.list(
289
+ "",
290
+ )
291
+
292
+ @pytest.mark.skip(reason="Prism tests are disabled")
293
+ @parametrize
294
+ async def test_method_delete(self, async_client: AsyncAnchorbrowser) -> None:
295
+ auth_flow = await async_client.applications.auth_flows.delete(
296
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
297
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
298
+ )
299
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
300
+
301
+ @pytest.mark.skip(reason="Prism tests are disabled")
302
+ @parametrize
303
+ async def test_raw_response_delete(self, async_client: AsyncAnchorbrowser) -> None:
304
+ response = await async_client.applications.auth_flows.with_raw_response.delete(
305
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
306
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
307
+ )
308
+
309
+ assert response.is_closed is True
310
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
311
+ auth_flow = await response.parse()
312
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
313
+
314
+ @pytest.mark.skip(reason="Prism tests are disabled")
315
+ @parametrize
316
+ async def test_streaming_response_delete(self, async_client: AsyncAnchorbrowser) -> None:
317
+ async with async_client.applications.auth_flows.with_streaming_response.delete(
318
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
319
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
320
+ ) as response:
321
+ assert not response.is_closed
322
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
323
+
324
+ auth_flow = await response.parse()
325
+ assert_matches_type(AuthFlowDeleteResponse, auth_flow, path=["response"])
326
+
327
+ assert cast(Any, response.is_closed) is True
328
+
329
+ @pytest.mark.skip(reason="Prism tests are disabled")
330
+ @parametrize
331
+ async def test_path_params_delete(self, async_client: AsyncAnchorbrowser) -> None:
332
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `application_id` but received ''"):
333
+ await async_client.applications.auth_flows.with_raw_response.delete(
334
+ auth_flow_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
335
+ application_id="",
336
+ )
337
+
338
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `auth_flow_id` but received ''"):
339
+ await async_client.applications.auth_flows.with_raw_response.delete(
340
+ auth_flow_id="",
341
+ application_id="182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
342
+ )
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.7.0"
3
- }