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.
Files changed (507) hide show
  1. kernel-0.108.0/.release-please-manifest.json +3 -0
  2. {kernel-0.106.0 → kernel-0.108.0}/CHANGELOG.md +16 -0
  3. {kernel-0.106.0 → kernel-0.108.0}/PKG-INFO +1 -1
  4. {kernel-0.106.0 → kernel-0.108.0}/api.md +6 -0
  5. {kernel-0.106.0 → kernel-0.108.0}/pyproject.toml +1 -1
  6. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_client.py +0 -6
  7. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_version.py +1 -1
  8. kernel-0.108.0/src/kernel/lib/config_registry_wait.py +63 -0
  9. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/browsers.py +148 -4
  10. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/analyses.py +107 -0
  11. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/items.py +32 -16
  12. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/__init__.py +5 -0
  13. kernel-0.108.0/src/kernel/types/browser_repl_content.py +14 -0
  14. kernel-0.108.0/src/kernel/types/browser_repl_image_content.py +15 -0
  15. kernel-0.108.0/src/kernel/types/browser_repl_params.py +25 -0
  16. kernel-0.108.0/src/kernel/types/browser_repl_result.py +43 -0
  17. kernel-0.108.0/src/kernel/types/browser_repl_text_content.py +19 -0
  18. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/no_recommendation.py +1 -1
  19. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_spec.py +4 -1
  20. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_spec_param.py +4 -1
  21. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_browsers.py +115 -0
  22. kernel-0.108.0/tests/test_config_registry_wait.py +181 -0
  23. kernel-0.106.0/.release-please-manifest.json +0 -3
  24. {kernel-0.106.0 → kernel-0.108.0}/.gitignore +0 -0
  25. {kernel-0.106.0 → kernel-0.108.0}/CONTRIBUTING.md +0 -0
  26. {kernel-0.106.0 → kernel-0.108.0}/LICENSE +0 -0
  27. {kernel-0.106.0 → kernel-0.108.0}/README.md +0 -0
  28. {kernel-0.106.0 → kernel-0.108.0}/SECURITY.md +0 -0
  29. {kernel-0.106.0 → kernel-0.108.0}/bin/check-release-environment +0 -0
  30. {kernel-0.106.0 → kernel-0.108.0}/bin/publish-pypi +0 -0
  31. {kernel-0.106.0 → kernel-0.108.0}/examples/.keep +0 -0
  32. {kernel-0.106.0 → kernel-0.108.0}/examples/browser_routing.py +0 -0
  33. {kernel-0.106.0 → kernel-0.108.0}/examples/browser_telemetry.py +0 -0
  34. {kernel-0.106.0 → kernel-0.108.0}/noxfile.py +0 -0
  35. {kernel-0.106.0 → kernel-0.108.0}/release-please-config.json +0 -0
  36. {kernel-0.106.0 → kernel-0.108.0}/requirements-dev.lock +0 -0
  37. {kernel-0.106.0 → kernel-0.108.0}/requirements.lock +0 -0
  38. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/__init__.py +0 -0
  39. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_base_client.py +0 -0
  40. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_compat.py +0 -0
  41. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_constants.py +0 -0
  42. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_exceptions.py +0 -0
  43. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_files.py +0 -0
  44. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_models.py +0 -0
  45. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_qs.py +0 -0
  46. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_resource.py +0 -0
  47. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_response.py +0 -0
  48. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_streaming.py +0 -0
  49. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_types.py +0 -0
  50. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/__init__.py +0 -0
  51. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_compat.py +0 -0
  52. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  53. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_json.py +0 -0
  54. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_logs.py +0 -0
  55. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_path.py +0 -0
  56. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_proxy.py +0 -0
  57. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_reflection.py +0 -0
  58. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  59. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_streams.py +0 -0
  60. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_sync.py +0 -0
  61. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_transform.py +0 -0
  62. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_typing.py +0 -0
  63. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/_utils/_utils.py +0 -0
  64. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/app_framework.py +0 -0
  65. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/.keep +0 -0
  66. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/audit_log_download.py +0 -0
  67. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  68. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  69. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  70. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/browser_routing/util.py +0 -0
  71. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/lib/multipart.py +0 -0
  72. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/pagination.py +0 -0
  73. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/py.typed +0 -0
  74. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/__init__.py +0 -0
  75. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/api_keys.py +0 -0
  76. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/apps.py +0 -0
  77. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/__init__.py +0 -0
  78. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/audit_logs.py +0 -0
  79. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/audit_logs/export_destinations.py +0 -0
  80. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/__init__.py +0 -0
  81. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/auth.py +0 -0
  82. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/connections.py +0 -0
  83. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/auth/context.py +0 -0
  84. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browser_pools.py +0 -0
  85. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/__init__.py +0 -0
  86. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/computer.py +0 -0
  87. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  88. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  89. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  90. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/logs.py +0 -0
  91. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/playwright.py +0 -0
  92. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/process.py +0 -0
  93. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/replays.py +0 -0
  94. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/telemetry.py +0 -0
  95. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/browsers/webmcp.py +0 -0
  96. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/__init__.py +0 -0
  97. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/config_registry/config_registry.py +0 -0
  98. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/credential_providers.py +0 -0
  99. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/credentials.py +0 -0
  100. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/deployments.py +0 -0
  101. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/extensions.py +0 -0
  102. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/invocations.py +0 -0
  103. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/__init__.py +0 -0
  104. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/entitlements.py +0 -0
  105. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/limits.py +0 -0
  106. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/organization/organization.py +0 -0
  107. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/profiles.py +0 -0
  108. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/__init__.py +0 -0
  109. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/limits.py +0 -0
  110. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/projects/projects.py +0 -0
  111. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/proxies.py +0 -0
  112. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/__init__.py +0 -0
  113. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/destinations.py +0 -0
  114. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/telemetry/telemetry.py +0 -0
  115. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vault_provider_configs.py +0 -0
  116. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/__init__.py +0 -0
  117. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/resources/vaults/vaults.py +0 -0
  118. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/analysis.py +0 -0
  119. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/analysis_summary.py +0 -0
  120. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key.py +0 -0
  121. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_create_params.py +0 -0
  122. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_list_params.py +0 -0
  123. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_retrieve_params.py +0 -0
  124. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_rotate_params.py +0 -0
  125. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/api_key_update_params.py +0 -0
  126. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/app_list_params.py +0 -0
  127. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/app_list_response.py +0 -0
  128. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_entry.py +0 -0
  129. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_export_chunk_params.py +0 -0
  130. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_log_list_params.py +0 -0
  131. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/__init__.py +0 -0
  132. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/audit_log_export_destination.py +0 -0
  133. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/audit_log_export_destination_test_result.py +0 -0
  134. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_create_params.py +0 -0
  135. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_list_params.py +0 -0
  136. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/audit_logs/export_destination_update_params.py +0 -0
  137. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/__init__.py +0 -0
  138. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/auth_context.py +0 -0
  139. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_create_params.py +0 -0
  140. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  141. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  142. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_login_params.py +0 -0
  143. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  144. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_timeline_params.py +0 -0
  145. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/connection_update_params.py +0 -0
  146. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/login_response.py +0 -0
  147. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth.py +0 -0
  148. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_browser_config.py +0 -0
  149. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_browser_config_param.py +0 -0
  150. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/managed_auth_timeline_event.py +0 -0
  151. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  152. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser.py +0 -0
  153. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_create_params.py +0 -0
  154. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_create_response.py +0 -0
  155. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_curl_params.py +0 -0
  156. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_curl_response.py +0 -0
  157. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_list_params.py +0 -0
  158. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_list_response.py +0 -0
  159. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  160. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_memory.py +0 -0
  161. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_memory_request.py +0 -0
  162. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_network_config.py +0 -0
  163. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_network_config_param.py +0 -0
  164. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool.py +0 -0
  165. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
  166. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  167. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_create_params.py +0 -0
  168. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  169. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_list_params.py +0 -0
  170. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_ref.py +0 -0
  171. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  172. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_pool_update_params.py +0 -0
  173. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy.py +0 -0
  174. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_config.py +0 -0
  175. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_config_param.py +0 -0
  176. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_proxy_mode.py +0 -0
  177. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  178. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  179. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_update_params.py +0 -0
  180. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_update_response.py +0 -0
  181. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browser_usage.py +0 -0
  182. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/__init__.py +0 -0
  183. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
  184. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  185. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_challenge_result_event.py +0 -0
  186. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
  187. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_captcha_solve_started_event.py +0 -0
  188. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_command_event.py +0 -0
  189. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_command_method.py +0 -0
  190. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
  191. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
  192. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  193. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  194. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  195. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  196. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  197. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  198. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  199. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  200. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
  201. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
  202. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
  203. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
  204. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
  205. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
  206. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
  207. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  208. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  209. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  210. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  211. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_crashed_event.py +0 -0
  212. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  213. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  214. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  215. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  216. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  217. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  218. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  219. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  220. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_platform_api_call_event.py +0 -0
  221. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_proxy_error_event.py +0 -0
  222. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
  223. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
  224. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
  225. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
  226. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
  227. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
  228. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_cdp_control_config.py +0 -0
  229. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_cdp_control_config_param.py +0 -0
  230. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  231. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_control_config.py +0 -0
  232. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_control_config_param.py +0 -0
  233. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
  234. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_export_config.py +0 -0
  235. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/browser_telemetry_otlp_export_config.py +0 -0
  236. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  237. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  238. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  239. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  240. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  241. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  242. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  243. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  244. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  245. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  246. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  247. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  248. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  249. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  250. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  251. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  252. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  253. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  254. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  255. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  256. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  257. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  258. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  259. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  260. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  261. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  262. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  263. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  264. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  265. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  266. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  267. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/invocation_result.py +0 -0
  268. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  269. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  270. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  271. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  272. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  273. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  274. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  275. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  276. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  277. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  278. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  279. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  280. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  281. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  282. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  283. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  284. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  285. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  286. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_events_params.py +0 -0
  287. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_events_response.py +0 -0
  288. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_stream_params.py +0 -0
  289. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
  290. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool.py +0 -0
  291. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_annotations.py +0 -0
  292. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_frame.py +0 -0
  293. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tool_source.py +0 -0
  294. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/tools_response.py +0 -0
  295. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/browsers/webmcp_invoke_tool_params.py +0 -0
  296. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry/__init__.py +0 -0
  297. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry/analysis_list_params.py +0 -0
  298. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_list_params.py +0 -0
  299. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_lookup_params.py +0 -0
  300. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_resolve_params.py +0 -0
  301. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/config_registry_response.py +0 -0
  302. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/created_api_key.py +0 -0
  303. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential.py +0 -0
  304. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_create_params.py +0 -0
  305. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_list_params.py +0 -0
  306. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider.py +0 -0
  307. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  308. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_item.py +0 -0
  309. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  310. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_list_params.py +0 -0
  311. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  312. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  313. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  314. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/credential_update_params.py +0 -0
  315. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_create_params.py +0 -0
  316. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_create_response.py +0 -0
  317. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_follow_params.py +0 -0
  318. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_follow_response.py +0 -0
  319. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_list_params.py +0 -0
  320. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_list_response.py +0 -0
  321. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  322. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/deployment_state_event.py +0 -0
  323. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/evidence.py +0 -0
  324. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  325. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_get_response.py +0 -0
  326. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_list_params.py +0 -0
  327. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_list_response.py +0 -0
  328. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_upload_params.py +0 -0
  329. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/extension_upload_response.py +0 -0
  330. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_create_params.py +0 -0
  331. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_create_response.py +0 -0
  332. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_follow_params.py +0 -0
  333. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_follow_response.py +0 -0
  334. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  335. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_params.py +0 -0
  336. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_list_response.py +0 -0
  337. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  338. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_state_event.py +0 -0
  339. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_update_params.py +0 -0
  340. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/invocation_update_response.py +0 -0
  341. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/lookup_response.py +0 -0
  342. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/__init__.py +0 -0
  343. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/limit_update_params.py +0 -0
  344. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/org_entitlements.py +0 -0
  345. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/organization/org_limits.py +0 -0
  346. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile.py +0 -0
  347. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_create_params.py +0 -0
  348. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_download_params.py +0 -0
  349. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_list_params.py +0 -0
  350. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/profile_update_params.py +0 -0
  351. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project.py +0 -0
  352. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_create_params.py +0 -0
  353. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_list_params.py +0 -0
  354. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/project_update_params.py +0 -0
  355. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/__init__.py +0 -0
  356. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  357. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/projects/project_limits.py +0 -0
  358. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy.py +0 -0
  359. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_check_params.py +0 -0
  360. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_check_response.py +0 -0
  361. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_create_params.py +0 -0
  362. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_create_response.py +0 -0
  363. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_list_params.py +0 -0
  364. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_list_response.py +0 -0
  365. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  366. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_update_params.py +0 -0
  367. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/proxy_update_response.py +0 -0
  368. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation.py +0 -0
  369. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation_result.py +0 -0
  370. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/recommendation_summary.py +0 -0
  371. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/__init__.py +0 -0
  372. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/app_action.py +0 -0
  373. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_extension.py +0 -0
  374. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_profile.py +0 -0
  375. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  376. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_detail.py +0 -0
  377. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_event.py +0 -0
  378. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/error_model.py +0 -0
  379. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  380. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared/log_event.py +0 -0
  381. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/__init__.py +0 -0
  382. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  383. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  384. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  385. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/tags.py +0 -0
  386. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/tags_param.py +0 -0
  387. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/target.py +0 -0
  388. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/__init__.py +0 -0
  389. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_create_params.py +0 -0
  390. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_list_params.py +0 -0
  391. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/destination_update_params.py +0 -0
  392. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/telemetry/otlp_destination.py +0 -0
  393. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault.py +0 -0
  394. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_list_params.py +0 -0
  395. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config.py +0 -0
  396. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_create_params.py +0 -0
  397. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_list_params.py +0 -0
  398. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_provider_config_update_params.py +0 -0
  399. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_reference.py +0 -0
  400. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_reference_param.py +0 -0
  401. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vault_upsert_params.py +0 -0
  402. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/__init__.py +0 -0
  403. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_checkout_authorization.py +0 -0
  404. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_checkout_preparation.py +0 -0
  405. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/agentcard_prepared_processor.py +0 -0
  406. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/authorize_vault_item_operation_request_param.py +0 -0
  407. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/card_vault_item_state.py +0 -0
  408. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/collect_vault_item_operation_request_param.py +0 -0
  409. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_collection_action.py +0 -0
  410. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_definition.py +0 -0
  411. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_input_param.py +0 -0
  412. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_state.py +0 -0
  413. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_type.py +0 -0
  414. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_field_update_param.py +0 -0
  415. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item.py +0 -0
  416. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_request_param.py +0 -0
  417. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec.py +0 -0
  418. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec_input_param.py +0 -0
  419. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_spec_update_param.py +0 -0
  420. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_state.py +0 -0
  421. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/credential_vault_item_update_request_param.py +0 -0
  422. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/fill_vault_item_operation_request_param.py +0 -0
  423. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/fill_vault_item_operation_result.py +0 -0
  424. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_events_params.py +0 -0
  425. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_events_response.py +0 -0
  426. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_list_response.py +0 -0
  427. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_perform_operation_params.py +0 -0
  428. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_retrieve_params.py +0 -0
  429. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_update_params.py +0 -0
  430. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/item_upsert_params.py +0 -0
  431. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/prepare_checkout_vault_item_operation_request_param.py +0 -0
  432. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_card_aliases.py +0 -0
  433. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_checkout_context_param.py +0 -0
  434. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_fill_field_param.py +0 -0
  435. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_fill_field_result.py +0 -0
  436. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item.py +0 -0
  437. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_action.py +0 -0
  438. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_event.py +0 -0
  439. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_item_operation_response.py +0 -0
  440. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/vault_payment_method.py +0 -0
  441. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/wallet_vault_item_spec.py +0 -0
  442. {kernel-0.106.0 → kernel-0.108.0}/src/kernel/types/vaults/wallet_vault_item_state.py +0 -0
  443. {kernel-0.106.0 → kernel-0.108.0}/tests/__init__.py +0 -0
  444. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/__init__.py +0 -0
  445. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/audit_logs/__init__.py +0 -0
  446. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/audit_logs/test_export_destinations.py +0 -0
  447. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/__init__.py +0 -0
  448. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/test_connections.py +0 -0
  449. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/auth/test_context.py +0 -0
  450. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/__init__.py +0 -0
  451. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  452. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  453. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_computer.py +0 -0
  454. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_fs.py +0 -0
  455. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_logs.py +0 -0
  456. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  457. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_process.py +0 -0
  458. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_replays.py +0 -0
  459. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
  460. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/browsers/test_webmcp.py +0 -0
  461. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/config_registry/__init__.py +0 -0
  462. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/config_registry/test_analyses.py +0 -0
  463. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/__init__.py +0 -0
  464. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/test_entitlements.py +0 -0
  465. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/organization/test_limits.py +0 -0
  466. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/projects/__init__.py +0 -0
  467. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/projects/test_limits.py +0 -0
  468. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/telemetry/__init__.py +0 -0
  469. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/telemetry/test_destinations.py +0 -0
  470. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_api_keys.py +0 -0
  471. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_apps.py +0 -0
  472. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_audit_logs.py +0 -0
  473. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_browser_pools.py +0 -0
  474. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_config_registry.py +0 -0
  475. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_credential_providers.py +0 -0
  476. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_credentials.py +0 -0
  477. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_deployments.py +0 -0
  478. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_extensions.py +0 -0
  479. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_invocations.py +0 -0
  480. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_profiles.py +0 -0
  481. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_projects.py +0 -0
  482. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_proxies.py +0 -0
  483. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_vault_provider_configs.py +0 -0
  484. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/test_vaults.py +0 -0
  485. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/vaults/__init__.py +0 -0
  486. {kernel-0.106.0 → kernel-0.108.0}/tests/api_resources/vaults/test_items.py +0 -0
  487. {kernel-0.106.0 → kernel-0.108.0}/tests/conftest.py +0 -0
  488. {kernel-0.106.0 → kernel-0.108.0}/tests/sample_file.txt +0 -0
  489. {kernel-0.106.0 → kernel-0.108.0}/tests/test_audit_log_download.py +0 -0
  490. {kernel-0.106.0 → kernel-0.108.0}/tests/test_browser_routing.py +0 -0
  491. {kernel-0.106.0 → kernel-0.108.0}/tests/test_client.py +0 -0
  492. {kernel-0.106.0 → kernel-0.108.0}/tests/test_extract_files.py +0 -0
  493. {kernel-0.106.0 → kernel-0.108.0}/tests/test_files.py +0 -0
  494. {kernel-0.106.0 → kernel-0.108.0}/tests/test_models.py +0 -0
  495. {kernel-0.106.0 → kernel-0.108.0}/tests/test_pagination.py +0 -0
  496. {kernel-0.106.0 → kernel-0.108.0}/tests/test_qs.py +0 -0
  497. {kernel-0.106.0 → kernel-0.108.0}/tests/test_required_args.py +0 -0
  498. {kernel-0.106.0 → kernel-0.108.0}/tests/test_response.py +0 -0
  499. {kernel-0.106.0 → kernel-0.108.0}/tests/test_streaming.py +0 -0
  500. {kernel-0.106.0 → kernel-0.108.0}/tests/test_transform.py +0 -0
  501. {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_datetime_parse.py +0 -0
  502. {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_json.py +0 -0
  503. {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_path.py +0 -0
  504. {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_proxy.py +0 -0
  505. {kernel-0.106.0 → kernel-0.108.0}/tests/test_utils/test_typing.py +0 -0
  506. {kernel-0.106.0 → kernel-0.108.0}/tests/test_vault_operation_retries.py +0 -0
  507. {kernel-0.106.0 → kernel-0.108.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.108.0"
3
+ }
@@ -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.106.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
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.106.0"
3
+ version = "0.108.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -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)
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "kernel"
4
- __version__ = "0.106.0" # x-release-please-version
4
+ __version__ = "0.108.0" # x-release-please-version
@@ -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 rate limited, returns HTTP 429 with code
413
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
458
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
504
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
559
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
1176
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
1221
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
1267
- `spend_request_rate_limited`; stop and back off before retrying.
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 rate limited, returns HTTP 429 with code
1322
- `spend_request_rate_limited`; stop and back off before retrying.
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