kernel 0.70.0__tar.gz → 0.71.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 (350) hide show
  1. kernel-0.71.0/.release-please-manifest.json +3 -0
  2. {kernel-0.70.0 → kernel-0.71.0}/CHANGELOG.md +9 -0
  3. {kernel-0.70.0 → kernel-0.71.0}/PKG-INFO +1 -1
  4. {kernel-0.70.0 → kernel-0.71.0}/api.md +14 -0
  5. {kernel-0.70.0 → kernel-0.71.0}/pyproject.toml +1 -1
  6. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_client.py +44 -0
  7. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_version.py +1 -1
  8. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/pagination.py +81 -1
  9. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/__init__.py +14 -0
  10. kernel-0.71.0/src/kernel/resources/audit_logs.py +269 -0
  11. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/auth/connections.py +127 -0
  12. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/__init__.py +2 -0
  13. kernel-0.71.0/src/kernel/types/audit_log_entry.py +45 -0
  14. kernel-0.71.0/src/kernel/types/audit_log_list_params.py +44 -0
  15. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/__init__.py +2 -0
  16. kernel-0.71.0/src/kernel/types/auth/connection_timeline_params.py +18 -0
  17. kernel-0.71.0/src/kernel/types/auth/managed_auth_timeline_event.py +77 -0
  18. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/auth/test_connections.py +107 -0
  19. kernel-0.71.0/tests/api_resources/test_audit_logs.py +134 -0
  20. kernel-0.70.0/.release-please-manifest.json +0 -3
  21. {kernel-0.70.0 → kernel-0.71.0}/.gitignore +0 -0
  22. {kernel-0.70.0 → kernel-0.71.0}/CONTRIBUTING.md +0 -0
  23. {kernel-0.70.0 → kernel-0.71.0}/LICENSE +0 -0
  24. {kernel-0.70.0 → kernel-0.71.0}/README.md +0 -0
  25. {kernel-0.70.0 → kernel-0.71.0}/SECURITY.md +0 -0
  26. {kernel-0.70.0 → kernel-0.71.0}/bin/check-release-environment +0 -0
  27. {kernel-0.70.0 → kernel-0.71.0}/bin/publish-pypi +0 -0
  28. {kernel-0.70.0 → kernel-0.71.0}/examples/.keep +0 -0
  29. {kernel-0.70.0 → kernel-0.71.0}/examples/browser_routing.py +0 -0
  30. {kernel-0.70.0 → kernel-0.71.0}/examples/browser_telemetry.py +0 -0
  31. {kernel-0.70.0 → kernel-0.71.0}/noxfile.py +0 -0
  32. {kernel-0.70.0 → kernel-0.71.0}/release-please-config.json +0 -0
  33. {kernel-0.70.0 → kernel-0.71.0}/requirements-dev.lock +0 -0
  34. {kernel-0.70.0 → kernel-0.71.0}/requirements.lock +0 -0
  35. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/__init__.py +0 -0
  36. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_base_client.py +0 -0
  37. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_compat.py +0 -0
  38. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_constants.py +0 -0
  39. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_exceptions.py +0 -0
  40. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_files.py +0 -0
  41. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_models.py +0 -0
  42. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_qs.py +0 -0
  43. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_resource.py +0 -0
  44. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_response.py +0 -0
  45. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_streaming.py +0 -0
  46. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_types.py +0 -0
  47. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/__init__.py +0 -0
  48. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_compat.py +0 -0
  49. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  50. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_json.py +0 -0
  51. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_logs.py +0 -0
  52. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_path.py +0 -0
  53. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_proxy.py +0 -0
  54. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_reflection.py +0 -0
  55. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  56. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_streams.py +0 -0
  57. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_sync.py +0 -0
  58. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_transform.py +0 -0
  59. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_typing.py +0 -0
  60. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/_utils/_utils.py +0 -0
  61. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/app_framework.py +0 -0
  62. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/lib/.keep +0 -0
  63. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  64. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  65. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  66. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/lib/browser_routing/util.py +0 -0
  67. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/py.typed +0 -0
  68. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/api_keys.py +0 -0
  69. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/apps.py +0 -0
  70. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/auth/__init__.py +0 -0
  71. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/auth/auth.py +0 -0
  72. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browser_pools.py +0 -0
  73. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/__init__.py +0 -0
  74. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/browsers.py +0 -0
  75. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/computer.py +0 -0
  76. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  77. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  78. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  79. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/logs.py +0 -0
  80. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/playwright.py +0 -0
  81. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/process.py +0 -0
  82. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/replays.py +0 -0
  83. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/browsers/telemetry.py +0 -0
  84. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/credential_providers.py +0 -0
  85. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/credentials.py +0 -0
  86. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/deployments.py +0 -0
  87. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/extensions.py +0 -0
  88. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/invocations.py +0 -0
  89. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/organization/__init__.py +0 -0
  90. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/organization/limits.py +0 -0
  91. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/organization/organization.py +0 -0
  92. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/profiles.py +0 -0
  93. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/projects/__init__.py +0 -0
  94. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/projects/limits.py +0 -0
  95. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/projects/projects.py +0 -0
  96. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/resources/proxies.py +0 -0
  97. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key.py +0 -0
  98. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key_create_params.py +0 -0
  99. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key_list_params.py +0 -0
  100. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key_retrieve_params.py +0 -0
  101. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key_rotate_params.py +0 -0
  102. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/api_key_update_params.py +0 -0
  103. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/app_list_params.py +0 -0
  104. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/app_list_response.py +0 -0
  105. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_create_params.py +0 -0
  106. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
  107. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  108. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_login_params.py +0 -0
  109. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  110. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/connection_update_params.py +0 -0
  111. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/login_response.py +0 -0
  112. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/managed_auth.py +0 -0
  113. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  114. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_create_params.py +0 -0
  115. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_create_response.py +0 -0
  116. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_curl_params.py +0 -0
  117. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_curl_response.py +0 -0
  118. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_list_params.py +0 -0
  119. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_list_response.py +0 -0
  120. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  121. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool.py +0 -0
  122. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
  123. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
  124. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_create_params.py +0 -0
  125. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  126. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_list_params.py +0 -0
  127. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_ref.py +0 -0
  128. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  129. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_pool_update_params.py +0 -0
  130. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  131. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_retrieve_response.py +0 -0
  132. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_update_params.py +0 -0
  133. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_update_response.py +0 -0
  134. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browser_usage.py +0 -0
  135. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/__init__.py +0 -0
  136. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
  137. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
  138. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
  139. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
  140. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
  141. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
  142. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
  143. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
  144. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
  145. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
  146. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
  147. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
  148. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
  149. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
  150. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
  151. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
  152. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
  153. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
  154. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
  155. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
  156. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
  157. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
  158. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
  159. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
  160. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
  161. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
  162. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
  163. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
  164. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
  165. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
  166. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
  167. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
  168. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
  169. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
  170. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
  171. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
  172. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
  173. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
  174. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
  175. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
  176. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  177. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  178. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  179. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  180. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  181. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  182. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  183. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  184. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  185. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  186. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  187. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  188. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  189. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  190. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  191. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  192. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  193. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  194. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  195. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  196. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  197. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  198. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  199. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  200. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  201. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  202. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  203. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  204. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  205. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  206. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  207. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  208. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  209. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  210. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  211. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  212. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  213. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  214. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  215. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  216. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  217. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  218. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  219. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  220. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  221. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  222. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  223. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  224. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  225. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/telemetry_events_params.py +0 -0
  226. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/telemetry_events_response.py +0 -0
  227. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/telemetry_stream_params.py +0 -0
  228. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
  229. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/created_api_key.py +0 -0
  230. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential.py +0 -0
  231. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_create_params.py +0 -0
  232. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_list_params.py +0 -0
  233. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider.py +0 -0
  234. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  235. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_item.py +0 -0
  236. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  237. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_list_params.py +0 -0
  238. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  239. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  240. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  241. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/credential_update_params.py +0 -0
  242. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_create_params.py +0 -0
  243. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_create_response.py +0 -0
  244. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_follow_params.py +0 -0
  245. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_follow_response.py +0 -0
  246. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_list_params.py +0 -0
  247. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_list_response.py +0 -0
  248. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  249. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/deployment_state_event.py +0 -0
  250. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  251. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_get_response.py +0 -0
  252. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_list_params.py +0 -0
  253. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_list_response.py +0 -0
  254. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_upload_params.py +0 -0
  255. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/extension_upload_response.py +0 -0
  256. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_create_params.py +0 -0
  257. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_create_response.py +0 -0
  258. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_follow_params.py +0 -0
  259. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_follow_response.py +0 -0
  260. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
  261. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_list_params.py +0 -0
  262. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_list_response.py +0 -0
  263. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  264. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_state_event.py +0 -0
  265. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_update_params.py +0 -0
  266. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/invocation_update_response.py +0 -0
  267. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/organization/__init__.py +0 -0
  268. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/organization/limit_update_params.py +0 -0
  269. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/organization/org_limits.py +0 -0
  270. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/profile.py +0 -0
  271. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/profile_create_params.py +0 -0
  272. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/profile_list_params.py +0 -0
  273. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/project.py +0 -0
  274. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/project_create_params.py +0 -0
  275. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/project_list_params.py +0 -0
  276. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/project_update_params.py +0 -0
  277. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/projects/__init__.py +0 -0
  278. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  279. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/projects/project_limits.py +0 -0
  280. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_check_params.py +0 -0
  281. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_check_response.py +0 -0
  282. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_create_params.py +0 -0
  283. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_create_response.py +0 -0
  284. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_list_params.py +0 -0
  285. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_list_response.py +0 -0
  286. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  287. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/__init__.py +0 -0
  288. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/app_action.py +0 -0
  289. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/browser_extension.py +0 -0
  290. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/browser_profile.py +0 -0
  291. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  292. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/error_detail.py +0 -0
  293. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/error_event.py +0 -0
  294. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/error_model.py +0 -0
  295. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  296. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared/log_event.py +0 -0
  297. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared_params/__init__.py +0 -0
  298. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  299. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  300. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  301. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/tags.py +0 -0
  302. {kernel-0.70.0 → kernel-0.71.0}/src/kernel/types/tags_param.py +0 -0
  303. {kernel-0.70.0 → kernel-0.71.0}/tests/__init__.py +0 -0
  304. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/__init__.py +0 -0
  305. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/auth/__init__.py +0 -0
  306. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/__init__.py +0 -0
  307. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  308. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  309. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_computer.py +0 -0
  310. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_fs.py +0 -0
  311. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_logs.py +0 -0
  312. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  313. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_process.py +0 -0
  314. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_replays.py +0 -0
  315. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
  316. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/organization/__init__.py +0 -0
  317. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/organization/test_limits.py +0 -0
  318. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/projects/__init__.py +0 -0
  319. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/projects/test_limits.py +0 -0
  320. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_api_keys.py +0 -0
  321. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_apps.py +0 -0
  322. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_browser_pools.py +0 -0
  323. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_browsers.py +0 -0
  324. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_credential_providers.py +0 -0
  325. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_credentials.py +0 -0
  326. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_deployments.py +0 -0
  327. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_extensions.py +0 -0
  328. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_invocations.py +0 -0
  329. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_profiles.py +0 -0
  330. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_projects.py +0 -0
  331. {kernel-0.70.0 → kernel-0.71.0}/tests/api_resources/test_proxies.py +0 -0
  332. {kernel-0.70.0 → kernel-0.71.0}/tests/conftest.py +0 -0
  333. {kernel-0.70.0 → kernel-0.71.0}/tests/sample_file.txt +0 -0
  334. {kernel-0.70.0 → kernel-0.71.0}/tests/test_browser_routing.py +0 -0
  335. {kernel-0.70.0 → kernel-0.71.0}/tests/test_client.py +0 -0
  336. {kernel-0.70.0 → kernel-0.71.0}/tests/test_extract_files.py +0 -0
  337. {kernel-0.70.0 → kernel-0.71.0}/tests/test_files.py +0 -0
  338. {kernel-0.70.0 → kernel-0.71.0}/tests/test_models.py +0 -0
  339. {kernel-0.70.0 → kernel-0.71.0}/tests/test_pagination.py +0 -0
  340. {kernel-0.70.0 → kernel-0.71.0}/tests/test_qs.py +0 -0
  341. {kernel-0.70.0 → kernel-0.71.0}/tests/test_required_args.py +0 -0
  342. {kernel-0.70.0 → kernel-0.71.0}/tests/test_response.py +0 -0
  343. {kernel-0.70.0 → kernel-0.71.0}/tests/test_streaming.py +0 -0
  344. {kernel-0.70.0 → kernel-0.71.0}/tests/test_transform.py +0 -0
  345. {kernel-0.70.0 → kernel-0.71.0}/tests/test_utils/test_datetime_parse.py +0 -0
  346. {kernel-0.70.0 → kernel-0.71.0}/tests/test_utils/test_json.py +0 -0
  347. {kernel-0.70.0 → kernel-0.71.0}/tests/test_utils/test_path.py +0 -0
  348. {kernel-0.70.0 → kernel-0.71.0}/tests/test_utils/test_proxy.py +0 -0
  349. {kernel-0.70.0 → kernel-0.71.0}/tests/test_utils/test_typing.py +0 -0
  350. {kernel-0.70.0 → kernel-0.71.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.71.0"
3
+ }
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.71.0 (2026-06-26)
4
+
5
+ Full Changelog: [v0.70.0...v0.71.0](https://github.com/kernel/kernel-python-sdk/compare/v0.70.0...v0.71.0)
6
+
7
+ ### Features
8
+
9
+ * Add auth connection event timeline endpoint ([871432f](https://github.com/kernel/kernel-python-sdk/commit/871432f827c95b11d132f60b3547c9986e266f6b))
10
+ * Expose audit logs in public SDK ([9c8e9ac](https://github.com/kernel/kernel-python-sdk/commit/9c8e9ace1cdddc6ce727b38fec62beaba6c6fa20))
11
+
3
12
  ## 0.70.0 (2026-06-24)
4
13
 
5
14
  Full Changelog: [v0.69.0...v0.70.0](https://github.com/kernel/kernel-python-sdk/compare/v0.69.0...v0.70.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.70.0
3
+ Version: 0.71.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
@@ -300,6 +300,7 @@ from kernel.types.auth import (
300
300
  LoginResponse,
301
301
  ManagedAuth,
302
302
  ManagedAuthCreateRequest,
303
+ ManagedAuthTimelineEvent,
303
304
  ManagedAuthUpdateRequest,
304
305
  SubmitFieldsRequest,
305
306
  SubmitFieldsResponse,
@@ -317,6 +318,7 @@ Methods:
317
318
  - <code title="get /auth/connections/{id}/events">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">follow</a>(id) -> <a href="./src/kernel/types/auth/connection_follow_response.py">ConnectionFollowResponse</a></code>
318
319
  - <code title="post /auth/connections/{id}/login">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">login</a>(id, \*\*<a href="src/kernel/types/auth/connection_login_params.py">params</a>) -> <a href="./src/kernel/types/auth/login_response.py">LoginResponse</a></code>
319
320
  - <code title="post /auth/connections/{id}/submit">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">submit</a>(id, \*\*<a href="src/kernel/types/auth/connection_submit_params.py">params</a>) -> <a href="./src/kernel/types/auth/submit_fields_response.py">SubmitFieldsResponse</a></code>
321
+ - <code title="get /auth/connections/{id}/timeline">client.auth.connections.<a href="./src/kernel/resources/auth/connections.py">timeline</a>(id, \*\*<a href="src/kernel/types/auth/connection_timeline_params.py">params</a>) -> <a href="./src/kernel/types/auth/managed_auth_timeline_event.py">SyncOffsetPagination[ManagedAuthTimelineEvent]</a></code>
320
322
 
321
323
  # Proxies
322
324
 
@@ -441,6 +443,18 @@ Methods:
441
443
  - <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>
442
444
  - <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>
443
445
 
446
+ # AuditLogs
447
+
448
+ Types:
449
+
450
+ ```python
451
+ from kernel.types import AuditLogEntry
452
+ ```
453
+
454
+ Methods:
455
+
456
+ - <code title="get /audit-logs">client.audit_logs.<a href="./src/kernel/resources/audit_logs.py">list</a>(\*\*<a href="src/kernel/types/audit_log_list_params.py">params</a>) -> <a href="./src/kernel/types/audit_log_entry.py">SyncPageTokenPagination[AuditLogEntry]</a></code>
457
+
444
458
  # APIKeys
445
459
 
446
460
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.70.0"
3
+ version = "0.71.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -54,6 +54,7 @@ if TYPE_CHECKING:
54
54
  browsers,
55
55
  profiles,
56
56
  projects,
57
+ audit_logs,
57
58
  extensions,
58
59
  credentials,
59
60
  deployments,
@@ -67,6 +68,7 @@ if TYPE_CHECKING:
67
68
  from .resources.api_keys import APIKeysResource, AsyncAPIKeysResource
68
69
  from .resources.profiles import ProfilesResource, AsyncProfilesResource
69
70
  from .resources.auth.auth import AuthResource, AsyncAuthResource
71
+ from .resources.audit_logs import AuditLogsResource, AsyncAuditLogsResource
70
72
  from .resources.extensions import ExtensionsResource, AsyncExtensionsResource
71
73
  from .resources.credentials import CredentialsResource, AsyncCredentialsResource
72
74
  from .resources.deployments import DeploymentsResource, AsyncDeploymentsResource
@@ -275,6 +277,13 @@ class Kernel(SyncAPIClient):
275
277
 
276
278
  return OrganizationResource(self)
277
279
 
280
+ @cached_property
281
+ def audit_logs(self) -> AuditLogsResource:
282
+ """Read audit log records for the authenticated organization."""
283
+ from .resources.audit_logs import AuditLogsResource
284
+
285
+ return AuditLogsResource(self)
286
+
278
287
  @cached_property
279
288
  def api_keys(self) -> APIKeysResource:
280
289
  """Create and manage API keys for organization and project-scoped access."""
@@ -620,6 +629,13 @@ class AsyncKernel(AsyncAPIClient):
620
629
 
621
630
  return AsyncOrganizationResource(self)
622
631
 
632
+ @cached_property
633
+ def audit_logs(self) -> AsyncAuditLogsResource:
634
+ """Read audit log records for the authenticated organization."""
635
+ from .resources.audit_logs import AsyncAuditLogsResource
636
+
637
+ return AsyncAuditLogsResource(self)
638
+
623
639
  @cached_property
624
640
  def api_keys(self) -> AsyncAPIKeysResource:
625
641
  """Create and manage API keys for organization and project-scoped access."""
@@ -873,6 +889,13 @@ class KernelWithRawResponse:
873
889
 
874
890
  return OrganizationResourceWithRawResponse(self._client.organization)
875
891
 
892
+ @cached_property
893
+ def audit_logs(self) -> audit_logs.AuditLogsResourceWithRawResponse:
894
+ """Read audit log records for the authenticated organization."""
895
+ from .resources.audit_logs import AuditLogsResourceWithRawResponse
896
+
897
+ return AuditLogsResourceWithRawResponse(self._client.audit_logs)
898
+
876
899
  @cached_property
877
900
  def api_keys(self) -> api_keys.APIKeysResourceWithRawResponse:
878
901
  """Create and manage API keys for organization and project-scoped access."""
@@ -976,6 +999,13 @@ class AsyncKernelWithRawResponse:
976
999
 
977
1000
  return AsyncOrganizationResourceWithRawResponse(self._client.organization)
978
1001
 
1002
+ @cached_property
1003
+ def audit_logs(self) -> audit_logs.AsyncAuditLogsResourceWithRawResponse:
1004
+ """Read audit log records for the authenticated organization."""
1005
+ from .resources.audit_logs import AsyncAuditLogsResourceWithRawResponse
1006
+
1007
+ return AsyncAuditLogsResourceWithRawResponse(self._client.audit_logs)
1008
+
979
1009
  @cached_property
980
1010
  def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithRawResponse:
981
1011
  """Create and manage API keys for organization and project-scoped access."""
@@ -1079,6 +1109,13 @@ class KernelWithStreamedResponse:
1079
1109
 
1080
1110
  return OrganizationResourceWithStreamingResponse(self._client.organization)
1081
1111
 
1112
+ @cached_property
1113
+ def audit_logs(self) -> audit_logs.AuditLogsResourceWithStreamingResponse:
1114
+ """Read audit log records for the authenticated organization."""
1115
+ from .resources.audit_logs import AuditLogsResourceWithStreamingResponse
1116
+
1117
+ return AuditLogsResourceWithStreamingResponse(self._client.audit_logs)
1118
+
1082
1119
  @cached_property
1083
1120
  def api_keys(self) -> api_keys.APIKeysResourceWithStreamingResponse:
1084
1121
  """Create and manage API keys for organization and project-scoped access."""
@@ -1182,6 +1219,13 @@ class AsyncKernelWithStreamedResponse:
1182
1219
 
1183
1220
  return AsyncOrganizationResourceWithStreamingResponse(self._client.organization)
1184
1221
 
1222
+ @cached_property
1223
+ def audit_logs(self) -> audit_logs.AsyncAuditLogsResourceWithStreamingResponse:
1224
+ """Read audit log records for the authenticated organization."""
1225
+ from .resources.audit_logs import AsyncAuditLogsResourceWithStreamingResponse
1226
+
1227
+ return AsyncAuditLogsResourceWithStreamingResponse(self._client.audit_logs)
1228
+
1185
1229
  @cached_property
1186
1230
  def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithStreamingResponse:
1187
1231
  """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.70.0" # x-release-please-version
4
+ __version__ = "0.71.0" # x-release-please-version
@@ -9,13 +9,93 @@ from ._utils import is_mapping, maybe_coerce_boolean, maybe_coerce_integer
9
9
  from ._models import BaseModel
10
10
  from ._base_client import BasePage, PageInfo, BaseSyncPage, BaseAsyncPage
11
11
 
12
- __all__ = ["SyncOffsetPagination", "AsyncOffsetPagination"]
12
+ __all__ = ["SyncPageTokenPagination", "AsyncPageTokenPagination", "SyncOffsetPagination", "AsyncOffsetPagination"]
13
13
 
14
14
  _BaseModelT = TypeVar("_BaseModelT", bound=BaseModel)
15
15
 
16
16
  _T = TypeVar("_T")
17
17
 
18
18
 
19
+ class SyncPageTokenPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
20
+ items: List[_T]
21
+ next_page_token: Optional[str] = None
22
+ has_more: Optional[bool] = None
23
+
24
+ @override
25
+ def _get_page_items(self) -> List[_T]:
26
+ items = self.items
27
+ if not items:
28
+ return []
29
+ return items
30
+
31
+ @override
32
+ def has_next_page(self) -> bool:
33
+ has_more = self.has_more
34
+ if has_more is not None and has_more is False:
35
+ return False
36
+
37
+ return super().has_next_page()
38
+
39
+ @override
40
+ def next_page_info(self) -> Optional[PageInfo]:
41
+ next_page_token = self.next_page_token
42
+ if not next_page_token:
43
+ return None
44
+
45
+ return PageInfo(params={"page_token": next_page_token})
46
+
47
+ @classmethod
48
+ def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
49
+ return cls.construct(
50
+ None,
51
+ **{
52
+ **(cast(Mapping[str, Any], data) if is_mapping(data) else {"items": data}),
53
+ "next_page_token": response.headers.get("X-Next-Page-Token"),
54
+ "has_more": maybe_coerce_boolean(response.headers.get("X-Has-More")),
55
+ },
56
+ )
57
+
58
+
59
+ class AsyncPageTokenPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
60
+ items: List[_T]
61
+ next_page_token: Optional[str] = None
62
+ has_more: Optional[bool] = None
63
+
64
+ @override
65
+ def _get_page_items(self) -> List[_T]:
66
+ items = self.items
67
+ if not items:
68
+ return []
69
+ return items
70
+
71
+ @override
72
+ def has_next_page(self) -> bool:
73
+ has_more = self.has_more
74
+ if has_more is not None and has_more is False:
75
+ return False
76
+
77
+ return super().has_next_page()
78
+
79
+ @override
80
+ def next_page_info(self) -> Optional[PageInfo]:
81
+ next_page_token = self.next_page_token
82
+ if not next_page_token:
83
+ return None
84
+
85
+ return PageInfo(params={"page_token": next_page_token})
86
+
87
+ @classmethod
88
+ def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
89
+ return cls.construct(
90
+ None,
91
+ **{
92
+ **(cast(Mapping[str, Any], data) if is_mapping(data) else {"items": data}),
93
+ "next_page_token": response.headers.get("X-Next-Page-Token"),
94
+ "has_more": maybe_coerce_boolean(response.headers.get("X-Has-More")),
95
+ },
96
+ )
97
+
98
+
19
99
  class SyncOffsetPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
20
100
  items: List[_T]
21
101
  has_more: Optional[bool] = None
@@ -56,6 +56,14 @@ from .projects import (
56
56
  ProjectsResourceWithStreamingResponse,
57
57
  AsyncProjectsResourceWithStreamingResponse,
58
58
  )
59
+ from .audit_logs import (
60
+ AuditLogsResource,
61
+ AsyncAuditLogsResource,
62
+ AuditLogsResourceWithRawResponse,
63
+ AsyncAuditLogsResourceWithRawResponse,
64
+ AuditLogsResourceWithStreamingResponse,
65
+ AsyncAuditLogsResourceWithStreamingResponse,
66
+ )
59
67
  from .extensions import (
60
68
  ExtensionsResource,
61
69
  AsyncExtensionsResource,
@@ -186,6 +194,12 @@ __all__ = [
186
194
  "AsyncOrganizationResourceWithRawResponse",
187
195
  "OrganizationResourceWithStreamingResponse",
188
196
  "AsyncOrganizationResourceWithStreamingResponse",
197
+ "AuditLogsResource",
198
+ "AsyncAuditLogsResource",
199
+ "AuditLogsResourceWithRawResponse",
200
+ "AsyncAuditLogsResourceWithRawResponse",
201
+ "AuditLogsResourceWithStreamingResponse",
202
+ "AsyncAuditLogsResourceWithStreamingResponse",
189
203
  "APIKeysResource",
190
204
  "AsyncAPIKeysResource",
191
205
  "APIKeysResourceWithRawResponse",
@@ -0,0 +1,269 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Union
6
+ from datetime import datetime
7
+
8
+ import httpx
9
+
10
+ from ..types import audit_log_list_params
11
+ from .._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
12
+ from .._utils import maybe_transform
13
+ from .._compat import cached_property
14
+ from .._resource import SyncAPIResource, AsyncAPIResource
15
+ from .._response import (
16
+ to_raw_response_wrapper,
17
+ to_streamed_response_wrapper,
18
+ async_to_raw_response_wrapper,
19
+ async_to_streamed_response_wrapper,
20
+ )
21
+ from ..pagination import SyncPageTokenPagination, AsyncPageTokenPagination
22
+ from .._base_client import AsyncPaginator, make_request_options
23
+ from ..types.audit_log_entry import AuditLogEntry
24
+
25
+ __all__ = ["AuditLogsResource", "AsyncAuditLogsResource"]
26
+
27
+
28
+ class AuditLogsResource(SyncAPIResource):
29
+ """Read audit log records for the authenticated organization."""
30
+
31
+ @cached_property
32
+ def with_raw_response(self) -> AuditLogsResourceWithRawResponse:
33
+ """
34
+ This property can be used as a prefix for any HTTP method call to return
35
+ the raw response object instead of the parsed content.
36
+
37
+ For more information, see https://www.github.com/kernel/kernel-python-sdk#accessing-raw-response-data-eg-headers
38
+ """
39
+ return AuditLogsResourceWithRawResponse(self)
40
+
41
+ @cached_property
42
+ def with_streaming_response(self) -> AuditLogsResourceWithStreamingResponse:
43
+ """
44
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
45
+
46
+ For more information, see https://www.github.com/kernel/kernel-python-sdk#with_streaming_response
47
+ """
48
+ return AuditLogsResourceWithStreamingResponse(self)
49
+
50
+ def list(
51
+ self,
52
+ *,
53
+ end: Union[str, datetime],
54
+ start: Union[str, datetime],
55
+ auth_strategy: str | Omit = omit,
56
+ exclude_method: str | Omit = omit,
57
+ limit: int | Omit = omit,
58
+ method: str | Omit = omit,
59
+ page_token: str | Omit = omit,
60
+ search: str | Omit = omit,
61
+ search_user_id: SequenceNotStr[str] | Omit = omit,
62
+ service: str | Omit = omit,
63
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
64
+ # The extra values given here take precedence over values defined on the client or passed to this method.
65
+ extra_headers: Headers | None = None,
66
+ extra_query: Query | None = None,
67
+ extra_body: Body | None = None,
68
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
69
+ ) -> SyncPageTokenPagination[AuditLogEntry]:
70
+ """API for searching audit logs.
71
+
72
+ Limited to at most 30 day search, returns up to
73
+ 100 records per page. Not recommended for bulk export.
74
+
75
+ Args:
76
+ end: Upper bound (exclusive) for the audit record timestamp.
77
+
78
+ start: Lower bound (inclusive) for the audit record timestamp.
79
+
80
+ auth_strategy: Filter by authentication strategy.
81
+
82
+ exclude_method: Filter out results by HTTP method.
83
+
84
+ limit: Maximum number of results to return.
85
+
86
+ method: Filter by HTTP method.
87
+
88
+ page_token: Opaque page token from X-Next-Page-Token for the next page of older records.
89
+
90
+ search: Free-text search over path, user ID, email, client IP, and status.
91
+
92
+ search_user_id: Additional user IDs to OR into free-text search.
93
+
94
+ service: Filter by service name.
95
+
96
+ extra_headers: Send extra headers
97
+
98
+ extra_query: Add additional query parameters to the request
99
+
100
+ extra_body: Add additional JSON properties to the request
101
+
102
+ timeout: Override the client-level default timeout for this request, in seconds
103
+ """
104
+ return self._get_api_list(
105
+ "/audit-logs",
106
+ page=SyncPageTokenPagination[AuditLogEntry],
107
+ options=make_request_options(
108
+ extra_headers=extra_headers,
109
+ extra_query=extra_query,
110
+ extra_body=extra_body,
111
+ timeout=timeout,
112
+ query=maybe_transform(
113
+ {
114
+ "end": end,
115
+ "start": start,
116
+ "auth_strategy": auth_strategy,
117
+ "exclude_method": exclude_method,
118
+ "limit": limit,
119
+ "method": method,
120
+ "page_token": page_token,
121
+ "search": search,
122
+ "search_user_id": search_user_id,
123
+ "service": service,
124
+ },
125
+ audit_log_list_params.AuditLogListParams,
126
+ ),
127
+ ),
128
+ model=AuditLogEntry,
129
+ )
130
+
131
+
132
+ class AsyncAuditLogsResource(AsyncAPIResource):
133
+ """Read audit log records for the authenticated organization."""
134
+
135
+ @cached_property
136
+ def with_raw_response(self) -> AsyncAuditLogsResourceWithRawResponse:
137
+ """
138
+ This property can be used as a prefix for any HTTP method call to return
139
+ the raw response object instead of the parsed content.
140
+
141
+ For more information, see https://www.github.com/kernel/kernel-python-sdk#accessing-raw-response-data-eg-headers
142
+ """
143
+ return AsyncAuditLogsResourceWithRawResponse(self)
144
+
145
+ @cached_property
146
+ def with_streaming_response(self) -> AsyncAuditLogsResourceWithStreamingResponse:
147
+ """
148
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
149
+
150
+ For more information, see https://www.github.com/kernel/kernel-python-sdk#with_streaming_response
151
+ """
152
+ return AsyncAuditLogsResourceWithStreamingResponse(self)
153
+
154
+ def list(
155
+ self,
156
+ *,
157
+ end: Union[str, datetime],
158
+ start: Union[str, datetime],
159
+ auth_strategy: str | Omit = omit,
160
+ exclude_method: str | Omit = omit,
161
+ limit: int | Omit = omit,
162
+ method: str | Omit = omit,
163
+ page_token: str | Omit = omit,
164
+ search: str | Omit = omit,
165
+ search_user_id: SequenceNotStr[str] | Omit = omit,
166
+ service: str | Omit = omit,
167
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
168
+ # The extra values given here take precedence over values defined on the client or passed to this method.
169
+ extra_headers: Headers | None = None,
170
+ extra_query: Query | None = None,
171
+ extra_body: Body | None = None,
172
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
173
+ ) -> AsyncPaginator[AuditLogEntry, AsyncPageTokenPagination[AuditLogEntry]]:
174
+ """API for searching audit logs.
175
+
176
+ Limited to at most 30 day search, returns up to
177
+ 100 records per page. Not recommended for bulk export.
178
+
179
+ Args:
180
+ end: Upper bound (exclusive) for the audit record timestamp.
181
+
182
+ start: Lower bound (inclusive) for the audit record timestamp.
183
+
184
+ auth_strategy: Filter by authentication strategy.
185
+
186
+ exclude_method: Filter out results by HTTP method.
187
+
188
+ limit: Maximum number of results to return.
189
+
190
+ method: Filter by HTTP method.
191
+
192
+ page_token: Opaque page token from X-Next-Page-Token for the next page of older records.
193
+
194
+ search: Free-text search over path, user ID, email, client IP, and status.
195
+
196
+ search_user_id: Additional user IDs to OR into free-text search.
197
+
198
+ service: Filter by service name.
199
+
200
+ extra_headers: Send extra headers
201
+
202
+ extra_query: Add additional query parameters to the request
203
+
204
+ extra_body: Add additional JSON properties to the request
205
+
206
+ timeout: Override the client-level default timeout for this request, in seconds
207
+ """
208
+ return self._get_api_list(
209
+ "/audit-logs",
210
+ page=AsyncPageTokenPagination[AuditLogEntry],
211
+ options=make_request_options(
212
+ extra_headers=extra_headers,
213
+ extra_query=extra_query,
214
+ extra_body=extra_body,
215
+ timeout=timeout,
216
+ query=maybe_transform(
217
+ {
218
+ "end": end,
219
+ "start": start,
220
+ "auth_strategy": auth_strategy,
221
+ "exclude_method": exclude_method,
222
+ "limit": limit,
223
+ "method": method,
224
+ "page_token": page_token,
225
+ "search": search,
226
+ "search_user_id": search_user_id,
227
+ "service": service,
228
+ },
229
+ audit_log_list_params.AuditLogListParams,
230
+ ),
231
+ ),
232
+ model=AuditLogEntry,
233
+ )
234
+
235
+
236
+ class AuditLogsResourceWithRawResponse:
237
+ def __init__(self, audit_logs: AuditLogsResource) -> None:
238
+ self._audit_logs = audit_logs
239
+
240
+ self.list = to_raw_response_wrapper(
241
+ audit_logs.list,
242
+ )
243
+
244
+
245
+ class AsyncAuditLogsResourceWithRawResponse:
246
+ def __init__(self, audit_logs: AsyncAuditLogsResource) -> None:
247
+ self._audit_logs = audit_logs
248
+
249
+ self.list = async_to_raw_response_wrapper(
250
+ audit_logs.list,
251
+ )
252
+
253
+
254
+ class AuditLogsResourceWithStreamingResponse:
255
+ def __init__(self, audit_logs: AuditLogsResource) -> None:
256
+ self._audit_logs = audit_logs
257
+
258
+ self.list = to_streamed_response_wrapper(
259
+ audit_logs.list,
260
+ )
261
+
262
+
263
+ class AsyncAuditLogsResourceWithStreamingResponse:
264
+ def __init__(self, audit_logs: AsyncAuditLogsResource) -> None:
265
+ self._audit_logs = audit_logs
266
+
267
+ self.list = async_to_streamed_response_wrapper(
268
+ audit_logs.list,
269
+ )