kernel 0.52.0__tar.gz → 0.55.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 (277) hide show
  1. kernel-0.55.0/.release-please-manifest.json +3 -0
  2. {kernel-0.52.0 → kernel-0.55.0}/CHANGELOG.md +38 -0
  3. {kernel-0.52.0 → kernel-0.55.0}/PKG-INFO +1 -1
  4. {kernel-0.52.0 → kernel-0.55.0}/pyproject.toml +2 -2
  5. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_files.py +1 -1
  6. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_models.py +80 -0
  7. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_version.py +1 -1
  8. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/auth/connections.py +110 -2
  9. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browser_pools.py +28 -4
  10. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/browsers.py +12 -0
  11. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/credentials.py +2 -2
  12. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/extensions.py +2 -2
  13. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/profiles.py +2 -2
  14. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/projects/projects.py +8 -0
  15. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_create_params.py +26 -0
  16. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_follow_response.py +19 -9
  17. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_login_params.py +6 -0
  18. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_update_params.py +23 -0
  19. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/managed_auth.py +46 -9
  20. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_create_params.py +7 -0
  21. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_create_response.py +3 -0
  22. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_list_response.py +3 -0
  23. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool.py +8 -1
  24. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_acquire_response.py +3 -0
  25. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_create_params.py +8 -1
  26. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_update_params.py +8 -1
  27. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_retrieve_response.py +3 -0
  28. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_update_response.py +3 -0
  29. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential.py +1 -1
  30. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_create_params.py +1 -1
  31. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/extension_list_response.py +1 -1
  32. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/extension_upload_params.py +1 -1
  33. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/extension_upload_response.py +1 -1
  34. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_list_browsers_response.py +3 -0
  35. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/profile_create_params.py +1 -1
  36. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/project_list_params.py +3 -0
  37. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/auth/test_connections.py +14 -0
  38. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_browser_pools.py +4 -0
  39. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_browsers.py +2 -0
  40. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_projects.py +2 -0
  41. {kernel-0.52.0 → kernel-0.55.0}/tests/test_models.py +57 -3
  42. kernel-0.52.0/.release-please-manifest.json +0 -3
  43. {kernel-0.52.0 → kernel-0.55.0}/.gitignore +0 -0
  44. {kernel-0.52.0 → kernel-0.55.0}/CONTRIBUTING.md +0 -0
  45. {kernel-0.52.0 → kernel-0.55.0}/LICENSE +0 -0
  46. {kernel-0.52.0 → kernel-0.55.0}/README.md +0 -0
  47. {kernel-0.52.0 → kernel-0.55.0}/SECURITY.md +0 -0
  48. {kernel-0.52.0 → kernel-0.55.0}/api.md +0 -0
  49. {kernel-0.52.0 → kernel-0.55.0}/bin/check-release-environment +0 -0
  50. {kernel-0.52.0 → kernel-0.55.0}/bin/publish-pypi +0 -0
  51. {kernel-0.52.0 → kernel-0.55.0}/examples/.keep +0 -0
  52. {kernel-0.52.0 → kernel-0.55.0}/examples/browser_routing.py +0 -0
  53. {kernel-0.52.0 → kernel-0.55.0}/noxfile.py +0 -0
  54. {kernel-0.52.0 → kernel-0.55.0}/release-please-config.json +0 -0
  55. {kernel-0.52.0 → kernel-0.55.0}/requirements-dev.lock +0 -0
  56. {kernel-0.52.0 → kernel-0.55.0}/requirements.lock +0 -0
  57. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/__init__.py +0 -0
  58. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_base_client.py +0 -0
  59. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_client.py +0 -0
  60. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_compat.py +0 -0
  61. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_constants.py +0 -0
  62. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_exceptions.py +0 -0
  63. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_qs.py +0 -0
  64. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_resource.py +0 -0
  65. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_response.py +0 -0
  66. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_streaming.py +0 -0
  67. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_types.py +0 -0
  68. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/__init__.py +0 -0
  69. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_compat.py +0 -0
  70. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_datetime_parse.py +0 -0
  71. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_json.py +0 -0
  72. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_logs.py +0 -0
  73. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_path.py +0 -0
  74. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_proxy.py +0 -0
  75. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_reflection.py +0 -0
  76. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_resources_proxy.py +0 -0
  77. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_streams.py +0 -0
  78. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_sync.py +0 -0
  79. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_transform.py +0 -0
  80. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_typing.py +0 -0
  81. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/_utils/_utils.py +0 -0
  82. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/app_framework.py +0 -0
  83. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/lib/.keep +0 -0
  84. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
  85. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
  86. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/lib/browser_routing/routing.py +0 -0
  87. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/lib/browser_routing/util.py +0 -0
  88. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/pagination.py +0 -0
  89. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/py.typed +0 -0
  90. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/__init__.py +0 -0
  91. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/apps.py +0 -0
  92. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/auth/__init__.py +0 -0
  93. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/auth/auth.py +0 -0
  94. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/__init__.py +0 -0
  95. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/computer.py +0 -0
  96. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
  97. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
  98. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
  99. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/logs.py +0 -0
  100. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/playwright.py +0 -0
  101. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/process.py +0 -0
  102. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/browsers/replays.py +0 -0
  103. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/credential_providers.py +0 -0
  104. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/deployments.py +0 -0
  105. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/invocations.py +0 -0
  106. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/projects/__init__.py +0 -0
  107. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/projects/limits.py +0 -0
  108. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/resources/proxies.py +0 -0
  109. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/__init__.py +0 -0
  110. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/app_list_params.py +0 -0
  111. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/app_list_response.py +0 -0
  112. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/__init__.py +0 -0
  113. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_list_params.py +0 -0
  114. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
  115. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/login_response.py +0 -0
  116. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
  117. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_curl_params.py +0 -0
  118. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_curl_response.py +0 -0
  119. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_delete_params.py +0 -0
  120. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_list_params.py +0 -0
  121. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
  122. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_persistence.py +0 -0
  123. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_persistence_param.py +0 -0
  124. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
  125. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
  126. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_list_response.py +0 -0
  127. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_ref.py +0 -0
  128. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_pool_release_params.py +0 -0
  129. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_retrieve_params.py +0 -0
  130. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_update_params.py +0 -0
  131. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browser_usage.py +0 -0
  132. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/__init__.py +0 -0
  133. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
  134. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
  135. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
  136. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
  137. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
  138. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
  139. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
  140. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
  141. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
  142. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
  143. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
  144. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
  145. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
  146. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
  147. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
  148. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
  149. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
  150. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
  151. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
  152. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
  153. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
  154. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_move_params.py +0 -0
  155. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
  156. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
  157. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
  158. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
  159. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
  160. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
  161. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
  162. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
  163. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
  164. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
  165. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
  166. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
  167. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
  168. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
  169. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
  170. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
  171. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
  172. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
  173. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
  174. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
  175. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_status_response.py +0 -0
  176. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
  177. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
  178. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
  179. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
  180. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
  181. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
  182. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_list_params.py +0 -0
  183. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider.py +0 -0
  184. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_create_params.py +0 -0
  185. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_item.py +0 -0
  186. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
  187. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_list_response.py +0 -0
  188. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_test_result.py +0 -0
  189. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_provider_update_params.py +0 -0
  190. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_totp_code_response.py +0 -0
  191. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/credential_update_params.py +0 -0
  192. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_create_params.py +0 -0
  193. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_create_response.py +0 -0
  194. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_follow_params.py +0 -0
  195. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_follow_response.py +0 -0
  196. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_list_params.py +0 -0
  197. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_list_response.py +0 -0
  198. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
  199. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/deployment_state_event.py +0 -0
  200. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
  201. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_create_params.py +0 -0
  202. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_create_response.py +0 -0
  203. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_follow_params.py +0 -0
  204. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_follow_response.py +0 -0
  205. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_list_params.py +0 -0
  206. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_list_response.py +0 -0
  207. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
  208. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_state_event.py +0 -0
  209. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_update_params.py +0 -0
  210. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/invocation_update_response.py +0 -0
  211. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/profile.py +0 -0
  212. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/profile_list_params.py +0 -0
  213. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/project.py +0 -0
  214. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/project_create_params.py +0 -0
  215. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/project_update_params.py +0 -0
  216. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/projects/__init__.py +0 -0
  217. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/projects/limit_update_params.py +0 -0
  218. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/projects/project_limits.py +0 -0
  219. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_check_params.py +0 -0
  220. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_check_response.py +0 -0
  221. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_create_params.py +0 -0
  222. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_create_response.py +0 -0
  223. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_list_response.py +0 -0
  224. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
  225. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/__init__.py +0 -0
  226. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/app_action.py +0 -0
  227. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/browser_extension.py +0 -0
  228. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/browser_profile.py +0 -0
  229. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/browser_viewport.py +0 -0
  230. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/error_detail.py +0 -0
  231. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/error_event.py +0 -0
  232. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/error_model.py +0 -0
  233. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
  234. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared/log_event.py +0 -0
  235. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared_params/__init__.py +0 -0
  236. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
  237. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
  238. {kernel-0.52.0 → kernel-0.55.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
  239. {kernel-0.52.0 → kernel-0.55.0}/tests/__init__.py +0 -0
  240. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/__init__.py +0 -0
  241. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/auth/__init__.py +0 -0
  242. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/__init__.py +0 -0
  243. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
  244. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
  245. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_computer.py +0 -0
  246. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_fs.py +0 -0
  247. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_logs.py +0 -0
  248. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_playwright.py +0 -0
  249. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_process.py +0 -0
  250. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/browsers/test_replays.py +0 -0
  251. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/projects/__init__.py +0 -0
  252. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/projects/test_limits.py +0 -0
  253. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_apps.py +0 -0
  254. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_credential_providers.py +0 -0
  255. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_credentials.py +0 -0
  256. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_deployments.py +0 -0
  257. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_extensions.py +0 -0
  258. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_invocations.py +0 -0
  259. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_profiles.py +0 -0
  260. {kernel-0.52.0 → kernel-0.55.0}/tests/api_resources/test_proxies.py +0 -0
  261. {kernel-0.52.0 → kernel-0.55.0}/tests/conftest.py +0 -0
  262. {kernel-0.52.0 → kernel-0.55.0}/tests/sample_file.txt +0 -0
  263. {kernel-0.52.0 → kernel-0.55.0}/tests/test_browser_routing.py +0 -0
  264. {kernel-0.52.0 → kernel-0.55.0}/tests/test_client.py +0 -0
  265. {kernel-0.52.0 → kernel-0.55.0}/tests/test_extract_files.py +0 -0
  266. {kernel-0.52.0 → kernel-0.55.0}/tests/test_files.py +0 -0
  267. {kernel-0.52.0 → kernel-0.55.0}/tests/test_qs.py +0 -0
  268. {kernel-0.52.0 → kernel-0.55.0}/tests/test_required_args.py +0 -0
  269. {kernel-0.52.0 → kernel-0.55.0}/tests/test_response.py +0 -0
  270. {kernel-0.52.0 → kernel-0.55.0}/tests/test_streaming.py +0 -0
  271. {kernel-0.52.0 → kernel-0.55.0}/tests/test_transform.py +0 -0
  272. {kernel-0.52.0 → kernel-0.55.0}/tests/test_utils/test_datetime_parse.py +0 -0
  273. {kernel-0.52.0 → kernel-0.55.0}/tests/test_utils/test_json.py +0 -0
  274. {kernel-0.52.0 → kernel-0.55.0}/tests/test_utils/test_path.py +0 -0
  275. {kernel-0.52.0 → kernel-0.55.0}/tests/test_utils/test_proxy.py +0 -0
  276. {kernel-0.52.0 → kernel-0.55.0}/tests/test_utils/test_typing.py +0 -0
  277. {kernel-0.52.0 → kernel-0.55.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.55.0"
3
+ }
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.55.0 (2026-05-15)
4
+
5
+ Full Changelog: [v0.53.0...v0.55.0](https://github.com/kernel/kernel-python-sdk/compare/v0.53.0...v0.55.0)
6
+
7
+ ### Features
8
+
9
+ * Add health check and auto-reauth controls for managed auth connections ([9a0655e](https://github.com/kernel/kernel-python-sdk/commit/9a0655efbeef25e4929397b04f492644339f839e))
10
+ * Polish start URL OpenAPI descriptions ([4f16fb0](https://github.com/kernel/kernel-python-sdk/commit/4f16fb073e0d295fd962e8a8aabd55bdf3144e00))
11
+
12
+ ## 0.53.0 (2026-05-12)
13
+
14
+ Full Changelog: [v0.52.0...v0.53.0](https://github.com/kernel/kernel-python-sdk/compare/v0.52.0...v0.53.0)
15
+
16
+ ### Features
17
+
18
+ * Add 'switch' MFA option type for generic method-switcher links ([82ae224](https://github.com/kernel/kernel-python-sdk/commit/82ae224a85a22b16e48a26a8058cc992ef772cf2))
19
+ * Add opt-in record_session flag to managed auth ([53fea1c](https://github.com/kernel/kernel-python-sdk/commit/53fea1c26cd8de2b93944bb7625c401d05362b1c))
20
+ * **api:** server-side search on GET /projects ([cacb057](https://github.com/kernel/kernel-python-sdk/commit/cacb057a5d1d3bcb26b6df1f6fe83067f936d642))
21
+ * browser_pools: add start_url config (KERNEL-1217 PR 2) ([e3f0b8d](https://github.com/kernel/kernel-python-sdk/commit/e3f0b8db4b2d05140d112317315ba1e393f385cf))
22
+ * **internal/types:** support eagerly validating pydantic iterators ([b30bc1e](https://github.com/kernel/kernel-python-sdk/commit/b30bc1e0c3493f12a3499eb037f13561dfdcaedf))
23
+ * managed-auth: surface awaiting_external_action even when fallback actions exist ([fd4ffe4](https://github.com/kernel/kernel-python-sdk/commit/fd4ffe40e037e95e93f46b7773d6a5e468c7b8fd))
24
+ * Scope name uniqueness to project for profiles, session_pools, extensions, credentials ([c510a51](https://github.com/kernel/kernel-python-sdk/commit/c510a515b3c57846f0e681638167ba87b8ee15c3))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **client:** add missing f-string prefix in file type error message ([fb5340d](https://github.com/kernel/kernel-python-sdk/commit/fb5340dbf9ea49393d87b5760a2efaaf932c9442))
30
+
31
+
32
+ ### Chores
33
+
34
+ * **internal:** reformat pyproject.toml ([27c799b](https://github.com/kernel/kernel-python-sdk/commit/27c799be452cb66af59b79d24b3d5147a85b70f7))
35
+
36
+
37
+ ### Documentation
38
+
39
+ * clarify record_session description in OpenAPI spec ([3ac3fb8](https://github.com/kernel/kernel-python-sdk/commit/3ac3fb8e4e643c40addd3e85f8480d5821cecca7))
40
+
3
41
  ## 0.52.0 (2026-04-29)
4
42
 
5
43
  Full Changelog: [v0.51.0...v0.52.0](https://github.com/kernel/kernel-python-sdk/compare/v0.51.0...v0.52.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: kernel
3
- Version: 0.52.0
3
+ Version: 0.55.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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kernel"
3
- version = "0.52.0"
3
+ version = "0.55.0"
4
4
  description = "The official Python library for the kernel API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -168,7 +168,7 @@ show_error_codes = true
168
168
  #
169
169
  # We also exclude our `tests` as mypy doesn't always infer
170
170
  # types correctly and Pyright will still catch any type errors.
171
- exclude = ['src/kernel/_files.py', '_dev/.*.py', 'tests/.*']
171
+ exclude = ["src/kernel/_files.py", "_dev/.*.py", "tests/.*"]
172
172
 
173
173
  strict_equality = true
174
174
  implicit_reexport = true
@@ -99,7 +99,7 @@ async def async_to_httpx_files(files: RequestFiles | None) -> HttpxRequestFiles
99
99
  elif is_sequence_t(files):
100
100
  files = [(key, await _async_transform_file(file)) for key, file in files]
101
101
  else:
102
- raise TypeError("Unexpected file type input {type(files)}, expected mapping or sequence")
102
+ raise TypeError(f"Unexpected file type input {type(files)}, expected mapping or sequence")
103
103
 
104
104
  return files
105
105
 
@@ -25,7 +25,9 @@ from typing_extensions import (
25
25
  ClassVar,
26
26
  Protocol,
27
27
  Required,
28
+ Annotated,
28
29
  ParamSpec,
30
+ TypeAlias,
29
31
  TypedDict,
30
32
  TypeGuard,
31
33
  final,
@@ -79,7 +81,15 @@ from ._compat import (
79
81
  from ._constants import RAW_RESPONSE_HEADER
80
82
 
81
83
  if TYPE_CHECKING:
84
+ from pydantic import GetCoreSchemaHandler, ValidatorFunctionWrapHandler
85
+ from pydantic_core import CoreSchema, core_schema
82
86
  from pydantic_core.core_schema import ModelField, ModelSchema, LiteralSchema, ModelFieldsSchema
87
+ else:
88
+ try:
89
+ from pydantic_core import CoreSchema, core_schema
90
+ except ImportError:
91
+ CoreSchema = None
92
+ core_schema = None
83
93
 
84
94
  __all__ = ["BaseModel", "GenericModel"]
85
95
 
@@ -396,6 +406,76 @@ class BaseModel(pydantic.BaseModel):
396
406
  )
397
407
 
398
408
 
409
+ class _EagerIterable(list[_T], Generic[_T]):
410
+ """
411
+ Accepts any Iterable[T] input (including generators), consumes it
412
+ eagerly, and validates all items upfront.
413
+
414
+ Validation preserves the original container type where possible
415
+ (e.g. a set[T] stays a set[T]). Serialization (model_dump / JSON)
416
+ always emits a list — round-tripping through model_dump() will not
417
+ restore the original container type.
418
+ """
419
+
420
+ @classmethod
421
+ def __get_pydantic_core_schema__(
422
+ cls,
423
+ source_type: Any,
424
+ handler: GetCoreSchemaHandler,
425
+ ) -> CoreSchema:
426
+ (item_type,) = get_args(source_type) or (Any,)
427
+ item_schema: CoreSchema = handler.generate_schema(item_type)
428
+ list_of_items_schema: CoreSchema = core_schema.list_schema(item_schema)
429
+
430
+ return core_schema.no_info_wrap_validator_function(
431
+ cls._validate,
432
+ list_of_items_schema,
433
+ serialization=core_schema.plain_serializer_function_ser_schema(
434
+ cls._serialize,
435
+ info_arg=False,
436
+ ),
437
+ )
438
+
439
+ @staticmethod
440
+ def _validate(v: Iterable[_T], handler: "ValidatorFunctionWrapHandler") -> Any:
441
+ original_type: type[Any] = type(v)
442
+
443
+ # Normalize to list so list_schema can validate each item
444
+ if isinstance(v, list):
445
+ items: list[_T] = v
446
+ else:
447
+ try:
448
+ items = list(v)
449
+ except TypeError as e:
450
+ raise TypeError("Value is not iterable") from e
451
+
452
+ # Validate items against the inner schema
453
+ validated: list[_T] = handler(items)
454
+
455
+ # Reconstruct original container type
456
+ if original_type is list:
457
+ return validated
458
+ # str(list) produces the list's repr, not a string built from items,
459
+ # so skip reconstruction for str and its subclasses.
460
+ if issubclass(original_type, str):
461
+ return validated
462
+ try:
463
+ return original_type(validated)
464
+ except (TypeError, ValueError):
465
+ # If the type cannot be reconstructed, just return the validated list
466
+ return validated
467
+
468
+ @staticmethod
469
+ def _serialize(v: Iterable[_T]) -> list[_T]:
470
+ """Always serialize as a list so Pydantic's JSON encoder is happy."""
471
+ if isinstance(v, list):
472
+ return v
473
+ return list(v)
474
+
475
+
476
+ EagerIterable: TypeAlias = Annotated[Iterable[_T], _EagerIterable]
477
+
478
+
399
479
  def _construct_field(value: object, field: FieldInfo, key: str) -> object:
400
480
  if value is None:
401
481
  return field_get_default(field)
@@ -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.52.0" # x-release-please-version
4
+ __version__ = "0.55.0" # x-release-please-version
@@ -62,10 +62,13 @@ class ConnectionsResource(SyncAPIResource):
62
62
  domain: str,
63
63
  profile_name: str,
64
64
  allowed_domains: SequenceNotStr[str] | Omit = omit,
65
+ auto_reauth: bool | Omit = omit,
65
66
  credential: connection_create_params.Credential | Omit = omit,
66
67
  health_check_interval: int | Omit = omit,
68
+ health_checks: bool | Omit = omit,
67
69
  login_url: str | Omit = omit,
68
70
  proxy: connection_create_params.Proxy | Omit = omit,
71
+ record_session: bool | Omit = omit,
69
72
  save_credentials: bool | Omit = omit,
70
73
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
71
74
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -104,6 +107,15 @@ class ConnectionsResource(SyncAPIResource):
104
107
  - OneLogin: \\**.onelogin.com
105
108
  - Ping Identity: _.pingone.com, _.pingidentity.com
106
109
 
110
+ auto_reauth: Whether to permit automatic re-authentication when a scheduled health check
111
+ detects an expired session. This is an opt-in flag only — it does not check
112
+ whether re-auth is actually feasible. Even when true, re-auth only runs when the
113
+ system has what it needs to perform it (for example, saved credentials for the
114
+ required login fields), and only after a scheduled health check detects an
115
+ expired session — so this flag has no effect when `health_checks` is false. When
116
+ false, expired sessions are marked as `NEEDS_AUTH` instead of attempting
117
+ re-auth. Defaults to true.
118
+
107
119
  credential:
108
120
  Reference to credentials for the auth connection. Use one of:
109
121
 
@@ -117,11 +129,19 @@ class ConnectionsResource(SyncAPIResource):
117
129
  depends on your plan: Enterprise: 300 (5 minutes), Startup: 1200 (20 minutes),
118
130
  Hobbyist: 3600 (1 hour).
119
131
 
132
+ health_checks: Whether to enable periodic health checks. When false, the system will not
133
+ automatically verify authentication status, and `auto_reauth` has no effect on
134
+ the automatic flow (since re-auth is only triggered by a failed scheduled health
135
+ check). Defaults to true.
136
+
120
137
  login_url: Optional login page URL to skip discovery
121
138
 
122
139
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
123
140
  caller's org.
124
141
 
142
+ record_session: Whether to record browser sessions for this connection by default. Useful for
143
+ debugging. Can be overridden per-login. Defaults to false.
144
+
125
145
  save_credentials: Whether to save credentials after every successful login. Defaults to true.
126
146
  One-time codes (TOTP, SMS, etc.) are not saved.
127
147
 
@@ -140,10 +160,13 @@ class ConnectionsResource(SyncAPIResource):
140
160
  "domain": domain,
141
161
  "profile_name": profile_name,
142
162
  "allowed_domains": allowed_domains,
163
+ "auto_reauth": auto_reauth,
143
164
  "credential": credential,
144
165
  "health_check_interval": health_check_interval,
166
+ "health_checks": health_checks,
145
167
  "login_url": login_url,
146
168
  "proxy": proxy,
169
+ "record_session": record_session,
147
170
  "save_credentials": save_credentials,
148
171
  },
149
172
  connection_create_params.ConnectionCreateParams,
@@ -194,10 +217,13 @@ class ConnectionsResource(SyncAPIResource):
194
217
  id: str,
195
218
  *,
196
219
  allowed_domains: SequenceNotStr[str] | Omit = omit,
220
+ auto_reauth: bool | Omit = omit,
197
221
  credential: connection_update_params.Credential | Omit = omit,
198
222
  health_check_interval: int | Omit = omit,
223
+ health_checks: bool | Omit = omit,
199
224
  login_url: str | Omit = omit,
200
225
  proxy: connection_update_params.Proxy | Omit = omit,
226
+ record_session: bool | Omit = omit,
201
227
  save_credentials: bool | Omit = omit,
202
228
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
203
229
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -214,6 +240,14 @@ class ConnectionsResource(SyncAPIResource):
214
240
  Args:
215
241
  allowed_domains: Additional domains valid for this auth flow (replaces existing list)
216
242
 
243
+ auto_reauth: Whether automatic re-authentication is permitted for this connection. This is an
244
+ opt-in flag only — it does not check whether re-auth is actually feasible. Even
245
+ when true, re-auth only runs when the system has what it needs to perform it
246
+ (for example, saved credentials for the required login fields), and only after a
247
+ scheduled health check detects an expired session — so this flag has no effect
248
+ when `health_checks` is false. When false, expired sessions detected by a health
249
+ check are marked as `NEEDS_AUTH` instead of attempting re-auth.
250
+
217
251
  credential:
218
252
  Reference to credentials for the auth connection. Use one of:
219
253
 
@@ -223,11 +257,18 @@ class ConnectionsResource(SyncAPIResource):
223
257
 
224
258
  health_check_interval: Interval in seconds between automatic health checks
225
259
 
260
+ health_checks: Whether periodic health checks are enabled. When set to false, the system will
261
+ not automatically verify authentication status, and `auto_reauth` has no effect
262
+ on the automatic flow (since re-auth is only triggered by a failed scheduled
263
+ health check).
264
+
226
265
  login_url: Login page URL. Set to empty string to clear.
227
266
 
228
267
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
229
268
  caller's org.
230
269
 
270
+ record_session: Whether to record browser sessions for this connection by default
271
+
231
272
  save_credentials: Whether to save credentials after every successful login
232
273
 
233
274
  extra_headers: Send extra headers
@@ -245,10 +286,13 @@ class ConnectionsResource(SyncAPIResource):
245
286
  body=maybe_transform(
246
287
  {
247
288
  "allowed_domains": allowed_domains,
289
+ "auto_reauth": auto_reauth,
248
290
  "credential": credential,
249
291
  "health_check_interval": health_check_interval,
292
+ "health_checks": health_checks,
250
293
  "login_url": login_url,
251
294
  "proxy": proxy,
295
+ "record_session": record_session,
252
296
  "save_credentials": save_credentials,
253
297
  },
254
298
  connection_update_params.ConnectionUpdateParams,
@@ -398,6 +442,7 @@ class ConnectionsResource(SyncAPIResource):
398
442
  id: str,
399
443
  *,
400
444
  proxy: connection_login_params.Proxy | Omit = omit,
445
+ record_session: bool | Omit = omit,
401
446
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
402
447
  # The extra values given here take precedence over values defined on the client or passed to this method.
403
448
  extra_headers: Headers | None = None,
@@ -415,6 +460,9 @@ class ConnectionsResource(SyncAPIResource):
415
460
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
416
461
  caller's org.
417
462
 
463
+ record_session: Override the connection's default for recording this login's browser session.
464
+ When omitted, the connection's record_session default is used.
465
+
418
466
  extra_headers: Send extra headers
419
467
 
420
468
  extra_query: Add additional query parameters to the request
@@ -427,7 +475,13 @@ class ConnectionsResource(SyncAPIResource):
427
475
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
428
476
  return self._post(
429
477
  path_template("/auth/connections/{id}/login", id=id),
430
- body=maybe_transform({"proxy": proxy}, connection_login_params.ConnectionLoginParams),
478
+ body=maybe_transform(
479
+ {
480
+ "proxy": proxy,
481
+ "record_session": record_session,
482
+ },
483
+ connection_login_params.ConnectionLoginParams,
484
+ ),
431
485
  options=make_request_options(
432
486
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
433
487
  ),
@@ -525,10 +579,13 @@ class AsyncConnectionsResource(AsyncAPIResource):
525
579
  domain: str,
526
580
  profile_name: str,
527
581
  allowed_domains: SequenceNotStr[str] | Omit = omit,
582
+ auto_reauth: bool | Omit = omit,
528
583
  credential: connection_create_params.Credential | Omit = omit,
529
584
  health_check_interval: int | Omit = omit,
585
+ health_checks: bool | Omit = omit,
530
586
  login_url: str | Omit = omit,
531
587
  proxy: connection_create_params.Proxy | Omit = omit,
588
+ record_session: bool | Omit = omit,
532
589
  save_credentials: bool | Omit = omit,
533
590
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
534
591
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -567,6 +624,15 @@ class AsyncConnectionsResource(AsyncAPIResource):
567
624
  - OneLogin: \\**.onelogin.com
568
625
  - Ping Identity: _.pingone.com, _.pingidentity.com
569
626
 
627
+ auto_reauth: Whether to permit automatic re-authentication when a scheduled health check
628
+ detects an expired session. This is an opt-in flag only — it does not check
629
+ whether re-auth is actually feasible. Even when true, re-auth only runs when the
630
+ system has what it needs to perform it (for example, saved credentials for the
631
+ required login fields), and only after a scheduled health check detects an
632
+ expired session — so this flag has no effect when `health_checks` is false. When
633
+ false, expired sessions are marked as `NEEDS_AUTH` instead of attempting
634
+ re-auth. Defaults to true.
635
+
570
636
  credential:
571
637
  Reference to credentials for the auth connection. Use one of:
572
638
 
@@ -580,11 +646,19 @@ class AsyncConnectionsResource(AsyncAPIResource):
580
646
  depends on your plan: Enterprise: 300 (5 minutes), Startup: 1200 (20 minutes),
581
647
  Hobbyist: 3600 (1 hour).
582
648
 
649
+ health_checks: Whether to enable periodic health checks. When false, the system will not
650
+ automatically verify authentication status, and `auto_reauth` has no effect on
651
+ the automatic flow (since re-auth is only triggered by a failed scheduled health
652
+ check). Defaults to true.
653
+
583
654
  login_url: Optional login page URL to skip discovery
584
655
 
585
656
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
586
657
  caller's org.
587
658
 
659
+ record_session: Whether to record browser sessions for this connection by default. Useful for
660
+ debugging. Can be overridden per-login. Defaults to false.
661
+
588
662
  save_credentials: Whether to save credentials after every successful login. Defaults to true.
589
663
  One-time codes (TOTP, SMS, etc.) are not saved.
590
664
 
@@ -603,10 +677,13 @@ class AsyncConnectionsResource(AsyncAPIResource):
603
677
  "domain": domain,
604
678
  "profile_name": profile_name,
605
679
  "allowed_domains": allowed_domains,
680
+ "auto_reauth": auto_reauth,
606
681
  "credential": credential,
607
682
  "health_check_interval": health_check_interval,
683
+ "health_checks": health_checks,
608
684
  "login_url": login_url,
609
685
  "proxy": proxy,
686
+ "record_session": record_session,
610
687
  "save_credentials": save_credentials,
611
688
  },
612
689
  connection_create_params.ConnectionCreateParams,
@@ -657,10 +734,13 @@ class AsyncConnectionsResource(AsyncAPIResource):
657
734
  id: str,
658
735
  *,
659
736
  allowed_domains: SequenceNotStr[str] | Omit = omit,
737
+ auto_reauth: bool | Omit = omit,
660
738
  credential: connection_update_params.Credential | Omit = omit,
661
739
  health_check_interval: int | Omit = omit,
740
+ health_checks: bool | Omit = omit,
662
741
  login_url: str | Omit = omit,
663
742
  proxy: connection_update_params.Proxy | Omit = omit,
743
+ record_session: bool | Omit = omit,
664
744
  save_credentials: bool | Omit = omit,
665
745
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
666
746
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -677,6 +757,14 @@ class AsyncConnectionsResource(AsyncAPIResource):
677
757
  Args:
678
758
  allowed_domains: Additional domains valid for this auth flow (replaces existing list)
679
759
 
760
+ auto_reauth: Whether automatic re-authentication is permitted for this connection. This is an
761
+ opt-in flag only — it does not check whether re-auth is actually feasible. Even
762
+ when true, re-auth only runs when the system has what it needs to perform it
763
+ (for example, saved credentials for the required login fields), and only after a
764
+ scheduled health check detects an expired session — so this flag has no effect
765
+ when `health_checks` is false. When false, expired sessions detected by a health
766
+ check are marked as `NEEDS_AUTH` instead of attempting re-auth.
767
+
680
768
  credential:
681
769
  Reference to credentials for the auth connection. Use one of:
682
770
 
@@ -686,11 +774,18 @@ class AsyncConnectionsResource(AsyncAPIResource):
686
774
 
687
775
  health_check_interval: Interval in seconds between automatic health checks
688
776
 
777
+ health_checks: Whether periodic health checks are enabled. When set to false, the system will
778
+ not automatically verify authentication status, and `auto_reauth` has no effect
779
+ on the automatic flow (since re-auth is only triggered by a failed scheduled
780
+ health check).
781
+
689
782
  login_url: Login page URL. Set to empty string to clear.
690
783
 
691
784
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
692
785
  caller's org.
693
786
 
787
+ record_session: Whether to record browser sessions for this connection by default
788
+
694
789
  save_credentials: Whether to save credentials after every successful login
695
790
 
696
791
  extra_headers: Send extra headers
@@ -708,10 +803,13 @@ class AsyncConnectionsResource(AsyncAPIResource):
708
803
  body=await async_maybe_transform(
709
804
  {
710
805
  "allowed_domains": allowed_domains,
806
+ "auto_reauth": auto_reauth,
711
807
  "credential": credential,
712
808
  "health_check_interval": health_check_interval,
809
+ "health_checks": health_checks,
713
810
  "login_url": login_url,
714
811
  "proxy": proxy,
812
+ "record_session": record_session,
715
813
  "save_credentials": save_credentials,
716
814
  },
717
815
  connection_update_params.ConnectionUpdateParams,
@@ -861,6 +959,7 @@ class AsyncConnectionsResource(AsyncAPIResource):
861
959
  id: str,
862
960
  *,
863
961
  proxy: connection_login_params.Proxy | Omit = omit,
962
+ record_session: bool | Omit = omit,
864
963
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
865
964
  # The extra values given here take precedence over values defined on the client or passed to this method.
866
965
  extra_headers: Headers | None = None,
@@ -878,6 +977,9 @@ class AsyncConnectionsResource(AsyncAPIResource):
878
977
  proxy: Proxy selection. Provide either id or name. The proxy must belong to the
879
978
  caller's org.
880
979
 
980
+ record_session: Override the connection's default for recording this login's browser session.
981
+ When omitted, the connection's record_session default is used.
982
+
881
983
  extra_headers: Send extra headers
882
984
 
883
985
  extra_query: Add additional query parameters to the request
@@ -890,7 +992,13 @@ class AsyncConnectionsResource(AsyncAPIResource):
890
992
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
891
993
  return await self._post(
892
994
  path_template("/auth/connections/{id}/login", id=id),
893
- body=await async_maybe_transform({"proxy": proxy}, connection_login_params.ConnectionLoginParams),
995
+ body=await async_maybe_transform(
996
+ {
997
+ "proxy": proxy,
998
+ "record_session": record_session,
999
+ },
1000
+ connection_login_params.ConnectionLoginParams,
1001
+ ),
894
1002
  options=make_request_options(
895
1003
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
896
1004
  ),
@@ -68,6 +68,7 @@ class BrowserPoolsResource(SyncAPIResource):
68
68
  name: str | Omit = omit,
69
69
  profile: BrowserProfile | Omit = omit,
70
70
  proxy_id: str | Omit = omit,
71
+ start_url: str | Omit = omit,
71
72
  stealth: bool | Omit = omit,
72
73
  timeout_seconds: int | Omit = omit,
73
74
  viewport: BrowserViewport | Omit = omit,
@@ -100,7 +101,7 @@ class BrowserPoolsResource(SyncAPIResource):
100
101
  kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
101
102
  view.
102
103
 
103
- name: Optional name for the browser pool. Must be unique within the organization.
104
+ name: Optional name for the browser pool. Must be unique within the project.
104
105
 
105
106
  profile: Profile selection for the browser session. Provide either id or name. If
106
107
  specified, the matching profile will be loaded into the browser session.
@@ -109,6 +110,10 @@ class BrowserPoolsResource(SyncAPIResource):
109
110
  proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
110
111
  belonging to the caller's org.
111
112
 
113
+ start_url: Optional URL to open when a browser is created for the pool. Navigation is
114
+ best-effort, so navigation failures do not prevent the pool from filling. Reused
115
+ browsers keep the page left by the previous lease.
116
+
112
117
  stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
113
118
  mechanisms.
114
119
 
@@ -149,6 +154,7 @@ class BrowserPoolsResource(SyncAPIResource):
149
154
  "name": name,
150
155
  "profile": profile,
151
156
  "proxy_id": proxy_id,
157
+ "start_url": start_url,
152
158
  "stealth": stealth,
153
159
  "timeout_seconds": timeout_seconds,
154
160
  "viewport": viewport,
@@ -208,6 +214,7 @@ class BrowserPoolsResource(SyncAPIResource):
208
214
  name: str | Omit = omit,
209
215
  profile: BrowserProfile | Omit = omit,
210
216
  proxy_id: str | Omit = omit,
217
+ start_url: str | Omit = omit,
211
218
  stealth: bool | Omit = omit,
212
219
  timeout_seconds: int | Omit = omit,
213
220
  viewport: BrowserViewport | Omit = omit,
@@ -243,7 +250,7 @@ class BrowserPoolsResource(SyncAPIResource):
243
250
  kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
244
251
  view.
245
252
 
246
- name: Optional name for the browser pool. Must be unique within the organization.
253
+ name: Optional name for the browser pool. Must be unique within the project.
247
254
 
248
255
  profile: Profile selection for the browser session. Provide either id or name. If
249
256
  specified, the matching profile will be loaded into the browser session.
@@ -252,6 +259,10 @@ class BrowserPoolsResource(SyncAPIResource):
252
259
  proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
253
260
  belonging to the caller's org.
254
261
 
262
+ start_url: Optional URL to open when a browser is created for the pool. Navigation is
263
+ best-effort, so navigation failures do not prevent the pool from filling. Reused
264
+ browsers keep the page left by the previous lease.
265
+
255
266
  stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
256
267
  mechanisms.
257
268
 
@@ -295,6 +306,7 @@ class BrowserPoolsResource(SyncAPIResource):
295
306
  "name": name,
296
307
  "profile": profile,
297
308
  "proxy_id": proxy_id,
309
+ "start_url": start_url,
298
310
  "stealth": stealth,
299
311
  "timeout_seconds": timeout_seconds,
300
312
  "viewport": viewport,
@@ -530,6 +542,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
530
542
  name: str | Omit = omit,
531
543
  profile: BrowserProfile | Omit = omit,
532
544
  proxy_id: str | Omit = omit,
545
+ start_url: str | Omit = omit,
533
546
  stealth: bool | Omit = omit,
534
547
  timeout_seconds: int | Omit = omit,
535
548
  viewport: BrowserViewport | Omit = omit,
@@ -562,7 +575,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
562
575
  kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
563
576
  view.
564
577
 
565
- name: Optional name for the browser pool. Must be unique within the organization.
578
+ name: Optional name for the browser pool. Must be unique within the project.
566
579
 
567
580
  profile: Profile selection for the browser session. Provide either id or name. If
568
581
  specified, the matching profile will be loaded into the browser session.
@@ -571,6 +584,10 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
571
584
  proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
572
585
  belonging to the caller's org.
573
586
 
587
+ start_url: Optional URL to open when a browser is created for the pool. Navigation is
588
+ best-effort, so navigation failures do not prevent the pool from filling. Reused
589
+ browsers keep the page left by the previous lease.
590
+
574
591
  stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
575
592
  mechanisms.
576
593
 
@@ -611,6 +628,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
611
628
  "name": name,
612
629
  "profile": profile,
613
630
  "proxy_id": proxy_id,
631
+ "start_url": start_url,
614
632
  "stealth": stealth,
615
633
  "timeout_seconds": timeout_seconds,
616
634
  "viewport": viewport,
@@ -670,6 +688,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
670
688
  name: str | Omit = omit,
671
689
  profile: BrowserProfile | Omit = omit,
672
690
  proxy_id: str | Omit = omit,
691
+ start_url: str | Omit = omit,
673
692
  stealth: bool | Omit = omit,
674
693
  timeout_seconds: int | Omit = omit,
675
694
  viewport: BrowserViewport | Omit = omit,
@@ -705,7 +724,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
705
724
  kiosk_mode: If true, launches the browser in kiosk mode to hide address bar and tabs in live
706
725
  view.
707
726
 
708
- name: Optional name for the browser pool. Must be unique within the organization.
727
+ name: Optional name for the browser pool. Must be unique within the project.
709
728
 
710
729
  profile: Profile selection for the browser session. Provide either id or name. If
711
730
  specified, the matching profile will be loaded into the browser session.
@@ -714,6 +733,10 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
714
733
  proxy_id: Optional proxy to associate to the browser session. Must reference a proxy
715
734
  belonging to the caller's org.
716
735
 
736
+ start_url: Optional URL to open when a browser is created for the pool. Navigation is
737
+ best-effort, so navigation failures do not prevent the pool from filling. Reused
738
+ browsers keep the page left by the previous lease.
739
+
717
740
  stealth: If true, launches the browser in stealth mode to reduce detection by anti-bot
718
741
  mechanisms.
719
742
 
@@ -757,6 +780,7 @@ class AsyncBrowserPoolsResource(AsyncAPIResource):
757
780
  "name": name,
758
781
  "profile": profile,
759
782
  "proxy_id": proxy_id,
783
+ "start_url": start_url,
760
784
  "stealth": stealth,
761
785
  "timeout_seconds": timeout_seconds,
762
786
  "viewport": viewport,