kernel 0.68.0__tar.gz → 0.70.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 (346) hide show
  1. kernel-0.70.0/.release-please-manifest.json +3 -0
  2. {kernel-0.68.0 → kernel-0.70.0}/CHANGELOG.md +26 -0
  3. {kernel-0.68.0 → kernel-0.70.0}/PKG-INFO +1 -1
  4. {kernel-0.68.0 → kernel-0.70.0}/api.md +5 -2
  5. {kernel-0.68.0 → kernel-0.70.0}/pyproject.toml +1 -1
  6. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_version.py +1 -1
  7. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/lib/browser_routing/routing.py +20 -2
  8. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/auth/connections.py +8 -0
  9. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browser_pools.py +36 -8
  10. kernel-0.70.0/src/kernel/resources/browsers/telemetry.py +403 -0
  11. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/credential_providers.py +8 -0
  12. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/credentials.py +8 -0
  13. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/deployments.py +8 -0
  14. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/extensions.py +89 -0
  15. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/invocations.py +8 -0
  16. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/projects/projects.py +6 -4
  17. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/proxies.py +8 -0
  18. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/__init__.py +3 -0
  19. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_list_params.py +3 -0
  20. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool.py +6 -2
  21. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_acquire_params.py +7 -0
  22. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_create_params.py +6 -2
  23. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_list_params.py +3 -0
  24. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_update_params.py +6 -2
  25. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/__init__.py +3 -0
  26. kernel-0.70.0/src/kernel/types/browsers/telemetry_events_params.py +52 -0
  27. kernel-0.70.0/src/kernel/types/browsers/telemetry_events_response.py +36 -0
  28. kernel-0.70.0/src/kernel/types/browsers/telemetry_stream_params.py +20 -0
  29. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_list_params.py +3 -0
  30. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_list_params.py +3 -0
  31. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_list_params.py +3 -0
  32. kernel-0.70.0/src/kernel/types/extension_get_response.py +30 -0
  33. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/extension_list_params.py +3 -0
  34. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_list_params.py +3 -0
  35. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_list_params.py +3 -0
  36. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/browser_viewport.py +4 -3
  37. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared_params/browser_viewport.py +4 -3
  38. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/auth/test_connections.py +2 -0
  39. kernel-0.70.0/tests/api_resources/browsers/test_telemetry.py +237 -0
  40. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_browser_pools.py +8 -4
  41. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_credential_providers.py +2 -0
  42. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_credentials.py +2 -0
  43. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_deployments.py +2 -0
  44. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_extensions.py +87 -0
  45. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_invocations.py +2 -0
  46. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_proxies.py +2 -0
  47. {kernel-0.68.0 → kernel-0.70.0}/tests/test_browser_routing.py +47 -2
  48. kernel-0.68.0/.release-please-manifest.json +0 -3
  49. kernel-0.68.0/src/kernel/resources/browsers/telemetry.py +0 -195
  50. kernel-0.68.0/tests/api_resources/browsers/test_telemetry.py +0 -122
  51. {kernel-0.68.0 → kernel-0.70.0}/.gitignore +0 -0
  52. {kernel-0.68.0 → kernel-0.70.0}/CONTRIBUTING.md +0 -0
  53. {kernel-0.68.0 → kernel-0.70.0}/LICENSE +0 -0
  54. {kernel-0.68.0 → kernel-0.70.0}/README.md +0 -0
  55. {kernel-0.68.0 → kernel-0.70.0}/SECURITY.md +0 -0
  56. {kernel-0.68.0 → kernel-0.70.0}/bin/check-release-environment +0 -0
  57. {kernel-0.68.0 → kernel-0.70.0}/bin/publish-pypi +0 -0
  58. {kernel-0.68.0 → kernel-0.70.0}/examples/.keep +0 -0
  59. {kernel-0.68.0 → kernel-0.70.0}/examples/browser_routing.py +0 -0
  60. {kernel-0.68.0 → kernel-0.70.0}/examples/browser_telemetry.py +0 -0
  61. {kernel-0.68.0 → kernel-0.70.0}/noxfile.py +0 -0
  62. {kernel-0.68.0 → kernel-0.70.0}/release-please-config.json +0 -0
  63. {kernel-0.68.0 → kernel-0.70.0}/requirements-dev.lock +0 -0
  64. {kernel-0.68.0 → kernel-0.70.0}/requirements.lock +0 -0
  65. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/__init__.py +0 -0
  66. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_base_client.py +0 -0
  67. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_client.py +0 -0
  68. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_compat.py +0 -0
  69. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_constants.py +0 -0
  70. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_exceptions.py +0 -0
  71. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_files.py +0 -0
  72. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_models.py +0 -0
  73. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_qs.py +0 -0
  74. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_resource.py +0 -0
  75. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_response.py +0 -0
  76. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_streaming.py +0 -0
  77. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_types.py +0 -0
  78. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/__init__.py +0 -0
  79. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_compat.py +0 -0
  80. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  81. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_json.py +0 -0
  82. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_logs.py +0 -0
  83. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_path.py +0 -0
  84. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_proxy.py +0 -0
  85. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_reflection.py +0 -0
  86. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  87. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_streams.py +0 -0
  88. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_sync.py +0 -0
  89. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_transform.py +0 -0
  90. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_typing.py +0 -0
  91. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/_utils/_utils.py +0 -0
  92. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/app_framework.py +0 -0
  93. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/lib/.keep +0 -0
  94. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  95. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  96. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/lib/browser_routing/util.py +0 -0
  97. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/pagination.py +0 -0
  98. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/py.typed +0 -0
  99. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/__init__.py +0 -0
  100. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/api_keys.py +0 -0
  101. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/apps.py +0 -0
  102. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/auth/__init__.py +0 -0
  103. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/auth/auth.py +0 -0
  104. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/__init__.py +0 -0
  105. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/browsers.py +0 -0
  106. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/computer.py +0 -0
  107. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  108. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  109. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  110. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/logs.py +0 -0
  111. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/playwright.py +0 -0
  112. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/process.py +0 -0
  113. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/browsers/replays.py +0 -0
  114. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/organization/__init__.py +0 -0
  115. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/organization/limits.py +0 -0
  116. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/organization/organization.py +0 -0
  117. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/profiles.py +0 -0
  118. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/projects/__init__.py +0 -0
  119. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/resources/projects/limits.py +0 -0
  120. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key.py +0 -0
  121. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key_create_params.py +0 -0
  122. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key_list_params.py +0 -0
  123. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key_retrieve_params.py +0 -0
  124. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key_rotate_params.py +0 -0
  125. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/api_key_update_params.py +0 -0
  126. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/app_list_params.py +0 -0
  127. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/app_list_response.py +0 -0
  128. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/__init__.py +0 -0
  129. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_create_params.py +0 -0
  130. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  131. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_login_params.py +0 -0
  132. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  133. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/connection_update_params.py +0 -0
  134. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/login_response.py +0 -0
  135. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/managed_auth.py +0 -0
  136. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  137. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_create_params.py +0 -0
  138. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_create_response.py +0 -0
  139. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_curl_params.py +0 -0
  140. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_curl_response.py +0 -0
  141. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_list_params.py +0 -0
  142. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_list_response.py +0 -0
  143. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  144. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  145. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  146. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_ref.py +0 -0
  147. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  148. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  149. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  150. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_update_params.py +0 -0
  151. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_update_response.py +0 -0
  152. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browser_usage.py +0 -0
  153. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
  154. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  155. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
  156. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
  157. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
  158. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  159. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  160. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  161. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  162. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  163. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  164. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  165. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  166. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
  167. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
  168. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
  169. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
  170. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
  171. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
  172. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
  173. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  174. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  175. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  176. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  177. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  178. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  179. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  180. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  181. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  182. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  183. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  184. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  185. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
  186. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
  187. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
  188. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
  189. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
  190. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
  191. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  192. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
  193. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  194. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  195. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  196. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  197. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  198. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  199. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  200. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  201. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  202. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  203. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  204. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  205. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  206. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  207. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  208. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  209. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  210. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  211. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  212. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  213. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  214. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  215. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  216. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  217. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  218. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  219. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  220. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  221. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  222. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  223. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  224. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  225. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  226. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  227. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  228. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  229. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  230. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  231. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  232. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  233. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  234. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  235. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  236. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  237. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  238. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  239. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  240. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  241. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  242. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
  243. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/created_api_key.py +0 -0
  244. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential.py +0 -0
  245. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_create_params.py +0 -0
  246. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider.py +0 -0
  247. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  248. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_item.py +0 -0
  249. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  250. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  251. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  252. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  253. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/credential_update_params.py +0 -0
  254. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_create_params.py +0 -0
  255. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_create_response.py +0 -0
  256. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_follow_params.py +0 -0
  257. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_follow_response.py +0 -0
  258. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_list_response.py +0 -0
  259. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  260. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/deployment_state_event.py +0 -0
  261. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  262. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/extension_list_response.py +0 -0
  263. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/extension_upload_params.py +0 -0
  264. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/extension_upload_response.py +0 -0
  265. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_create_params.py +0 -0
  266. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_create_response.py +0 -0
  267. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_follow_params.py +0 -0
  268. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_follow_response.py +0 -0
  269. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  270. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_list_response.py +0 -0
  271. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  272. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_state_event.py +0 -0
  273. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_update_params.py +0 -0
  274. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/invocation_update_response.py +0 -0
  275. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/organization/__init__.py +0 -0
  276. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/organization/limit_update_params.py +0 -0
  277. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/organization/org_limits.py +0 -0
  278. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/profile.py +0 -0
  279. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/profile_create_params.py +0 -0
  280. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/profile_list_params.py +0 -0
  281. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/project.py +0 -0
  282. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/project_create_params.py +0 -0
  283. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/project_list_params.py +0 -0
  284. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/project_update_params.py +0 -0
  285. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/projects/__init__.py +0 -0
  286. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  287. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/projects/project_limits.py +0 -0
  288. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_check_params.py +0 -0
  289. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_check_response.py +0 -0
  290. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_create_params.py +0 -0
  291. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_create_response.py +0 -0
  292. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_list_response.py +0 -0
  293. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  294. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/__init__.py +0 -0
  295. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/app_action.py +0 -0
  296. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/browser_extension.py +0 -0
  297. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/browser_profile.py +0 -0
  298. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/error_detail.py +0 -0
  299. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/error_event.py +0 -0
  300. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/error_model.py +0 -0
  301. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  302. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared/log_event.py +0 -0
  303. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared_params/__init__.py +0 -0
  304. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  305. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  306. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/tags.py +0 -0
  307. {kernel-0.68.0 → kernel-0.70.0}/src/kernel/types/tags_param.py +0 -0
  308. {kernel-0.68.0 → kernel-0.70.0}/tests/__init__.py +0 -0
  309. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/__init__.py +0 -0
  310. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/auth/__init__.py +0 -0
  311. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/__init__.py +0 -0
  312. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  313. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  314. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_computer.py +0 -0
  315. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_fs.py +0 -0
  316. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_logs.py +0 -0
  317. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  318. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_process.py +0 -0
  319. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/browsers/test_replays.py +0 -0
  320. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/organization/__init__.py +0 -0
  321. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/organization/test_limits.py +0 -0
  322. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/projects/__init__.py +0 -0
  323. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/projects/test_limits.py +0 -0
  324. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_api_keys.py +0 -0
  325. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_apps.py +0 -0
  326. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_browsers.py +0 -0
  327. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_profiles.py +0 -0
  328. {kernel-0.68.0 → kernel-0.70.0}/tests/api_resources/test_projects.py +0 -0
  329. {kernel-0.68.0 → kernel-0.70.0}/tests/conftest.py +0 -0
  330. {kernel-0.68.0 → kernel-0.70.0}/tests/sample_file.txt +0 -0
  331. {kernel-0.68.0 → kernel-0.70.0}/tests/test_client.py +0 -0
  332. {kernel-0.68.0 → kernel-0.70.0}/tests/test_extract_files.py +0 -0
  333. {kernel-0.68.0 → kernel-0.70.0}/tests/test_files.py +0 -0
  334. {kernel-0.68.0 → kernel-0.70.0}/tests/test_models.py +0 -0
  335. {kernel-0.68.0 → kernel-0.70.0}/tests/test_pagination.py +0 -0
  336. {kernel-0.68.0 → kernel-0.70.0}/tests/test_qs.py +0 -0
  337. {kernel-0.68.0 → kernel-0.70.0}/tests/test_required_args.py +0 -0
  338. {kernel-0.68.0 → kernel-0.70.0}/tests/test_response.py +0 -0
  339. {kernel-0.68.0 → kernel-0.70.0}/tests/test_streaming.py +0 -0
  340. {kernel-0.68.0 → kernel-0.70.0}/tests/test_transform.py +0 -0
  341. {kernel-0.68.0 → kernel-0.70.0}/tests/test_utils/test_datetime_parse.py +0 -0
  342. {kernel-0.68.0 → kernel-0.70.0}/tests/test_utils/test_json.py +0 -0
  343. {kernel-0.68.0 → kernel-0.70.0}/tests/test_utils/test_path.py +0 -0
  344. {kernel-0.68.0 → kernel-0.70.0}/tests/test_utils/test_proxy.py +0 -0
  345. {kernel-0.68.0 → kernel-0.70.0}/tests/test_utils/test_typing.py +0 -0
  346. {kernel-0.68.0 → kernel-0.70.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.70.0"
3
+ }
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.70.0 (2026-06-24)
4
+
5
+ Full Changelog: [v0.69.0...v0.70.0](https://github.com/kernel/kernel-python-sdk/compare/v0.69.0...v0.70.0)
6
+
7
+ ### Features
8
+
9
+ * Add GET /browsers/{id}/telemetry/events (read from S2) ([57eb393](https://github.com/kernel/kernel-python-sdk/commit/57eb393ea1eb5fb0d2e5211845f338610198a0fd))
10
+ * Align browser-pool timeout/viewport/fill-rate contract with implementation; reject save_changes on update ([4fddd6b](https://github.com/kernel/kernel-python-sdk/commit/4fddd6bb3f2ccb86ec3cc492311d5fe9c061ba49))
11
+ * api: support per-acquire start_url override on browser pool acquire ([3e11311](https://github.com/kernel/kernel-python-sdk/commit/3e11311f835d558c4fa6ab0c0fb8a9c7e3536a13))
12
+ * **api:** add GET /extensions/{id_or_name}/metadata ([681a8fc](https://github.com/kernel/kernel-python-sdk/commit/681a8fcd7d8ec5c3373a66c81fb405a6844308eb))
13
+ * **api:** resolve GET /org/projects/{id} by ID or name ([52eb598](https://github.com/kernel/kernel-python-sdk/commit/52eb598c7bfd6e696f0d510585439ba5658dc161))
14
+ * Forward replay param through telemetry stream passthrough ([a8001d2](https://github.com/kernel/kernel-python-sdk/commit/a8001d239ae583fa177164e1ce900e767797c853))
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * don't misroute telemetry/events to the browser VM ([9bcc418](https://github.com/kernel/kernel-python-sdk/commit/9bcc418b4294295c0d8377adfc921c3748d42019))
20
+
21
+ ## 0.69.0 (2026-06-18)
22
+
23
+ Full Changelog: [v0.68.0...v0.69.0](https://github.com/kernel/kernel-python-sdk/compare/v0.68.0...v0.69.0)
24
+
25
+ ### Features
26
+
27
+ * Add free-text search to remaining paginated list endpoints ([b34f843](https://github.com/kernel/kernel-python-sdk/commit/b34f843f664307beeb23ec96a1162ee70fd3df1e))
28
+
3
29
  ## 0.68.0 (2026-06-15)
4
30
 
5
31
  Full Changelog: [v0.67.0...v0.68.0](https://github.com/kernel/kernel-python-sdk/compare/v0.67.0...v0.68.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.68.0
3
+ Version: 0.70.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
@@ -146,13 +146,15 @@ from kernel.types.browsers import (
146
146
  BrowserTelemetryCategoryConfig,
147
147
  BrowserTelemetryConfig,
148
148
  BrowserTelemetryEvent,
149
+ TelemetryEventsResponse,
149
150
  TelemetryStreamResponse,
150
151
  )
151
152
  ```
152
153
 
153
154
  Methods:
154
155
 
155
- - <code title="get /browsers/{id}/telemetry/stream">client.browsers.telemetry.<a href="./src/kernel/resources/browsers/telemetry.py">stream</a>(id) -> <a href="./src/kernel/types/browsers/telemetry_stream_response.py">TelemetryStreamResponse</a></code>
156
+ - <code title="get /browsers/{id}/telemetry/events">client.browsers.telemetry.<a href="./src/kernel/resources/browsers/telemetry.py">events</a>(id, \*\*<a href="src/kernel/types/browsers/telemetry_events_params.py">params</a>) -> <a href="./src/kernel/types/browsers/telemetry_events_response.py">SyncOffsetPagination[TelemetryEventsResponse]</a></code>
157
+ - <code title="get /browsers/{id}/telemetry/stream">client.browsers.telemetry.<a href="./src/kernel/resources/browsers/telemetry.py">stream</a>(id, \*\*<a href="src/kernel/types/browsers/telemetry_stream_params.py">params</a>) -> <a href="./src/kernel/types/browsers/telemetry_stream_response.py">TelemetryStreamResponse</a></code>
156
158
 
157
159
  ## Replays
158
160
 
@@ -342,7 +344,7 @@ Methods:
342
344
  Types:
343
345
 
344
346
  ```python
345
- from kernel.types import ExtensionListResponse, ExtensionUploadResponse
347
+ from kernel.types import ExtensionListResponse, ExtensionGetResponse, ExtensionUploadResponse
346
348
  ```
347
349
 
348
350
  Methods:
@@ -351,6 +353,7 @@ Methods:
351
353
  - <code title="delete /extensions/{id_or_name}">client.extensions.<a href="./src/kernel/resources/extensions.py">delete</a>(id_or_name) -> None</code>
352
354
  - <code title="get /extensions/{id_or_name}">client.extensions.<a href="./src/kernel/resources/extensions.py">download</a>(id_or_name) -> BinaryAPIResponse</code>
353
355
  - <code title="get /extensions/from_chrome_store">client.extensions.<a href="./src/kernel/resources/extensions.py">download_from_chrome_store</a>(\*\*<a href="src/kernel/types/extension_download_from_chrome_store_params.py">params</a>) -> BinaryAPIResponse</code>
356
+ - <code title="get /extensions/{id_or_name}/metadata">client.extensions.<a href="./src/kernel/resources/extensions.py">get</a>(id_or_name) -> <a href="./src/kernel/types/extension_get_response.py">ExtensionGetResponse</a></code>
354
357
  - <code title="post /extensions">client.extensions.<a href="./src/kernel/resources/extensions.py">upload</a>(\*\*<a href="src/kernel/types/extension_upload_params.py">params</a>) -> <a href="./src/kernel/types/extension_upload_response.py">ExtensionUploadResponse</a></code>
355
358
 
356
359
  # BrowserPools
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.68.0"
3
+ version = "0.70.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.68.0" # x-release-please-version
4
+ __version__ = "0.70.0" # x-release-please-version
@@ -41,7 +41,10 @@ _BROWSER_POOL_RELEASE_PATH = re.compile(r"^/(?:v\d+/)?browser_pools/[^/]+/releas
41
41
  def browser_routing_config_from_env() -> BrowserRoutingConfig:
42
42
  raw = os.environ.get("KERNEL_BROWSER_ROUTING_SUBRESOURCES")
43
43
  if raw is None:
44
- return BrowserRoutingConfig(subresources=("curl", "telemetry"))
44
+ # Path prefixes eligible for direct-to-VM routing. "telemetry/stream" is
45
+ # the live SSE endpoint (VM); "telemetry/events" is a historical read
46
+ # served by the control plane (S2) and must NOT be here.
47
+ return BrowserRoutingConfig(subresources=("curl", "telemetry/stream"))
45
48
  if raw.strip() == "":
46
49
  return BrowserRoutingConfig()
47
50
 
@@ -188,6 +191,21 @@ def _session_id_from_browser_pool_release_request(request: httpx.Request, path:
188
191
  return normalized or None
189
192
 
190
193
 
194
+ def _matches_direct_vm_prefix(tail: str, prefixes: tuple[str, ...]) -> bool:
195
+ """Whether tail (the path after browsers/{id}/) is covered by an allow prefix,
196
+ matching on segment boundaries: "telemetry/stream" matches "telemetry/stream"
197
+ and "telemetry/stream/...", but not "telemetry/events" or "telemetry/streamfoo".
198
+ Keeps historical control-plane reads (e.g. telemetry/events, served from S2)
199
+ off the VM.
200
+ """
201
+ tail = tail.strip("/")
202
+ for prefix in prefixes:
203
+ prefix = prefix.strip("/")
204
+ if prefix and (tail == prefix or tail.startswith(prefix + "/")):
205
+ return True
206
+ return False
207
+
208
+
191
209
  def rewrite_direct_vm_options(
192
210
  options: FinalRequestOptions,
193
211
  *,
@@ -199,7 +217,7 @@ def rewrite_direct_vm_options(
199
217
  return options
200
218
 
201
219
  session_id, subresource, suffix = match
202
- if subresource not in set(config.subresources):
220
+ if not _matches_direct_vm_prefix(f"{subresource}{suffix}", config.subresources):
203
221
  return options
204
222
 
205
223
  route = cache.get(session_id)
@@ -310,6 +310,7 @@ class ConnectionsResource(SyncAPIResource):
310
310
  limit: int | Omit = omit,
311
311
  offset: int | Omit = omit,
312
312
  profile_name: str | Omit = omit,
313
+ query: str | Omit = omit,
313
314
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
314
315
  # The extra values given here take precedence over values defined on the client or passed to this method.
315
316
  extra_headers: Headers | None = None,
@@ -329,6 +330,8 @@ class ConnectionsResource(SyncAPIResource):
329
330
 
330
331
  profile_name: Filter by profile name
331
332
 
333
+ query: Search auth connections by ID, domain, or profile name.
334
+
332
335
  extra_headers: Send extra headers
333
336
 
334
337
  extra_query: Add additional query parameters to the request
@@ -351,6 +354,7 @@ class ConnectionsResource(SyncAPIResource):
351
354
  "limit": limit,
352
355
  "offset": offset,
353
356
  "profile_name": profile_name,
357
+ "query": query,
354
358
  },
355
359
  connection_list_params.ConnectionListParams,
356
360
  ),
@@ -827,6 +831,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
827
831
  limit: int | Omit = omit,
828
832
  offset: int | Omit = omit,
829
833
  profile_name: str | Omit = omit,
834
+ query: str | Omit = omit,
830
835
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
831
836
  # The extra values given here take precedence over values defined on the client or passed to this method.
832
837
  extra_headers: Headers | None = None,
@@ -846,6 +851,8 @@ class AsyncConnectionsResource(AsyncAPIResource):
846
851
 
847
852
  profile_name: Filter by profile name
848
853
 
854
+ query: Search auth connections by ID, domain, or profile name.
855
+
849
856
  extra_headers: Send extra headers
850
857
 
851
858
  extra_query: Add additional query parameters to the request
@@ -868,6 +875,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
868
875
  "limit": limit,
869
876
  "offset": offset,
870
877
  "profile_name": profile_name,
878
+ "query": query,
871
879
  },
872
880
  connection_list_params.ConnectionListParams,
873
881
  ),
@@ -96,7 +96,9 @@ class BrowserPoolsResource(SyncAPIResource):
96
96
 
97
97
  extensions: List of browser extensions to load into the session. Provide each by id or name.
98
98
 
99
- fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10%.
99
+ fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10. The cap is 25 for
100
+ most organizations but can be raised per-organization, so only the lower bound
101
+ is enforced here.
100
102
 
101
103
  headless: If true, launches the browser using a headless image. Defaults to false.
102
104
 
@@ -122,7 +124,7 @@ class BrowserPoolsResource(SyncAPIResource):
122
124
  mechanisms.
123
125
 
124
126
  timeout_seconds: Default idle timeout in seconds for browsers acquired from this pool before they
125
- are destroyed. Defaults to 600 seconds if not specified
127
+ are destroyed. Defaults to 600 seconds. Minimum 10, maximum 259200 (72 hours).
126
128
 
127
129
  viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
128
130
  image defaults apply (1920x1080@25). For GPU images, the default is
@@ -243,7 +245,9 @@ class BrowserPoolsResource(SyncAPIResource):
243
245
 
244
246
  extensions: List of browser extensions to load into the session. Provide each by id or name.
245
247
 
246
- fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10%.
248
+ fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10. The cap is 25 for
249
+ most organizations but can be raised per-organization, so only the lower bound
250
+ is enforced here.
247
251
 
248
252
  headless: If true, launches the browser using a headless image. Defaults to false.
249
253
 
@@ -273,7 +277,7 @@ class BrowserPoolsResource(SyncAPIResource):
273
277
  mechanisms.
274
278
 
275
279
  timeout_seconds: Default idle timeout in seconds for browsers acquired from this pool before they
276
- are destroyed. Defaults to 600 seconds if not specified
280
+ are destroyed. Defaults to 600 seconds. Minimum 10, maximum 259200 (72 hours).
277
281
 
278
282
  viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
279
283
  image defaults apply (1920x1080@25). For GPU images, the default is
@@ -330,6 +334,7 @@ class BrowserPoolsResource(SyncAPIResource):
330
334
  *,
331
335
  limit: int | Omit = omit,
332
336
  offset: int | Omit = omit,
337
+ query: str | Omit = omit,
333
338
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
334
339
  # The extra values given here take precedence over values defined on the client or passed to this method.
335
340
  extra_headers: Headers | None = None,
@@ -345,6 +350,8 @@ class BrowserPoolsResource(SyncAPIResource):
345
350
 
346
351
  offset: Offset the number of browser pools to return.
347
352
 
353
+ query: Search browser pools by name or ID.
354
+
348
355
  extra_headers: Send extra headers
349
356
 
350
357
  extra_query: Add additional query parameters to the request
@@ -365,6 +372,7 @@ class BrowserPoolsResource(SyncAPIResource):
365
372
  {
366
373
  "limit": limit,
367
374
  "offset": offset,
375
+ "query": query,
368
376
  },
369
377
  browser_pool_list_params.BrowserPoolListParams,
370
378
  ),
@@ -419,6 +427,7 @@ class BrowserPoolsResource(SyncAPIResource):
419
427
  *,
420
428
  acquire_timeout_seconds: int | Omit = omit,
421
429
  name: str | Omit = omit,
430
+ start_url: str | Omit = omit,
422
431
  tags: TagsParam | Omit = omit,
423
432
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
424
433
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -444,6 +453,10 @@ class BrowserPoolsResource(SyncAPIResource):
444
453
  project. Applies to this lease only and is cleared when the browser is released
445
454
  back to the pool.
446
455
 
456
+ start_url: Optional URL to navigate the acquired browser to. Overrides the pool's start_url
457
+ for this acquire only. Best-effort: failures to navigate do not fail the
458
+ acquire.
459
+
447
460
  tags: Optional user-defined key-value tags for the acquired browser session, used to
448
461
  find and group sessions later. Applies to this lease only and are cleared when
449
462
  the browser is released back to the pool. Up to 50 pairs.
@@ -464,6 +477,7 @@ class BrowserPoolsResource(SyncAPIResource):
464
477
  {
465
478
  "acquire_timeout_seconds": acquire_timeout_seconds,
466
479
  "name": name,
480
+ "start_url": start_url,
467
481
  "tags": tags,
468
482
  },
469
483
  browser_pool_acquire_params.BrowserPoolAcquireParams,
@@ -617,7 +631,9 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
617
631
 
618
632
  extensions: List of browser extensions to load into the session. Provide each by id or name.
619
633
 
620
- fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10%.
634
+ fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10. The cap is 25 for
635
+ most organizations but can be raised per-organization, so only the lower bound
636
+ is enforced here.
621
637
 
622
638
  headless: If true, launches the browser using a headless image. Defaults to false.
623
639
 
@@ -643,7 +659,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
643
659
  mechanisms.
644
660
 
645
661
  timeout_seconds: Default idle timeout in seconds for browsers acquired from this pool before they
646
- are destroyed. Defaults to 600 seconds if not specified
662
+ are destroyed. Defaults to 600 seconds. Minimum 10, maximum 259200 (72 hours).
647
663
 
648
664
  viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
649
665
  image defaults apply (1920x1080@25). For GPU images, the default is
@@ -764,7 +780,9 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
764
780
 
765
781
  extensions: List of browser extensions to load into the session. Provide each by id or name.
766
782
 
767
- fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10%.
783
+ fill_rate_per_minute: Percentage of the pool to fill per minute. Defaults to 10. The cap is 25 for
784
+ most organizations but can be raised per-organization, so only the lower bound
785
+ is enforced here.
768
786
 
769
787
  headless: If true, launches the browser using a headless image. Defaults to false.
770
788
 
@@ -794,7 +812,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
794
812
  mechanisms.
795
813
 
796
814
  timeout_seconds: Default idle timeout in seconds for browsers acquired from this pool before they
797
- are destroyed. Defaults to 600 seconds if not specified
815
+ are destroyed. Defaults to 600 seconds. Minimum 10, maximum 259200 (72 hours).
798
816
 
799
817
  viewport: Initial browser window size in pixels with optional refresh rate. If omitted,
800
818
  image defaults apply (1920x1080@25). For GPU images, the default is
@@ -851,6 +869,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
851
869
  *,
852
870
  limit: int | Omit = omit,
853
871
  offset: int | Omit = omit,
872
+ query: str | Omit = omit,
854
873
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
855
874
  # The extra values given here take precedence over values defined on the client or passed to this method.
856
875
  extra_headers: Headers | None = None,
@@ -866,6 +885,8 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
866
885
 
867
886
  offset: Offset the number of browser pools to return.
868
887
 
888
+ query: Search browser pools by name or ID.
889
+
869
890
  extra_headers: Send extra headers
870
891
 
871
892
  extra_query: Add additional query parameters to the request
@@ -886,6 +907,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
886
907
  {
887
908
  "limit": limit,
888
909
  "offset": offset,
910
+ "query": query,
889
911
  },
890
912
  browser_pool_list_params.BrowserPoolListParams,
891
913
  ),
@@ -940,6 +962,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
940
962
  *,
941
963
  acquire_timeout_seconds: int | Omit = omit,
942
964
  name: str | Omit = omit,
965
+ start_url: str | Omit = omit,
943
966
  tags: TagsParam | Omit = omit,
944
967
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
945
968
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -965,6 +988,10 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
965
988
  project. Applies to this lease only and is cleared when the browser is released
966
989
  back to the pool.
967
990
 
991
+ start_url: Optional URL to navigate the acquired browser to. Overrides the pool's start_url
992
+ for this acquire only. Best-effort: failures to navigate do not fail the
993
+ acquire.
994
+
968
995
  tags: Optional user-defined key-value tags for the acquired browser session, used to
969
996
  find and group sessions later. Applies to this lease only and are cleared when
970
997
  the browser is released back to the pool. Up to 50 pairs.
@@ -985,6 +1012,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
985
1012
  {
986
1013
  "acquire_timeout_seconds": acquire_timeout_seconds,
987
1014
  "name": name,
1015
+ "start_url": start_url,
988
1016
  "tags": tags,
989
1017
  },
990
1018
  browser_pool_acquire_params.BrowserPoolAcquireParams,