kernel 0.63.0__tar.gz → 0.65.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 (332) hide show
  1. kernel-0.65.0/.release-please-manifest.json +3 -0
  2. {kernel-0.63.0 → kernel-0.65.0}/CHANGELOG.md +17 -0
  3. {kernel-0.63.0 → kernel-0.65.0}/PKG-INFO +1 -1
  4. {kernel-0.63.0 → kernel-0.65.0}/api.md +11 -3
  5. {kernel-0.63.0 → kernel-0.65.0}/pyproject.toml +1 -1
  6. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_version.py +1 -1
  7. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browser_pools.py +33 -2
  8. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/browsers.py +26 -26
  9. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_create_params.py +8 -7
  10. kernel-0.65.0/src/kernel/types/browser_pool_acquire_params.py +33 -0
  11. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_update_params.py +8 -7
  12. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/__init__.py +8 -0
  13. kernel-0.65.0/src/kernel/types/browsers/browser_api_call_event.py +42 -0
  14. kernel-0.65.0/src/kernel/types/browsers/browser_captcha_solve_result_event.py +63 -0
  15. kernel-0.65.0/src/kernel/types/browsers/browser_cdp_connect_event.py +29 -0
  16. kernel-0.65.0/src/kernel/types/browsers/browser_cdp_disconnect_event.py +49 -0
  17. kernel-0.65.0/src/kernel/types/browsers/browser_live_view_connect_event.py +40 -0
  18. kernel-0.65.0/src/kernel/types/browsers/browser_live_view_disconnect_event.py +41 -0
  19. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +1 -1
  20. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +1 -1
  21. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +1 -1
  22. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +1 -1
  23. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +1 -1
  24. kernel-0.65.0/src/kernel/types/browsers/browser_service_crashed_event.py +50 -0
  25. kernel-0.65.0/src/kernel/types/browsers/browser_system_oom_kill_event.py +99 -0
  26. kernel-0.65.0/src/kernel/types/browsers/browser_telemetry_categories_config.py +67 -0
  27. kernel-0.65.0/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +68 -0
  28. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +4 -1
  29. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +4 -1
  30. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_event.py +16 -0
  31. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/telemetry_stream_response.py +7 -5
  32. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_browser_pools.py +10 -0
  33. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_browsers.py +46 -26
  34. kernel-0.63.0/.release-please-manifest.json +0 -3
  35. kernel-0.63.0/src/kernel/types/browser_pool_acquire_params.py +0 -16
  36. kernel-0.63.0/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -32
  37. kernel-0.63.0/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -33
  38. {kernel-0.63.0 → kernel-0.65.0}/.gitignore +0 -0
  39. {kernel-0.63.0 → kernel-0.65.0}/CONTRIBUTING.md +0 -0
  40. {kernel-0.63.0 → kernel-0.65.0}/LICENSE +0 -0
  41. {kernel-0.63.0 → kernel-0.65.0}/README.md +0 -0
  42. {kernel-0.63.0 → kernel-0.65.0}/SECURITY.md +0 -0
  43. {kernel-0.63.0 → kernel-0.65.0}/bin/check-release-environment +0 -0
  44. {kernel-0.63.0 → kernel-0.65.0}/bin/publish-pypi +0 -0
  45. {kernel-0.63.0 → kernel-0.65.0}/examples/.keep +0 -0
  46. {kernel-0.63.0 → kernel-0.65.0}/examples/browser_routing.py +0 -0
  47. {kernel-0.63.0 → kernel-0.65.0}/examples/browser_telemetry.py +0 -0
  48. {kernel-0.63.0 → kernel-0.65.0}/noxfile.py +0 -0
  49. {kernel-0.63.0 → kernel-0.65.0}/release-please-config.json +0 -0
  50. {kernel-0.63.0 → kernel-0.65.0}/requirements-dev.lock +0 -0
  51. {kernel-0.63.0 → kernel-0.65.0}/requirements.lock +0 -0
  52. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/__init__.py +0 -0
  53. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_base_client.py +0 -0
  54. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_client.py +0 -0
  55. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_compat.py +0 -0
  56. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_constants.py +0 -0
  57. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_exceptions.py +0 -0
  58. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_files.py +0 -0
  59. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_models.py +0 -0
  60. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_qs.py +0 -0
  61. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_resource.py +0 -0
  62. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_response.py +0 -0
  63. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_streaming.py +0 -0
  64. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_types.py +0 -0
  65. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/__init__.py +0 -0
  66. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_compat.py +0 -0
  67. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  68. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_json.py +0 -0
  69. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_logs.py +0 -0
  70. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_path.py +0 -0
  71. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_proxy.py +0 -0
  72. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_reflection.py +0 -0
  73. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  74. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_streams.py +0 -0
  75. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_sync.py +0 -0
  76. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_transform.py +0 -0
  77. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_typing.py +0 -0
  78. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/_utils/_utils.py +0 -0
  79. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/app_framework.py +0 -0
  80. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/lib/.keep +0 -0
  81. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  82. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  83. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  84. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/util.py +0 -0
  85. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/pagination.py +0 -0
  86. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/py.typed +0 -0
  87. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/__init__.py +0 -0
  88. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/api_keys.py +0 -0
  89. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/apps.py +0 -0
  90. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/auth/__init__.py +0 -0
  91. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/auth/auth.py +0 -0
  92. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/auth/connections.py +0 -0
  93. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/__init__.py +0 -0
  94. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/computer.py +0 -0
  95. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  96. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  97. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  98. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/logs.py +0 -0
  99. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/playwright.py +0 -0
  100. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/process.py +0 -0
  101. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/replays.py +0 -0
  102. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/browsers/telemetry.py +0 -0
  103. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/credential_providers.py +0 -0
  104. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/credentials.py +0 -0
  105. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/deployments.py +0 -0
  106. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/extensions.py +0 -0
  107. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/invocations.py +0 -0
  108. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/profiles.py +0 -0
  109. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/projects/__init__.py +0 -0
  110. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/projects/limits.py +0 -0
  111. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/projects/projects.py +0 -0
  112. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/resources/proxies.py +0 -0
  113. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/__init__.py +0 -0
  114. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/api_key.py +0 -0
  115. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/api_key_create_params.py +0 -0
  116. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/api_key_list_params.py +0 -0
  117. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/api_key_update_params.py +0 -0
  118. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/app_list_params.py +0 -0
  119. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/app_list_response.py +0 -0
  120. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/__init__.py +0 -0
  121. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_create_params.py +0 -0
  122. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  123. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  124. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_login_params.py +0 -0
  125. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  126. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/connection_update_params.py +0 -0
  127. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/login_response.py +0 -0
  128. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/managed_auth.py +0 -0
  129. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  130. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_create_response.py +0 -0
  131. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_curl_params.py +0 -0
  132. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_curl_response.py +0 -0
  133. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_list_params.py +0 -0
  134. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_list_response.py +0 -0
  135. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  136. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool.py +0 -0
  137. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  138. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_create_params.py +0 -0
  139. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  140. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_list_params.py +0 -0
  141. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_ref.py +0 -0
  142. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  143. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_pool_update_params.py +0 -0
  144. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  145. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  146. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_update_response.py +0 -0
  147. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browser_usage.py +0 -0
  148. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  149. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  150. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  151. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  152. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  153. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  154. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  155. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  156. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  157. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  158. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  159. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  160. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  161. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  162. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  163. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  164. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  165. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  166. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  167. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  168. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  169. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  170. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  171. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  172. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  173. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  174. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  175. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  176. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  177. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  178. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  179. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  180. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  181. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  182. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  183. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  184. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  185. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  186. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  187. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  188. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  189. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  190. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  191. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  192. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  193. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  194. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  195. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  196. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  197. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  198. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  199. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  200. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  201. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  202. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  203. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  204. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  205. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  206. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  207. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  208. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  209. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  210. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  211. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  212. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  213. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  214. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  215. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  216. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  217. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  218. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  219. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/created_api_key.py +0 -0
  220. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential.py +0 -0
  221. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_create_params.py +0 -0
  222. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_list_params.py +0 -0
  223. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider.py +0 -0
  224. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  225. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_item.py +0 -0
  226. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  227. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_params.py +0 -0
  228. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  229. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  230. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  231. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/credential_update_params.py +0 -0
  232. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_create_params.py +0 -0
  233. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_create_response.py +0 -0
  234. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_params.py +0 -0
  235. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_response.py +0 -0
  236. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_list_params.py +0 -0
  237. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_list_response.py +0 -0
  238. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  239. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/deployment_state_event.py +0 -0
  240. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  241. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/extension_list_params.py +0 -0
  242. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/extension_list_response.py +0 -0
  243. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/extension_upload_params.py +0 -0
  244. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/extension_upload_response.py +0 -0
  245. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_create_params.py +0 -0
  246. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_create_response.py +0 -0
  247. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_params.py +0 -0
  248. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_response.py +0 -0
  249. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  250. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_list_params.py +0 -0
  251. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_list_response.py +0 -0
  252. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  253. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_state_event.py +0 -0
  254. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_update_params.py +0 -0
  255. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/invocation_update_response.py +0 -0
  256. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/profile.py +0 -0
  257. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/profile_create_params.py +0 -0
  258. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/profile_list_params.py +0 -0
  259. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/project.py +0 -0
  260. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/project_create_params.py +0 -0
  261. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/project_list_params.py +0 -0
  262. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/project_update_params.py +0 -0
  263. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/projects/__init__.py +0 -0
  264. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  265. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/projects/project_limits.py +0 -0
  266. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_check_params.py +0 -0
  267. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_check_response.py +0 -0
  268. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_create_params.py +0 -0
  269. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_create_response.py +0 -0
  270. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_list_params.py +0 -0
  271. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_list_response.py +0 -0
  272. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  273. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/__init__.py +0 -0
  274. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/app_action.py +0 -0
  275. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/browser_extension.py +0 -0
  276. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/browser_profile.py +0 -0
  277. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  278. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/error_detail.py +0 -0
  279. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/error_event.py +0 -0
  280. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/error_model.py +0 -0
  281. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  282. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared/log_event.py +0 -0
  283. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared_params/__init__.py +0 -0
  284. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  285. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  286. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  287. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/tags.py +0 -0
  288. {kernel-0.63.0 → kernel-0.65.0}/src/kernel/types/tags_param.py +0 -0
  289. {kernel-0.63.0 → kernel-0.65.0}/tests/__init__.py +0 -0
  290. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/__init__.py +0 -0
  291. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/auth/__init__.py +0 -0
  292. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/auth/test_connections.py +0 -0
  293. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/__init__.py +0 -0
  294. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  295. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  296. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_computer.py +0 -0
  297. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_fs.py +0 -0
  298. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_logs.py +0 -0
  299. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  300. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_process.py +0 -0
  301. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_replays.py +0 -0
  302. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
  303. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/projects/__init__.py +0 -0
  304. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/projects/test_limits.py +0 -0
  305. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_api_keys.py +0 -0
  306. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_apps.py +0 -0
  307. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_credential_providers.py +0 -0
  308. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_credentials.py +0 -0
  309. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_deployments.py +0 -0
  310. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_extensions.py +0 -0
  311. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_invocations.py +0 -0
  312. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_profiles.py +0 -0
  313. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_projects.py +0 -0
  314. {kernel-0.63.0 → kernel-0.65.0}/tests/api_resources/test_proxies.py +0 -0
  315. {kernel-0.63.0 → kernel-0.65.0}/tests/conftest.py +0 -0
  316. {kernel-0.63.0 → kernel-0.65.0}/tests/sample_file.txt +0 -0
  317. {kernel-0.63.0 → kernel-0.65.0}/tests/test_browser_routing.py +0 -0
  318. {kernel-0.63.0 → kernel-0.65.0}/tests/test_client.py +0 -0
  319. {kernel-0.63.0 → kernel-0.65.0}/tests/test_extract_files.py +0 -0
  320. {kernel-0.63.0 → kernel-0.65.0}/tests/test_files.py +0 -0
  321. {kernel-0.63.0 → kernel-0.65.0}/tests/test_models.py +0 -0
  322. {kernel-0.63.0 → kernel-0.65.0}/tests/test_qs.py +0 -0
  323. {kernel-0.63.0 → kernel-0.65.0}/tests/test_required_args.py +0 -0
  324. {kernel-0.63.0 → kernel-0.65.0}/tests/test_response.py +0 -0
  325. {kernel-0.63.0 → kernel-0.65.0}/tests/test_streaming.py +0 -0
  326. {kernel-0.63.0 → kernel-0.65.0}/tests/test_transform.py +0 -0
  327. {kernel-0.63.0 → kernel-0.65.0}/tests/test_utils/test_datetime_parse.py +0 -0
  328. {kernel-0.63.0 → kernel-0.65.0}/tests/test_utils/test_json.py +0 -0
  329. {kernel-0.63.0 → kernel-0.65.0}/tests/test_utils/test_path.py +0 -0
  330. {kernel-0.63.0 → kernel-0.65.0}/tests/test_utils/test_proxy.py +0 -0
  331. {kernel-0.63.0 → kernel-0.65.0}/tests/test_utils/test_typing.py +0 -0
  332. {kernel-0.63.0 → kernel-0.65.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.65.0"
3
+ }
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.65.0 (2026-06-08)
4
+
5
+ Full Changelog: [v0.64.0...v0.65.0](https://github.com/kernel/kernel-python-sdk/compare/v0.64.0...v0.65.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** allow setting a name and tags on a pool-acquired browser session ([2977911](https://github.com/kernel/kernel-python-sdk/commit/2977911151def0f4193c5e8063ab33800d167585))
10
+ * **api:** support id-or-name lookup on browser session get/patch/delete ([7e6d287](https://github.com/kernel/kernel-python-sdk/commit/7e6d28795b4b2b9f9e14cf14711a72053530b576))
11
+
12
+ ## 0.64.0 (2026-06-05)
13
+
14
+ Full Changelog: [v0.63.0...v0.64.0](https://github.com/kernel/kernel-python-sdk/compare/v0.63.0...v0.64.0)
15
+
16
+ ### Features
17
+
18
+ * Telemetry: expose opt-in categories + full event taxonomy (public API) ([a1502dd](https://github.com/kernel/kernel-python-sdk/commit/a1502dd2639b97fb14ec57bfef5e37668b379db7))
19
+
3
20
  ## 0.63.0 (2026-06-05)
4
21
 
5
22
  Full Changelog: [v0.62.0...v0.63.0](https://github.com/kernel/kernel-python-sdk/compare/v0.62.0...v0.63.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.63.0
3
+ Version: 0.65.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
@@ -95,11 +95,11 @@ from kernel.types import (
95
95
  Methods:
96
96
 
97
97
  - <code title="post /browsers">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">create</a>(\*\*<a href="src/kernel/types/browser_create_params.py">params</a>) -> <a href="./src/kernel/types/browser_create_response.py">BrowserCreateResponse</a></code>
98
- - <code title="get /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">retrieve</a>(id, \*\*<a href="src/kernel/types/browser_retrieve_params.py">params</a>) -> <a href="./src/kernel/types/browser_retrieve_response.py">BrowserRetrieveResponse</a></code>
99
- - <code title="patch /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">update</a>(id, \*\*<a href="src/kernel/types/browser_update_params.py">params</a>) -> <a href="./src/kernel/types/browser_update_response.py">BrowserUpdateResponse</a></code>
98
+ - <code title="get /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">retrieve</a>(id_or_name, \*\*<a href="src/kernel/types/browser_retrieve_params.py">params</a>) -> <a href="./src/kernel/types/browser_retrieve_response.py">BrowserRetrieveResponse</a></code>
99
+ - <code title="patch /browsers/{id_or_name}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">update</a>(id_or_name, \*\*<a href="src/kernel/types/browser_update_params.py">params</a>) -> <a href="./src/kernel/types/browser_update_response.py">BrowserUpdateResponse</a></code>
100
100
  - <code title="get /browsers">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">list</a>(\*\*<a href="src/kernel/types/browser_list_params.py">params</a>) -> <a href="./src/kernel/types/browser_list_response.py">SyncOffsetPagination[BrowserListResponse]</a></code>
101
101
  - <code title="post /browsers/{id}/curl">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">curl</a>(id, \*\*<a href="src/kernel/types/browser_curl_params.py">params</a>) -> <a href="./src/kernel/types/browser_curl_response.py">BrowserCurlResponse</a></code>
102
- - <code title="delete /browsers/{id}">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">delete_by_id</a>(id) -> None</code>
102
+ - <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>
103
103
  - <code title="post /browsers/{id}/extensions">client.browsers.<a href="./src/kernel/resources/browsers/browsers.py">load_extensions</a>(id, \*\*<a href="src/kernel/types/browser_load_extensions_params.py">params</a>) -> None</code>
104
104
 
105
105
  ## Telemetry
@@ -108,7 +108,11 @@ Types:
108
108
 
109
109
  ```python
110
110
  from kernel.types.browsers import (
111
+ BrowserAPICallEvent,
111
112
  BrowserCallStack,
113
+ BrowserCaptchaSolveResultEvent,
114
+ BrowserCdpConnectEvent,
115
+ BrowserCdpDisconnectEvent,
112
116
  BrowserConsoleErrorEvent,
113
117
  BrowserConsoleLogEvent,
114
118
  BrowserEventContext,
@@ -117,6 +121,8 @@ from kernel.types.browsers import (
117
121
  BrowserInteractionClickEvent,
118
122
  BrowserInteractionKeyEvent,
119
123
  BrowserInteractionScrollSettledEvent,
124
+ BrowserLiveViewConnectEvent,
125
+ BrowserLiveViewDisconnectEvent,
120
126
  BrowserMonitorDisconnectedEvent,
121
127
  BrowserMonitorInitFailedEvent,
122
128
  BrowserMonitorReconnectFailedEvent,
@@ -134,6 +140,8 @@ from kernel.types.browsers import (
134
140
  BrowserPageNavigationEvent,
135
141
  BrowserPageNavigationSettledEvent,
136
142
  BrowserPageTabOpenedEvent,
143
+ BrowserServiceCrashedEvent,
144
+ BrowserSystemOomKillEvent,
137
145
  BrowserTelemetryCategoriesConfig,
138
146
  BrowserTelemetryCategoryConfig,
139
147
  BrowserTelemetryConfig,
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.63.0"
3
+ version = "0.65.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "kernel"
4
- __version__ = "0.63.0" # x-release-please-version
4
+ __version__ = "0.65.0" # x-release-please-version
@@ -26,6 +26,7 @@ from .._response import (
26
26
  )
27
27
  from ..pagination import SyncOffsetPagination, AsyncOffsetPagination
28
28
  from .._base_client import AsyncPaginator, make_request_options
29
+ from ..types.tags_param import TagsParam
29
30
  from ..types.browser_pool import BrowserPool
30
31
  from ..types.browser_pool_acquire_response import BrowserPoolAcquireResponse
31
32
  from ..types.shared_params.browser_profile import BrowserProfile
@@ -417,6 +418,8 @@ class BrowserPoolsResource(SyncAPIResource):
417
418
  id_or_name: str,
418
419
  *,
419
420
  acquire_timeout_seconds: int | Omit = omit,
421
+ name: str | Omit = omit,
422
+ tags: TagsParam | Omit = omit,
420
423
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
421
424
  # The extra values given here take precedence over values defined on the client or passed to this method.
422
425
  extra_headers: Headers | None = None,
@@ -436,6 +439,15 @@ class BrowserPoolsResource(SyncAPIResource):
436
439
  calculated time it would take to fill the pool at the currently configured fill
437
440
  rate.
438
441
 
442
+ name: Optional human-readable name for the acquired browser session, used to find it
443
+ later in the dashboard. Must be unique among active sessions within the pool's
444
+ project. Applies to this lease only and is cleared when the browser is released
445
+ back to the pool.
446
+
447
+ tags: Optional user-defined key-value tags for the acquired browser session, used to
448
+ find and group sessions later. Applies to this lease only and are cleared when
449
+ the browser is released back to the pool. Up to 50 pairs.
450
+
439
451
  extra_headers: Send extra headers
440
452
 
441
453
  extra_query: Add additional query parameters to the request
@@ -449,7 +461,11 @@ class BrowserPoolsResource(SyncAPIResource):
449
461
  return self._post(
450
462
  path_template("/browser_pools/{id_or_name}/acquire", id_or_name=id_or_name),
451
463
  body=maybe_transform(
452
- {"acquire_timeout_seconds": acquire_timeout_seconds},
464
+ {
465
+ "acquire_timeout_seconds": acquire_timeout_seconds,
466
+ "name": name,
467
+ "tags": tags,
468
+ },
453
469
  browser_pool_acquire_params.BrowserPoolAcquireParams,
454
470
  ),
455
471
  options=make_request_options(
@@ -923,6 +939,8 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
923
939
  id_or_name: str,
924
940
  *,
925
941
  acquire_timeout_seconds: int | Omit = omit,
942
+ name: str | Omit = omit,
943
+ tags: TagsParam | Omit = omit,
926
944
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
927
945
  # The extra values given here take precedence over values defined on the client or passed to this method.
928
946
  extra_headers: Headers | None = None,
@@ -942,6 +960,15 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
942
960
  calculated time it would take to fill the pool at the currently configured fill
943
961
  rate.
944
962
 
963
+ name: Optional human-readable name for the acquired browser session, used to find it
964
+ later in the dashboard. Must be unique among active sessions within the pool's
965
+ project. Applies to this lease only and is cleared when the browser is released
966
+ back to the pool.
967
+
968
+ tags: Optional user-defined key-value tags for the acquired browser session, used to
969
+ find and group sessions later. Applies to this lease only and are cleared when
970
+ the browser is released back to the pool. Up to 50 pairs.
971
+
945
972
  extra_headers: Send extra headers
946
973
 
947
974
  extra_query: Add additional query parameters to the request
@@ -955,7 +982,11 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
955
982
  return await self._post(
956
983
  path_template("/browser_pools/{id_or_name}/acquire", id_or_name=id_or_name),
957
984
  body=await async_maybe_transform(
958
- {"acquire_timeout_seconds": acquire_timeout_seconds},
985
+ {
986
+ "acquire_timeout_seconds": acquire_timeout_seconds,
987
+ "name": name,
988
+ "tags": tags,
989
+ },
959
990
  browser_pool_acquire_params.BrowserPoolAcquireParams,
960
991
  ),
961
992
  options=make_request_options(
@@ -292,7 +292,7 @@ class BrowsersResource(SyncAPIResource):
292
292
 
293
293
  def retrieve(
294
294
  self,
295
- id: str,
295
+ id_or_name: str,
296
296
  *,
297
297
  include_deleted: bool | Omit = omit,
298
298
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -316,10 +316,10 @@ class BrowsersResource(SyncAPIResource):
316
316
 
317
317
  timeout: Override the client-level default timeout for this request, in seconds
318
318
  """
319
- if not id:
320
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
319
+ if not id_or_name:
320
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
321
321
  return self._get(
322
- path_template("/browsers/{id}", id=id),
322
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
323
323
  options=make_request_options(
324
324
  extra_headers=extra_headers,
325
325
  extra_query=extra_query,
@@ -334,7 +334,7 @@ class BrowsersResource(SyncAPIResource):
334
334
 
335
335
  def update(
336
336
  self,
337
- id: str,
337
+ id_or_name: str,
338
338
  *,
339
339
  disable_default_proxy: bool | Omit = omit,
340
340
  profile: BrowserProfile | Omit = omit,
@@ -377,10 +377,10 @@ class BrowsersResource(SyncAPIResource):
377
377
 
378
378
  timeout: Override the client-level default timeout for this request, in seconds
379
379
  """
380
- if not id:
381
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
380
+ if not id_or_name:
381
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
382
382
  return self._patch(
383
- path_template("/browsers/{id}", id=id),
383
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
384
384
  body=maybe_transform(
385
385
  {
386
386
  "disable_default_proxy": disable_default_proxy,
@@ -590,7 +590,7 @@ class BrowsersResource(SyncAPIResource):
590
590
 
591
591
  def delete_by_id(
592
592
  self,
593
- id: str,
593
+ id_or_name: str,
594
594
  *,
595
595
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
596
596
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -600,7 +600,7 @@ class BrowsersResource(SyncAPIResource):
600
600
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
601
601
  ) -> None:
602
602
  """
603
- Delete a browser session by ID
603
+ Delete a browser session by ID or name
604
604
 
605
605
  Args:
606
606
  extra_headers: Send extra headers
@@ -611,11 +611,11 @@ class BrowsersResource(SyncAPIResource):
611
611
 
612
612
  timeout: Override the client-level default timeout for this request, in seconds
613
613
  """
614
- if not id:
615
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
614
+ if not id_or_name:
615
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
616
616
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
617
617
  return self._delete(
618
- path_template("/browsers/{id}", id=id),
618
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
619
619
  options=make_request_options(
620
620
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
621
621
  ),
@@ -857,7 +857,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
857
857
 
858
858
  async def retrieve(
859
859
  self,
860
- id: str,
860
+ id_or_name: str,
861
861
  *,
862
862
  include_deleted: bool | Omit = omit,
863
863
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -881,10 +881,10 @@ class AsyncBrowsersResource(AsyncAPIResource):
881
881
 
882
882
  timeout: Override the client-level default timeout for this request, in seconds
883
883
  """
884
- if not id:
885
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
884
+ if not id_or_name:
885
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
886
886
  return await self._get(
887
- path_template("/browsers/{id}", id=id),
887
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
888
888
  options=make_request_options(
889
889
  extra_headers=extra_headers,
890
890
  extra_query=extra_query,
@@ -899,7 +899,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
899
899
 
900
900
  async def update(
901
901
  self,
902
- id: str,
902
+ id_or_name: str,
903
903
  *,
904
904
  disable_default_proxy: bool | Omit = omit,
905
905
  profile: BrowserProfile | Omit = omit,
@@ -942,10 +942,10 @@ class AsyncBrowsersResource(AsyncAPIResource):
942
942
 
943
943
  timeout: Override the client-level default timeout for this request, in seconds
944
944
  """
945
- if not id:
946
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
945
+ if not id_or_name:
946
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
947
947
  return await self._patch(
948
- path_template("/browsers/{id}", id=id),
948
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
949
949
  body=await async_maybe_transform(
950
950
  {
951
951
  "disable_default_proxy": disable_default_proxy,
@@ -1155,7 +1155,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
1155
1155
 
1156
1156
  async def delete_by_id(
1157
1157
  self,
1158
- id: str,
1158
+ id_or_name: str,
1159
1159
  *,
1160
1160
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1161
1161
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -1165,7 +1165,7 @@ class AsyncBrowsersResource(AsyncAPIResource):
1165
1165
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
1166
1166
  ) -> None:
1167
1167
  """
1168
- Delete a browser session by ID
1168
+ Delete a browser session by ID or name
1169
1169
 
1170
1170
  Args:
1171
1171
  extra_headers: Send extra headers
@@ -1176,11 +1176,11 @@ class AsyncBrowsersResource(AsyncAPIResource):
1176
1176
 
1177
1177
  timeout: Override the client-level default timeout for this request, in seconds
1178
1178
  """
1179
- if not id:
1180
- raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1179
+ if not id_or_name:
1180
+ raise ValueError(f"Expected a non-empty value for `id_or_name` but received {id_or_name!r}")
1181
1181
  extra_headers = {"Accept": "*/*", **(extra_headers or {})}
1182
1182
  return await self._delete(
1183
- path_template("/browsers/{id}", id=id),
1183
+ path_template("/browsers/{id_or_name}", id_or_name=id_or_name),
1184
1184
  options=make_request_options(
1185
1185
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
1186
1186
  ),
@@ -131,17 +131,18 @@ class Telemetry(TypedDict, total=False):
131
131
  """
132
132
 
133
133
  browser: BrowserTelemetryCategoriesConfigParam
134
- """Per-category enable/disable flags.
134
+ """Per-category capture flags.
135
135
 
136
- If enabled is true and browser is omitted or empty, the VM default category set
137
- is used. Explicitly disabling all four categories stops capture on update and
138
- starts no capture on create.
136
+ Selection is opt-in: only the categories set to enabled=true are captured;
137
+ anything omitted is off. If enabled is true and browser is omitted or empty, the
138
+ default category set is used. A browser config that enables nothing stops
139
+ capture on update and starts no capture on create.
139
140
  """
140
141
 
141
142
  enabled: bool
142
143
  """Request shortcut for browser telemetry capture.
143
144
 
144
- True enables capture using VM defaults unless browser category settings are
145
- provided. False stops capture on update and starts no capture on create.
146
- enabled=false cannot be combined with browser category settings.
145
+ True enables capture using the default category set unless browser category
146
+ settings are provided. False stops capture on update and starts no capture on
147
+ create. enabled=false cannot be combined with browser category settings.
147
148
  """
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import TypedDict
6
+
7
+ from .tags_param import TagsParam
8
+
9
+ __all__ = ["BrowserPoolAcquireParams"]
10
+
11
+
12
+ class BrowserPoolAcquireParams(TypedDict, total=False):
13
+ acquire_timeout_seconds: int
14
+ """Maximum number of seconds to wait for a browser to be available.
15
+
16
+ Defaults to the calculated time it would take to fill the pool at the currently
17
+ configured fill rate.
18
+ """
19
+
20
+ name: str
21
+ """
22
+ Optional human-readable name for the acquired browser session, used to find it
23
+ later in the dashboard. Must be unique among active sessions within the pool's
24
+ project. Applies to this lease only and is cleared when the browser is released
25
+ back to the pool.
26
+ """
27
+
28
+ tags: TagsParam
29
+ """
30
+ Optional user-defined key-value tags for the acquired browser session, used to
31
+ find and group sessions later. Applies to this lease only and are cleared when
32
+ the browser is released back to the pool. Up to 50 pairs.
33
+ """
@@ -52,19 +52,20 @@ class Telemetry(TypedDict, total=False):
52
52
  """
53
53
 
54
54
  browser: BrowserTelemetryCategoriesConfigParam
55
- """Per-category enable/disable flags.
55
+ """Per-category capture flags.
56
56
 
57
- If enabled is true and browser is omitted or empty, the VM default category set
58
- is used. Explicitly disabling all four categories stops capture on update and
59
- starts no capture on create.
57
+ Selection is opt-in: only the categories set to enabled=true are captured;
58
+ anything omitted is off. If enabled is true and browser is omitted or empty, the
59
+ default category set is used. A browser config that enables nothing stops
60
+ capture on update and starts no capture on create.
60
61
  """
61
62
 
62
63
  enabled: bool
63
64
  """Request shortcut for browser telemetry capture.
64
65
 
65
- True enables capture using VM defaults unless browser category settings are
66
- provided. False stops capture on update and starts no capture on create.
67
- enabled=false cannot be combined with browser category settings.
66
+ True enables capture using the default category set unless browser category
67
+ settings are provided. False stops capture on update and starts no capture on
68
+ create. enabled=false cannot be combined with browser category settings.
68
69
  """
69
70
 
70
71
 
@@ -28,6 +28,7 @@ from .process_exec_response import ProcessExecResponse as ProcessExecResponse
28
28
  from .process_kill_response import ProcessKillResponse as ProcessKillResponse
29
29
  from .process_resize_params import ProcessResizeParams as ProcessResizeParams
30
30
  from .replay_start_response import ReplayStartResponse as ReplayStartResponse
31
+ from .browser_api_call_event import BrowserAPICallEvent as BrowserAPICallEvent
31
32
  from .browser_page_lcp_event import BrowserPageLcpEvent as BrowserPageLcpEvent
32
33
  from .computer_scroll_params import ComputerScrollParams as ComputerScrollParams
33
34
  from .process_spawn_response import ProcessSpawnResponse as ProcessSpawnResponse
@@ -37,6 +38,7 @@ from .browser_telemetry_event import BrowserTelemetryEvent as BrowserTelemetryEv
37
38
  from .process_resize_response import ProcessResizeResponse as ProcessResizeResponse
38
39
  from .process_status_response import ProcessStatusResponse as ProcessStatusResponse
39
40
  from .browser_telemetry_config import BrowserTelemetryConfig as BrowserTelemetryConfig
41
+ from .browser_cdp_connect_event import BrowserCdpConnectEvent as BrowserCdpConnectEvent
40
42
  from .browser_console_log_event import BrowserConsoleLogEvent as BrowserConsoleLogEvent
41
43
  from .computer_press_key_params import ComputerPressKeyParams as ComputerPressKeyParams
42
44
  from .computer_type_text_params import ComputerTypeTextParams as ComputerTypeTextParams
@@ -51,14 +53,18 @@ from .computer_move_mouse_params import ComputerMoveMouseParams as ComputerMoveM
51
53
  from .browser_console_error_event import BrowserConsoleErrorEvent as BrowserConsoleErrorEvent
52
54
  from .computer_click_mouse_params import ComputerClickMouseParams as ComputerClickMouseParams
53
55
  from .playwright_execute_response import PlaywrightExecuteResponse as PlaywrightExecuteResponse
56
+ from .browser_cdp_disconnect_event import BrowserCdpDisconnectEvent as BrowserCdpDisconnectEvent
54
57
  from .browser_interaction_key_event import BrowserInteractionKeyEvent as BrowserInteractionKeyEvent
55
58
  from .browser_network_request_event import BrowserNetworkRequestEvent as BrowserNetworkRequestEvent
56
59
  from .browser_page_navigation_event import BrowserPageNavigationEvent as BrowserPageNavigationEvent
57
60
  from .browser_page_tab_opened_event import BrowserPageTabOpenedEvent as BrowserPageTabOpenedEvent
61
+ from .browser_service_crashed_event import BrowserServiceCrashedEvent as BrowserServiceCrashedEvent
62
+ from .browser_system_oom_kill_event import BrowserSystemOomKillEvent as BrowserSystemOomKillEvent
58
63
  from .f_set_file_permissions_params import FSetFilePermissionsParams as FSetFilePermissionsParams
59
64
  from .browser_network_response_event import BrowserNetworkResponseEvent as BrowserNetworkResponseEvent
60
65
  from .process_stdout_stream_response import ProcessStdoutStreamResponse as ProcessStdoutStreamResponse
61
66
  from .browser_interaction_click_event import BrowserInteractionClickEvent as BrowserInteractionClickEvent
67
+ from .browser_live_view_connect_event import BrowserLiveViewConnectEvent as BrowserLiveViewConnectEvent
62
68
  from .browser_page_layout_shift_event import BrowserPageLayoutShiftEvent as BrowserPageLayoutShiftEvent
63
69
  from .computer_write_clipboard_params import ComputerWriteClipboardParams as ComputerWriteClipboardParams
64
70
  from .browser_monitor_screenshot_event import BrowserMonitorScreenshotEvent as BrowserMonitorScreenshotEvent
@@ -67,6 +73,8 @@ from .browser_monitor_init_failed_event import BrowserMonitorInitFailedEvent as
67
73
  from .browser_monitor_reconnected_event import BrowserMonitorReconnectedEvent as BrowserMonitorReconnectedEvent
68
74
  from .browser_page_layout_settled_event import BrowserPageLayoutSettledEvent as BrowserPageLayoutSettledEvent
69
75
  from .browser_telemetry_category_config import BrowserTelemetryCategoryConfig as BrowserTelemetryCategoryConfig
76
+ from .browser_captcha_solve_result_event import BrowserCaptchaSolveResultEvent as BrowserCaptchaSolveResultEvent
77
+ from .browser_live_view_disconnect_event import BrowserLiveViewDisconnectEvent as BrowserLiveViewDisconnectEvent
70
78
  from .browser_monitor_disconnected_event import BrowserMonitorDisconnectedEvent as BrowserMonitorDisconnectedEvent
71
79
  from .computer_capture_screenshot_params import ComputerCaptureScreenshotParams as ComputerCaptureScreenshotParams
72
80
  from .browser_telemetry_categories_config import BrowserTelemetryCategoriesConfig as BrowserTelemetryCategoriesConfig
@@ -0,0 +1,42 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+ from .browser_event_source import BrowserEventSource
8
+
9
+ __all__ = ["BrowserAPICallEvent", "Data"]
10
+
11
+
12
+ class Data(BaseModel):
13
+ duration_ms: float
14
+ """Wall-clock duration of the handler in milliseconds."""
15
+
16
+ operation_id: str
17
+ """OpenAPI operationId of the matched route (e.g. processExec, takeScreenshot)."""
18
+
19
+ request_id: str
20
+ """Per-request identifier from the in-VM API request middleware."""
21
+
22
+ status: int
23
+ """HTTP response status code."""
24
+
25
+
26
+ class BrowserAPICallEvent(BaseModel):
27
+ """An agent-driven HTTP call handled by the in-VM API server."""
28
+
29
+ category: Literal["control"]
30
+
31
+ source: BrowserEventSource
32
+ """Provenance metadata identifying which producer emitted the event."""
33
+
34
+ ts: int
35
+ """Event timestamp in Unix microseconds."""
36
+
37
+ type: Literal["api_call"]
38
+
39
+ data: Optional[Data] = None
40
+
41
+ truncated: Optional[bool] = None
42
+ """True if the data field was truncated due to size limits."""
@@ -0,0 +1,63 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+ from .browser_event_source import BrowserEventSource
8
+
9
+ __all__ = ["BrowserCaptchaSolveResultEvent", "Data"]
10
+
11
+
12
+ class Data(BaseModel):
13
+ captcha_type: Literal["hcaptcha", "recaptcha_v2", "recaptcha_v3", "turnstile", "geetest", "other"]
14
+ """Captcha vendor family.
15
+
16
+ Provider-specific task names are normalized into this set; anything not covered
17
+ is reported as other.
18
+ """
19
+
20
+ duration_ms: float
21
+ """Wall-clock duration from solve start to terminal outcome."""
22
+
23
+ status: Literal["success", "failure", "timeout", "abandoned"]
24
+ """Terminal outcome.
25
+
26
+ success: solver returned a usable solution. failure: solver returned an error
27
+ (see error_code). timeout: solver did not return within the caller's wait
28
+ budget. abandoned: caller cancelled or the page navigated away mid-solve.
29
+ """
30
+
31
+ error_code: Optional[str] = None
32
+ """Solver-specific error code on failure (e.g.
33
+
34
+ ERROR_CAPTCHA_UNSOLVABLE). Absent on success.
35
+ """
36
+
37
+ task_id: Optional[str] = None
38
+ """Solver-assigned identifier. Opaque, useful for support cross-references."""
39
+
40
+ website_host: Optional[str] = None
41
+ """Host of the page where the captcha was solved."""
42
+
43
+ website_path: Optional[str] = None
44
+ """Path of the page where the captcha was solved. Query string excluded."""
45
+
46
+
47
+ class BrowserCaptchaSolveResultEvent(BaseModel):
48
+ """A captcha solve attempt reached a terminal outcome."""
49
+
50
+ category: Literal["captcha"]
51
+
52
+ source: BrowserEventSource
53
+ """Provenance metadata identifying which producer emitted the event."""
54
+
55
+ ts: int
56
+ """Event timestamp in Unix microseconds."""
57
+
58
+ type: Literal["captcha_solve_result"]
59
+
60
+ data: Optional[Data] = None
61
+
62
+ truncated: Optional[bool] = None
63
+ """True if the data field was truncated due to size limits."""
@@ -0,0 +1,29 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from typing import Optional
4
+ from typing_extensions import Literal
5
+
6
+ from ..._models import BaseModel
7
+ from .browser_event_source import BrowserEventSource
8
+
9
+ __all__ = ["BrowserCdpConnectEvent"]
10
+
11
+
12
+ class BrowserCdpConnectEvent(BaseModel):
13
+ """An external client (e.g.
14
+
15
+ customer SDK, Playwright, Puppeteer) connected to the CDP WebSocket proxy on this VM.
16
+ """
17
+
18
+ category: Literal["connection"]
19
+
20
+ source: BrowserEventSource
21
+ """Provenance metadata identifying which producer emitted the event."""
22
+
23
+ ts: int
24
+ """Event timestamp in Unix microseconds."""
25
+
26
+ type: Literal["cdp_connect"]
27
+
28
+ truncated: Optional[bool] = None
29
+ """True if the data field was truncated due to size limits."""