kernel 0.64.0__tar.gz → 0.67.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 (338) hide show
  1. kernel-0.67.0/.release-please-manifest.json +3 -0
  2. {kernel-0.64.0 → kernel-0.67.0}/CHANGELOG.md +31 -0
  3. {kernel-0.64.0 → kernel-0.67.0}/PKG-INFO +1 -1
  4. {kernel-0.64.0 → kernel-0.67.0}/api.md +18 -3
  5. {kernel-0.64.0 → kernel-0.67.0}/pyproject.toml +1 -1
  6. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_client.py +54 -0
  7. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_version.py +1 -1
  8. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/__init__.py +14 -0
  9. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/auth/connections.py +12 -12
  10. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browser_pools.py +43 -12
  11. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/browsers.py +62 -36
  12. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/credentials.py +4 -6
  13. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/extensions.py +2 -2
  14. kernel-0.67.0/src/kernel/resources/organization/__init__.py +33 -0
  15. kernel-0.67.0/src/kernel/resources/organization/limits.py +245 -0
  16. kernel-0.67.0/src/kernel/resources/organization/organization.py +108 -0
  17. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/proxies.py +6 -6
  18. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_create_params.py +3 -2
  19. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_login_params.py +3 -2
  20. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_update_params.py +3 -2
  21. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_create_params.py +5 -4
  22. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool.py +1 -1
  23. kernel-0.67.0/src/kernel/types/browser_pool_acquire_params.py +33 -0
  24. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_create_params.py +1 -1
  25. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_update_params.py +1 -1
  26. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_update_params.py +16 -0
  27. kernel-0.67.0/src/kernel/types/organization/__init__.py +6 -0
  28. kernel-0.67.0/src/kernel/types/organization/limit_update_params.py +17 -0
  29. kernel-0.67.0/src/kernel/types/organization/org_limits.py +24 -0
  30. kernel-0.67.0/tests/api_resources/organization/test_limits.py +152 -0
  31. kernel-0.67.0/tests/api_resources/projects/__init__.py +1 -0
  32. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_browser_pools.py +10 -0
  33. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_browsers.py +36 -26
  34. kernel-0.64.0/.release-please-manifest.json +0 -3
  35. kernel-0.64.0/src/kernel/types/browser_pool_acquire_params.py +0 -16
  36. {kernel-0.64.0 → kernel-0.67.0}/.gitignore +0 -0
  37. {kernel-0.64.0 → kernel-0.67.0}/CONTRIBUTING.md +0 -0
  38. {kernel-0.64.0 → kernel-0.67.0}/LICENSE +0 -0
  39. {kernel-0.64.0 → kernel-0.67.0}/README.md +0 -0
  40. {kernel-0.64.0 → kernel-0.67.0}/SECURITY.md +0 -0
  41. {kernel-0.64.0 → kernel-0.67.0}/bin/check-release-environment +0 -0
  42. {kernel-0.64.0 → kernel-0.67.0}/bin/publish-pypi +0 -0
  43. {kernel-0.64.0 → kernel-0.67.0}/examples/.keep +0 -0
  44. {kernel-0.64.0 → kernel-0.67.0}/examples/browser_routing.py +0 -0
  45. {kernel-0.64.0 → kernel-0.67.0}/examples/browser_telemetry.py +0 -0
  46. {kernel-0.64.0 → kernel-0.67.0}/noxfile.py +0 -0
  47. {kernel-0.64.0 → kernel-0.67.0}/release-please-config.json +0 -0
  48. {kernel-0.64.0 → kernel-0.67.0}/requirements-dev.lock +0 -0
  49. {kernel-0.64.0 → kernel-0.67.0}/requirements.lock +0 -0
  50. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/__init__.py +0 -0
  51. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_base_client.py +0 -0
  52. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_compat.py +0 -0
  53. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_constants.py +0 -0
  54. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_exceptions.py +0 -0
  55. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_files.py +0 -0
  56. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_models.py +0 -0
  57. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_qs.py +0 -0
  58. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_resource.py +0 -0
  59. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_response.py +0 -0
  60. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_streaming.py +0 -0
  61. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_types.py +0 -0
  62. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/__init__.py +0 -0
  63. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_compat.py +0 -0
  64. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  65. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_json.py +0 -0
  66. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_logs.py +0 -0
  67. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_path.py +0 -0
  68. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_proxy.py +0 -0
  69. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_reflection.py +0 -0
  70. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  71. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_streams.py +0 -0
  72. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_sync.py +0 -0
  73. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_transform.py +0 -0
  74. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_typing.py +0 -0
  75. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/_utils/_utils.py +0 -0
  76. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/app_framework.py +0 -0
  77. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/lib/.keep +0 -0
  78. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  79. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  80. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  81. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/lib/browser_routing/util.py +0 -0
  82. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/pagination.py +0 -0
  83. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/py.typed +0 -0
  84. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/api_keys.py +0 -0
  85. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/apps.py +0 -0
  86. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/auth/__init__.py +0 -0
  87. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/auth/auth.py +0 -0
  88. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/__init__.py +0 -0
  89. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/computer.py +0 -0
  90. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  91. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  92. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  93. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/logs.py +0 -0
  94. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/playwright.py +0 -0
  95. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/process.py +0 -0
  96. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/replays.py +0 -0
  97. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/browsers/telemetry.py +0 -0
  98. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/credential_providers.py +0 -0
  99. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/deployments.py +0 -0
  100. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/invocations.py +0 -0
  101. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/profiles.py +0 -0
  102. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/projects/__init__.py +0 -0
  103. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/projects/limits.py +0 -0
  104. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/resources/projects/projects.py +0 -0
  105. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/__init__.py +0 -0
  106. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/api_key.py +0 -0
  107. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/api_key_create_params.py +0 -0
  108. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/api_key_list_params.py +0 -0
  109. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/api_key_update_params.py +0 -0
  110. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/app_list_params.py +0 -0
  111. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/app_list_response.py +0 -0
  112. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/__init__.py +0 -0
  113. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  114. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  115. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  116. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/login_response.py +0 -0
  117. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/managed_auth.py +0 -0
  118. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  119. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_create_response.py +0 -0
  120. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_curl_params.py +0 -0
  121. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_curl_response.py +0 -0
  122. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_list_params.py +0 -0
  123. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_list_response.py +0 -0
  124. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  125. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  126. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  127. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_list_params.py +0 -0
  128. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_ref.py +0 -0
  129. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  130. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  131. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  132. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_update_response.py +0 -0
  133. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browser_usage.py +0 -0
  134. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/__init__.py +0 -0
  135. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
  136. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  137. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
  138. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
  139. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
  140. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  141. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  142. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  143. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  144. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  145. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  146. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  147. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  148. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
  149. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
  150. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
  151. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
  152. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
  153. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
  154. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
  155. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  156. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  157. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  158. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  159. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  160. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  161. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  162. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  163. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  164. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  165. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  166. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  167. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
  168. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
  169. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
  170. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
  171. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
  172. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
  173. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  174. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
  175. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  176. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  177. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  178. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  179. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  180. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  181. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  182. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  183. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  184. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  185. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  186. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  187. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  188. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  189. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  190. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  191. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  192. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  193. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  194. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  195. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  196. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  197. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  198. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  199. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  200. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  201. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  202. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  203. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  204. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  205. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  206. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  207. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  208. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  209. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  210. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  211. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  212. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  213. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  214. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  215. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  216. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  217. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  218. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  219. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  220. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  221. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  222. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  223. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  224. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
  225. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/created_api_key.py +0 -0
  226. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential.py +0 -0
  227. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_create_params.py +0 -0
  228. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_list_params.py +0 -0
  229. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider.py +0 -0
  230. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  231. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_item.py +0 -0
  232. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  233. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_list_params.py +0 -0
  234. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  235. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  236. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  237. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/credential_update_params.py +0 -0
  238. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_create_params.py +0 -0
  239. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_create_response.py +0 -0
  240. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_follow_params.py +0 -0
  241. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_follow_response.py +0 -0
  242. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_list_params.py +0 -0
  243. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_list_response.py +0 -0
  244. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  245. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/deployment_state_event.py +0 -0
  246. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  247. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/extension_list_params.py +0 -0
  248. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/extension_list_response.py +0 -0
  249. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/extension_upload_params.py +0 -0
  250. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/extension_upload_response.py +0 -0
  251. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_create_params.py +0 -0
  252. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_create_response.py +0 -0
  253. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_follow_params.py +0 -0
  254. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_follow_response.py +0 -0
  255. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  256. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_list_params.py +0 -0
  257. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_list_response.py +0 -0
  258. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  259. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_state_event.py +0 -0
  260. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_update_params.py +0 -0
  261. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/invocation_update_response.py +0 -0
  262. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/profile.py +0 -0
  263. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/profile_create_params.py +0 -0
  264. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/profile_list_params.py +0 -0
  265. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/project.py +0 -0
  266. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/project_create_params.py +0 -0
  267. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/project_list_params.py +0 -0
  268. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/project_update_params.py +0 -0
  269. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/projects/__init__.py +0 -0
  270. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  271. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/projects/project_limits.py +0 -0
  272. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_check_params.py +0 -0
  273. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_check_response.py +0 -0
  274. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_create_params.py +0 -0
  275. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_create_response.py +0 -0
  276. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_list_params.py +0 -0
  277. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_list_response.py +0 -0
  278. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  279. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/__init__.py +0 -0
  280. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/app_action.py +0 -0
  281. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/browser_extension.py +0 -0
  282. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/browser_profile.py +0 -0
  283. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  284. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/error_detail.py +0 -0
  285. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/error_event.py +0 -0
  286. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/error_model.py +0 -0
  287. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  288. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared/log_event.py +0 -0
  289. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared_params/__init__.py +0 -0
  290. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  291. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  292. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  293. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/tags.py +0 -0
  294. {kernel-0.64.0 → kernel-0.67.0}/src/kernel/types/tags_param.py +0 -0
  295. {kernel-0.64.0 → kernel-0.67.0}/tests/__init__.py +0 -0
  296. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/__init__.py +0 -0
  297. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/auth/__init__.py +0 -0
  298. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/auth/test_connections.py +0 -0
  299. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/__init__.py +0 -0
  300. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  301. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  302. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_computer.py +0 -0
  303. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_fs.py +0 -0
  304. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_logs.py +0 -0
  305. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  306. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_process.py +0 -0
  307. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_replays.py +0 -0
  308. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
  309. {kernel-0.64.0/tests/api_resources/projects → kernel-0.67.0/tests/api_resources/organization}/__init__.py +0 -0
  310. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/projects/test_limits.py +0 -0
  311. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_api_keys.py +0 -0
  312. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_apps.py +0 -0
  313. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_credential_providers.py +0 -0
  314. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_credentials.py +0 -0
  315. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_deployments.py +0 -0
  316. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_extensions.py +0 -0
  317. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_invocations.py +0 -0
  318. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_profiles.py +0 -0
  319. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_projects.py +0 -0
  320. {kernel-0.64.0 → kernel-0.67.0}/tests/api_resources/test_proxies.py +0 -0
  321. {kernel-0.64.0 → kernel-0.67.0}/tests/conftest.py +0 -0
  322. {kernel-0.64.0 → kernel-0.67.0}/tests/sample_file.txt +0 -0
  323. {kernel-0.64.0 → kernel-0.67.0}/tests/test_browser_routing.py +0 -0
  324. {kernel-0.64.0 → kernel-0.67.0}/tests/test_client.py +0 -0
  325. {kernel-0.64.0 → kernel-0.67.0}/tests/test_extract_files.py +0 -0
  326. {kernel-0.64.0 → kernel-0.67.0}/tests/test_files.py +0 -0
  327. {kernel-0.64.0 → kernel-0.67.0}/tests/test_models.py +0 -0
  328. {kernel-0.64.0 → kernel-0.67.0}/tests/test_qs.py +0 -0
  329. {kernel-0.64.0 → kernel-0.67.0}/tests/test_required_args.py +0 -0
  330. {kernel-0.64.0 → kernel-0.67.0}/tests/test_response.py +0 -0
  331. {kernel-0.64.0 → kernel-0.67.0}/tests/test_streaming.py +0 -0
  332. {kernel-0.64.0 → kernel-0.67.0}/tests/test_transform.py +0 -0
  333. {kernel-0.64.0 → kernel-0.67.0}/tests/test_utils/test_datetime_parse.py +0 -0
  334. {kernel-0.64.0 → kernel-0.67.0}/tests/test_utils/test_json.py +0 -0
  335. {kernel-0.64.0 → kernel-0.67.0}/tests/test_utils/test_path.py +0 -0
  336. {kernel-0.64.0 → kernel-0.67.0}/tests/test_utils/test_proxy.py +0 -0
  337. {kernel-0.64.0 → kernel-0.67.0}/tests/test_utils/test_typing.py +0 -0
  338. {kernel-0.64.0 → kernel-0.67.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.67.0"
3
+ }
@@ -1,5 +1,36 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.67.0 (2026-06-11)
4
+
5
+ Full Changelog: [v0.66.0...v0.67.0](https://github.com/kernel/kernel-python-sdk/compare/v0.66.0...v0.67.0)
6
+
7
+ ### Features
8
+
9
+ * Add project_id SDK client option mapped to X-Kernel-Project-Id ([1799732](https://github.com/kernel/kernel-python-sdk/commit/17997322232374c6c49d99333b564a0537f247c0))
10
+
11
+
12
+ ### Documentation
13
+
14
+ * **api:** correct project-scoping descriptions in OpenAPI spec ([5929332](https://github.com/kernel/kernel-python-sdk/commit/592933283ff7bf0e6596ddbfbc4851e285a1d36e))
15
+
16
+ ## 0.66.0 (2026-06-10)
17
+
18
+ Full Changelog: [v0.65.0...v0.66.0](https://github.com/kernel/kernel-python-sdk/compare/v0.65.0...v0.66.0)
19
+
20
+ ### Features
21
+
22
+ * Add org-level default per-project concurrency cap ([2de4525](https://github.com/kernel/kernel-python-sdk/commit/2de45255a1f5ed003ec0492461ee967bf961db2e))
23
+ * Support updating browser session name and tags via PATCH ([e26e9c6](https://github.com/kernel/kernel-python-sdk/commit/e26e9c6b0513a1c7f9723554f4ba977988290d5e))
24
+
25
+ ## 0.65.0 (2026-06-08)
26
+
27
+ Full Changelog: [v0.64.0...v0.65.0](https://github.com/kernel/kernel-python-sdk/compare/v0.64.0...v0.65.0)
28
+
29
+ ### Features
30
+
31
+ * **api:** allow setting a name and tags on a pool-acquired browser session ([2977911](https://github.com/kernel/kernel-python-sdk/commit/2977911151def0f4193c5e8063ab33800d167585))
32
+ * **api:** support id-or-name lookup on browser session get/patch/delete ([7e6d287](https://github.com/kernel/kernel-python-sdk/commit/7e6d28795b4b2b9f9e14cf14711a72053530b576))
33
+
3
34
  ## 0.64.0 (2026-06-05)
4
35
 
5
36
  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.67.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
@@ -423,6 +423,21 @@ Methods:
423
423
  - <code title="get /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">retrieve</a>(id) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
424
424
  - <code title="patch /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">update</a>(id, \*\*<a href="src/kernel/types/projects/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
425
425
 
426
+ # Organization
427
+
428
+ ## Limits
429
+
430
+ Types:
431
+
432
+ ```python
433
+ from kernel.types.organization import OrgLimits, UpdateOrgLimitsRequest
434
+ ```
435
+
436
+ Methods:
437
+
438
+ - <code title="get /org/limits">client.organization.limits.<a href="./src/kernel/resources/organization/limits.py">retrieve</a>() -> <a href="./src/kernel/types/organization/org_limits.py">OrgLimits</a></code>
439
+ - <code title="patch /org/limits">client.organization.limits.<a href="./src/kernel/resources/organization/limits.py">update</a>(\*\*<a href="src/kernel/types/organization/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/organization/org_limits.py">OrgLimits</a></code>
440
+
426
441
  # APIKeys
427
442
 
428
443
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.64.0"
3
+ version = "0.67.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -58,6 +58,7 @@ if TYPE_CHECKING:
58
58
  credentials,
59
59
  deployments,
60
60
  invocations,
61
+ organization,
61
62
  browser_pools,
62
63
  credential_providers,
63
64
  )
@@ -74,6 +75,7 @@ if TYPE_CHECKING:
74
75
  from .resources.browsers.browsers import BrowsersResource, AsyncBrowsersResource
75
76
  from .resources.projects.projects import ProjectsResource, AsyncProjectsResource
76
77
  from .resources.credential_providers import CredentialProvidersResource, AsyncCredentialProvidersResource
78
+ from .resources.organization.organization import OrganizationResource, AsyncOrganizationResource
77
79
 
78
80
  __all__ = [
79
81
  "ENVIRONMENTS",
@@ -98,6 +100,8 @@ class Kernel(SyncAPIClient):
98
100
  api_key: str
99
101
  browser_route_cache: BrowserRouteCache
100
102
 
103
+ project_id: str | None
104
+
101
105
  _environment: Literal["production", "development"] | NotGiven
102
106
  _browser_routing: BrowserRoutingConfig
103
107
 
@@ -105,6 +109,7 @@ class Kernel(SyncAPIClient):
105
109
  self,
106
110
  *,
107
111
  api_key: str | None = None,
112
+ project_id: str | None = None,
108
113
  environment: Literal["production", "development"] | NotGiven = not_given,
109
114
  base_url: str | httpx.URL | None | NotGiven = not_given,
110
115
  timeout: float | Timeout | None | NotGiven = not_given,
@@ -138,6 +143,8 @@ class Kernel(SyncAPIClient):
138
143
  )
139
144
  self.api_key = api_key
140
145
 
146
+ self.project_id = project_id
147
+
141
148
  self._environment = environment
142
149
 
143
150
  base_url_env = os.environ.get("KERNEL_BASE_URL")
@@ -262,6 +269,12 @@ class Kernel(SyncAPIClient):
262
269
 
263
270
  return ProjectsResource(self)
264
271
 
272
+ @cached_property
273
+ def organization(self) -> OrganizationResource:
274
+ from .resources.organization import OrganizationResource
275
+
276
+ return OrganizationResource(self)
277
+
265
278
  @cached_property
266
279
  def api_keys(self) -> APIKeysResource:
267
280
  """Create and manage API keys for organization and project-scoped access."""
@@ -301,6 +314,7 @@ class Kernel(SyncAPIClient):
301
314
  return {
302
315
  **super().default_headers,
303
316
  "X-Stainless-Async": "false",
317
+ "X-Kernel-Project-Id": self.project_id if self.project_id is not None else Omit(),
304
318
  **self._custom_headers,
305
319
  }
306
320
 
@@ -339,6 +353,7 @@ class Kernel(SyncAPIClient):
339
353
  self,
340
354
  *,
341
355
  api_key: str | None = None,
356
+ project_id: str | None = None,
342
357
  environment: Literal["production", "development"] | None = None,
343
358
  base_url: str | httpx.URL | None = None,
344
359
  timeout: float | Timeout | None | NotGiven = not_given,
@@ -375,6 +390,7 @@ class Kernel(SyncAPIClient):
375
390
  http_client = http_client or self._client
376
391
  return self.__class__(
377
392
  api_key=api_key or self.api_key,
393
+ project_id=project_id or self.project_id,
378
394
  base_url=base_url or self.base_url,
379
395
  environment=environment or self._environment,
380
396
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -429,6 +445,8 @@ class AsyncKernel(AsyncAPIClient):
429
445
  api_key: str
430
446
  browser_route_cache: BrowserRouteCache
431
447
 
448
+ project_id: str | None
449
+
432
450
  _environment: Literal["production", "development"] | NotGiven
433
451
  _browser_routing: BrowserRoutingConfig
434
452
 
@@ -436,6 +454,7 @@ class AsyncKernel(AsyncAPIClient):
436
454
  self,
437
455
  *,
438
456
  api_key: str | None = None,
457
+ project_id: str | None = None,
439
458
  environment: Literal["production", "development"] | NotGiven = not_given,
440
459
  base_url: str | httpx.URL | None | NotGiven = not_given,
441
460
  timeout: float | Timeout | None | NotGiven = not_given,
@@ -469,6 +488,8 @@ class AsyncKernel(AsyncAPIClient):
469
488
  )
470
489
  self.api_key = api_key
471
490
 
491
+ self.project_id = project_id
492
+
472
493
  self._environment = environment
473
494
 
474
495
  base_url_env = os.environ.get("KERNEL_BASE_URL")
@@ -593,6 +614,12 @@ class AsyncKernel(AsyncAPIClient):
593
614
 
594
615
  return AsyncProjectsResource(self)
595
616
 
617
+ @cached_property
618
+ def organization(self) -> AsyncOrganizationResource:
619
+ from .resources.organization import AsyncOrganizationResource
620
+
621
+ return AsyncOrganizationResource(self)
622
+
596
623
  @cached_property
597
624
  def api_keys(self) -> AsyncAPIKeysResource:
598
625
  """Create and manage API keys for organization and project-scoped access."""
@@ -632,6 +659,7 @@ class AsyncKernel(AsyncAPIClient):
632
659
  return {
633
660
  **super().default_headers,
634
661
  "X-Stainless-Async": f"async:{get_async_library()}",
662
+ "X-Kernel-Project-Id": self.project_id if self.project_id is not None else Omit(),
635
663
  **self._custom_headers,
636
664
  }
637
665
 
@@ -670,6 +698,7 @@ class AsyncKernel(AsyncAPIClient):
670
698
  self,
671
699
  *,
672
700
  api_key: str | None = None,
701
+ project_id: str | None = None,
673
702
  environment: Literal["production", "development"] | None = None,
674
703
  base_url: str | httpx.URL | None = None,
675
704
  timeout: float | Timeout | None | NotGiven = not_given,
@@ -706,6 +735,7 @@ class AsyncKernel(AsyncAPIClient):
706
735
  http_client = http_client or self._client
707
736
  return self.__class__(
708
737
  api_key=api_key or self.api_key,
738
+ project_id=project_id or self.project_id,
709
739
  base_url=base_url or self.base_url,
710
740
  environment=environment or self._environment,
711
741
  timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
@@ -837,6 +867,12 @@ class KernelWithRawResponse:
837
867
 
838
868
  return ProjectsResourceWithRawResponse(self._client.projects)
839
869
 
870
+ @cached_property
871
+ def organization(self) -> organization.OrganizationResourceWithRawResponse:
872
+ from .resources.organization import OrganizationResourceWithRawResponse
873
+
874
+ return OrganizationResourceWithRawResponse(self._client.organization)
875
+
840
876
  @cached_property
841
877
  def api_keys(self) -> api_keys.APIKeysResourceWithRawResponse:
842
878
  """Create and manage API keys for organization and project-scoped access."""
@@ -934,6 +970,12 @@ class AsyncKernelWithRawResponse:
934
970
 
935
971
  return AsyncProjectsResourceWithRawResponse(self._client.projects)
936
972
 
973
+ @cached_property
974
+ def organization(self) -> organization.AsyncOrganizationResourceWithRawResponse:
975
+ from .resources.organization import AsyncOrganizationResourceWithRawResponse
976
+
977
+ return AsyncOrganizationResourceWithRawResponse(self._client.organization)
978
+
937
979
  @cached_property
938
980
  def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithRawResponse:
939
981
  """Create and manage API keys for organization and project-scoped access."""
@@ -1031,6 +1073,12 @@ class KernelWithStreamedResponse:
1031
1073
 
1032
1074
  return ProjectsResourceWithStreamingResponse(self._client.projects)
1033
1075
 
1076
+ @cached_property
1077
+ def organization(self) -> organization.OrganizationResourceWithStreamingResponse:
1078
+ from .resources.organization import OrganizationResourceWithStreamingResponse
1079
+
1080
+ return OrganizationResourceWithStreamingResponse(self._client.organization)
1081
+
1034
1082
  @cached_property
1035
1083
  def api_keys(self) -> api_keys.APIKeysResourceWithStreamingResponse:
1036
1084
  """Create and manage API keys for organization and project-scoped access."""
@@ -1128,6 +1176,12 @@ class AsyncKernelWithStreamedResponse:
1128
1176
 
1129
1177
  return AsyncProjectsResourceWithStreamingResponse(self._client.projects)
1130
1178
 
1179
+ @cached_property
1180
+ def organization(self) -> organization.AsyncOrganizationResourceWithStreamingResponse:
1181
+ from .resources.organization import AsyncOrganizationResourceWithStreamingResponse
1182
+
1183
+ return AsyncOrganizationResourceWithStreamingResponse(self._client.organization)
1184
+
1131
1185
  @cached_property
1132
1186
  def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithStreamingResponse:
1133
1187
  """Create and manage API keys for organization and project-scoped access."""
@@ -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.67.0" # x-release-please-version
@@ -88,6 +88,14 @@ from .invocations import (
88
88
  InvocationsResourceWithStreamingResponse,
89
89
  AsyncInvocationsResourceWithStreamingResponse,
90
90
  )
91
+ from .organization import (
92
+ OrganizationResource,
93
+ AsyncOrganizationResource,
94
+ OrganizationResourceWithRawResponse,
95
+ AsyncOrganizationResourceWithRawResponse,
96
+ OrganizationResourceWithStreamingResponse,
97
+ AsyncOrganizationResourceWithStreamingResponse,
98
+ )
91
99
  from .browser_pools import (
92
100
  BrowserPoolsResource,
93
101
  AsyncBrowserPoolsResource,
@@ -172,6 +180,12 @@ __all__ = [
172
180
  "AsyncProjectsResourceWithRawResponse",
173
181
  "ProjectsResourceWithStreamingResponse",
174
182
  "AsyncProjectsResourceWithStreamingResponse",
183
+ "OrganizationResource",
184
+ "AsyncOrganizationResource",
185
+ "OrganizationResourceWithRawResponse",
186
+ "AsyncOrganizationResourceWithRawResponse",
187
+ "OrganizationResourceWithStreamingResponse",
188
+ "AsyncOrganizationResourceWithStreamingResponse",
175
189
  "APIKeysResource",
176
190
  "AsyncAPIKeysResource",
177
191
  "APIKeysResourceWithRawResponse",
@@ -136,8 +136,8 @@ class ConnectionsResource(SyncAPIResource):
136
136
 
137
137
  login_url: Optional login page URL to skip discovery
138
138
 
139
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
140
- caller's org.
139
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
140
+ project as the resource referencing it.
141
141
 
142
142
  record_session: Whether to record browser sessions for this connection by default. Useful for
143
143
  debugging. Can be overridden per-login. Defaults to false.
@@ -264,8 +264,8 @@ class ConnectionsResource(SyncAPIResource):
264
264
 
265
265
  login_url: Login page URL. Set to empty string to clear.
266
266
 
267
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
268
- caller's org.
267
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
268
+ project as the resource referencing it.
269
269
 
270
270
  record_session: Whether to record browser sessions for this connection by default
271
271
 
@@ -457,8 +457,8 @@ class ConnectionsResource(SyncAPIResource):
457
457
  credentials are stored.
458
458
 
459
459
  Args:
460
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
461
- caller's org.
460
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
461
+ project as the resource referencing it.
462
462
 
463
463
  record_session: Override the connection's default for recording this login's browser session.
464
464
  When omitted, the connection's record_session default is used.
@@ -653,8 +653,8 @@ class AsyncConnectionsResource(AsyncAPIResource):
653
653
 
654
654
  login_url: Optional login page URL to skip discovery
655
655
 
656
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
657
- caller's org.
656
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
657
+ project as the resource referencing it.
658
658
 
659
659
  record_session: Whether to record browser sessions for this connection by default. Useful for
660
660
  debugging. Can be overridden per-login. Defaults to false.
@@ -781,8 +781,8 @@ class AsyncConnectionsResource(AsyncAPIResource):
781
781
 
782
782
  login_url: Login page URL. Set to empty string to clear.
783
783
 
784
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
785
- caller's org.
784
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
785
+ project as the resource referencing it.
786
786
 
787
787
  record_session: Whether to record browser sessions for this connection by default
788
788
 
@@ -974,8 +974,8 @@ class AsyncConnectionsResource(AsyncAPIResource):
974
974
  credentials are stored.
975
975
 
976
976
  Args:
977
- proxy: Proxy selection. Provide either id or name. The proxy must belong to the
978
- caller's org.
977
+ proxy: Proxy selection. Provide either id or name. The proxy must be in the same
978
+ project as the resource referencing it.
979
979
 
980
980
  record_session: Override the connection's default for recording this login's browser session.
981
981
  When omitted, the connection's record_session default is used.
@@ -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
@@ -108,8 +109,8 @@ class BrowserPoolsResource(SyncAPIResource):
108
109
  specified, the matching profile will be loaded into the browser session.
109
110
  Profiles must be created beforehand.
110
111
 
111
- proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
112
- belonging to the caller's org.
112
+ proxy_id: Optional proxy to associate to the browser session. Must reference a proxy in
113
+ the same project as the browser session.
113
114
 
114
115
  start_url: Optional URL to navigate to when a new browser is warmed into the pool.
115
116
  Best-effort: failures to navigate do not fail pool fill. Only applied to
@@ -255,8 +256,8 @@ class BrowserPoolsResource(SyncAPIResource):
255
256
  specified, the matching profile will be loaded into the browser session.
256
257
  Profiles must be created beforehand.
257
258
 
258
- proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
259
- belonging to the caller's org.
259
+ proxy_id: Optional proxy to associate to the browser session. Must reference a proxy in
260
+ the same project as the browser session.
260
261
 
261
262
  size: Number of browsers to maintain in the pool. The maximum size is determined by
262
263
  your organization's pooled sessions limit (the sum of all pool sizes cannot
@@ -337,7 +338,7 @@ class BrowserPoolsResource(SyncAPIResource):
337
338
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
338
339
  ) -> SyncOffsetPagination[BrowserPool]:
339
340
  """
340
- List browser pools owned by the caller's organization.
341
+ List browser pools in the resolved project.
341
342
 
342
343
  Args:
343
344
  limit: Limit the number of browser pools to return.
@@ -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(
@@ -614,8 +630,8 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
614
630
  specified, the matching profile will be loaded into the browser session.
615
631
  Profiles must be created beforehand.
616
632
 
617
- proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
618
- belonging to the caller's org.
633
+ proxy_id: Optional proxy to associate to the browser session. Must reference a proxy in
634
+ the same project as the browser session.
619
635
 
620
636
  start_url: Optional URL to navigate to when a new browser is warmed into the pool.
621
637
  Best-effort: failures to navigate do not fail pool fill. Only applied to
@@ -761,8 +777,8 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
761
777
  specified, the matching profile will be loaded into the browser session.
762
778
  Profiles must be created beforehand.
763
779
 
764
- proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
765
- belonging to the caller's org.
780
+ proxy_id: Optional proxy to associate to the browser session. Must reference a proxy in
781
+ the same project as the browser session.
766
782
 
767
783
  size: Number of browsers to maintain in the pool. The maximum size is determined by
768
784
  your organization's pooled sessions limit (the sum of all pool sizes cannot
@@ -843,7 +859,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
843
859
  timeout: float | httpx.Timeout | None | NotGiven = not_given,
844
860
  ) -> AsyncPaginator[BrowserPool, AsyncOffsetPagination[BrowserPool]]:
845
861
  """
846
- List browser pools owned by the caller's organization.
862
+ List browser pools in the resolved project.
847
863
 
848
864
  Args:
849
865
  limit: Limit the number of browser pools to return.
@@ -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(