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