kernel 0.64.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 (330) hide show
  1. kernel-0.65.0/.release-please-manifest.json +3 -0
  2. {kernel-0.64.0 → kernel-0.65.0}/CHANGELOG.md +9 -0
  3. {kernel-0.64.0 → kernel-0.65.0}/PKG-INFO +1 -1
  4. {kernel-0.64.0 → kernel-0.65.0}/api.md +3 -3
  5. {kernel-0.64.0 → kernel-0.65.0}/pyproject.toml +1 -1
  6. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_version.py +1 -1
  7. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browser_pools.py +33 -2
  8. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/browsers.py +26 -26
  9. kernel-0.65.0/src/kernel/types/browser_pool_acquire_params.py +33 -0
  10. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_browser_pools.py +10 -0
  11. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_browsers.py +26 -26
  12. kernel-0.64.0/.release-please-manifest.json +0 -3
  13. kernel-0.64.0/src/kernel/types/browser_pool_acquire_params.py +0 -16
  14. {kernel-0.64.0 → kernel-0.65.0}/.gitignore +0 -0
  15. {kernel-0.64.0 → kernel-0.65.0}/CONTRIBUTING.md +0 -0
  16. {kernel-0.64.0 → kernel-0.65.0}/LICENSE +0 -0
  17. {kernel-0.64.0 → kernel-0.65.0}/README.md +0 -0
  18. {kernel-0.64.0 → kernel-0.65.0}/SECURITY.md +0 -0
  19. {kernel-0.64.0 → kernel-0.65.0}/bin/check-release-environment +0 -0
  20. {kernel-0.64.0 → kernel-0.65.0}/bin/publish-pypi +0 -0
  21. {kernel-0.64.0 → kernel-0.65.0}/examples/.keep +0 -0
  22. {kernel-0.64.0 → kernel-0.65.0}/examples/browser_routing.py +0 -0
  23. {kernel-0.64.0 → kernel-0.65.0}/examples/browser_telemetry.py +0 -0
  24. {kernel-0.64.0 → kernel-0.65.0}/noxfile.py +0 -0
  25. {kernel-0.64.0 → kernel-0.65.0}/release-please-config.json +0 -0
  26. {kernel-0.64.0 → kernel-0.65.0}/requirements-dev.lock +0 -0
  27. {kernel-0.64.0 → kernel-0.65.0}/requirements.lock +0 -0
  28. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/__init__.py +0 -0
  29. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_base_client.py +0 -0
  30. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_client.py +0 -0
  31. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_compat.py +0 -0
  32. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_constants.py +0 -0
  33. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_exceptions.py +0 -0
  34. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_files.py +0 -0
  35. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_models.py +0 -0
  36. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_qs.py +0 -0
  37. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_resource.py +0 -0
  38. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_response.py +0 -0
  39. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_streaming.py +0 -0
  40. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_types.py +0 -0
  41. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/__init__.py +0 -0
  42. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_compat.py +0 -0
  43. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  44. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_json.py +0 -0
  45. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_logs.py +0 -0
  46. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_path.py +0 -0
  47. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_proxy.py +0 -0
  48. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_reflection.py +0 -0
  49. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  50. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_streams.py +0 -0
  51. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_sync.py +0 -0
  52. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_transform.py +0 -0
  53. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_typing.py +0 -0
  54. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/_utils/_utils.py +0 -0
  55. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/app_framework.py +0 -0
  56. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/.keep +0 -0
  57. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  58. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  59. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  60. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/lib/browser_routing/util.py +0 -0
  61. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/pagination.py +0 -0
  62. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/py.typed +0 -0
  63. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/__init__.py +0 -0
  64. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/api_keys.py +0 -0
  65. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/apps.py +0 -0
  66. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/__init__.py +0 -0
  67. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/auth.py +0 -0
  68. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/auth/connections.py +0 -0
  69. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/__init__.py +0 -0
  70. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/computer.py +0 -0
  71. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  72. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  73. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  74. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/logs.py +0 -0
  75. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/playwright.py +0 -0
  76. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/process.py +0 -0
  77. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/replays.py +0 -0
  78. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/browsers/telemetry.py +0 -0
  79. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/credential_providers.py +0 -0
  80. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/credentials.py +0 -0
  81. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/deployments.py +0 -0
  82. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/extensions.py +0 -0
  83. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/invocations.py +0 -0
  84. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/profiles.py +0 -0
  85. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/__init__.py +0 -0
  86. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/limits.py +0 -0
  87. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/projects/projects.py +0 -0
  88. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/resources/proxies.py +0 -0
  89. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/__init__.py +0 -0
  90. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key.py +0 -0
  91. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_create_params.py +0 -0
  92. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_list_params.py +0 -0
  93. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/api_key_update_params.py +0 -0
  94. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/app_list_params.py +0 -0
  95. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/app_list_response.py +0 -0
  96. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/__init__.py +0 -0
  97. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_create_params.py +0 -0
  98. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  99. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  100. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_login_params.py +0 -0
  101. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  102. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/connection_update_params.py +0 -0
  103. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/login_response.py +0 -0
  104. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/managed_auth.py +0 -0
  105. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  106. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_create_params.py +0 -0
  107. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_create_response.py +0 -0
  108. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_curl_params.py +0 -0
  109. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_curl_response.py +0 -0
  110. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_list_params.py +0 -0
  111. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_list_response.py +0 -0
  112. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  113. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool.py +0 -0
  114. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  115. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_create_params.py +0 -0
  116. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  117. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_list_params.py +0 -0
  118. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_ref.py +0 -0
  119. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  120. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_pool_update_params.py +0 -0
  121. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  122. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  123. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_update_params.py +0 -0
  124. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_update_response.py +0 -0
  125. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browser_usage.py +0 -0
  126. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/__init__.py +0 -0
  127. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
  128. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  129. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
  130. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
  131. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
  132. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  133. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  134. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  135. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  136. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  137. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  138. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  139. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  140. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
  141. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
  142. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
  143. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
  144. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
  145. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
  146. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
  147. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  148. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  149. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  150. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  151. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  152. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  153. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  154. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  155. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  156. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  157. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  158. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  159. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
  160. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
  161. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
  162. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
  163. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
  164. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
  165. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  166. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
  167. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  168. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  169. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  170. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  171. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  172. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  173. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  174. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  175. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  176. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  177. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  178. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  179. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  180. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  181. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  182. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  183. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  184. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  185. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  186. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  187. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  188. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  189. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  190. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  191. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  192. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  193. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  194. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  195. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  196. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  197. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  198. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  199. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  200. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  201. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  202. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  203. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  204. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  205. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  206. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  207. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  208. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  209. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  210. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  211. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  212. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  213. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  214. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  215. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  216. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
  217. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/created_api_key.py +0 -0
  218. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential.py +0 -0
  219. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_create_params.py +0 -0
  220. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_list_params.py +0 -0
  221. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider.py +0 -0
  222. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  223. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_item.py +0 -0
  224. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  225. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_list_params.py +0 -0
  226. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  227. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  228. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  229. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/credential_update_params.py +0 -0
  230. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_create_params.py +0 -0
  231. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_create_response.py +0 -0
  232. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_params.py +0 -0
  233. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_follow_response.py +0 -0
  234. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_list_params.py +0 -0
  235. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_list_response.py +0 -0
  236. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  237. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/deployment_state_event.py +0 -0
  238. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  239. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_list_params.py +0 -0
  240. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_list_response.py +0 -0
  241. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_upload_params.py +0 -0
  242. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/extension_upload_response.py +0 -0
  243. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_create_params.py +0 -0
  244. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_create_response.py +0 -0
  245. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_params.py +0 -0
  246. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_follow_response.py +0 -0
  247. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  248. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_params.py +0 -0
  249. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_list_response.py +0 -0
  250. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  251. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_state_event.py +0 -0
  252. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_update_params.py +0 -0
  253. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/invocation_update_response.py +0 -0
  254. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile.py +0 -0
  255. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile_create_params.py +0 -0
  256. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/profile_list_params.py +0 -0
  257. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project.py +0 -0
  258. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_create_params.py +0 -0
  259. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_list_params.py +0 -0
  260. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/project_update_params.py +0 -0
  261. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/__init__.py +0 -0
  262. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  263. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/projects/project_limits.py +0 -0
  264. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_check_params.py +0 -0
  265. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_check_response.py +0 -0
  266. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_create_params.py +0 -0
  267. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_create_response.py +0 -0
  268. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_list_params.py +0 -0
  269. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_list_response.py +0 -0
  270. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  271. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/__init__.py +0 -0
  272. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/app_action.py +0 -0
  273. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_extension.py +0 -0
  274. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_profile.py +0 -0
  275. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  276. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_detail.py +0 -0
  277. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_event.py +0 -0
  278. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/error_model.py +0 -0
  279. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  280. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared/log_event.py +0 -0
  281. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/__init__.py +0 -0
  282. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  283. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  284. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  285. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/tags.py +0 -0
  286. {kernel-0.64.0 → kernel-0.65.0}/src/kernel/types/tags_param.py +0 -0
  287. {kernel-0.64.0 → kernel-0.65.0}/tests/__init__.py +0 -0
  288. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/__init__.py +0 -0
  289. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/auth/__init__.py +0 -0
  290. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/auth/test_connections.py +0 -0
  291. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/__init__.py +0 -0
  292. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  293. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  294. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_computer.py +0 -0
  295. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_fs.py +0 -0
  296. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_logs.py +0 -0
  297. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  298. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_process.py +0 -0
  299. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_replays.py +0 -0
  300. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
  301. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/projects/__init__.py +0 -0
  302. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/projects/test_limits.py +0 -0
  303. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_api_keys.py +0 -0
  304. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_apps.py +0 -0
  305. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_credential_providers.py +0 -0
  306. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_credentials.py +0 -0
  307. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_deployments.py +0 -0
  308. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_extensions.py +0 -0
  309. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_invocations.py +0 -0
  310. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_profiles.py +0 -0
  311. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_projects.py +0 -0
  312. {kernel-0.64.0 → kernel-0.65.0}/tests/api_resources/test_proxies.py +0 -0
  313. {kernel-0.64.0 → kernel-0.65.0}/tests/conftest.py +0 -0
  314. {kernel-0.64.0 → kernel-0.65.0}/tests/sample_file.txt +0 -0
  315. {kernel-0.64.0 → kernel-0.65.0}/tests/test_browser_routing.py +0 -0
  316. {kernel-0.64.0 → kernel-0.65.0}/tests/test_client.py +0 -0
  317. {kernel-0.64.0 → kernel-0.65.0}/tests/test_extract_files.py +0 -0
  318. {kernel-0.64.0 → kernel-0.65.0}/tests/test_files.py +0 -0
  319. {kernel-0.64.0 → kernel-0.65.0}/tests/test_models.py +0 -0
  320. {kernel-0.64.0 → kernel-0.65.0}/tests/test_qs.py +0 -0
  321. {kernel-0.64.0 → kernel-0.65.0}/tests/test_required_args.py +0 -0
  322. {kernel-0.64.0 → kernel-0.65.0}/tests/test_response.py +0 -0
  323. {kernel-0.64.0 → kernel-0.65.0}/tests/test_streaming.py +0 -0
  324. {kernel-0.64.0 → kernel-0.65.0}/tests/test_transform.py +0 -0
  325. {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_datetime_parse.py +0 -0
  326. {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_json.py +0 -0
  327. {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_path.py +0 -0
  328. {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_proxy.py +0 -0
  329. {kernel-0.64.0 → kernel-0.65.0}/tests/test_utils/test_typing.py +0 -0
  330. {kernel-0.64.0 → kernel-0.65.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.65.0"
3
+ }
@@ -1,5 +1,14 @@
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
+
3
12
  ## 0.64.0 (2026-06-05)
4
13
 
5
14
  Full Changelog: [v0.63.0...v0.64.0](https://github.com/kernel/kernel-python-sdk/compare/v0.63.0...v0.64.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.64.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.64.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.64.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
  ),
@@ -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
+ """
@@ -309,6 +309,11 @@ class TestBrowserPools:
309
309
  browser_pool = client.browser_pools.acquire(
310
310
  id_or_name="id_or_name",
311
311
  acquire_timeout_seconds=0,
312
+ name="checkout-flow-1",
313
+ tags={
314
+ "team": "backend",
315
+ "env": "staging",
316
+ },
312
317
  )
313
318
  assert_matches_type(BrowserPoolAcquireResponse, browser_pool, path=["response"])
314
319
 
@@ -738,6 +743,11 @@ class TestAsyncBrowserPools:
738
743
  browser_pool = await async_client.browser_pools.acquire(
739
744
  id_or_name="id_or_name",
740
745
  acquire_timeout_seconds=0,
746
+ name="checkout-flow-1",
747
+ tags={
748
+ "team": "backend",
749
+ "env": "staging",
750
+ },
741
751
  )
742
752
  assert_matches_type(BrowserPoolAcquireResponse, browser_pool, path=["response"])
743
753
 
@@ -107,7 +107,7 @@ class TestBrowsers:
107
107
  @parametrize
108
108
  def test_method_retrieve(self, client: Kernel) -> None:
109
109
  browser = client.browsers.retrieve(
110
- id="htzv5orfit78e1m2biiifpbv",
110
+ id_or_name="htzv5orfit78e1m2biiifpbv",
111
111
  )
112
112
  assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
113
113
 
@@ -115,7 +115,7 @@ class TestBrowsers:
115
115
  @parametrize
116
116
  def test_method_retrieve_with_all_params(self, client: Kernel) -> None:
117
117
  browser = client.browsers.retrieve(
118
- id="htzv5orfit78e1m2biiifpbv",
118
+ id_or_name="htzv5orfit78e1m2biiifpbv",
119
119
  include_deleted=True,
120
120
  )
121
121
  assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
@@ -124,7 +124,7 @@ class TestBrowsers:
124
124
  @parametrize
125
125
  def test_raw_response_retrieve(self, client: Kernel) -> None:
126
126
  response = client.browsers.with_raw_response.retrieve(
127
- id="htzv5orfit78e1m2biiifpbv",
127
+ id_or_name="htzv5orfit78e1m2biiifpbv",
128
128
  )
129
129
 
130
130
  assert response.is_closed is True
@@ -136,7 +136,7 @@ class TestBrowsers:
136
136
  @parametrize
137
137
  def test_streaming_response_retrieve(self, client: Kernel) -> None:
138
138
  with client.browsers.with_streaming_response.retrieve(
139
- id="htzv5orfit78e1m2biiifpbv",
139
+ id_or_name="htzv5orfit78e1m2biiifpbv",
140
140
  ) as response:
141
141
  assert not response.is_closed
142
142
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -149,16 +149,16 @@ class TestBrowsers:
149
149
  @pytest.mark.skip(reason="Mock server tests are disabled")
150
150
  @parametrize
151
151
  def test_path_params_retrieve(self, client: Kernel) -> None:
152
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
152
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
153
153
  client.browsers.with_raw_response.retrieve(
154
- id="",
154
+ id_or_name="",
155
155
  )
156
156
 
157
157
  @pytest.mark.skip(reason="Mock server tests are disabled")
158
158
  @parametrize
159
159
  def test_method_update(self, client: Kernel) -> None:
160
160
  browser = client.browsers.update(
161
- id="htzv5orfit78e1m2biiifpbv",
161
+ id_or_name="htzv5orfit78e1m2biiifpbv",
162
162
  )
163
163
  assert_matches_type(BrowserUpdateResponse, browser, path=["response"])
164
164
 
@@ -166,7 +166,7 @@ class TestBrowsers:
166
166
  @parametrize
167
167
  def test_method_update_with_all_params(self, client: Kernel) -> None:
168
168
  browser = client.browsers.update(
169
- id="htzv5orfit78e1m2biiifpbv",
169
+ id_or_name="htzv5orfit78e1m2biiifpbv",
170
170
  disable_default_proxy=True,
171
171
  profile={
172
172
  "id": "id",
@@ -201,7 +201,7 @@ class TestBrowsers:
201
201
  @parametrize
202
202
  def test_raw_response_update(self, client: Kernel) -> None:
203
203
  response = client.browsers.with_raw_response.update(
204
- id="htzv5orfit78e1m2biiifpbv",
204
+ id_or_name="htzv5orfit78e1m2biiifpbv",
205
205
  )
206
206
 
207
207
  assert response.is_closed is True
@@ -213,7 +213,7 @@ class TestBrowsers:
213
213
  @parametrize
214
214
  def test_streaming_response_update(self, client: Kernel) -> None:
215
215
  with client.browsers.with_streaming_response.update(
216
- id="htzv5orfit78e1m2biiifpbv",
216
+ id_or_name="htzv5orfit78e1m2biiifpbv",
217
217
  ) as response:
218
218
  assert not response.is_closed
219
219
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -226,9 +226,9 @@ class TestBrowsers:
226
226
  @pytest.mark.skip(reason="Mock server tests are disabled")
227
227
  @parametrize
228
228
  def test_path_params_update(self, client: Kernel) -> None:
229
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
229
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
230
230
  client.browsers.with_raw_response.update(
231
- id="",
231
+ id_or_name="",
232
232
  )
233
233
 
234
234
  @pytest.mark.skip(reason="Mock server tests are disabled")
@@ -369,7 +369,7 @@ class TestBrowsers:
369
369
  @pytest.mark.skip(reason="Mock server tests are disabled")
370
370
  @parametrize
371
371
  def test_path_params_delete_by_id(self, client: Kernel) -> None:
372
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
372
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
373
373
  client.browsers.with_raw_response.delete_by_id(
374
374
  "",
375
375
  )
@@ -529,7 +529,7 @@ class TestAsyncBrowsers:
529
529
  @parametrize
530
530
  async def test_method_retrieve(self, async_client: AsyncKernel) -> None:
531
531
  browser = await async_client.browsers.retrieve(
532
- id="htzv5orfit78e1m2biiifpbv",
532
+ id_or_name="htzv5orfit78e1m2biiifpbv",
533
533
  )
534
534
  assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
535
535
 
@@ -537,7 +537,7 @@ class TestAsyncBrowsers:
537
537
  @parametrize
538
538
  async def test_method_retrieve_with_all_params(self, async_client: AsyncKernel) -> None:
539
539
  browser = await async_client.browsers.retrieve(
540
- id="htzv5orfit78e1m2biiifpbv",
540
+ id_or_name="htzv5orfit78e1m2biiifpbv",
541
541
  include_deleted=True,
542
542
  )
543
543
  assert_matches_type(BrowserRetrieveResponse, browser, path=["response"])
@@ -546,7 +546,7 @@ class TestAsyncBrowsers:
546
546
  @parametrize
547
547
  async def test_raw_response_retrieve(self, async_client: AsyncKernel) -> None:
548
548
  response = await async_client.browsers.with_raw_response.retrieve(
549
- id="htzv5orfit78e1m2biiifpbv",
549
+ id_or_name="htzv5orfit78e1m2biiifpbv",
550
550
  )
551
551
 
552
552
  assert response.is_closed is True
@@ -558,7 +558,7 @@ class TestAsyncBrowsers:
558
558
  @parametrize
559
559
  async def test_streaming_response_retrieve(self, async_client: AsyncKernel) -> None:
560
560
  async with async_client.browsers.with_streaming_response.retrieve(
561
- id="htzv5orfit78e1m2biiifpbv",
561
+ id_or_name="htzv5orfit78e1m2biiifpbv",
562
562
  ) as response:
563
563
  assert not response.is_closed
564
564
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -571,16 +571,16 @@ class TestAsyncBrowsers:
571
571
  @pytest.mark.skip(reason="Mock server tests are disabled")
572
572
  @parametrize
573
573
  async def test_path_params_retrieve(self, async_client: AsyncKernel) -> None:
574
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
574
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
575
575
  await async_client.browsers.with_raw_response.retrieve(
576
- id="",
576
+ id_or_name="",
577
577
  )
578
578
 
579
579
  @pytest.mark.skip(reason="Mock server tests are disabled")
580
580
  @parametrize
581
581
  async def test_method_update(self, async_client: AsyncKernel) -> None:
582
582
  browser = await async_client.browsers.update(
583
- id="htzv5orfit78e1m2biiifpbv",
583
+ id_or_name="htzv5orfit78e1m2biiifpbv",
584
584
  )
585
585
  assert_matches_type(BrowserUpdateResponse, browser, path=["response"])
586
586
 
@@ -588,7 +588,7 @@ class TestAsyncBrowsers:
588
588
  @parametrize
589
589
  async def test_method_update_with_all_params(self, async_client: AsyncKernel) -> None:
590
590
  browser = await async_client.browsers.update(
591
- id="htzv5orfit78e1m2biiifpbv",
591
+ id_or_name="htzv5orfit78e1m2biiifpbv",
592
592
  disable_default_proxy=True,
593
593
  profile={
594
594
  "id": "id",
@@ -623,7 +623,7 @@ class TestAsyncBrowsers:
623
623
  @parametrize
624
624
  async def test_raw_response_update(self, async_client: AsyncKernel) -> None:
625
625
  response = await async_client.browsers.with_raw_response.update(
626
- id="htzv5orfit78e1m2biiifpbv",
626
+ id_or_name="htzv5orfit78e1m2biiifpbv",
627
627
  )
628
628
 
629
629
  assert response.is_closed is True
@@ -635,7 +635,7 @@ class TestAsyncBrowsers:
635
635
  @parametrize
636
636
  async def test_streaming_response_update(self, async_client: AsyncKernel) -> None:
637
637
  async with async_client.browsers.with_streaming_response.update(
638
- id="htzv5orfit78e1m2biiifpbv",
638
+ id_or_name="htzv5orfit78e1m2biiifpbv",
639
639
  ) as response:
640
640
  assert not response.is_closed
641
641
  assert response.http_request.headers.get("X-Stainless-Lang") == "python"
@@ -648,9 +648,9 @@ class TestAsyncBrowsers:
648
648
  @pytest.mark.skip(reason="Mock server tests are disabled")
649
649
  @parametrize
650
650
  async def test_path_params_update(self, async_client: AsyncKernel) -> None:
651
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
651
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
652
652
  await async_client.browsers.with_raw_response.update(
653
- id="",
653
+ id_or_name="",
654
654
  )
655
655
 
656
656
  @pytest.mark.skip(reason="Mock server tests are disabled")
@@ -791,7 +791,7 @@ class TestAsyncBrowsers:
791
791
  @pytest.mark.skip(reason="Mock server tests are disabled")
792
792
  @parametrize
793
793
  async def test_path_params_delete_by_id(self, async_client: AsyncKernel) -> None:
794
- with pytest.raises(ValueError, match=r"Expected a non-empty value for `id` but received ''"):
794
+ with pytest.raises(ValueError, match=r"Expected a non-empty value for `id_or_name` but received ''"):
795
795
  await async_client.browsers.with_raw_response.delete_by_id(
796
796
  "",
797
797
  )
@@ -1,3 +0,0 @@
1
- {
2
- ".": "0.64.0"
3
- }
@@ -1,16 +0,0 @@
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
- __all__ = ["BrowserPoolAcquireParams"]
8
-
9
-
10
- class BrowserPoolAcquireParams(TypedDict, total=False):
11
- acquire_timeout_seconds: int
12
- """Maximum number of seconds to wait for a browser to be available.
13
-
14
- Defaults to the calculated time it would take to fill the pool at the currently
15
- configured fill rate.
16
- """
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes