kernel 0.106.0__tar.gz → 0.108.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.
- kernel-0.108.0/.release-please-manifest.json +3 -0
- {kernel-0.106.0 → kernel-0.108.0}/CHANGELOG.md +16 -0
- {kernel-0.106.0 → kernel-0.108.0}/PKG-INFO +1 -1
- {kernel-0.106.0 → kernel-0.108.0}/api.md +6 -0
- {kernel-0.106.0 → kernel-0.108.0}/pyproject.toml +1 -1
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_client.py +0 -6
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_version.py +1 -1
- kernel-0.108.0/src/kernel/lib/config_registry_wait.py +63 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/browsers.py +148 -4
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/analyses.py +107 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/items.py +32 -16
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/__init__.py +5 -0
- kernel-0.108.0/src/kernel/types/browser_repl_content.py +14 -0
- kernel-0.108.0/src/kernel/types/browser_repl_image_content.py +15 -0
- kernel-0.108.0/src/kernel/types/browser_repl_params.py +25 -0
- kernel-0.108.0/src/kernel/types/browser_repl_result.py +43 -0
- kernel-0.108.0/src/kernel/types/browser_repl_text_content.py +19 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/no_recommendation.py +1 -1
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_spec.py +4 -1
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_spec_param.py +4 -1
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_browsers.py +115 -0
- kernel-0.108.0/tests/test_config_registry_wait.py +181 -0
- kernel-0.106.0/.release-please-manifest.json +0 -3
- {kernel-0.106.0 → kernel-0.108.0}/.gitignore +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/CONTRIBUTING.md +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/LICENSE +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/README.md +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/SECURITY.md +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/bin/check-release-environment +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/bin/publish-pypi +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/examples/.keep +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/examples/browser_routing.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/examples/browser_telemetry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/noxfile.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/release-please-config.json +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/requirements-dev.lock +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/requirements.lock +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_base_client.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_compat.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_constants.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_exceptions.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_files.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_models.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_qs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_resource.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_streaming.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_types.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_compat.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_datetime_parse.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_json.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_logs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_path.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_proxy.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_reflection.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_resources_proxy.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_streams.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_sync.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_transform.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_typing.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_utils.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/app_framework.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/.keep +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/audit_log_download.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/routing.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/util.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/multipart.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/pagination.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/py.typed +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/api_keys.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/apps.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/audit_logs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/export_destinations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/auth.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/connections.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/context.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browser_pools.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/computer.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/logs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/playwright.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/process.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/replays.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/telemetry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/webmcp.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/config_registry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/credential_providers.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/credentials.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/deployments.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/extensions.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/invocations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/entitlements.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/organization.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/profiles.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/projects.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/proxies.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/destinations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/telemetry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vault_provider_configs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/vaults.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/analysis.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/analysis_summary.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_retrieve_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_rotate_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/app_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/app_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_entry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_export_chunk_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/audit_log_export_destination.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/audit_log_export_destination_test_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/auth_context.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_login_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_timeline_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/login_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_browser_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_browser_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_timeline_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_create_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_curl_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_curl_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_memory.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_memory_request.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_network_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_network_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_ref.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_release_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_mode.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_retrieve_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_retrieve_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_update_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_usage.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_challenge_result_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_solve_started_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_command_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_command_method.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_crashed_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_platform_api_call_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_proxy_error_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_cdp_control_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_cdp_control_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_control_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_control_config_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_export_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_otlp_export_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_move_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/invocation_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_status_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_events_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_events_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_stream_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_annotations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_frame.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_source.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tools_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/webmcp_invoke_tool_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry/analysis_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_lookup_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_resolve_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/created_api_key.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_item.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_test_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_totp_code_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_create_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_follow_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_follow_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_state_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/evidence.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_get_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_upload_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_upload_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_create_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_follow_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_follow_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_state_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_update_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/lookup_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/limit_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/org_entitlements.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/org_limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_download_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/limit_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/project_limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_check_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_check_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_create_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_update_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation_summary.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/app_action.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_extension.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_profile.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_viewport.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_detail.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_model.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/log_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/tags.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/tags_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/target.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/otlp_destination.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_create_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_list_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_reference.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_reference_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_upsert_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_checkout_authorization.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_checkout_preparation.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_prepared_processor.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/authorize_vault_item_operation_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_state.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/collect_vault_item_operation_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_collection_action.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_definition.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_input_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_state.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_type.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_update_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec_input_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec_update_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_state.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_update_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/fill_vault_item_operation_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/fill_vault_item_operation_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_events_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_events_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_list_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_perform_operation_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_retrieve_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_update_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_upsert_params.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/prepare_checkout_vault_item_operation_request_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_card_aliases.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_checkout_context_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_fill_field_param.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_fill_field_result.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_action.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_event.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_operation_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_payment_method.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/wallet_vault_item_spec.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/wallet_vault_item_state.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/audit_logs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/audit_logs/test_export_destinations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/test_connections.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/test_context.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_computer.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_fs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_logs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_playwright.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_process.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_replays.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_webmcp.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/config_registry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/config_registry/test_analyses.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/test_entitlements.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/test_limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/projects/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/projects/test_limits.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/telemetry/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/telemetry/test_destinations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_api_keys.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_apps.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_audit_logs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_browser_pools.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_config_registry.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_credential_providers.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_credentials.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_deployments.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_extensions.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_invocations.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_profiles.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_projects.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_proxies.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_vault_provider_configs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_vaults.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/vaults/__init__.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/vaults/test_items.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/conftest.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/sample_file.txt +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_audit_log_download.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_browser_routing.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_client.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_extract_files.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_files.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_models.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_pagination.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_qs.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_required_args.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_response.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_streaming.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_transform.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_json.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_path.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_proxy.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_typing.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/test_vault_operation_retries.py +0 -0
- {kernel-0.106.0 → kernel-0.108.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.108.0](https://github.com/kernel/kernel-python-sdk/compare/v0.107.0...v0.108.0) (2026-09-17)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* feat: add config registry analysis waiter ([e38c887](https://github.com/kernel/kernel-python-sdk/commit/e38c8878f9f80f5d28fce9f92df6f0a18a48e2bb))
|
|
9
|
+
|
|
10
|
+
## [0.107.0](https://github.com/kernel/kernel-python-sdk/compare/v0.106.0...v0.107.0) (2026-09-16)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* Classify unevaluable config registry targets ([12ced86](https://github.com/kernel/kernel-python-sdk/commit/12ced8647c23aa43c625b288ed48c7cdf8da9125))
|
|
16
|
+
* Expose persistent Browser REPL through the API ([755dba5](https://github.com/kernel/kernel-python-sdk/commit/755dba5d1273ef9083ffbc4bc7f4adf30aea2fe9))
|
|
17
|
+
* Return Link spend request errors directly ([82d9f84](https://github.com/kernel/kernel-python-sdk/commit/82d9f8400a761a37debabeb79e6e5d8bec2cbe32))
|
|
18
|
+
|
|
3
19
|
## 0.106.0 (2026-09-16)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v0.104.0...v0.106.0](https://github.com/kernel/kernel-python-sdk/compare/v0.104.0...v0.106.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: kernel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.108.0
|
|
4
4
|
Summary: The official Python library for the kernel API
|
|
5
5
|
Project-URL: Homepage, https://github.com/kernel/kernel-python-sdk
|
|
6
6
|
Project-URL: Repository, https://github.com/kernel/kernel-python-sdk
|
|
@@ -124,6 +124,11 @@ from kernel.types import (
|
|
|
124
124
|
BrowserProxy,
|
|
125
125
|
BrowserProxyConfig,
|
|
126
126
|
BrowserProxyMode,
|
|
127
|
+
BrowserReplContent,
|
|
128
|
+
BrowserReplImageContent,
|
|
129
|
+
BrowserReplRequest,
|
|
130
|
+
BrowserReplResult,
|
|
131
|
+
BrowserReplTextContent,
|
|
127
132
|
BrowserUsage,
|
|
128
133
|
Profile,
|
|
129
134
|
Tags,
|
|
@@ -145,6 +150,7 @@ Methods:
|
|
|
145
150
|
- <code title="post /browsers/{id_or_name}/curl">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">curl</a>(id_or_name, \*\*<a href="src/kernel/types/browser_curl_params.py">params</a>) -> <a href="./src/kernel/types/browser_curl_response.py">BrowserCurlResponse</a></code>
|
|
146
151
|
- <code title="delete /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">delete_by_id</a>(id_or_name) -> None</code>
|
|
147
152
|
- <code title="post /browsers/{id_or_name}/extensions">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">load_extensions</a>(id_or_name, \*\*<a href="src/kernel/types/browser_load_extensions_params.py">params</a>) -> None</code>
|
|
153
|
+
- <code title="post /browsers/{id_or_name}/repl">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">repl</a>(id_or_name, \*\*<a href="src/kernel/types/browser_repl_params.py">params</a>) -> <a href="./src/kernel/types/browser_repl_result.py">BrowserReplResult</a></code>
|
|
148
154
|
|
|
149
155
|
## Telemetry
|
|
150
156
|
|
|
@@ -247,7 +247,6 @@ class Kernel(SyncAPIClient):
|
|
|
247
247
|
|
|
248
248
|
@cached_property
|
|
249
249
|
def browsers(self) -> BrowsersResource:
|
|
250
|
-
"""Create and manage browser sessions."""
|
|
251
250
|
from .resources.browsers import BrowsersResource
|
|
252
251
|
|
|
253
252
|
return BrowsersResource(self)
|
|
@@ -652,7 +651,6 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
652
651
|
|
|
653
652
|
@cached_property
|
|
654
653
|
def browsers(self) -> AsyncBrowsersResource:
|
|
655
|
-
"""Create and manage browser sessions."""
|
|
656
654
|
from .resources.browsers import AsyncBrowsersResource
|
|
657
655
|
|
|
658
656
|
return AsyncBrowsersResource(self)
|
|
@@ -959,7 +957,6 @@ class KernelWithRawResponse:
|
|
|
959
957
|
|
|
960
958
|
@cached_property
|
|
961
959
|
def browsers(self) -> browsers.BrowsersResourceWithRawResponse:
|
|
962
|
-
"""Create and manage browser sessions."""
|
|
963
960
|
from .resources.browsers import BrowsersResourceWithRawResponse
|
|
964
961
|
|
|
965
962
|
return BrowsersResourceWithRawResponse(self._client.browsers)
|
|
@@ -1098,7 +1095,6 @@ class AsyncKernelWithRawResponse:
|
|
|
1098
1095
|
|
|
1099
1096
|
@cached_property
|
|
1100
1097
|
def browsers(self) -> browsers.AsyncBrowsersResourceWithRawResponse:
|
|
1101
|
-
"""Create and manage browser sessions."""
|
|
1102
1098
|
from .resources.browsers import AsyncBrowsersResourceWithRawResponse
|
|
1103
1099
|
|
|
1104
1100
|
return AsyncBrowsersResourceWithRawResponse(self._client.browsers)
|
|
@@ -1237,7 +1233,6 @@ class KernelWithStreamedResponse:
|
|
|
1237
1233
|
|
|
1238
1234
|
@cached_property
|
|
1239
1235
|
def browsers(self) -> browsers.BrowsersResourceWithStreamingResponse:
|
|
1240
|
-
"""Create and manage browser sessions."""
|
|
1241
1236
|
from .resources.browsers import BrowsersResourceWithStreamingResponse
|
|
1242
1237
|
|
|
1243
1238
|
return BrowsersResourceWithStreamingResponse(self._client.browsers)
|
|
@@ -1376,7 +1371,6 @@ class AsyncKernelWithStreamedResponse:
|
|
|
1376
1371
|
|
|
1377
1372
|
@cached_property
|
|
1378
1373
|
def browsers(self) -> browsers.AsyncBrowsersResourceWithStreamingResponse:
|
|
1379
|
-
"""Create and manage browser sessions."""
|
|
1380
1374
|
from .resources.browsers import AsyncBrowsersResourceWithStreamingResponse
|
|
1381
1375
|
|
|
1382
1376
|
return AsyncBrowsersResourceWithStreamingResponse(self._client.browsers)
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import math
|
|
4
|
+
import time
|
|
5
|
+
import random
|
|
6
|
+
from datetime import datetime
|
|
7
|
+
|
|
8
|
+
from .._types import Omit, Headers
|
|
9
|
+
from .._exceptions import KernelError
|
|
10
|
+
from ..types.config_registry_response import ConfigRegistryResponse
|
|
11
|
+
|
|
12
|
+
DEFAULT_CONFIG_REGISTRY_POLL_INTERVAL = 5.0
|
|
13
|
+
_TERMINAL_STATUSES = frozenset({"completed", "failed", "canceled", "expired"})
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def validate_wait_options(poll_interval: float, max_wait_seconds: float | None) -> None:
|
|
17
|
+
if not math.isfinite(poll_interval) or poll_interval <= 0:
|
|
18
|
+
raise ValueError("Expected a finite, positive value for `poll_interval`")
|
|
19
|
+
if max_wait_seconds is not None and (not math.isfinite(max_wait_seconds) or max_wait_seconds < 0):
|
|
20
|
+
raise ValueError("Expected a finite, non-negative value for `max_wait_seconds`")
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def poll_headers(extra_headers: Headers | None) -> Headers:
|
|
24
|
+
headers: dict[str, str | Omit] = dict(extra_headers or {})
|
|
25
|
+
headers["X-Stainless-Poll-Helper"] = "true"
|
|
26
|
+
return headers
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def poll_delay(poll_interval: float) -> float:
|
|
30
|
+
return poll_interval * random.uniform(0.9, 1.1)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def wait_timeout_error(id: str, polls: int, last_status: str | None, started_at: float) -> TimeoutError:
|
|
34
|
+
elapsed = time.monotonic() - started_at
|
|
35
|
+
return TimeoutError(
|
|
36
|
+
f"Timed out waiting for config registry analysis {id!r} after {elapsed:.1f}s "
|
|
37
|
+
f"and {polls} polls; last status was {last_status!r}"
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
def analysis_finished(response: ConfigRegistryResponse, requested_id: str) -> tuple[bool, str]:
|
|
42
|
+
analysis = response.analysis
|
|
43
|
+
if analysis is None:
|
|
44
|
+
raise KernelError(f"Config registry response for {requested_id!r} is missing an analysis")
|
|
45
|
+
|
|
46
|
+
analysis_id = getattr(analysis, "id", None)
|
|
47
|
+
if not isinstance(analysis_id, str) or not analysis_id:
|
|
48
|
+
raise KernelError(f"Config registry response for {requested_id!r} has no valid analysis ID")
|
|
49
|
+
if analysis_id != requested_id:
|
|
50
|
+
raise KernelError(f"Config registry response for {requested_id!r} returned analysis {analysis_id!r}")
|
|
51
|
+
|
|
52
|
+
status = getattr(analysis, "status", None)
|
|
53
|
+
if not isinstance(status, str) or not status:
|
|
54
|
+
raise KernelError(f"Config registry analysis {requested_id!r} has no valid status")
|
|
55
|
+
|
|
56
|
+
if "finished_at" not in analysis.model_fields_set:
|
|
57
|
+
raise KernelError(f"Config registry analysis {requested_id!r} is missing `finished_at`")
|
|
58
|
+
|
|
59
|
+
finished_at = getattr(analysis, "finished_at", None)
|
|
60
|
+
if finished_at is not None and not isinstance(finished_at, datetime):
|
|
61
|
+
raise KernelError(f"Config registry analysis {requested_id!r} has an invalid `finished_at`")
|
|
62
|
+
|
|
63
|
+
return finished_at is not None or status in _TERMINAL_STATUSES, status
|
|
@@ -36,6 +36,7 @@ from ...types import (
|
|
|
36
36
|
BrowserMemoryRequest,
|
|
37
37
|
browser_curl_params,
|
|
38
38
|
browser_list_params,
|
|
39
|
+
browser_repl_params,
|
|
39
40
|
browser_create_params,
|
|
40
41
|
browser_update_params,
|
|
41
42
|
browser_retrieve_params,
|
|
@@ -95,6 +96,7 @@ from ..._response import (
|
|
|
95
96
|
from ...pagination import SyncOffsetPagination, AsyncOffsetPagination
|
|
96
97
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
97
98
|
from ...types.tags_param import TagsParam
|
|
99
|
+
from ...types.browser_repl_result import BrowserReplResult
|
|
98
100
|
from ...types.browser_curl_response import BrowserCurlResponse
|
|
99
101
|
from ...types.browser_list_response import BrowserListResponse
|
|
100
102
|
from ...types.vault_reference_param import VaultReferenceParam
|
|
@@ -118,8 +120,6 @@ __all__ = ["BrowsersResource", "AsyncBrowsersResource"]
|
|
|
118
120
|
|
|
119
121
|
|
|
120
122
|
class BrowsersResource(SyncAPIResource):
|
|
121
|
-
"""Create and manage browser sessions."""
|
|
122
|
-
|
|
123
123
|
@cached_property
|
|
124
124
|
def telemetry(self) -> TelemetryResource:
|
|
125
125
|
"""
|
|
@@ -753,10 +753,75 @@ class BrowsersResource(SyncAPIResource):
|
|
|
753
753
|
cast_to=NoneType,
|
|
754
754
|
)
|
|
755
755
|
|
|
756
|
+
def repl(
|
|
757
|
+
self,
|
|
758
|
+
id_or_name: str,
|
|
759
|
+
*,
|
|
760
|
+
code: str,
|
|
761
|
+
reset: bool | Omit = omit,
|
|
762
|
+
timeout_sec: int | Omit = omit,
|
|
763
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
764
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
765
|
+
extra_headers: Headers | None = None,
|
|
766
|
+
extra_query: Query | None = None,
|
|
767
|
+
extra_body: Body | None = None,
|
|
768
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
769
|
+
) -> BrowserReplResult:
|
|
770
|
+
"""
|
|
771
|
+
Execute JavaScript in a persistent Node.js runtime inside the browser VM.
|
|
772
|
+
Top-level bindings, closures, mutations, and dynamically imported modules
|
|
773
|
+
persist across calls until the REPL is reset or replaced. Start with
|
|
774
|
+
`repl.help()` to list available methods, or call `repl.help("click")` for
|
|
775
|
+
detailed help.
|
|
776
|
+
|
|
777
|
+
Expression values are ignored. Emit ordered text or image output with
|
|
778
|
+
`repl.write(...)`, console methods, or `repl.emitImage(...)`. The runtime also
|
|
779
|
+
exposes browser-control helpers, WebMCP, Patchright, Playwright, and raw CDP.
|
|
780
|
+
|
|
781
|
+
Executions are serialized. A timeout, crash, OOM, or protocol failure terminates
|
|
782
|
+
the REPL and changes its `repl_id`. This is unrestricted code execution inside
|
|
783
|
+
the browser VM and is not sandboxed.
|
|
784
|
+
|
|
785
|
+
Args:
|
|
786
|
+
code: JavaScript evaluated in a persistent Node.js runtime. Top-level bindings persist
|
|
787
|
+
until the browser VM's API process exits, the REPL is reset, or the REPL is
|
|
788
|
+
terminated after a crash or timeout. Static top-level imports are unsupported;
|
|
789
|
+
use dynamic `import()`. Expression values are ignored; emit output with
|
|
790
|
+
`repl.write(...)`, console methods, or `repl.emitImage(...)`. May be empty only
|
|
791
|
+
when `reset` is true.
|
|
792
|
+
|
|
793
|
+
reset: Terminate the current REPL, start a fresh one, and then evaluate code.
|
|
794
|
+
|
|
795
|
+
timeout_sec: Maximum execution time in seconds. Default is 60.
|
|
796
|
+
|
|
797
|
+
extra_headers: Send extra headers
|
|
798
|
+
|
|
799
|
+
extra_query: Add additional query parameters to the request
|
|
800
|
+
|
|
801
|
+
extra_body: Add additional JSON properties to the request
|
|
802
|
+
|
|
803
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
804
|
+
"""
|
|
805
|
+
if not id_or_name:
|
|
806
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
807
|
+
return self._post(
|
|
808
|
+
path_template("/browsers/{id_or_name}/repl", id_or_name=id_or_name),
|
|
809
|
+
body=maybe_transform(
|
|
810
|
+
{
|
|
811
|
+
"code": code,
|
|
812
|
+
"reset": reset,
|
|
813
|
+
"timeout_sec": timeout_sec,
|
|
814
|
+
},
|
|
815
|
+
browser_repl_params.BrowserReplParams,
|
|
816
|
+
),
|
|
817
|
+
options=make_request_options(
|
|
818
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
819
|
+
),
|
|
820
|
+
cast_to=BrowserReplResult,
|
|
821
|
+
)
|
|
756
822
|
|
|
757
|
-
class AsyncBrowsersResource(AsyncAPIResource):
|
|
758
|
-
"""Create and manage browser sessions."""
|
|
759
823
|
|
|
824
|
+
class AsyncBrowsersResource(AsyncAPIResource):
|
|
760
825
|
@cached_property
|
|
761
826
|
def telemetry(self) -> AsyncTelemetryResource:
|
|
762
827
|
"""
|
|
@@ -1390,6 +1455,73 @@ class AsyncBrowsersResource(AsyncAPIResource):
|
|
|
1390
1455
|
cast_to=NoneType,
|
|
1391
1456
|
)
|
|
1392
1457
|
|
|
1458
|
+
async def repl(
|
|
1459
|
+
self,
|
|
1460
|
+
id_or_name: str,
|
|
1461
|
+
*,
|
|
1462
|
+
code: str,
|
|
1463
|
+
reset: bool | Omit = omit,
|
|
1464
|
+
timeout_sec: int | Omit = omit,
|
|
1465
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1466
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1467
|
+
extra_headers: Headers | None = None,
|
|
1468
|
+
extra_query: Query | None = None,
|
|
1469
|
+
extra_body: Body | None = None,
|
|
1470
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
1471
|
+
) -> BrowserReplResult:
|
|
1472
|
+
"""
|
|
1473
|
+
Execute JavaScript in a persistent Node.js runtime inside the browser VM.
|
|
1474
|
+
Top-level bindings, closures, mutations, and dynamically imported modules
|
|
1475
|
+
persist across calls until the REPL is reset or replaced. Start with
|
|
1476
|
+
`repl.help()` to list available methods, or call `repl.help("click")` for
|
|
1477
|
+
detailed help.
|
|
1478
|
+
|
|
1479
|
+
Expression values are ignored. Emit ordered text or image output with
|
|
1480
|
+
`repl.write(...)`, console methods, or `repl.emitImage(...)`. The runtime also
|
|
1481
|
+
exposes browser-control helpers, WebMCP, Patchright, Playwright, and raw CDP.
|
|
1482
|
+
|
|
1483
|
+
Executions are serialized. A timeout, crash, OOM, or protocol failure terminates
|
|
1484
|
+
the REPL and changes its `repl_id`. This is unrestricted code execution inside
|
|
1485
|
+
the browser VM and is not sandboxed.
|
|
1486
|
+
|
|
1487
|
+
Args:
|
|
1488
|
+
code: JavaScript evaluated in a persistent Node.js runtime. Top-level bindings persist
|
|
1489
|
+
until the browser VM's API process exits, the REPL is reset, or the REPL is
|
|
1490
|
+
terminated after a crash or timeout. Static top-level imports are unsupported;
|
|
1491
|
+
use dynamic `import()`. Expression values are ignored; emit output with
|
|
1492
|
+
`repl.write(...)`, console methods, or `repl.emitImage(...)`. May be empty only
|
|
1493
|
+
when `reset` is true.
|
|
1494
|
+
|
|
1495
|
+
reset: Terminate the current REPL, start a fresh one, and then evaluate code.
|
|
1496
|
+
|
|
1497
|
+
timeout_sec: Maximum execution time in seconds. Default is 60.
|
|
1498
|
+
|
|
1499
|
+
extra_headers: Send extra headers
|
|
1500
|
+
|
|
1501
|
+
extra_query: Add additional query parameters to the request
|
|
1502
|
+
|
|
1503
|
+
extra_body: Add additional JSON properties to the request
|
|
1504
|
+
|
|
1505
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
1506
|
+
"""
|
|
1507
|
+
if not id_or_name:
|
|
1508
|
+
raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
|
|
1509
|
+
return await self._post(
|
|
1510
|
+
path_template("/browsers/{id_or_name}/repl", id_or_name=id_or_name),
|
|
1511
|
+
body=await async_maybe_transform(
|
|
1512
|
+
{
|
|
1513
|
+
"code": code,
|
|
1514
|
+
"reset": reset,
|
|
1515
|
+
"timeout_sec": timeout_sec,
|
|
1516
|
+
},
|
|
1517
|
+
browser_repl_params.BrowserReplParams,
|
|
1518
|
+
),
|
|
1519
|
+
options=make_request_options(
|
|
1520
|
+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
|
|
1521
|
+
),
|
|
1522
|
+
cast_to=BrowserReplResult,
|
|
1523
|
+
)
|
|
1524
|
+
|
|
1393
1525
|
|
|
1394
1526
|
class BrowsersResourceWithRawResponse:
|
|
1395
1527
|
def __init__(self, browsers: BrowsersResource) -> None:
|
|
@@ -1416,6 +1548,9 @@ class BrowsersResourceWithRawResponse:
|
|
|
1416
1548
|
self.load_extensions = to_raw_response_wrapper(
|
|
1417
1549
|
browsers.load_extensions,
|
|
1418
1550
|
)
|
|
1551
|
+
self.repl = to_raw_response_wrapper(
|
|
1552
|
+
browsers.repl,
|
|
1553
|
+
)
|
|
1419
1554
|
|
|
1420
1555
|
@cached_property
|
|
1421
1556
|
def telemetry(self) -> TelemetryResourceWithRawResponse:
|
|
@@ -1485,6 +1620,9 @@ class AsyncBrowsersResourceWithRawResponse:
|
|
|
1485
1620
|
self.load_extensions = async_to_raw_response_wrapper(
|
|
1486
1621
|
browsers.load_extensions,
|
|
1487
1622
|
)
|
|
1623
|
+
self.repl = async_to_raw_response_wrapper(
|
|
1624
|
+
browsers.repl,
|
|
1625
|
+
)
|
|
1488
1626
|
|
|
1489
1627
|
@cached_property
|
|
1490
1628
|
def telemetry(self) -> AsyncTelemetryResourceWithRawResponse:
|
|
@@ -1554,6 +1692,9 @@ class BrowsersResourceWithStreamingResponse:
|
|
|
1554
1692
|
self.load_extensions = to_streamed_response_wrapper(
|
|
1555
1693
|
browsers.load_extensions,
|
|
1556
1694
|
)
|
|
1695
|
+
self.repl = to_streamed_response_wrapper(
|
|
1696
|
+
browsers.repl,
|
|
1697
|
+
)
|
|
1557
1698
|
|
|
1558
1699
|
@cached_property
|
|
1559
1700
|
def telemetry(self) -> TelemetryResourceWithStreamingResponse:
|
|
@@ -1623,6 +1764,9 @@ class AsyncBrowsersResourceWithStreamingResponse:
|
|
|
1623
1764
|
self.load_extensions = async_to_streamed_response_wrapper(
|
|
1624
1765
|
browsers.load_extensions,
|
|
1625
1766
|
)
|
|
1767
|
+
self.repl = async_to_streamed_response_wrapper(
|
|
1768
|
+
browsers.repl,
|
|
1769
|
+
)
|
|
1626
1770
|
|
|
1627
1771
|
@cached_property
|
|
1628
1772
|
def telemetry(self) -> AsyncTelemetryResourceWithStreamingResponse:
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
+
import time
|
|
6
|
+
|
|
5
7
|
import httpx
|
|
6
8
|
|
|
7
9
|
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
@@ -18,6 +20,14 @@ from ...pagination import SyncOffsetPagination, AsyncOffsetPagination
|
|
|
18
20
|
from ..._base_client import AsyncPaginator, make_request_options
|
|
19
21
|
from ...types.config_registry import analysis_list_params
|
|
20
22
|
from ...types.analysis_summary import AnalysisSummary
|
|
23
|
+
from ...lib.config_registry_wait import (
|
|
24
|
+
DEFAULT_CONFIG_REGISTRY_POLL_INTERVAL,
|
|
25
|
+
poll_delay,
|
|
26
|
+
poll_headers,
|
|
27
|
+
analysis_finished,
|
|
28
|
+
wait_timeout_error,
|
|
29
|
+
validate_wait_options,
|
|
30
|
+
)
|
|
21
31
|
from ...types.config_registry_response import ConfigRegistryResponse
|
|
22
32
|
|
|
23
33
|
__all__ = ["AnalysesResource", "AsyncAnalysesResource"]
|
|
@@ -79,6 +89,54 @@ class AnalysesResource(SyncAPIResource):
|
|
|
79
89
|
cast_to=ConfigRegistryResponse,
|
|
80
90
|
)
|
|
81
91
|
|
|
92
|
+
def wait_for_result(
|
|
93
|
+
self,
|
|
94
|
+
id: str,
|
|
95
|
+
*,
|
|
96
|
+
poll_interval: float = DEFAULT_CONFIG_REGISTRY_POLL_INTERVAL,
|
|
97
|
+
max_wait_seconds: float | None = None,
|
|
98
|
+
extra_headers: Headers | None = None,
|
|
99
|
+
extra_query: Query | None = None,
|
|
100
|
+
extra_body: Body | None = None,
|
|
101
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
102
|
+
) -> ConfigRegistryResponse:
|
|
103
|
+
"""Wait for an analysis to finish and return its complete result.
|
|
104
|
+
|
|
105
|
+
The first retrieval happens immediately. ``max_wait_seconds`` is a soft
|
|
106
|
+
polling deadline: an in-flight request and its normal retries may finish
|
|
107
|
+
after it. Timing out does not cancel the remote analysis.
|
|
108
|
+
"""
|
|
109
|
+
validate_wait_options(poll_interval, max_wait_seconds)
|
|
110
|
+
started_at = time.monotonic()
|
|
111
|
+
deadline = started_at + max_wait_seconds if max_wait_seconds is not None else None
|
|
112
|
+
headers = poll_headers(extra_headers)
|
|
113
|
+
polls = 0
|
|
114
|
+
last_status: str | None = None
|
|
115
|
+
|
|
116
|
+
while True:
|
|
117
|
+
if polls > 0 and deadline is not None and time.monotonic() >= deadline:
|
|
118
|
+
raise wait_timeout_error(id, polls, last_status, started_at)
|
|
119
|
+
|
|
120
|
+
response = self.retrieve(
|
|
121
|
+
id,
|
|
122
|
+
extra_headers=headers,
|
|
123
|
+
extra_query=extra_query,
|
|
124
|
+
extra_body=extra_body,
|
|
125
|
+
timeout=timeout,
|
|
126
|
+
)
|
|
127
|
+
polls += 1
|
|
128
|
+
finished, last_status = analysis_finished(response, id)
|
|
129
|
+
if finished:
|
|
130
|
+
return response
|
|
131
|
+
|
|
132
|
+
delay = poll_delay(poll_interval)
|
|
133
|
+
if deadline is not None:
|
|
134
|
+
remaining = deadline - time.monotonic()
|
|
135
|
+
if remaining <= 0:
|
|
136
|
+
raise wait_timeout_error(id, polls, last_status, started_at)
|
|
137
|
+
delay = min(delay, remaining)
|
|
138
|
+
self._sleep(delay)
|
|
139
|
+
|
|
82
140
|
def list(
|
|
83
141
|
self,
|
|
84
142
|
*,
|
|
@@ -220,6 +278,55 @@ class AsyncAnalysesResource(AsyncAPIResource):
|
|
|
220
278
|
cast_to=ConfigRegistryResponse,
|
|
221
279
|
)
|
|
222
280
|
|
|
281
|
+
async def wait_for_result(
|
|
282
|
+
self,
|
|
283
|
+
id: str,
|
|
284
|
+
*,
|
|
285
|
+
poll_interval: float = DEFAULT_CONFIG_REGISTRY_POLL_INTERVAL,
|
|
286
|
+
max_wait_seconds: float | None = None,
|
|
287
|
+
extra_headers: Headers | None = None,
|
|
288
|
+
extra_query: Query | None = None,
|
|
289
|
+
extra_body: Body | None = None,
|
|
290
|
+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
291
|
+
) -> ConfigRegistryResponse:
|
|
292
|
+
"""Wait for an analysis to finish and return its complete result.
|
|
293
|
+
|
|
294
|
+
The first retrieval happens immediately. ``max_wait_seconds`` is a soft
|
|
295
|
+
polling deadline: an in-flight request and its normal retries may finish
|
|
296
|
+
after it. Timing out does not cancel the remote analysis. Cancelling the
|
|
297
|
+
calling task stops the wait without cancelling the remote analysis.
|
|
298
|
+
"""
|
|
299
|
+
validate_wait_options(poll_interval, max_wait_seconds)
|
|
300
|
+
started_at = time.monotonic()
|
|
301
|
+
deadline = started_at + max_wait_seconds if max_wait_seconds is not None else None
|
|
302
|
+
headers = poll_headers(extra_headers)
|
|
303
|
+
polls = 0
|
|
304
|
+
last_status: str | None = None
|
|
305
|
+
|
|
306
|
+
while True:
|
|
307
|
+
if polls > 0 and deadline is not None and time.monotonic() >= deadline:
|
|
308
|
+
raise wait_timeout_error(id, polls, last_status, started_at)
|
|
309
|
+
|
|
310
|
+
response = await self.retrieve(
|
|
311
|
+
id,
|
|
312
|
+
extra_headers=headers,
|
|
313
|
+
extra_query=extra_query,
|
|
314
|
+
extra_body=extra_body,
|
|
315
|
+
timeout=timeout,
|
|
316
|
+
)
|
|
317
|
+
polls += 1
|
|
318
|
+
finished, last_status = analysis_finished(response, id)
|
|
319
|
+
if finished:
|
|
320
|
+
return response
|
|
321
|
+
|
|
322
|
+
delay = poll_delay(poll_interval)
|
|
323
|
+
if deadline is not None:
|
|
324
|
+
remaining = deadline - time.monotonic()
|
|
325
|
+
if remaining <= 0:
|
|
326
|
+
raise wait_timeout_error(id, polls, last_status, started_at)
|
|
327
|
+
delay = min(delay, remaining)
|
|
328
|
+
await self._sleep(delay)
|
|
329
|
+
|
|
223
330
|
def list(
|
|
224
331
|
self,
|
|
225
332
|
*,
|
|
@@ -409,8 +409,10 @@ class ItemsResource(SyncAPIResource):
|
|
|
409
409
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
410
410
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
411
411
|
preparations expire automatically and cannot be reused. If spend-request
|
|
412
|
-
creation is
|
|
413
|
-
|
|
412
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
413
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
414
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
415
|
+
authorize operation.
|
|
414
416
|
|
|
415
417
|
Fill returns a value-free execution result. Validation failures before writing
|
|
416
418
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -454,8 +456,10 @@ class ItemsResource(SyncAPIResource):
|
|
|
454
456
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
455
457
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
456
458
|
preparations expire automatically and cannot be reused. If spend-request
|
|
457
|
-
creation is
|
|
458
|
-
|
|
459
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
460
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
461
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
462
|
+
authorize operation.
|
|
459
463
|
|
|
460
464
|
Fill returns a value-free execution result. Validation failures before writing
|
|
461
465
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -500,8 +504,10 @@ class ItemsResource(SyncAPIResource):
|
|
|
500
504
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
501
505
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
502
506
|
preparations expire automatically and cannot be reused. If spend-request
|
|
503
|
-
creation is
|
|
504
|
-
|
|
507
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
508
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
509
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
510
|
+
authorize operation.
|
|
505
511
|
|
|
506
512
|
Fill returns a value-free execution result. Validation failures before writing
|
|
507
513
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -555,8 +561,10 @@ class ItemsResource(SyncAPIResource):
|
|
|
555
561
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
556
562
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
557
563
|
preparations expire automatically and cannot be reused. If spend-request
|
|
558
|
-
creation is
|
|
559
|
-
|
|
564
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
565
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
566
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
567
|
+
authorize operation.
|
|
560
568
|
|
|
561
569
|
Fill returns a value-free execution result. Validation failures before writing
|
|
562
570
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -1172,8 +1180,10 @@ class AsyncItemsResource(AsyncAPIResource):
|
|
|
1172
1180
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
1173
1181
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
1174
1182
|
preparations expire automatically and cannot be reused. If spend-request
|
|
1175
|
-
creation is
|
|
1176
|
-
|
|
1183
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
1184
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
1185
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
1186
|
+
authorize operation.
|
|
1177
1187
|
|
|
1178
1188
|
Fill returns a value-free execution result. Validation failures before writing
|
|
1179
1189
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -1217,8 +1227,10 @@ class AsyncItemsResource(AsyncAPIResource):
|
|
|
1217
1227
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
1218
1228
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
1219
1229
|
preparations expire automatically and cannot be reused. If spend-request
|
|
1220
|
-
creation is
|
|
1221
|
-
|
|
1230
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
1231
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
1232
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
1233
|
+
authorize operation.
|
|
1222
1234
|
|
|
1223
1235
|
Fill returns a value-free execution result. Validation failures before writing
|
|
1224
1236
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -1263,8 +1275,10 @@ class AsyncItemsResource(AsyncAPIResource):
|
|
|
1263
1275
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
1264
1276
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
1265
1277
|
preparations expire automatically and cannot be reused. If spend-request
|
|
1266
|
-
creation is
|
|
1267
|
-
|
|
1278
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
1279
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
1280
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
1281
|
+
authorize operation.
|
|
1268
1282
|
|
|
1269
1283
|
Fill returns a value-free execution result. Validation failures before writing
|
|
1270
1284
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|
|
@@ -1318,8 +1332,10 @@ class AsyncItemsResource(AsyncAPIResource):
|
|
|
1318
1332
|
device approval before native Square Pay. Keep the returned approval page open,
|
|
1319
1333
|
poll until ready_to_submit, then submit before preparation.expires_at. Unused
|
|
1320
1334
|
preparations expire automatically and cannot be reused. If spend-request
|
|
1321
|
-
creation is
|
|
1322
|
-
|
|
1335
|
+
creation is rejected with a non-retryable provider error, the card item is
|
|
1336
|
+
deleted and the provider's error code and message are returned. Rate limits
|
|
1337
|
+
return HTTP 429 and retain the card item; stop, back off, and retry the same
|
|
1338
|
+
authorize operation.
|
|
1323
1339
|
|
|
1324
1340
|
Fill returns a value-free execution result. Validation failures before writing
|
|
1325
1341
|
return 400 (invalid request or targets), 403 (access or destination denied), 404
|