anchorbrowser 0.3.13__tar.gz → 0.4.0__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 (176) hide show
  1. anchorbrowser-0.4.0/.release-please-manifest.json +3 -0
  2. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/CHANGELOG.md +8 -0
  3. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/PKG-INFO +1 -1
  4. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/api.md +10 -11
  5. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/pyproject.toml +1 -1
  6. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_client.py +9 -9
  7. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_version.py +1 -1
  8. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/__init__.py +13 -13
  9. anchorbrowser-0.4.0/src/anchorbrowser/resources/identities.py +163 -0
  10. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/__init__.py +3 -3
  11. anchorbrowser-0.4.0/src/anchorbrowser/types/identity_retrieve_credentials_response.py +72 -0
  12. anchorbrowser-0.4.0/tests/api_resources/test_identities.py +108 -0
  13. anchorbrowser-0.3.13/.release-please-manifest.json +0 -3
  14. anchorbrowser-0.3.13/src/anchorbrowser/resources/batch_sessions.py +0 -288
  15. anchorbrowser-0.3.13/src/anchorbrowser/types/batch_session_create_params.py +0 -521
  16. anchorbrowser-0.3.13/src/anchorbrowser/types/batch_session_create_response.py +0 -27
  17. anchorbrowser-0.3.13/src/anchorbrowser/types/batch_session_retrieve_response.py +0 -90
  18. anchorbrowser-0.3.13/tests/api_resources/test_batch_sessions.py +0 -288
  19. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/.gitignore +0 -0
  20. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/CONTRIBUTING.md +0 -0
  21. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/LICENSE +0 -0
  22. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/README.md +0 -0
  23. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/SECURITY.md +0 -0
  24. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/bin/check-release-environment +0 -0
  25. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/bin/publish-pypi +0 -0
  26. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/examples/.keep +0 -0
  27. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/noxfile.py +0 -0
  28. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/release-please-config.json +0 -0
  29. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/requirements-dev.lock +0 -0
  30. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/requirements.lock +0 -0
  31. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/__init__.py +0 -0
  32. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_base_client.py +0 -0
  33. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_compat.py +0 -0
  34. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_constants.py +0 -0
  35. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_exceptions.py +0 -0
  36. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_files.py +0 -0
  37. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_models.py +0 -0
  38. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_qs.py +0 -0
  39. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_resource.py +0 -0
  40. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_response.py +0 -0
  41. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_streaming.py +0 -0
  42. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_types.py +0 -0
  43. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/__init__.py +0 -0
  44. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_compat.py +0 -0
  45. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_datetime_parse.py +0 -0
  46. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_logs.py +0 -0
  47. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_proxy.py +0 -0
  48. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_reflection.py +0 -0
  49. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_resources_proxy.py +0 -0
  50. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_streams.py +0 -0
  51. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_sync.py +0 -0
  52. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_transform.py +0 -0
  53. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_typing.py +0 -0
  54. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/_utils/_utils.py +0 -0
  55. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/lib/.keep +0 -0
  56. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/lib/agent.py +0 -0
  57. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/lib/browser.py +0 -0
  58. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/py.typed +0 -0
  59. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/agent.py +0 -0
  60. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/browser.py +0 -0
  61. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/events.py +0 -0
  62. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/extensions.py +0 -0
  63. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/profiles.py +0 -0
  64. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/__init__.py +0 -0
  65. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/agent/__init__.py +0 -0
  66. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/agent/agent.py +0 -0
  67. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/agent/files.py +0 -0
  68. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/all.py +0 -0
  69. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/clipboard.py +0 -0
  70. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/keyboard.py +0 -0
  71. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/mouse.py +0 -0
  72. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/recordings/__init__.py +0 -0
  73. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/recordings/primary.py +0 -0
  74. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/recordings/recordings.py +0 -0
  75. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/sessions/sessions.py +0 -0
  76. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/task/run.py +0 -0
  77. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/task.py +0 -0
  78. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/resources/tools.py +0 -0
  79. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/event_signal_params.py +0 -0
  80. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/event_wait_for_params.py +0 -0
  81. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/event_wait_for_response.py +0 -0
  82. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_delete_response.py +0 -0
  83. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_list_response.py +0 -0
  84. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_manifest.py +0 -0
  85. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_retrieve_response.py +0 -0
  86. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_upload_params.py +0 -0
  87. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/extension_upload_response.py +0 -0
  88. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/profile_create_params.py +0 -0
  89. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/profile_list_response.py +0 -0
  90. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/profile_retrieve_response.py +0 -0
  91. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_copy_response.py +0 -0
  92. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_create_params.py +0 -0
  93. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_create_response.py +0 -0
  94. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_drag_and_drop_params.py +0 -0
  95. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_drag_and_drop_response.py +0 -0
  96. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_goto_params.py +0 -0
  97. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_goto_response.py +0 -0
  98. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_list_pages_response.py +0 -0
  99. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_paste_params.py +0 -0
  100. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_paste_response.py +0 -0
  101. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_retrieve_downloads_response.py +0 -0
  102. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_retrieve_response.py +0 -0
  103. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_scroll_params.py +0 -0
  104. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_scroll_response.py +0 -0
  105. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_upload_file_params.py +0 -0
  106. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/session_upload_file_response.py +0 -0
  107. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/__init__.py +0 -0
  108. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/agent/__init__.py +0 -0
  109. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/agent/file_list_response.py +0 -0
  110. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/agent/file_upload_params.py +0 -0
  111. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/agent/file_upload_response.py +0 -0
  112. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/all_status_response.py +0 -0
  113. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/clipboard_get_response.py +0 -0
  114. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/clipboard_set_params.py +0 -0
  115. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/clipboard_set_response.py +0 -0
  116. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/keyboard_shortcut_params.py +0 -0
  117. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/keyboard_shortcut_response.py +0 -0
  118. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/keyboard_type_params.py +0 -0
  119. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/keyboard_type_response.py +0 -0
  120. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_click_params.py +0 -0
  121. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_click_response.py +0 -0
  122. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_double_click_params.py +0 -0
  123. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_double_click_response.py +0 -0
  124. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_move_params.py +0 -0
  125. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/mouse_move_response.py +0 -0
  126. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/recording_list_response.py +0 -0
  127. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/recording_pause_response.py +0 -0
  128. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/recording_resume_response.py +0 -0
  129. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/sessions/recordings/__init__.py +0 -0
  130. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/shared/__init__.py +0 -0
  131. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/shared/success_response.py +0 -0
  132. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_create_params.py +0 -0
  133. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_create_response.py +0 -0
  134. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_list_params.py +0 -0
  135. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_list_response.py +0 -0
  136. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_run_params.py +0 -0
  137. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/task_run_response.py +0 -0
  138. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/tool_fetch_webpage_params.py +0 -0
  139. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/tool_fetch_webpage_response.py +0 -0
  140. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/tool_perform_web_task_params.py +0 -0
  141. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/tool_perform_web_task_response.py +0 -0
  142. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/src/anchorbrowser/types/tool_screenshot_webpage_params.py +0 -0
  143. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/__init__.py +0 -0
  144. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/__init__.py +0 -0
  145. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/__init__.py +0 -0
  146. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/agent/test_files.py +0 -0
  147. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/recordings/__init__.py +0 -0
  148. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/recordings/test_primary.py +0 -0
  149. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_agent.py +0 -0
  150. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_all.py +0 -0
  151. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_clipboard.py +0 -0
  152. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_keyboard.py +0 -0
  153. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_mouse.py +0 -0
  154. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/sessions/test_recordings.py +0 -0
  155. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_events.py +0 -0
  156. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_extensions.py +0 -0
  157. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_profiles.py +0 -0
  158. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_sessions.py +0 -0
  159. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_task.py +0 -0
  160. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/api_resources/test_tools.py +0 -0
  161. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/conftest.py +0 -0
  162. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/sample_file.txt +0 -0
  163. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_client.py +0 -0
  164. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_deepcopy.py +0 -0
  165. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_extract_files.py +0 -0
  166. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_files.py +0 -0
  167. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_models.py +0 -0
  168. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_qs.py +0 -0
  169. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_required_args.py +0 -0
  170. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_response.py +0 -0
  171. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_streaming.py +0 -0
  172. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_transform.py +0 -0
  173. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_utils/test_datetime_parse.py +0 -0
  174. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_utils/test_proxy.py +0 -0
  175. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/test_utils/test_typing.py +0 -0
  176. {anchorbrowser-0.3.13 → anchorbrowser-0.4.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.4.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2025-12-11)
4
+
5
+ Full Changelog: [v0.3.13...v0.4.0](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.13...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * BRO-1383 Add get identity credentials endpoint to SDK ([0548f2f](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/commit/0548f2fd39fb76b7e972154637aafe317a6ce17f))
10
+
3
11
  ## 0.3.13 (2025-12-09)
4
12
 
5
13
  Full Changelog: [v0.3.12...v0.3.13](https://github.com/anchorbrowser/AnchorBrowser-SDK-Python/compare/v0.3.12...v0.3.13)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: anchorbrowser
3
- Version: 0.3.13
3
+ Version: 0.4.0
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
@@ -202,40 +202,39 @@ Methods:
202
202
  - <code title="post /v1/events/{event_name}">client.events.<a href="./src/anchorbrowser/resources/events.py">signal</a>(event_name, \*\*<a href="src/anchorbrowser/types/event_signal_params.py">params</a>) -> <a href="./src/anchorbrowser/types/shared/success_response.py">SuccessResponse</a></code>
203
203
  - <code title="post /v1/events/{event_name}/wait">client.events.<a href="./src/anchorbrowser/resources/events.py">wait_for</a>(event_name, \*\*<a href="src/anchorbrowser/types/event_wait_for_params.py">params</a>) -> <a href="./src/anchorbrowser/types/event_wait_for_response.py">EventWaitForResponse</a></code>
204
204
 
205
- # BatchSessions
205
+ # Task
206
206
 
207
207
  Types:
208
208
 
209
209
  ```python
210
- from anchorbrowser.types import BatchSessionCreateResponse, BatchSessionRetrieveResponse
210
+ from anchorbrowser.types import TaskCreateResponse, TaskListResponse
211
211
  ```
212
212
 
213
213
  Methods:
214
214
 
215
- - <code title="post /v1/batch-sessions">client.batch_sessions.<a href="./src/anchorbrowser/resources/batch_sessions.py">create</a>(\*\*<a href="src/anchorbrowser/types/batch_session_create_params.py">params</a>) -> <a href="./src/anchorbrowser/types/batch_session_create_response.py">BatchSessionCreateResponse</a></code>
216
- - <code title="get /v1/batch-sessions/{batch_id}">client.batch_sessions.<a href="./src/anchorbrowser/resources/batch_sessions.py">retrieve</a>(batch_id) -> <a href="./src/anchorbrowser/types/batch_session_retrieve_response.py">BatchSessionRetrieveResponse</a></code>
215
+ - <code title="post /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/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>
216
+ - <code title="get /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/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>
217
217
 
218
- # Task
218
+ ## Run
219
219
 
220
220
  Types:
221
221
 
222
222
  ```python
223
- from anchorbrowser.types import TaskCreateResponse, TaskListResponse
223
+ from anchorbrowser.types.task import RunExecuteResponse
224
224
  ```
225
225
 
226
226
  Methods:
227
227
 
228
- - <code title="post /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/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>
229
- - <code title="get /v1/task">client.task.<a href="./src/anchorbrowser/resources/task/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>
228
+ - <code title="post /v1/task/run">client.task.run.<a href="./src/anchorbrowser/resources/task/run.py">execute</a>(\*\*<a href="src/anchorbrowser/types/task/run_execute_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task/run_execute_response.py">RunExecuteResponse</a></code>
230
229
 
231
- ## Run
230
+ # Identities
232
231
 
233
232
  Types:
234
233
 
235
234
  ```python
236
- from anchorbrowser.types.task import RunExecuteResponse
235
+ from anchorbrowser.types import IdentityRetrieveCredentialsResponse
237
236
  ```
238
237
 
239
238
  Methods:
240
239
 
241
- - <code title="post /v1/task/run">client.task.run.<a href="./src/anchorbrowser/resources/task/run.py">execute</a>(\*\*<a href="src/anchorbrowser/types/task/run_execute_params.py">params</a>) -> <a href="./src/anchorbrowser/types/task/run_execute_response.py">RunExecuteResponse</a></code>
240
+ - <code title="get /v1/identities/{identity_id}/credentials">client.identities.<a href="./src/anchorbrowser/resources/identities.py">retrieve_credentials</a>(identity_id) -> <a href="./src/anchorbrowser/types/identity_retrieve_credentials_response.py">IdentityRetrieveCredentialsResponse</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "anchorbrowser"
3
- version = "0.3.13"
3
+ version = "0.4.0"
4
4
  description = "The official Python library for the anchorbrowser API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -21,7 +21,7 @@ from ._types import (
21
21
  )
22
22
  from ._utils import is_given, get_async_library
23
23
  from ._version import __version__
24
- from .resources import task, agent, tools, events, browser, profiles, extensions, batch_sessions
24
+ from .resources import task, agent, tools, events, browser, profiles, extensions, identities
25
25
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
26
26
  from ._exceptions import APIStatusError, AnchorbrowserError
27
27
  from ._base_client import (
@@ -51,8 +51,8 @@ class Anchorbrowser(SyncAPIClient):
51
51
  browser: browser.BrowserResource
52
52
  agent: agent.AgentResource
53
53
  events: events.EventsResource
54
- batch_sessions: batch_sessions.BatchSessionsResource
55
54
  task: task.TaskResource
55
+ identities: identities.IdentitiesResource
56
56
  with_raw_response: AnchorbrowserWithRawResponse
57
57
  with_streaming_response: AnchorbrowserWithStreamedResponse
58
58
 
@@ -117,8 +117,8 @@ class Anchorbrowser(SyncAPIClient):
117
117
  self.browser = browser.BrowserResource(self)
118
118
  self.agent = agent.AgentResource(self)
119
119
  self.events = events.EventsResource(self)
120
- self.batch_sessions = batch_sessions.BatchSessionsResource(self)
121
120
  self.task = task.TaskResource(self)
121
+ self.identities = identities.IdentitiesResource(self)
122
122
  self.with_raw_response = AnchorbrowserWithRawResponse(self)
123
123
  self.with_streaming_response = AnchorbrowserWithStreamedResponse(self)
124
124
 
@@ -235,8 +235,8 @@ class AsyncAnchorbrowser(AsyncAPIClient):
235
235
  browser: browser.AsyncBrowserResource
236
236
  agent: agent.AsyncAgentResource
237
237
  events: events.AsyncEventsResource
238
- batch_sessions: batch_sessions.AsyncBatchSessionsResource
239
238
  task: task.AsyncTaskResource
239
+ identities: identities.AsyncIdentitiesResource
240
240
  with_raw_response: AsyncAnchorbrowserWithRawResponse
241
241
  with_streaming_response: AsyncAnchorbrowserWithStreamedResponse
242
242
 
@@ -301,8 +301,8 @@ class AsyncAnchorbrowser(AsyncAPIClient):
301
301
  self.browser = browser.AsyncBrowserResource(self)
302
302
  self.agent = agent.AsyncAgentResource(self)
303
303
  self.events = events.AsyncEventsResource(self)
304
- self.batch_sessions = batch_sessions.AsyncBatchSessionsResource(self)
305
304
  self.task = task.AsyncTaskResource(self)
305
+ self.identities = identities.AsyncIdentitiesResource(self)
306
306
  self.with_raw_response = AsyncAnchorbrowserWithRawResponse(self)
307
307
  self.with_streaming_response = AsyncAnchorbrowserWithStreamedResponse(self)
308
308
 
@@ -420,8 +420,8 @@ class AnchorbrowserWithRawResponse:
420
420
  self.browser = browser.BrowserResourceWithRawResponse(client.browser)
421
421
  self.agent = agent.AgentResourceWithRawResponse(client.agent)
422
422
  self.events = events.EventsResourceWithRawResponse(client.events)
423
- self.batch_sessions = batch_sessions.BatchSessionsResourceWithRawResponse(client.batch_sessions)
424
423
  self.task = task.TaskResourceWithRawResponse(client.task)
424
+ self.identities = identities.IdentitiesResourceWithRawResponse(client.identities)
425
425
 
426
426
 
427
427
  class AsyncAnchorbrowserWithRawResponse:
@@ -433,8 +433,8 @@ class AsyncAnchorbrowserWithRawResponse:
433
433
  self.browser = browser.AsyncBrowserResourceWithRawResponse(client.browser)
434
434
  self.agent = agent.AsyncAgentResourceWithRawResponse(client.agent)
435
435
  self.events = events.AsyncEventsResourceWithRawResponse(client.events)
436
- self.batch_sessions = batch_sessions.AsyncBatchSessionsResourceWithRawResponse(client.batch_sessions)
437
436
  self.task = task.AsyncTaskResourceWithRawResponse(client.task)
437
+ self.identities = identities.AsyncIdentitiesResourceWithRawResponse(client.identities)
438
438
 
439
439
 
440
440
  class AnchorbrowserWithStreamedResponse:
@@ -446,8 +446,8 @@ class AnchorbrowserWithStreamedResponse:
446
446
  self.browser = browser.BrowserResourceWithStreamingResponse(client.browser)
447
447
  self.agent = agent.AgentResourceWithStreamingResponse(client.agent)
448
448
  self.events = events.EventsResourceWithStreamingResponse(client.events)
449
- self.batch_sessions = batch_sessions.BatchSessionsResourceWithStreamingResponse(client.batch_sessions)
450
449
  self.task = task.TaskResourceWithStreamingResponse(client.task)
450
+ self.identities = identities.IdentitiesResourceWithStreamingResponse(client.identities)
451
451
 
452
452
 
453
453
  class AsyncAnchorbrowserWithStreamedResponse:
@@ -459,8 +459,8 @@ class AsyncAnchorbrowserWithStreamedResponse:
459
459
  self.browser = browser.AsyncBrowserResourceWithStreamingResponse(client.browser)
460
460
  self.agent = agent.AsyncAgentResourceWithStreamingResponse(client.agent)
461
461
  self.events = events.AsyncEventsResourceWithStreamingResponse(client.events)
462
- self.batch_sessions = batch_sessions.AsyncBatchSessionsResourceWithStreamingResponse(client.batch_sessions)
463
462
  self.task = task.AsyncTaskResourceWithStreamingResponse(client.task)
463
+ self.identities = identities.AsyncIdentitiesResourceWithStreamingResponse(client.identities)
464
464
 
465
465
 
466
466
  Client = Anchorbrowser
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "anchorbrowser"
4
- __version__ = "0.3.13" # x-release-please-version
4
+ __version__ = "0.4.0" # x-release-please-version
@@ -48,13 +48,13 @@ from .extensions import (
48
48
  ExtensionsResourceWithStreamingResponse,
49
49
  AsyncExtensionsResourceWithStreamingResponse,
50
50
  )
51
- from .batch_sessions import (
52
- BatchSessionsResource,
53
- AsyncBatchSessionsResource,
54
- BatchSessionsResourceWithRawResponse,
55
- AsyncBatchSessionsResourceWithRawResponse,
56
- BatchSessionsResourceWithStreamingResponse,
57
- AsyncBatchSessionsResourceWithStreamingResponse,
51
+ from .identities import (
52
+ IdentitiesResource,
53
+ AsyncIdentitiesResource,
54
+ IdentitiesResourceWithRawResponse,
55
+ AsyncIdentitiesResourceWithRawResponse,
56
+ IdentitiesResourceWithStreamingResponse,
57
+ AsyncIdentitiesResourceWithStreamingResponse,
58
58
  )
59
59
 
60
60
  __all__ = [
@@ -88,16 +88,16 @@ __all__ = [
88
88
  "AsyncEventsResourceWithRawResponse",
89
89
  "EventsResourceWithStreamingResponse",
90
90
  "AsyncEventsResourceWithStreamingResponse",
91
- "BatchSessionsResource",
92
- "AsyncBatchSessionsResource",
93
- "BatchSessionsResourceWithRawResponse",
94
- "AsyncBatchSessionsResourceWithRawResponse",
95
- "BatchSessionsResourceWithStreamingResponse",
96
- "AsyncBatchSessionsResourceWithStreamingResponse",
97
91
  "TaskResource",
98
92
  "AsyncTaskResource",
99
93
  "TaskResourceWithRawResponse",
100
94
  "AsyncTaskResourceWithRawResponse",
101
95
  "TaskResourceWithStreamingResponse",
102
96
  "AsyncTaskResourceWithStreamingResponse",
97
+ "IdentitiesResource",
98
+ "AsyncIdentitiesResource",
99
+ "IdentitiesResourceWithRawResponse",
100
+ "AsyncIdentitiesResourceWithRawResponse",
101
+ "IdentitiesResourceWithStreamingResponse",
102
+ "AsyncIdentitiesResourceWithStreamingResponse",
103
103
  ]
@@ -0,0 +1,163 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from .._types import Body, Query, Headers, NotGiven, not_given
8
+ from .._compat import cached_property
9
+ from .._resource import SyncAPIResource, AsyncAPIResource
10
+ from .._response import (
11
+ to_raw_response_wrapper,
12
+ to_streamed_response_wrapper,
13
+ async_to_raw_response_wrapper,
14
+ async_to_streamed_response_wrapper,
15
+ )
16
+ from .._base_client import make_request_options
17
+ from ..types.identity_retrieve_credentials_response import IdentityRetrieveCredentialsResponse
18
+
19
+ __all__ = ["IdentitiesResource", "AsyncIdentitiesResource"]
20
+
21
+
22
+ class IdentitiesResource(SyncAPIResource):
23
+ @cached_property
24
+ def with_raw_response(self) -> IdentitiesResourceWithRawResponse:
25
+ """
26
+ This property can be used as a prefix for any HTTP method call to return
27
+ the raw response object instead of the parsed content.
28
+
29
+ For more information, see https://www.github.com/anchorbrowser/AnchorBrowser-SDK-Python#accessing-raw-response-data-eg-headers
30
+ """
31
+ return IdentitiesResourceWithRawResponse(self)
32
+
33
+ @cached_property
34
+ def with_streaming_response(self) -> IdentitiesResourceWithStreamingResponse:
35
+ """
36
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
37
+
38
+ For more information, see https://www.github.com/anchorbrowser/AnchorBrowser-SDK-Python#with_streaming_response
39
+ """
40
+ return IdentitiesResourceWithStreamingResponse(self)
41
+
42
+ def retrieve_credentials(
43
+ self,
44
+ identity_id: str,
45
+ *,
46
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
47
+ # The extra values given here take precedence over values defined on the client or passed to this method.
48
+ extra_headers: Headers | None = None,
49
+ extra_query: Query | None = None,
50
+ extra_body: Body | None = None,
51
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
52
+ ) -> IdentityRetrieveCredentialsResponse:
53
+ """
54
+ Retrieves the credentials for a specific identity.
55
+
56
+ Args:
57
+ extra_headers: Send extra headers
58
+
59
+ extra_query: Add additional query parameters to the request
60
+
61
+ extra_body: Add additional JSON properties to the request
62
+
63
+ timeout: Override the client-level default timeout for this request, in seconds
64
+ """
65
+ if not identity_id:
66
+ raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
67
+ return self._get(
68
+ f"/v1/identities/{identity_id}/credentials",
69
+ options=make_request_options(
70
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
71
+ ),
72
+ cast_to=IdentityRetrieveCredentialsResponse,
73
+ )
74
+
75
+
76
+ class AsyncIdentitiesResource(AsyncAPIResource):
77
+ @cached_property
78
+ def with_raw_response(self) -> AsyncIdentitiesResourceWithRawResponse:
79
+ """
80
+ This property can be used as a prefix for any HTTP method call to return
81
+ the raw response object instead of the parsed content.
82
+
83
+ For more information, see https://www.github.com/anchorbrowser/AnchorBrowser-SDK-Python#accessing-raw-response-data-eg-headers
84
+ """
85
+ return AsyncIdentitiesResourceWithRawResponse(self)
86
+
87
+ @cached_property
88
+ def with_streaming_response(self) -> AsyncIdentitiesResourceWithStreamingResponse:
89
+ """
90
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
91
+
92
+ For more information, see https://www.github.com/anchorbrowser/AnchorBrowser-SDK-Python#with_streaming_response
93
+ """
94
+ return AsyncIdentitiesResourceWithStreamingResponse(self)
95
+
96
+ async def retrieve_credentials(
97
+ self,
98
+ identity_id: str,
99
+ *,
100
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
101
+ # The extra values given here take precedence over values defined on the client or passed to this method.
102
+ extra_headers: Headers | None = None,
103
+ extra_query: Query | None = None,
104
+ extra_body: Body | None = None,
105
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
106
+ ) -> IdentityRetrieveCredentialsResponse:
107
+ """
108
+ Retrieves the credentials for a specific identity.
109
+
110
+ Args:
111
+ extra_headers: Send extra headers
112
+
113
+ extra_query: Add additional query parameters to the request
114
+
115
+ extra_body: Add additional JSON properties to the request
116
+
117
+ timeout: Override the client-level default timeout for this request, in seconds
118
+ """
119
+ if not identity_id:
120
+ raise ValueError(f"Expected a non-empty value for `identity_id` but received {identity_id!r}")
121
+ return await self._get(
122
+ f"/v1/identities/{identity_id}/credentials",
123
+ options=make_request_options(
124
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
125
+ ),
126
+ cast_to=IdentityRetrieveCredentialsResponse,
127
+ )
128
+
129
+
130
+ class IdentitiesResourceWithRawResponse:
131
+ def __init__(self, identities: IdentitiesResource) -> None:
132
+ self._identities = identities
133
+
134
+ self.retrieve_credentials = to_raw_response_wrapper(
135
+ identities.retrieve_credentials,
136
+ )
137
+
138
+
139
+ class AsyncIdentitiesResourceWithRawResponse:
140
+ def __init__(self, identities: AsyncIdentitiesResource) -> None:
141
+ self._identities = identities
142
+
143
+ self.retrieve_credentials = async_to_raw_response_wrapper(
144
+ identities.retrieve_credentials,
145
+ )
146
+
147
+
148
+ class IdentitiesResourceWithStreamingResponse:
149
+ def __init__(self, identities: IdentitiesResource) -> None:
150
+ self._identities = identities
151
+
152
+ self.retrieve_credentials = to_streamed_response_wrapper(
153
+ identities.retrieve_credentials,
154
+ )
155
+
156
+
157
+ class AsyncIdentitiesResourceWithStreamingResponse:
158
+ def __init__(self, identities: AsyncIdentitiesResource) -> None:
159
+ self._identities = identities
160
+
161
+ self.retrieve_credentials = async_to_streamed_response_wrapper(
162
+ identities.retrieve_credentials,
163
+ )
@@ -30,16 +30,16 @@ from .profile_retrieve_response import ProfileRetrieveResponse as ProfileRetriev
30
30
  from .session_retrieve_response import SessionRetrieveResponse as SessionRetrieveResponse
31
31
  from .tool_fetch_webpage_params import ToolFetchWebpageParams as ToolFetchWebpageParams
32
32
  from .session_upload_file_params import SessionUploadFileParams as SessionUploadFileParams
33
- from .batch_session_create_params import BatchSessionCreateParams as BatchSessionCreateParams
34
33
  from .extension_retrieve_response import ExtensionRetrieveResponse as ExtensionRetrieveResponse
35
34
  from .session_list_pages_response import SessionListPagesResponse as SessionListPagesResponse
36
35
  from .tool_fetch_webpage_response import ToolFetchWebpageResponse as ToolFetchWebpageResponse
37
36
  from .session_drag_and_drop_params import SessionDragAndDropParams as SessionDragAndDropParams
38
37
  from .session_upload_file_response import SessionUploadFileResponse as SessionUploadFileResponse
39
38
  from .tool_perform_web_task_params import ToolPerformWebTaskParams as ToolPerformWebTaskParams
40
- from .batch_session_create_response import BatchSessionCreateResponse as BatchSessionCreateResponse
41
39
  from .session_drag_and_drop_response import SessionDragAndDropResponse as SessionDragAndDropResponse
42
40
  from .tool_perform_web_task_response import ToolPerformWebTaskResponse as ToolPerformWebTaskResponse
43
41
  from .tool_screenshot_webpage_params import ToolScreenshotWebpageParams as ToolScreenshotWebpageParams
44
- from .batch_session_retrieve_response import BatchSessionRetrieveResponse as BatchSessionRetrieveResponse
45
42
  from .session_retrieve_downloads_response import SessionRetrieveDownloadsResponse as SessionRetrieveDownloadsResponse
43
+ from .identity_retrieve_credentials_response import (
44
+ IdentityRetrieveCredentialsResponse as IdentityRetrieveCredentialsResponse,
45
+ )
@@ -0,0 +1,72 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import List, Union, Optional
4
+ from typing_extensions import Literal, TypeAlias
5
+
6
+ from .._models import BaseModel
7
+
8
+ __all__ = [
9
+ "IdentityRetrieveCredentialsResponse",
10
+ "Credential",
11
+ "CredentialUsernamePasswordCredentialSchema",
12
+ "CredentialAuthenticatorCredentialSchema",
13
+ "CredentialCustomCredentialSchema",
14
+ "CredentialCustomCredentialSchemaField",
15
+ ]
16
+
17
+
18
+ class CredentialUsernamePasswordCredentialSchema(BaseModel):
19
+ password: Optional[str] = None
20
+ """The password of the credential"""
21
+
22
+ type: Optional[Literal["username_password"]] = None
23
+ """The type of credential"""
24
+
25
+ username: Optional[str] = None
26
+ """The username of the credential"""
27
+
28
+
29
+ class CredentialAuthenticatorCredentialSchema(BaseModel):
30
+ otp: Optional[str] = None
31
+ """The OTP of the credential"""
32
+
33
+ secret: Optional[str] = None
34
+ """The secret of the credential"""
35
+
36
+ type: Optional[Literal["authenticator"]] = None
37
+ """The type of credential"""
38
+
39
+
40
+ class CredentialCustomCredentialSchemaField(BaseModel):
41
+ name: Optional[str] = None
42
+ """The name of the field"""
43
+
44
+ value: Optional[str] = None
45
+ """The value of the field"""
46
+
47
+
48
+ class CredentialCustomCredentialSchema(BaseModel):
49
+ fields: Optional[List[CredentialCustomCredentialSchemaField]] = None
50
+
51
+ type: Optional[Literal["custom"]] = None
52
+ """The type of credential"""
53
+
54
+
55
+ Credential: TypeAlias = Union[
56
+ CredentialUsernamePasswordCredentialSchema,
57
+ CredentialAuthenticatorCredentialSchema,
58
+ CredentialCustomCredentialSchema,
59
+ ]
60
+
61
+
62
+ class IdentityRetrieveCredentialsResponse(BaseModel):
63
+ id: Optional[str] = None
64
+ """The ID of the identity"""
65
+
66
+ credentials: Optional[List[Credential]] = None
67
+
68
+ name: Optional[str] = None
69
+ """The name of the identity"""
70
+
71
+ source: Optional[str] = None
72
+ """The url related to the identity"""
@@ -0,0 +1,108 @@
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 import IdentityRetrieveCredentialsResponse
13
+
14
+ base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
15
+
16
+
17
+ class TestIdentities:
18
+ parametrize = pytest.mark.parametrize("client", [False, True], indirect=True, ids=["loose", "strict"])
19
+
20
+ @pytest.mark.skip(reason="Prism tests are disabled")
21
+ @parametrize
22
+ def test_method_retrieve_credentials(self, client: Anchorbrowser) -> None:
23
+ identity = client.identities.retrieve_credentials(
24
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
25
+ )
26
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
27
+
28
+ @pytest.mark.skip(reason="Prism tests are disabled")
29
+ @parametrize
30
+ def test_raw_response_retrieve_credentials(self, client: Anchorbrowser) -> None:
31
+ response = client.identities.with_raw_response.retrieve_credentials(
32
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
33
+ )
34
+
35
+ assert response.is_closed is True
36
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
37
+ identity = response.parse()
38
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
39
+
40
+ @pytest.mark.skip(reason="Prism tests are disabled")
41
+ @parametrize
42
+ def test_streaming_response_retrieve_credentials(self, client: Anchorbrowser) -> None:
43
+ with client.identities.with_streaming_response.retrieve_credentials(
44
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
45
+ ) as response:
46
+ assert not response.is_closed
47
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
48
+
49
+ identity = response.parse()
50
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
51
+
52
+ assert cast(Any, response.is_closed) is True
53
+
54
+ @pytest.mark.skip(reason="Prism tests are disabled")
55
+ @parametrize
56
+ def test_path_params_retrieve_credentials(self, client: Anchorbrowser) -> None:
57
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `identity_id` but received ''"):
58
+ client.identities.with_raw_response.retrieve_credentials(
59
+ "",
60
+ )
61
+
62
+
63
+ class TestAsyncIdentities:
64
+ parametrize = pytest.mark.parametrize(
65
+ "async_client", [False, True, {"http_client": "aiohttp"}], indirect=True, ids=["loose", "strict", "aiohttp"]
66
+ )
67
+
68
+ @pytest.mark.skip(reason="Prism tests are disabled")
69
+ @parametrize
70
+ async def test_method_retrieve_credentials(self, async_client: AsyncAnchorbrowser) -> None:
71
+ identity = await async_client.identities.retrieve_credentials(
72
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
73
+ )
74
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
75
+
76
+ @pytest.mark.skip(reason="Prism tests are disabled")
77
+ @parametrize
78
+ async def test_raw_response_retrieve_credentials(self, async_client: AsyncAnchorbrowser) -> None:
79
+ response = await async_client.identities.with_raw_response.retrieve_credentials(
80
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
81
+ )
82
+
83
+ assert response.is_closed is True
84
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
85
+ identity = await response.parse()
86
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
87
+
88
+ @pytest.mark.skip(reason="Prism tests are disabled")
89
+ @parametrize
90
+ async def test_streaming_response_retrieve_credentials(self, async_client: AsyncAnchorbrowser) -> None:
91
+ async with async_client.identities.with_streaming_response.retrieve_credentials(
92
+ "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
93
+ ) as response:
94
+ assert not response.is_closed
95
+ assert response.http_request.headers.get("X-Stainless-Lang") == "python"
96
+
97
+ identity = await response.parse()
98
+ assert_matches_type(IdentityRetrieveCredentialsResponse, identity, path=["response"])
99
+
100
+ assert cast(Any, response.is_closed) is True
101
+
102
+ @pytest.mark.skip(reason="Prism tests are disabled")
103
+ @parametrize
104
+ async def test_path_params_retrieve_credentials(self, async_client: AsyncAnchorbrowser) -> None:
105
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `identity_id` but received ''"):
106
+ await async_client.identities.with_raw_response.retrieve_credentials(
107
+ "",
108
+ )
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.3.13"
3
- }