runloop-api-client 0.59.0__tar.gz → 0.60.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.
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/.gitignore +2 -0
- runloop_api_client-0.60.0/.release-please-manifest.json +3 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/CHANGELOG.md +10 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/PKG-INFO +1 -1
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/api.md +2 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/pyproject.toml +6 -3
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/requirements-dev.lock +2 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/devboxes.py +279 -1
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/executions.py +33 -16
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/__init__.py +2 -0
- runloop_api_client-0.60.0/src/runloop_api_client/types/devbox_execute_params.py +28 -0
- runloop_api_client-0.60.0/src/runloop_api_client/types/devbox_wait_for_command_params.py +25 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_devboxes.py +238 -0
- runloop_api_client-0.60.0/tests/smoketests/README.md +27 -0
- runloop_api_client-0.60.0/tests/smoketests/__init__.py +6 -0
- runloop_api_client-0.60.0/tests/smoketests/test_blueprints.py +61 -0
- runloop_api_client-0.60.0/tests/smoketests/test_devboxes.py +74 -0
- runloop_api_client-0.60.0/tests/smoketests/test_executions.py +63 -0
- runloop_api_client-0.60.0/tests/smoketests/test_scenarios_benchmarks.py +78 -0
- runloop_api_client-0.60.0/tests/smoketests/test_snapshots.py +43 -0
- runloop_api_client-0.60.0/tests/smoketests/utils.py +34 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/uv.lock +1 -1
- runloop_api_client-0.59.0/.release-please-manifest.json +0 -3
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/LICENSE +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/README.md +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/SECURITY.md +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/bin/check-release-environment +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/bin/publish-pypi +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/examples/.keep +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/noxfile.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/release-please-config.json +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/requirements.lock +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_compat.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/object_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/benchmarks/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_scenarios.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/conftest.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_client.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_files.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_models.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_polling.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_qs.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_response.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_transform.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.60.0 (2025-09-10)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.59.0...v0.60.0](https://github.com/runloopai/api-client-python/compare/v0.59.0...v0.60.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([82b7001](https://github.com/runloopai/api-client-python/commit/82b700156bc034cb486225ef2889b7f3b7575c9e))
|
|
10
|
+
* **api:** api update ([5d1797b](https://github.com/runloopai/api-client-python/commit/5d1797b1e193ffd5b17c664fdf3894a568039c14))
|
|
11
|
+
* **api:** api update ([f9e63d9](https://github.com/runloopai/api-client-python/commit/f9e63d96beac3fcdfda3b1038683ebf514b421d7))
|
|
12
|
+
|
|
3
13
|
## 0.59.0 (2025-09-08)
|
|
4
14
|
|
|
5
15
|
Full Changelog: [v0.58.0...v0.59.0](https://github.com/runloopai/api-client-python/compare/v0.58.0...v0.59.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.60.0
|
|
4
4
|
Summary: The official Python library for the runloop API
|
|
5
5
|
Project-URL: Homepage, https://github.com/runloopai/api-client-python
|
|
6
6
|
Project-URL: Repository, https://github.com/runloopai/api-client-python
|
|
@@ -95,6 +95,7 @@ Methods:
|
|
|
95
95
|
- <code title="post /v1/devboxes/{id}/create_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_tunnel_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_tunnel_view.py">DevboxTunnelView</a></code>
|
|
96
96
|
- <code title="post /v1/devboxes/disk_snapshots/{id}/delete">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">delete_disk_snapshot</a>(id) -> object</code>
|
|
97
97
|
- <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
|
|
98
|
+
- <code title="post /v1/devboxes/{id}/execute">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
|
|
98
99
|
- <code title="post /v1/devboxes/{id}/execute_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
|
|
99
100
|
- <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">execute_sync</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_execute_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
|
|
100
101
|
- <code title="post /v1/devboxes/{id}/keep_alive">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">keep_alive</a>(id) -> object</code>
|
|
@@ -107,6 +108,7 @@ Methods:
|
|
|
107
108
|
- <code title="post /v1/devboxes/{id}/snapshot_disk_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
|
|
108
109
|
- <code title="post /v1/devboxes/{id}/suspend">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">suspend</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
109
110
|
- <code title="post /v1/devboxes/{id}/upload_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">upload_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_upload_file_params.py">params</a>) -> object</code>
|
|
111
|
+
- <code title="post /v1/devboxes/{devbox_id}/executions/{execution_id}/wait_for_status">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">wait_for_command</a>(execution_id, \*, devbox_id, \*\*<a href="src/runloop_api_client/types/devbox_wait_for_command_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
|
|
110
112
|
- <code title="post /v1/devboxes/{id}/write_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">write_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_write_file_contents_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
|
|
111
113
|
|
|
112
114
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "runloop_api_client"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.60.0"
|
|
4
4
|
description = "The official Python library for the runloop API"
|
|
5
5
|
dynamic = ["readme"]
|
|
6
6
|
license = "MIT"
|
|
@@ -51,6 +51,7 @@ dev-dependencies = [
|
|
|
51
51
|
"respx",
|
|
52
52
|
"pytest",
|
|
53
53
|
"pytest-asyncio",
|
|
54
|
+
"pytest-timeout",
|
|
54
55
|
"ruff",
|
|
55
56
|
"time-machine",
|
|
56
57
|
"nox",
|
|
@@ -134,7 +135,7 @@ replacement = '[\1](https://github.com/runloopai/api-client-python/tree/main/\g<
|
|
|
134
135
|
|
|
135
136
|
[tool.pytest.ini_options]
|
|
136
137
|
testpaths = ["tests"]
|
|
137
|
-
addopts = "--tb=short -n auto"
|
|
138
|
+
addopts = "--tb=short -n auto --dist=loadfile -m 'not smoketest'"
|
|
138
139
|
xfail_strict = true
|
|
139
140
|
asyncio_mode = "auto"
|
|
140
141
|
asyncio_default_fixture_loop_scope = "session"
|
|
@@ -142,7 +143,9 @@ filterwarnings = [
|
|
|
142
143
|
"error"
|
|
143
144
|
]
|
|
144
145
|
markers = [
|
|
145
|
-
"skip_if_strict: skip test if using strict validation (for prism mock server issues)"
|
|
146
|
+
"skip_if_strict: skip test if using strict validation (for prism mock server issues)",
|
|
147
|
+
"timeout: per-test timeout provided by pytest-timeout",
|
|
148
|
+
"smoketest: end-to-end smoke tests against real API",
|
|
146
149
|
]
|
|
147
150
|
|
|
148
151
|
[tool.pyright]
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
|
-
from typing import Dict, Mapping, Iterable, Optional, TypedDict, cast
|
|
5
|
+
from typing import Dict, List, Mapping, Iterable, Optional, TypedDict, cast
|
|
6
6
|
from typing_extensions import Literal
|
|
7
7
|
|
|
8
8
|
import httpx
|
|
@@ -27,6 +27,7 @@ from ...types import (
|
|
|
27
27
|
devbox_list_params,
|
|
28
28
|
devbox_create_params,
|
|
29
29
|
devbox_update_params,
|
|
30
|
+
devbox_execute_params,
|
|
30
31
|
devbox_upload_file_params,
|
|
31
32
|
devbox_execute_sync_params,
|
|
32
33
|
devbox_create_tunnel_params,
|
|
@@ -34,6 +35,7 @@ from ...types import (
|
|
|
34
35
|
devbox_execute_async_params,
|
|
35
36
|
devbox_remove_tunnel_params,
|
|
36
37
|
devbox_snapshot_disk_params,
|
|
38
|
+
devbox_wait_for_command_params,
|
|
37
39
|
devbox_read_file_contents_params,
|
|
38
40
|
devbox_list_disk_snapshots_params,
|
|
39
41
|
devbox_snapshot_disk_async_params,
|
|
@@ -719,6 +721,72 @@ class DevboxesResource(SyncAPIResource):
|
|
|
719
721
|
cast_to=BinaryAPIResponse,
|
|
720
722
|
)
|
|
721
723
|
|
|
724
|
+
def execute(
|
|
725
|
+
self,
|
|
726
|
+
id: str,
|
|
727
|
+
*,
|
|
728
|
+
command: str,
|
|
729
|
+
command_id: str,
|
|
730
|
+
shell_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
731
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
732
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
733
|
+
extra_headers: Headers | None = None,
|
|
734
|
+
extra_query: Query | None = None,
|
|
735
|
+
extra_body: Body | None = None,
|
|
736
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
737
|
+
idempotency_key: str | None = None,
|
|
738
|
+
) -> DevboxAsyncExecutionDetailView:
|
|
739
|
+
"""
|
|
740
|
+
Execute a command with a known command ID on a devbox, optimistically waiting
|
|
741
|
+
for it to complete within the specified timeout. If it completes in time, return
|
|
742
|
+
the result. If not, return a status indicating the command is still running.
|
|
743
|
+
|
|
744
|
+
Args:
|
|
745
|
+
command: The command to execute via the Devbox shell. By default, commands are run from
|
|
746
|
+
the user home directory unless shell_name is specified. If shell_name is
|
|
747
|
+
specified the command is run from the directory based on the recent state of the
|
|
748
|
+
persistent shell.
|
|
749
|
+
|
|
750
|
+
command_id: The command ID for idempotency and tracking
|
|
751
|
+
|
|
752
|
+
shell_name: The name of the persistent shell to create or use if already created. When using
|
|
753
|
+
a persistent shell, the command will run from the directory at the end of the
|
|
754
|
+
previous command and environment variables will be preserved.
|
|
755
|
+
|
|
756
|
+
extra_headers: Send extra headers
|
|
757
|
+
|
|
758
|
+
extra_query: Add additional query parameters to the request
|
|
759
|
+
|
|
760
|
+
extra_body: Add additional JSON properties to the request
|
|
761
|
+
|
|
762
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
763
|
+
|
|
764
|
+
idempotency_key: Specify a custom idempotency key for this request
|
|
765
|
+
"""
|
|
766
|
+
if not id:
|
|
767
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
768
|
+
if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
|
|
769
|
+
timeout = 600
|
|
770
|
+
return self._post(
|
|
771
|
+
f"/v1/devboxes/{id}/execute",
|
|
772
|
+
body=maybe_transform(
|
|
773
|
+
{
|
|
774
|
+
"command": command,
|
|
775
|
+
"command_id": command_id,
|
|
776
|
+
"shell_name": shell_name,
|
|
777
|
+
},
|
|
778
|
+
devbox_execute_params.DevboxExecuteParams,
|
|
779
|
+
),
|
|
780
|
+
options=make_request_options(
|
|
781
|
+
extra_headers=extra_headers,
|
|
782
|
+
extra_query=extra_query,
|
|
783
|
+
extra_body=extra_body,
|
|
784
|
+
timeout=timeout,
|
|
785
|
+
idempotency_key=idempotency_key,
|
|
786
|
+
),
|
|
787
|
+
cast_to=DevboxAsyncExecutionDetailView,
|
|
788
|
+
)
|
|
789
|
+
|
|
722
790
|
def execute_async(
|
|
723
791
|
self,
|
|
724
792
|
id: str,
|
|
@@ -1340,6 +1408,66 @@ class DevboxesResource(SyncAPIResource):
|
|
|
1340
1408
|
cast_to=object,
|
|
1341
1409
|
)
|
|
1342
1410
|
|
|
1411
|
+
def wait_for_command(
|
|
1412
|
+
self,
|
|
1413
|
+
execution_id: str,
|
|
1414
|
+
*,
|
|
1415
|
+
devbox_id: str,
|
|
1416
|
+
statuses: List[Literal["queued", "running", "completed"]],
|
|
1417
|
+
timeout_seconds: Optional[int] | NotGiven = NOT_GIVEN,
|
|
1418
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1419
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1420
|
+
extra_headers: Headers | None = None,
|
|
1421
|
+
extra_query: Query | None = None,
|
|
1422
|
+
extra_body: Body | None = None,
|
|
1423
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
1424
|
+
idempotency_key: str | None = None,
|
|
1425
|
+
) -> DevboxAsyncExecutionDetailView:
|
|
1426
|
+
"""
|
|
1427
|
+
Polls the asynchronous execution's status until it reaches one of the desired
|
|
1428
|
+
statuses or times out. Defaults to 60 seconds.
|
|
1429
|
+
|
|
1430
|
+
Args:
|
|
1431
|
+
statuses: The command execution statuses to wait for. At least one status must be
|
|
1432
|
+
provided. The command will be returned as soon as it reaches any of the provided
|
|
1433
|
+
statuses.
|
|
1434
|
+
|
|
1435
|
+
timeout_seconds: (Optional) Timeout in seconds to wait for the status, up to 60 seconds. Defaults
|
|
1436
|
+
to 60 seconds.
|
|
1437
|
+
|
|
1438
|
+
extra_headers: Send extra headers
|
|
1439
|
+
|
|
1440
|
+
extra_query: Add additional query parameters to the request
|
|
1441
|
+
|
|
1442
|
+
extra_body: Add additional JSON properties to the request
|
|
1443
|
+
|
|
1444
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
1445
|
+
|
|
1446
|
+
idempotency_key: Specify a custom idempotency key for this request
|
|
1447
|
+
"""
|
|
1448
|
+
if not devbox_id:
|
|
1449
|
+
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
1450
|
+
if not execution_id:
|
|
1451
|
+
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
1452
|
+
return self._post(
|
|
1453
|
+
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/wait_for_status",
|
|
1454
|
+
body=maybe_transform(
|
|
1455
|
+
{
|
|
1456
|
+
"statuses": statuses,
|
|
1457
|
+
"timeout_seconds": timeout_seconds,
|
|
1458
|
+
},
|
|
1459
|
+
devbox_wait_for_command_params.DevboxWaitForCommandParams,
|
|
1460
|
+
),
|
|
1461
|
+
options=make_request_options(
|
|
1462
|
+
extra_headers=extra_headers,
|
|
1463
|
+
extra_query=extra_query,
|
|
1464
|
+
extra_body=extra_body,
|
|
1465
|
+
timeout=timeout,
|
|
1466
|
+
idempotency_key=idempotency_key,
|
|
1467
|
+
),
|
|
1468
|
+
cast_to=DevboxAsyncExecutionDetailView,
|
|
1469
|
+
)
|
|
1470
|
+
|
|
1343
1471
|
def write_file_contents(
|
|
1344
1472
|
self,
|
|
1345
1473
|
id: str,
|
|
@@ -1981,6 +2109,72 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
1981
2109
|
cast_to=AsyncBinaryAPIResponse,
|
|
1982
2110
|
)
|
|
1983
2111
|
|
|
2112
|
+
async def execute(
|
|
2113
|
+
self,
|
|
2114
|
+
id: str,
|
|
2115
|
+
*,
|
|
2116
|
+
command: str,
|
|
2117
|
+
command_id: str,
|
|
2118
|
+
shell_name: Optional[str] | NotGiven = NOT_GIVEN,
|
|
2119
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2120
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2121
|
+
extra_headers: Headers | None = None,
|
|
2122
|
+
extra_query: Query | None = None,
|
|
2123
|
+
extra_body: Body | None = None,
|
|
2124
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
2125
|
+
idempotency_key: str | None = None,
|
|
2126
|
+
) -> DevboxAsyncExecutionDetailView:
|
|
2127
|
+
"""
|
|
2128
|
+
Execute a command with a known command ID on a devbox, optimistically waiting
|
|
2129
|
+
for it to complete within the specified timeout. If it completes in time, return
|
|
2130
|
+
the result. If not, return a status indicating the command is still running.
|
|
2131
|
+
|
|
2132
|
+
Args:
|
|
2133
|
+
command: The command to execute via the Devbox shell. By default, commands are run from
|
|
2134
|
+
the user home directory unless shell_name is specified. If shell_name is
|
|
2135
|
+
specified the command is run from the directory based on the recent state of the
|
|
2136
|
+
persistent shell.
|
|
2137
|
+
|
|
2138
|
+
command_id: The command ID for idempotency and tracking
|
|
2139
|
+
|
|
2140
|
+
shell_name: The name of the persistent shell to create or use if already created. When using
|
|
2141
|
+
a persistent shell, the command will run from the directory at the end of the
|
|
2142
|
+
previous command and environment variables will be preserved.
|
|
2143
|
+
|
|
2144
|
+
extra_headers: Send extra headers
|
|
2145
|
+
|
|
2146
|
+
extra_query: Add additional query parameters to the request
|
|
2147
|
+
|
|
2148
|
+
extra_body: Add additional JSON properties to the request
|
|
2149
|
+
|
|
2150
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
2151
|
+
|
|
2152
|
+
idempotency_key: Specify a custom idempotency key for this request
|
|
2153
|
+
"""
|
|
2154
|
+
if not id:
|
|
2155
|
+
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
2156
|
+
if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
|
|
2157
|
+
timeout = 600
|
|
2158
|
+
return await self._post(
|
|
2159
|
+
f"/v1/devboxes/{id}/execute",
|
|
2160
|
+
body=await async_maybe_transform(
|
|
2161
|
+
{
|
|
2162
|
+
"command": command,
|
|
2163
|
+
"command_id": command_id,
|
|
2164
|
+
"shell_name": shell_name,
|
|
2165
|
+
},
|
|
2166
|
+
devbox_execute_params.DevboxExecuteParams,
|
|
2167
|
+
),
|
|
2168
|
+
options=make_request_options(
|
|
2169
|
+
extra_headers=extra_headers,
|
|
2170
|
+
extra_query=extra_query,
|
|
2171
|
+
extra_body=extra_body,
|
|
2172
|
+
timeout=timeout,
|
|
2173
|
+
idempotency_key=idempotency_key,
|
|
2174
|
+
),
|
|
2175
|
+
cast_to=DevboxAsyncExecutionDetailView,
|
|
2176
|
+
)
|
|
2177
|
+
|
|
1984
2178
|
async def execute_async(
|
|
1985
2179
|
self,
|
|
1986
2180
|
id: str,
|
|
@@ -2602,6 +2796,66 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2602
2796
|
cast_to=object,
|
|
2603
2797
|
)
|
|
2604
2798
|
|
|
2799
|
+
async def wait_for_command(
|
|
2800
|
+
self,
|
|
2801
|
+
execution_id: str,
|
|
2802
|
+
*,
|
|
2803
|
+
devbox_id: str,
|
|
2804
|
+
statuses: List[Literal["queued", "running", "completed"]],
|
|
2805
|
+
timeout_seconds: Optional[int] | NotGiven = NOT_GIVEN,
|
|
2806
|
+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2807
|
+
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2808
|
+
extra_headers: Headers | None = None,
|
|
2809
|
+
extra_query: Query | None = None,
|
|
2810
|
+
extra_body: Body | None = None,
|
|
2811
|
+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
|
|
2812
|
+
idempotency_key: str | None = None,
|
|
2813
|
+
) -> DevboxAsyncExecutionDetailView:
|
|
2814
|
+
"""
|
|
2815
|
+
Polls the asynchronous execution's status until it reaches one of the desired
|
|
2816
|
+
statuses or times out. Defaults to 60 seconds.
|
|
2817
|
+
|
|
2818
|
+
Args:
|
|
2819
|
+
statuses: The command execution statuses to wait for. At least one status must be
|
|
2820
|
+
provided. The command will be returned as soon as it reaches any of the provided
|
|
2821
|
+
statuses.
|
|
2822
|
+
|
|
2823
|
+
timeout_seconds: (Optional) Timeout in seconds to wait for the status, up to 60 seconds. Defaults
|
|
2824
|
+
to 60 seconds.
|
|
2825
|
+
|
|
2826
|
+
extra_headers: Send extra headers
|
|
2827
|
+
|
|
2828
|
+
extra_query: Add additional query parameters to the request
|
|
2829
|
+
|
|
2830
|
+
extra_body: Add additional JSON properties to the request
|
|
2831
|
+
|
|
2832
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
2833
|
+
|
|
2834
|
+
idempotency_key: Specify a custom idempotency key for this request
|
|
2835
|
+
"""
|
|
2836
|
+
if not devbox_id:
|
|
2837
|
+
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
2838
|
+
if not execution_id:
|
|
2839
|
+
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
2840
|
+
return await self._post(
|
|
2841
|
+
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/wait_for_status",
|
|
2842
|
+
body=await async_maybe_transform(
|
|
2843
|
+
{
|
|
2844
|
+
"statuses": statuses,
|
|
2845
|
+
"timeout_seconds": timeout_seconds,
|
|
2846
|
+
},
|
|
2847
|
+
devbox_wait_for_command_params.DevboxWaitForCommandParams,
|
|
2848
|
+
),
|
|
2849
|
+
options=make_request_options(
|
|
2850
|
+
extra_headers=extra_headers,
|
|
2851
|
+
extra_query=extra_query,
|
|
2852
|
+
extra_body=extra_body,
|
|
2853
|
+
timeout=timeout,
|
|
2854
|
+
idempotency_key=idempotency_key,
|
|
2855
|
+
),
|
|
2856
|
+
cast_to=DevboxAsyncExecutionDetailView,
|
|
2857
|
+
)
|
|
2858
|
+
|
|
2605
2859
|
async def write_file_contents(
|
|
2606
2860
|
self,
|
|
2607
2861
|
id: str,
|
|
@@ -2690,6 +2944,9 @@ class DevboxesResourceWithRawResponse:
|
|
|
2690
2944
|
devboxes.download_file,
|
|
2691
2945
|
BinaryAPIResponse,
|
|
2692
2946
|
)
|
|
2947
|
+
self.execute = to_raw_response_wrapper(
|
|
2948
|
+
devboxes.execute,
|
|
2949
|
+
)
|
|
2693
2950
|
self.execute_async = to_raw_response_wrapper(
|
|
2694
2951
|
devboxes.execute_async,
|
|
2695
2952
|
)
|
|
@@ -2726,6 +2983,9 @@ class DevboxesResourceWithRawResponse:
|
|
|
2726
2983
|
self.upload_file = to_raw_response_wrapper(
|
|
2727
2984
|
devboxes.upload_file,
|
|
2728
2985
|
)
|
|
2986
|
+
self.wait_for_command = to_raw_response_wrapper(
|
|
2987
|
+
devboxes.wait_for_command,
|
|
2988
|
+
)
|
|
2729
2989
|
self.write_file_contents = to_raw_response_wrapper(
|
|
2730
2990
|
devboxes.write_file_contents,
|
|
2731
2991
|
)
|
|
@@ -2784,6 +3044,9 @@ class AsyncDevboxesResourceWithRawResponse:
|
|
|
2784
3044
|
devboxes.download_file,
|
|
2785
3045
|
AsyncBinaryAPIResponse,
|
|
2786
3046
|
)
|
|
3047
|
+
self.execute = async_to_raw_response_wrapper(
|
|
3048
|
+
devboxes.execute,
|
|
3049
|
+
)
|
|
2787
3050
|
self.execute_async = async_to_raw_response_wrapper(
|
|
2788
3051
|
devboxes.execute_async,
|
|
2789
3052
|
)
|
|
@@ -2820,6 +3083,9 @@ class AsyncDevboxesResourceWithRawResponse:
|
|
|
2820
3083
|
self.upload_file = async_to_raw_response_wrapper(
|
|
2821
3084
|
devboxes.upload_file,
|
|
2822
3085
|
)
|
|
3086
|
+
self.wait_for_command = async_to_raw_response_wrapper(
|
|
3087
|
+
devboxes.wait_for_command,
|
|
3088
|
+
)
|
|
2823
3089
|
self.write_file_contents = async_to_raw_response_wrapper(
|
|
2824
3090
|
devboxes.write_file_contents,
|
|
2825
3091
|
)
|
|
@@ -2878,6 +3144,9 @@ class DevboxesResourceWithStreamingResponse:
|
|
|
2878
3144
|
devboxes.download_file,
|
|
2879
3145
|
StreamedBinaryAPIResponse,
|
|
2880
3146
|
)
|
|
3147
|
+
self.execute = to_streamed_response_wrapper(
|
|
3148
|
+
devboxes.execute,
|
|
3149
|
+
)
|
|
2881
3150
|
self.execute_async = to_streamed_response_wrapper(
|
|
2882
3151
|
devboxes.execute_async,
|
|
2883
3152
|
)
|
|
@@ -2914,6 +3183,9 @@ class DevboxesResourceWithStreamingResponse:
|
|
|
2914
3183
|
self.upload_file = to_streamed_response_wrapper(
|
|
2915
3184
|
devboxes.upload_file,
|
|
2916
3185
|
)
|
|
3186
|
+
self.wait_for_command = to_streamed_response_wrapper(
|
|
3187
|
+
devboxes.wait_for_command,
|
|
3188
|
+
)
|
|
2917
3189
|
self.write_file_contents = to_streamed_response_wrapper(
|
|
2918
3190
|
devboxes.write_file_contents,
|
|
2919
3191
|
)
|
|
@@ -2972,6 +3244,9 @@ class AsyncDevboxesResourceWithStreamingResponse:
|
|
|
2972
3244
|
devboxes.download_file,
|
|
2973
3245
|
AsyncStreamedBinaryAPIResponse,
|
|
2974
3246
|
)
|
|
3247
|
+
self.execute = async_to_streamed_response_wrapper(
|
|
3248
|
+
devboxes.execute,
|
|
3249
|
+
)
|
|
2975
3250
|
self.execute_async = async_to_streamed_response_wrapper(
|
|
2976
3251
|
devboxes.execute_async,
|
|
2977
3252
|
)
|
|
@@ -3008,6 +3283,9 @@ class AsyncDevboxesResourceWithStreamingResponse:
|
|
|
3008
3283
|
self.upload_file = async_to_streamed_response_wrapper(
|
|
3009
3284
|
devboxes.upload_file,
|
|
3010
3285
|
)
|
|
3286
|
+
self.wait_for_command = async_to_streamed_response_wrapper(
|
|
3287
|
+
devboxes.wait_for_command,
|
|
3288
|
+
)
|
|
3011
3289
|
self.write_file_contents = async_to_streamed_response_wrapper(
|
|
3012
3290
|
devboxes.write_file_contents,
|
|
3013
3291
|
)
|
|
@@ -335,7 +335,7 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
335
335
|
execution_id: str,
|
|
336
336
|
*,
|
|
337
337
|
devbox_id: str,
|
|
338
|
-
offset: str | NotGiven =
|
|
338
|
+
offset: str | NotGiven = '0',
|
|
339
339
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
340
340
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
341
341
|
extra_headers: Headers | None = None,
|
|
@@ -361,11 +361,15 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
361
361
|
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
362
362
|
if not execution_id:
|
|
363
363
|
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
364
|
-
|
|
364
|
+
|
|
365
|
+
default_headers: Headers = {'Accept': 'text/event-stream'}
|
|
366
|
+
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
|
|
367
|
+
|
|
368
|
+
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
|
|
365
369
|
return self._get(
|
|
366
370
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
|
|
367
371
|
options=make_request_options(
|
|
368
|
-
extra_headers=
|
|
372
|
+
extra_headers=merged_headers,
|
|
369
373
|
extra_query=extra_query,
|
|
370
374
|
extra_body=extra_body,
|
|
371
375
|
timeout=timeout,
|
|
@@ -383,7 +387,7 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
383
387
|
return self._get(
|
|
384
388
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
|
|
385
389
|
options=make_request_options(
|
|
386
|
-
extra_headers=
|
|
390
|
+
extra_headers=merged_headers,
|
|
387
391
|
extra_query=extra_query,
|
|
388
392
|
extra_body=extra_body,
|
|
389
393
|
timeout=timeout,
|
|
@@ -415,7 +419,7 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
415
419
|
execution_id: str,
|
|
416
420
|
*,
|
|
417
421
|
devbox_id: str,
|
|
418
|
-
offset: str | NotGiven =
|
|
422
|
+
offset: str | NotGiven = '0',
|
|
419
423
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
420
424
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
421
425
|
extra_headers: Headers | None = None,
|
|
@@ -441,11 +445,15 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
441
445
|
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
442
446
|
if not execution_id:
|
|
443
447
|
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
444
|
-
|
|
448
|
+
|
|
449
|
+
default_headers: Headers = {'Accept': 'text/event-stream'}
|
|
450
|
+
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
|
|
451
|
+
|
|
452
|
+
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
|
|
445
453
|
return self._get(
|
|
446
454
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates",
|
|
447
455
|
options=make_request_options(
|
|
448
|
-
extra_headers=
|
|
456
|
+
extra_headers=merged_headers,
|
|
449
457
|
extra_query=extra_query,
|
|
450
458
|
extra_body=extra_body,
|
|
451
459
|
timeout=timeout,
|
|
@@ -463,7 +471,7 @@ class ExecutionsResource(SyncAPIResource):
|
|
|
463
471
|
return self._get(
|
|
464
472
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates",
|
|
465
473
|
options=make_request_options(
|
|
466
|
-
extra_headers=
|
|
474
|
+
extra_headers=merged_headers,
|
|
467
475
|
extra_query=extra_query,
|
|
468
476
|
extra_body=extra_body,
|
|
469
477
|
timeout=timeout,
|
|
@@ -779,7 +787,7 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
779
787
|
execution_id: str,
|
|
780
788
|
*,
|
|
781
789
|
devbox_id: str,
|
|
782
|
-
offset: str | NotGiven =
|
|
790
|
+
offset: str | NotGiven = '0',
|
|
783
791
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
784
792
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
785
793
|
extra_headers: Headers | None = None,
|
|
@@ -805,11 +813,15 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
805
813
|
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
806
814
|
if not execution_id:
|
|
807
815
|
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
808
|
-
|
|
816
|
+
|
|
817
|
+
default_headers: Headers = {'Accept': 'text/event-stream'}
|
|
818
|
+
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
|
|
819
|
+
|
|
820
|
+
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
|
|
809
821
|
return await self._get(
|
|
810
822
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
|
|
811
823
|
options=make_request_options(
|
|
812
|
-
extra_headers=
|
|
824
|
+
extra_headers=merged_headers,
|
|
813
825
|
extra_query=extra_query,
|
|
814
826
|
extra_body=extra_body,
|
|
815
827
|
timeout=timeout,
|
|
@@ -827,7 +839,7 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
827
839
|
return await self._get(
|
|
828
840
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates",
|
|
829
841
|
options=make_request_options(
|
|
830
|
-
extra_headers=
|
|
842
|
+
extra_headers=merged_headers,
|
|
831
843
|
extra_query=extra_query,
|
|
832
844
|
extra_body=extra_body,
|
|
833
845
|
timeout=timeout,
|
|
@@ -859,7 +871,7 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
859
871
|
execution_id: str,
|
|
860
872
|
*,
|
|
861
873
|
devbox_id: str,
|
|
862
|
-
offset: str | NotGiven =
|
|
874
|
+
offset: str | NotGiven = '0',
|
|
863
875
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
864
876
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
865
877
|
extra_headers: Headers | None = None,
|
|
@@ -885,12 +897,17 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
885
897
|
raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
|
|
886
898
|
if not execution_id:
|
|
887
899
|
raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
|
|
900
|
+
|
|
901
|
+
default_headers: Headers = {'Accept': 'text/event-stream'}
|
|
902
|
+
merged_headers = default_headers if extra_headers is None else {**default_headers, **extra_headers}
|
|
903
|
+
|
|
904
|
+
|
|
888
905
|
# If caller requested a raw or streaming response wrapper, return the underlying stream as-is
|
|
889
|
-
if
|
|
906
|
+
if merged_headers and merged_headers.get(RAW_RESPONSE_HEADER):
|
|
890
907
|
return await self._get(
|
|
891
908
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates",
|
|
892
909
|
options=make_request_options(
|
|
893
|
-
extra_headers=
|
|
910
|
+
extra_headers=merged_headers,
|
|
894
911
|
extra_query=extra_query,
|
|
895
912
|
extra_body=extra_body,
|
|
896
913
|
timeout=timeout,
|
|
@@ -908,7 +925,7 @@ class AsyncExecutionsResource(AsyncAPIResource):
|
|
|
908
925
|
return await self._get(
|
|
909
926
|
f"/v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates",
|
|
910
927
|
options=make_request_options(
|
|
911
|
-
extra_headers=
|
|
928
|
+
extra_headers=merged_headers,
|
|
912
929
|
extra_query=extra_query,
|
|
913
930
|
extra_body=extra_body,
|
|
914
931
|
timeout=timeout,
|
{runloop_api_client-0.59.0 → runloop_api_client-0.60.0}/src/runloop_api_client/types/__init__.py
RENAMED
|
@@ -41,6 +41,7 @@ from .secret_create_params import SecretCreateParams as SecretCreateParams
|
|
|
41
41
|
from .secret_update_params import SecretUpdateParams as SecretUpdateParams
|
|
42
42
|
from .benchmark_list_params import BenchmarkListParams as BenchmarkListParams
|
|
43
43
|
from .blueprint_list_params import BlueprintListParams as BlueprintListParams
|
|
44
|
+
from .devbox_execute_params import DevboxExecuteParams as DevboxExecuteParams
|
|
44
45
|
from .blueprint_preview_view import BlueprintPreviewView as BlueprintPreviewView
|
|
45
46
|
from .object_download_params import ObjectDownloadParams as ObjectDownloadParams
|
|
46
47
|
from .repository_list_params import RepositoryListParams as RepositoryListParams
|
|
@@ -85,6 +86,7 @@ from .scenario_definition_list_view import ScenarioDefinitionListView as Scenari
|
|
|
85
86
|
from .scoring_contract_update_param import ScoringContractUpdateParam as ScoringContractUpdateParam
|
|
86
87
|
from .blueprint_build_logs_list_view import BlueprintBuildLogsListView as BlueprintBuildLogsListView
|
|
87
88
|
from .devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse as DevboxCreateSSHKeyResponse
|
|
89
|
+
from .devbox_wait_for_command_params import DevboxWaitForCommandParams as DevboxWaitForCommandParams
|
|
88
90
|
from .repository_connection_list_view import RepositoryConnectionListView as RepositoryConnectionListView
|
|
89
91
|
from .repository_inspection_list_view import RepositoryInspectionListView as RepositoryInspectionListView
|
|
90
92
|
from .devbox_read_file_contents_params import DevboxReadFileContentsParams as DevboxReadFileContentsParams
|