kernel 0.65.0__tar.gz → 0.68.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.
- kernel-0.68.0/.release-please-manifest.json +3 -0
- {kernel-0.65.0 → kernel-0.68.0}/CHANGELOG.md +48 -0
- {kernel-0.65.0 → kernel-0.68.0}/PKG-INFO +3 -3
- {kernel-0.65.0 → kernel-0.68.0}/README.md +2 -2
- {kernel-0.65.0 → kernel-0.68.0}/api.md +17 -1
- {kernel-0.65.0 → kernel-0.68.0}/pyproject.toml +1 -1
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_client.py +54 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_version.py +1 -1
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/pagination.py +26 -10
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/__init__.py +14 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/api_keys.py +165 -3
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/auth/connections.py +12 -12
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browser_pools.py +10 -10
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/browsers.py +36 -10
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/credentials.py +4 -6
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/extensions.py +2 -2
- kernel-0.68.0/src/kernel/resources/organization/__init__.py +33 -0
- kernel-0.68.0/src/kernel/resources/organization/limits.py +245 -0
- kernel-0.68.0/src/kernel/resources/organization/organization.py +108 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/proxies.py +6 -6
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/__init__.py +2 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/api_key.py +6 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/api_key_list_params.py +15 -0
- kernel-0.68.0/src/kernel/types/api_key_retrieve_params.py +15 -0
- kernel-0.68.0/src/kernel/types/api_key_rotate_params.py +23 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_create_params.py +3 -2
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_login_params.py +3 -2
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_update_params.py +3 -2
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_create_params.py +5 -4
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool.py +1 -1
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_create_params.py +1 -1
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_update_params.py +1 -1
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_update_params.py +16 -0
- kernel-0.68.0/src/kernel/types/organization/__init__.py +6 -0
- kernel-0.68.0/src/kernel/types/organization/limit_update_params.py +17 -0
- kernel-0.68.0/src/kernel/types/organization/org_limits.py +24 -0
- kernel-0.68.0/tests/api_resources/organization/test_limits.py +152 -0
- kernel-0.68.0/tests/api_resources/projects/__init__.py +1 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_api_keys.py +138 -9
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_browsers.py +10 -0
- kernel-0.68.0/tests/test_pagination.py +66 -0
- kernel-0.65.0/.release-please-manifest.json +0 -3
- {kernel-0.65.0 → kernel-0.68.0}/.gitignore +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/CONTRIBUTING.md +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/LICENSE +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/SECURITY.md +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/bin/check-release-environment +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/bin/publish-pypi +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/examples/.keep +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/examples/browser_routing.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/examples/browser_telemetry.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/noxfile.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/release-please-config.json +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/requirements-dev.lock +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/requirements.lock +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_base_client.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_compat.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_constants.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_exceptions.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_files.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_models.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_qs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_resource.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_streaming.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_types.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_compat.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_datetime_parse.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_json.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_logs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_path.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_proxy.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_reflection.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_resources_proxy.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_streams.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_sync.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_transform.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_typing.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/_utils/_utils.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/app_framework.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/lib/.keep +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/lib/browser_routing/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/lib/browser_routing/raw_http.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/lib/browser_routing/routing.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/lib/browser_routing/util.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/py.typed +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/apps.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/auth/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/auth/auth.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/computer.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/fs/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/fs/fs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/fs/watch.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/logs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/playwright.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/process.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/replays.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/browsers/telemetry.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/credential_providers.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/deployments.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/invocations.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/profiles.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/projects/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/projects/limits.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/resources/projects/projects.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/api_key_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/api_key_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/app_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/app_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_follow_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/connection_submit_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/login_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/managed_auth.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/auth/submit_fields_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_create_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_curl_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_curl_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_load_extensions_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_acquire_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_acquire_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_delete_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_ref.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_pool_release_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_retrieve_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_retrieve_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_update_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browser_usage.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_api_call_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_call_stack.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_captcha_solve_result_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_cdp_connect_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_cdp_disconnect_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_console_error_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_console_log_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_event_context.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_event_source.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_http_headers.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_interaction_click_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_interaction_key_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_interaction_scroll_settled_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_live_view_connect_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_live_view_disconnect_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_monitor_disconnected_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_monitor_init_failed_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_monitor_reconnect_failed_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_monitor_reconnected_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_monitor_screenshot_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_network_idle_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_network_loading_failed_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_network_request_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_network_response_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_dom_content_loaded_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_layout_settled_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_layout_shift_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_lcp_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_load_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_navigation_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_navigation_settled_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_page_tab_opened_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_service_crashed_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_system_oom_kill_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_categories_config.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_categories_config_param.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_category_config.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_category_config_param.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_config.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/browser_telemetry_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_batch_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_capture_screenshot_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_click_mouse_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_drag_mouse_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_get_mouse_position_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_move_mouse_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_press_key_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_read_clipboard_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_scroll_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_set_cursor_visibility_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_set_cursor_visibility_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_type_text_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/computer_write_clipboard_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_create_directory_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_delete_directory_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_delete_file_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_download_dir_zip_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_file_info_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_file_info_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_list_files_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_list_files_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_move_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_read_file_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_set_file_permissions_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_upload_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_upload_zip_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/f_write_file_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/fs/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/fs/watch_events_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/fs/watch_start_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/fs/watch_start_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/log_stream_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/playwright_execute_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/playwright_execute_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_exec_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_exec_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_kill_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_kill_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_resize_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_resize_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_spawn_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_spawn_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_status_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_stdin_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_stdin_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/process_stdout_stream_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/replay_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/replay_start_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/replay_start_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/browsers/telemetry_stream_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/created_api_key.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_item.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_list_items_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_test_result.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_provider_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_totp_code_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/credential_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_create_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_follow_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_follow_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_retrieve_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/deployment_state_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/extension_download_from_chrome_store_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/extension_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/extension_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/extension_upload_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/extension_upload_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_create_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_follow_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_follow_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_list_browsers_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_retrieve_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_state_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/invocation_update_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/profile.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/profile_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/profile_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/project.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/project_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/project_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/project_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/projects/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/projects/limit_update_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/projects/project_limits.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_check_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_check_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_create_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_create_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_list_params.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_list_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/proxy_retrieve_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/app_action.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/browser_extension.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/browser_profile.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/browser_viewport.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/error_detail.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/error_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/error_model.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/heartbeat_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared/log_event.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared_params/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared_params/browser_extension.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared_params/browser_profile.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/shared_params/browser_viewport.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/tags.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/src/kernel/types/tags_param.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/auth/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/auth/test_connections.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/fs/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/fs/test_watch.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_computer.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_fs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_logs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_playwright.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_process.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_replays.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/browsers/test_telemetry.py +0 -0
- {kernel-0.65.0/tests/api_resources/projects → kernel-0.68.0/tests/api_resources/organization}/__init__.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/projects/test_limits.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_apps.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_browser_pools.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_credential_providers.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_credentials.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_deployments.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_extensions.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_invocations.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_profiles.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_projects.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/api_resources/test_proxies.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/conftest.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/sample_file.txt +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_browser_routing.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_client.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_extract_files.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_files.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_models.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_qs.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_required_args.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_response.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_streaming.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_transform.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_utils/test_json.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_utils/test_path.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_utils/test_proxy.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/test_utils/test_typing.py +0 -0
- {kernel-0.65.0 → kernel-0.68.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.68.0 (2026-06-15)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.67.0...v0.68.0](https://github.com/kernel/kernel-python-sdk/compare/v0.67.0...v0.68.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add API key rotate endpoint ([e383f7d](https://github.com/kernel/kernel-python-sdk/commit/e383f7d4b6af4f2921200d4a0f6922e730f58e08))
|
|
10
|
+
* **api:** surface deleted/expired API keys for audit trail (KERNEL-1350) ([55e32db](https://github.com/kernel/kernel-python-sdk/commit/55e32dbaf07275c63623a31ec6df88c6aa128f8f))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* **pagination:** correct type:ignore placement; stop on 0 sentinel ([5d2afd7](https://github.com/kernel/kernel-python-sdk/commit/5d2afd7df0f2d21d754ca936286ac3a92762e9db))
|
|
16
|
+
* **pagination:** fail loudly on contradictory headers; test both classes ([4554697](https://github.com/kernel/kernel-python-sdk/commit/4554697a9d850848b602a2422199fb2ce72d8efc))
|
|
17
|
+
* **pagination:** stop skipping a page per auto-pagination iteration ([c0a3e14](https://github.com/kernel/kernel-python-sdk/commit/c0a3e14b51e39dfdba37bacf023b2f98d4a3be69))
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Styles
|
|
21
|
+
|
|
22
|
+
* ruff import-sort and format the pagination test ([843fade](https://github.com/kernel/kernel-python-sdk/commit/843fadeb07fb7cebd5d2689eb78511bb8ee0d293))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Refactors
|
|
26
|
+
|
|
27
|
+
* **api:** align API key audit surface with browser sibling (KERNEL-1350) ([12868d1](https://github.com/kernel/kernel-python-sdk/commit/12868d18dbb081c0e998299b799ac693dd878d0f))
|
|
28
|
+
|
|
29
|
+
## 0.67.0 (2026-06-11)
|
|
30
|
+
|
|
31
|
+
Full Changelog: [v0.66.0...v0.67.0](https://github.com/kernel/kernel-python-sdk/compare/v0.66.0...v0.67.0)
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* Add project_id SDK client option mapped to X-Kernel-Project-Id ([1799732](https://github.com/kernel/kernel-python-sdk/commit/17997322232374c6c49d99333b564a0537f247c0))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Documentation
|
|
39
|
+
|
|
40
|
+
* **api:** correct project-scoping descriptions in OpenAPI spec ([5929332](https://github.com/kernel/kernel-python-sdk/commit/592933283ff7bf0e6596ddbfbc4851e285a1d36e))
|
|
41
|
+
|
|
42
|
+
## 0.66.0 (2026-06-10)
|
|
43
|
+
|
|
44
|
+
Full Changelog: [v0.65.0...v0.66.0](https://github.com/kernel/kernel-python-sdk/compare/v0.65.0...v0.66.0)
|
|
45
|
+
|
|
46
|
+
### Features
|
|
47
|
+
|
|
48
|
+
* Add org-level default per-project concurrency cap ([2de4525](https://github.com/kernel/kernel-python-sdk/commit/2de45255a1f5ed003ec0492461ee967bf961db2e))
|
|
49
|
+
* Support updating browser session name and tags via PATCH ([e26e9c6](https://github.com/kernel/kernel-python-sdk/commit/e26e9c6b0513a1c7f9723554f4ba977988290d5e))
|
|
50
|
+
|
|
3
51
|
## 0.65.0 (2026-06-08)
|
|
4
52
|
|
|
5
53
|
Full Changelog: [v0.64.0...v0.65.0](https://github.com/kernel/kernel-python-sdk/compare/v0.64.0...v0.65.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: kernel
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.68.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
|
|
@@ -220,8 +220,8 @@ first_page = await client.deployments.list(
|
|
|
220
220
|
)
|
|
221
221
|
|
|
222
222
|
print(
|
|
223
|
-
f"the
|
|
224
|
-
) # => "the
|
|
223
|
+
f"the offset where the next page starts: {first_page.next_offset}"
|
|
224
|
+
) # => "the offset where the next page starts: 2"
|
|
225
225
|
for deployment in first_page.items:
|
|
226
226
|
print(deployment.id)
|
|
227
227
|
|
|
@@ -185,8 +185,8 @@ first_page = await client.deployments.list(
|
|
|
185
185
|
)
|
|
186
186
|
|
|
187
187
|
print(
|
|
188
|
-
f"the
|
|
189
|
-
) # => "the
|
|
188
|
+
f"the offset where the next page starts: {first_page.next_offset}"
|
|
189
|
+
) # => "the offset where the next page starts: 2"
|
|
190
190
|
for deployment in first_page.items:
|
|
191
191
|
print(deployment.id)
|
|
192
192
|
|
|
@@ -423,6 +423,21 @@ Methods:
|
|
|
423
423
|
- <code title="get /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">retrieve</a>(id) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
|
|
424
424
|
- <code title="patch /org/projects/{id}/limits">client.projects.limits.<a href="./src/kernel/resources/projects/limits.py">update</a>(id, \*\*<a href="src/kernel/types/projects/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/projects/project_limits.py">ProjectLimits</a></code>
|
|
425
425
|
|
|
426
|
+
# Organization
|
|
427
|
+
|
|
428
|
+
## Limits
|
|
429
|
+
|
|
430
|
+
Types:
|
|
431
|
+
|
|
432
|
+
```python
|
|
433
|
+
from kernel.types.organization import OrgLimits, UpdateOrgLimitsRequest
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
Methods:
|
|
437
|
+
|
|
438
|
+
- <code title="get /org/limits">client.organization.limits.<a href="./src/kernel/resources/organization/limits.py">retrieve</a>() -> <a href="./src/kernel/types/organization/org_limits.py">OrgLimits</a></code>
|
|
439
|
+
- <code title="patch /org/limits">client.organization.limits.<a href="./src/kernel/resources/organization/limits.py">update</a>(\*\*<a href="src/kernel/types/organization/limit_update_params.py">params</a>) -> <a href="./src/kernel/types/organization/org_limits.py">OrgLimits</a></code>
|
|
440
|
+
|
|
426
441
|
# APIKeys
|
|
427
442
|
|
|
428
443
|
Types:
|
|
@@ -434,10 +449,11 @@ from kernel.types import APIKey, CreatedAPIKey
|
|
|
434
449
|
Methods:
|
|
435
450
|
|
|
436
451
|
- <code title="post /org/api_keys">client.api_keys.<a href="./src/kernel/resources/api_keys.py">create</a>(\*\*<a href="src/kernel/types/api_key_create_params.py">params</a>) -> <a href="./src/kernel/types/created_api_key.py">CreatedAPIKey</a></code>
|
|
437
|
-
- <code title="get /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">retrieve</a>(id) -> <a href="./src/kernel/types/api_key.py">APIKey</a></code>
|
|
452
|
+
- <code title="get /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">retrieve</a>(id, \*\*<a href="src/kernel/types/api_key_retrieve_params.py">params</a>) -> <a href="./src/kernel/types/api_key.py">APIKey</a></code>
|
|
438
453
|
- <code title="patch /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">update</a>(id, \*\*<a href="src/kernel/types/api_key_update_params.py">params</a>) -> <a href="./src/kernel/types/api_key.py">APIKey</a></code>
|
|
439
454
|
- <code title="get /org/api_keys">client.api_keys.<a href="./src/kernel/resources/api_keys.py">list</a>(\*\*<a href="src/kernel/types/api_key_list_params.py">params</a>) -> <a href="./src/kernel/types/api_key.py">SyncOffsetPagination[APIKey]</a></code>
|
|
440
455
|
- <code title="delete /org/api_keys/{id}">client.api_keys.<a href="./src/kernel/resources/api_keys.py">delete</a>(id) -> None</code>
|
|
456
|
+
- <code title="post /org/api_keys/{id}/rotate">client.api_keys.<a href="./src/kernel/resources/api_keys.py">rotate</a>(id, \*\*<a href="src/kernel/types/api_key_rotate_params.py">params</a>) -> <a href="./src/kernel/types/created_api_key.py">CreatedAPIKey</a></code>
|
|
441
457
|
|
|
442
458
|
# CredentialProviders
|
|
443
459
|
|
|
@@ -58,6 +58,7 @@ if TYPE_CHECKING:
|
|
|
58
58
|
credentials,
|
|
59
59
|
deployments,
|
|
60
60
|
invocations,
|
|
61
|
+
organization,
|
|
61
62
|
browser_pools,
|
|
62
63
|
credential_providers,
|
|
63
64
|
)
|
|
@@ -74,6 +75,7 @@ if TYPE_CHECKING:
|
|
|
74
75
|
from .resources.browsers.browsers import BrowsersResource, AsyncBrowsersResource
|
|
75
76
|
from .resources.projects.projects import ProjectsResource, AsyncProjectsResource
|
|
76
77
|
from .resources.credential_providers import CredentialProvidersResource, AsyncCredentialProvidersResource
|
|
78
|
+
from .resources.organization.organization import OrganizationResource, AsyncOrganizationResource
|
|
77
79
|
|
|
78
80
|
__all__ = [
|
|
79
81
|
"ENVIRONMENTS",
|
|
@@ -98,6 +100,8 @@ class Kernel(SyncAPIClient):
|
|
|
98
100
|
api_key: str
|
|
99
101
|
browser_route_cache: BrowserRouteCache
|
|
100
102
|
|
|
103
|
+
project_id: str | None
|
|
104
|
+
|
|
101
105
|
_environment: Literal["production", "development"] | NotGiven
|
|
102
106
|
_browser_routing: BrowserRoutingConfig
|
|
103
107
|
|
|
@@ -105,6 +109,7 @@ class Kernel(SyncAPIClient):
|
|
|
105
109
|
self,
|
|
106
110
|
*,
|
|
107
111
|
api_key: str | None = None,
|
|
112
|
+
project_id: str | None = None,
|
|
108
113
|
environment: Literal["production", "development"] | NotGiven = not_given,
|
|
109
114
|
base_url: str | httpx.URL | None | NotGiven = not_given,
|
|
110
115
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -138,6 +143,8 @@ class Kernel(SyncAPIClient):
|
|
|
138
143
|
)
|
|
139
144
|
self.api_key = api_key
|
|
140
145
|
|
|
146
|
+
self.project_id = project_id
|
|
147
|
+
|
|
141
148
|
self._environment = environment
|
|
142
149
|
|
|
143
150
|
base_url_env = os.environ.get("KERNEL_BASE_URL")
|
|
@@ -262,6 +269,12 @@ class Kernel(SyncAPIClient):
|
|
|
262
269
|
|
|
263
270
|
return ProjectsResource(self)
|
|
264
271
|
|
|
272
|
+
@cached_property
|
|
273
|
+
def organization(self) -> OrganizationResource:
|
|
274
|
+
from .resources.organization import OrganizationResource
|
|
275
|
+
|
|
276
|
+
return OrganizationResource(self)
|
|
277
|
+
|
|
265
278
|
@cached_property
|
|
266
279
|
def api_keys(self) -> APIKeysResource:
|
|
267
280
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -301,6 +314,7 @@ class Kernel(SyncAPIClient):
|
|
|
301
314
|
return {
|
|
302
315
|
**super().default_headers,
|
|
303
316
|
"X-Stainless-Async": "false",
|
|
317
|
+
"X-Kernel-Project-Id": self.project_id if self.project_id is not None else Omit(),
|
|
304
318
|
**self._custom_headers,
|
|
305
319
|
}
|
|
306
320
|
|
|
@@ -339,6 +353,7 @@ class Kernel(SyncAPIClient):
|
|
|
339
353
|
self,
|
|
340
354
|
*,
|
|
341
355
|
api_key: str | None = None,
|
|
356
|
+
project_id: str | None = None,
|
|
342
357
|
environment: Literal["production", "development"] | None = None,
|
|
343
358
|
base_url: str | httpx.URL | None = None,
|
|
344
359
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -375,6 +390,7 @@ class Kernel(SyncAPIClient):
|
|
|
375
390
|
http_client = http_client or self._client
|
|
376
391
|
return self.__class__(
|
|
377
392
|
api_key=api_key or self.api_key,
|
|
393
|
+
project_id=project_id or self.project_id,
|
|
378
394
|
base_url=base_url or self.base_url,
|
|
379
395
|
environment=environment or self._environment,
|
|
380
396
|
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
|
@@ -429,6 +445,8 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
429
445
|
api_key: str
|
|
430
446
|
browser_route_cache: BrowserRouteCache
|
|
431
447
|
|
|
448
|
+
project_id: str | None
|
|
449
|
+
|
|
432
450
|
_environment: Literal["production", "development"] | NotGiven
|
|
433
451
|
_browser_routing: BrowserRoutingConfig
|
|
434
452
|
|
|
@@ -436,6 +454,7 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
436
454
|
self,
|
|
437
455
|
*,
|
|
438
456
|
api_key: str | None = None,
|
|
457
|
+
project_id: str | None = None,
|
|
439
458
|
environment: Literal["production", "development"] | NotGiven = not_given,
|
|
440
459
|
base_url: str | httpx.URL | None | NotGiven = not_given,
|
|
441
460
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -469,6 +488,8 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
469
488
|
)
|
|
470
489
|
self.api_key = api_key
|
|
471
490
|
|
|
491
|
+
self.project_id = project_id
|
|
492
|
+
|
|
472
493
|
self._environment = environment
|
|
473
494
|
|
|
474
495
|
base_url_env = os.environ.get("KERNEL_BASE_URL")
|
|
@@ -593,6 +614,12 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
593
614
|
|
|
594
615
|
return AsyncProjectsResource(self)
|
|
595
616
|
|
|
617
|
+
@cached_property
|
|
618
|
+
def organization(self) -> AsyncOrganizationResource:
|
|
619
|
+
from .resources.organization import AsyncOrganizationResource
|
|
620
|
+
|
|
621
|
+
return AsyncOrganizationResource(self)
|
|
622
|
+
|
|
596
623
|
@cached_property
|
|
597
624
|
def api_keys(self) -> AsyncAPIKeysResource:
|
|
598
625
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -632,6 +659,7 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
632
659
|
return {
|
|
633
660
|
**super().default_headers,
|
|
634
661
|
"X-Stainless-Async": f"async:{get_async_library()}",
|
|
662
|
+
"X-Kernel-Project-Id": self.project_id if self.project_id is not None else Omit(),
|
|
635
663
|
**self._custom_headers,
|
|
636
664
|
}
|
|
637
665
|
|
|
@@ -670,6 +698,7 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
670
698
|
self,
|
|
671
699
|
*,
|
|
672
700
|
api_key: str | None = None,
|
|
701
|
+
project_id: str | None = None,
|
|
673
702
|
environment: Literal["production", "development"] | None = None,
|
|
674
703
|
base_url: str | httpx.URL | None = None,
|
|
675
704
|
timeout: float | Timeout | None | NotGiven = not_given,
|
|
@@ -706,6 +735,7 @@ class AsyncKernel(AsyncAPIClient):
|
|
|
706
735
|
http_client = http_client or self._client
|
|
707
736
|
return self.__class__(
|
|
708
737
|
api_key=api_key or self.api_key,
|
|
738
|
+
project_id=project_id or self.project_id,
|
|
709
739
|
base_url=base_url or self.base_url,
|
|
710
740
|
environment=environment or self._environment,
|
|
711
741
|
timeout=self.timeout if isinstance(timeout, NotGiven) else timeout,
|
|
@@ -837,6 +867,12 @@ class KernelWithRawResponse:
|
|
|
837
867
|
|
|
838
868
|
return ProjectsResourceWithRawResponse(self._client.projects)
|
|
839
869
|
|
|
870
|
+
@cached_property
|
|
871
|
+
def organization(self) -> organization.OrganizationResourceWithRawResponse:
|
|
872
|
+
from .resources.organization import OrganizationResourceWithRawResponse
|
|
873
|
+
|
|
874
|
+
return OrganizationResourceWithRawResponse(self._client.organization)
|
|
875
|
+
|
|
840
876
|
@cached_property
|
|
841
877
|
def api_keys(self) -> api_keys.APIKeysResourceWithRawResponse:
|
|
842
878
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -934,6 +970,12 @@ class AsyncKernelWithRawResponse:
|
|
|
934
970
|
|
|
935
971
|
return AsyncProjectsResourceWithRawResponse(self._client.projects)
|
|
936
972
|
|
|
973
|
+
@cached_property
|
|
974
|
+
def organization(self) -> organization.AsyncOrganizationResourceWithRawResponse:
|
|
975
|
+
from .resources.organization import AsyncOrganizationResourceWithRawResponse
|
|
976
|
+
|
|
977
|
+
return AsyncOrganizationResourceWithRawResponse(self._client.organization)
|
|
978
|
+
|
|
937
979
|
@cached_property
|
|
938
980
|
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithRawResponse:
|
|
939
981
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -1031,6 +1073,12 @@ class KernelWithStreamedResponse:
|
|
|
1031
1073
|
|
|
1032
1074
|
return ProjectsResourceWithStreamingResponse(self._client.projects)
|
|
1033
1075
|
|
|
1076
|
+
@cached_property
|
|
1077
|
+
def organization(self) -> organization.OrganizationResourceWithStreamingResponse:
|
|
1078
|
+
from .resources.organization import OrganizationResourceWithStreamingResponse
|
|
1079
|
+
|
|
1080
|
+
return OrganizationResourceWithStreamingResponse(self._client.organization)
|
|
1081
|
+
|
|
1034
1082
|
@cached_property
|
|
1035
1083
|
def api_keys(self) -> api_keys.APIKeysResourceWithStreamingResponse:
|
|
1036
1084
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -1128,6 +1176,12 @@ class AsyncKernelWithStreamedResponse:
|
|
|
1128
1176
|
|
|
1129
1177
|
return AsyncProjectsResourceWithStreamingResponse(self._client.projects)
|
|
1130
1178
|
|
|
1179
|
+
@cached_property
|
|
1180
|
+
def organization(self) -> organization.AsyncOrganizationResourceWithStreamingResponse:
|
|
1181
|
+
from .resources.organization import AsyncOrganizationResourceWithStreamingResponse
|
|
1182
|
+
|
|
1183
|
+
return AsyncOrganizationResourceWithStreamingResponse(self._client.organization)
|
|
1184
|
+
|
|
1131
1185
|
@cached_property
|
|
1132
1186
|
def api_keys(self) -> api_keys.AsyncAPIKeysResourceWithStreamingResponse:
|
|
1133
1187
|
"""Create and manage API keys for organization and project-scoped access."""
|
|
@@ -40,12 +40,20 @@ class SyncOffsetPagination(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
|
|
|
40
40
|
def next_page_info(self) -> Optional[PageInfo]:
|
|
41
41
|
next_offset = self.next_offset
|
|
42
42
|
if next_offset is None:
|
|
43
|
-
|
|
43
|
+
if self.has_more: # type: ignore[unreachable]
|
|
44
|
+
raise RuntimeError(
|
|
45
|
+
"Server reported X-Has-More: true without an X-Next-Offset header; "
|
|
46
|
+
"refusing to silently truncate pagination"
|
|
47
|
+
)
|
|
48
|
+
return None
|
|
44
49
|
|
|
45
|
-
|
|
46
|
-
|
|
50
|
+
# X-Next-Offset is the next page's absolute start, or 0 on the last page
|
|
51
|
+
# (the API's stop sentinel). Only a positive offset advances; the old code
|
|
52
|
+
# added the current page length on top, skipping a page per iteration.
|
|
53
|
+
if next_offset == 0:
|
|
54
|
+
return None
|
|
47
55
|
|
|
48
|
-
return PageInfo(params={"offset":
|
|
56
|
+
return PageInfo(params={"offset": next_offset})
|
|
49
57
|
|
|
50
58
|
@classmethod
|
|
51
59
|
def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
|
|
@@ -83,12 +91,20 @@ class AsyncOffsetPagination(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
|
|
|
83
91
|
def next_page_info(self) -> Optional[PageInfo]:
|
|
84
92
|
next_offset = self.next_offset
|
|
85
93
|
if next_offset is None:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
94
|
+
if self.has_more: # type: ignore[unreachable]
|
|
95
|
+
raise RuntimeError(
|
|
96
|
+
"Server reported X-Has-More: true without an X-Next-Offset header; "
|
|
97
|
+
"refusing to silently truncate pagination"
|
|
98
|
+
)
|
|
99
|
+
return None
|
|
100
|
+
|
|
101
|
+
# X-Next-Offset is the next page's absolute start, or 0 on the last page
|
|
102
|
+
# (the API's stop sentinel). Only a positive offset advances; the old code
|
|
103
|
+
# added the current page length on top, skipping a page per iteration.
|
|
104
|
+
if next_offset == 0:
|
|
105
|
+
return None
|
|
106
|
+
|
|
107
|
+
return PageInfo(params={"offset": next_offset})
|
|
92
108
|
|
|
93
109
|
@classmethod
|
|
94
110
|
def build(cls: Type[_BaseModelT], *, response: Response, data: object) -> _BaseModelT: # noqa: ARG003
|
|
@@ -88,6 +88,14 @@ from .invocations import (
|
|
|
88
88
|
InvocationsResourceWithStreamingResponse,
|
|
89
89
|
AsyncInvocationsResourceWithStreamingResponse,
|
|
90
90
|
)
|
|
91
|
+
from .organization import (
|
|
92
|
+
OrganizationResource,
|
|
93
|
+
AsyncOrganizationResource,
|
|
94
|
+
OrganizationResourceWithRawResponse,
|
|
95
|
+
AsyncOrganizationResourceWithRawResponse,
|
|
96
|
+
OrganizationResourceWithStreamingResponse,
|
|
97
|
+
AsyncOrganizationResourceWithStreamingResponse,
|
|
98
|
+
)
|
|
91
99
|
from .browser_pools import (
|
|
92
100
|
BrowserPoolsResource,
|
|
93
101
|
AsyncBrowserPoolsResource,
|
|
@@ -172,6 +180,12 @@ __all__ = [
|
|
|
172
180
|
"AsyncProjectsResourceWithRawResponse",
|
|
173
181
|
"ProjectsResourceWithStreamingResponse",
|
|
174
182
|
"AsyncProjectsResourceWithStreamingResponse",
|
|
183
|
+
"OrganizationResource",
|
|
184
|
+
"AsyncOrganizationResource",
|
|
185
|
+
"OrganizationResourceWithRawResponse",
|
|
186
|
+
"AsyncOrganizationResourceWithRawResponse",
|
|
187
|
+
"OrganizationResourceWithStreamingResponse",
|
|
188
|
+
"AsyncOrganizationResourceWithStreamingResponse",
|
|
175
189
|
"APIKeysResource",
|
|
176
190
|
"AsyncAPIKeysResource",
|
|
177
191
|
"APIKeysResourceWithRawResponse",
|