runloop_api_client 1.7.0__tar.gz → 1.9.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-1.9.0/.release-please-manifest.json +3 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/CHANGELOG.md +45 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/CONTRIBUTING.md +1 -2
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/PKG-INFO +1 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/api.md +2 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/pyproject.toml +1 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/requirements-dev.lock +9 -24
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_response.py +3 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_streaming.py +7 -2
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_compat.py +1 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/devboxes.py +39 -8
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/network_policies.py +36 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/scenarios/scenarios.py +112 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/_types.py +4 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_scorer.py +0 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/scorer.py +0 -1
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/__init__.py +1 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/agent_list_view.py +11 -5
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_job_list_view.py +3 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_run_list_view.py +4 -4
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_list_view.py +3 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_create_params.py +6 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +6 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_list_view.py +3 -3
- runloop_api_client-1.9.0/src/runloop_api_client/types/devbox_shutdown_params.py +12 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +4 -4
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_snapshot_view.py +3 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/gateway_config_list_view.py +6 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/mcp_config_list_view.py +6 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/network_policy_create_params.py +12 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/network_policy_list_view.py +6 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/network_policy_update_params.py +6 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/network_policy_view.py +9 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_list_view.py +11 -5
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_connection_list_view.py +4 -4
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_create_params.py +3 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_definition_list_view.py +4 -4
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_run_list_view.py +4 -4
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_update_params.py +3 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_view.py +9 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/secret_list_view.py +12 -6
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/tunnel_view.py +6 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_devboxes.py +34 -10
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_network_policies.py +8 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_scenarios.py +80 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_client.py +16 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/uv.lock +514 -422
- runloop_api_client-1.7.0/.release-please-manifest.json +0 -3
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/.gitignore +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/LICENSE +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/README-SDK.md +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/README.md +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/SECURITY.md +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/bin/check-release-environment +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/bin/publish-pypi +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/examples/.keep +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/release-please-config.json +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_json.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/_utils/_validation.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/_ignore.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/context_loader.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/agents.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/devbox.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/execution.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/sdk/sync.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/agent_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/object_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_agents.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_benchmark_runs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_gateway_configs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_mcp_configs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/test_core.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/test_core.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/devbox/test_streaming.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_benchmark_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_execution.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_execution_result.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_ops.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_scenario_builder.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_scenario_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_benchmark_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_execution.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_execution_result.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_helpers.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_ops.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_scenario_builder.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_scenario_run.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/README.md +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/README.md +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/__init__.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/conftest.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_devbox.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_sdk.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/test_blueprints.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/test_devboxes.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/test_executions.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/test_snapshots.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/smoketests/utils.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_files.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_models.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_polling.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_qs.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_response.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_transform.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_utils/test_context_loader.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_utils/test_json.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-1.7.0 → runloop_api_client-1.9.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,50 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.0 (2026-02-25)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.8.0...v1.9.0](https://github.com/runloopai/api-client-python/compare/v1.8.0...v1.9.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add AI gateway and MCP gateway flags to network policy create ([#7638](https://github.com/runloopai/api-client-python/issues/7638)) ([85f2146](https://github.com/runloopai/api-client-python/commit/85f2146d2f25085d19d5bf34096066b0ba18cb5d))
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Chores
|
|
13
|
+
|
|
14
|
+
* Add archive method to stainless ([#7537](https://github.com/runloopai/api-client-python/issues/7537)) ([836f18d](https://github.com/runloopai/api-client-python/commit/836f18d52c20b4b43f9135a52571f8c7e87a0477))
|
|
15
|
+
* **benchmarks:** removed scorer ([#740](https://github.com/runloopai/api-client-python/issues/740)) ([1033264](https://github.com/runloopai/api-client-python/commit/1033264b0ed34cc47e2e16cac3ae5986f2a4e381))
|
|
16
|
+
* format all `api.md` files ([ee5d577](https://github.com/runloopai/api-client-python/commit/ee5d5773d408ac8e61101fd0187ec071709bebab))
|
|
17
|
+
* **internal:** add request options to SSE classes ([e636aca](https://github.com/runloopai/api-client-python/commit/e636aca4eedb81b35d80bd6f5229cc71153ec545))
|
|
18
|
+
* **internal:** make `test_proxy_environment_variables` more resilient ([564cd57](https://github.com/runloopai/api-client-python/commit/564cd5730fbf94b7014390ee71d7595cb7d6e71a))
|
|
19
|
+
* **internal:** make `test_proxy_environment_variables` more resilient to env ([21d4ce8](https://github.com/runloopai/api-client-python/commit/21d4ce865094d9272841871eefde3cf15c183d19))
|
|
20
|
+
* **scenarios:** make scenario status enum instead of string ([#7552](https://github.com/runloopai/api-client-python/issues/7552)) ([e6e5208](https://github.com/runloopai/api-client-python/commit/e6e5208c19360f24f10b3c0da84119f7eb356bb1))
|
|
21
|
+
* update mock server docs ([273fb5e](https://github.com/runloopai/api-client-python/commit/273fb5ec761bcc5948571d9757780d86b6f0f50d))
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
### Refactors
|
|
25
|
+
|
|
26
|
+
* deprecate and make Nullable total_count and remaining_count of ListViews ([#7533](https://github.com/runloopai/api-client-python/issues/7533)) ([8b16ebe](https://github.com/runloopai/api-client-python/commit/8b16ebe7aba9f96592f03ed2844211209b35d9e6))
|
|
27
|
+
|
|
28
|
+
## 1.8.0 (2026-02-12)
|
|
29
|
+
|
|
30
|
+
Full Changelog: [v1.7.0...v1.8.0](https://github.com/runloopai/api-client-python/compare/v1.7.0...v1.8.0)
|
|
31
|
+
|
|
32
|
+
### Features
|
|
33
|
+
|
|
34
|
+
* **benchmarks:** scenario scoring timeout ([#7300](https://github.com/runloopai/api-client-python/issues/7300)) ([6615183](https://github.com/runloopai/api-client-python/commit/661518379a6d197127014932c0a015757e77aa0d))
|
|
35
|
+
* **devbox:** expose snapshot size (in bytes) ([#7444](https://github.com/runloopai/api-client-python/issues/7444)) ([b25c3f7](https://github.com/runloopai/api-client-python/commit/b25c3f772c62465cf6bb7fa34e7bc57c601eeb28))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
### Bug Fixes
|
|
39
|
+
|
|
40
|
+
* remove duplicate operationId createDevboxTunnel in openapi ([#7397](https://github.com/runloopai/api-client-python/issues/7397)) ([bb2cd8f](https://github.com/runloopai/api-client-python/commit/bb2cd8f4248cc763966a66372e62c1d90e2aa626))
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
### Chores
|
|
44
|
+
|
|
45
|
+
* **internal:** bump dependencies ([94e6c44](https://github.com/runloopai/api-client-python/commit/94e6c44f2b398fc498ae96c5b3e8e62da2b8bdf9))
|
|
46
|
+
* **internal:** fix lint error on Python 3.14 ([37ab1b7](https://github.com/runloopai/api-client-python/commit/37ab1b7dbe3b852e9062d6a547510c8d38ee2c35))
|
|
47
|
+
|
|
3
48
|
## 1.7.0 (2026-02-05)
|
|
4
49
|
|
|
5
50
|
Full Changelog: [v1.5.1...v1.7.0](https://github.com/runloopai/api-client-python/compare/v1.5.1...v1.7.0)
|
|
@@ -88,8 +88,7 @@ $ pip install ./path-to-wheel-file.whl
|
|
|
88
88
|
Most tests require you to [set up a mock server](https://github.com/stoplightio/prism) against the OpenAPI spec to run the tests.
|
|
89
89
|
|
|
90
90
|
```sh
|
|
91
|
-
|
|
92
|
-
npx prism mock path/to/your/openapi.yml
|
|
91
|
+
$ ./scripts/mock
|
|
93
92
|
```
|
|
94
93
|
|
|
95
94
|
```sh
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.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
|
|
@@ -160,7 +160,7 @@ Methods:
|
|
|
160
160
|
- <code title="post /v1/devboxes/{id}/remove_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">remove_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_remove_tunnel_params.py">params</a>) -> object</code>
|
|
161
161
|
- <code title="post /v1/devboxes/{id}/resume">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">resume</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
162
162
|
- <code title="get /v1/devboxes/{id}/usage">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve_resource_usage</a>(id) -> <a href="./src/runloop_api_client/types/devbox_resource_usage_view.py">DevboxResourceUsageView</a></code>
|
|
163
|
-
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">shutdown</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
163
|
+
- <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">shutdown</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_shutdown_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
|
|
164
164
|
- <code title="post /v1/devboxes/{id}/snapshot_disk">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
|
|
165
165
|
- <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>
|
|
166
166
|
- <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>
|
|
@@ -277,6 +277,7 @@ Methods:
|
|
|
277
277
|
- <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
278
278
|
- <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
279
279
|
- <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
280
|
+
- <code title="post /v1/scenarios/{id}/archive">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">archive</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
|
|
280
281
|
- <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
|
|
281
282
|
- <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
|
|
282
283
|
|
|
@@ -3,22 +3,18 @@
|
|
|
3
3
|
-e .
|
|
4
4
|
annotated-types==0.7.0
|
|
5
5
|
# via pydantic
|
|
6
|
-
anyio==4.12.
|
|
6
|
+
anyio==4.12.1
|
|
7
7
|
# via
|
|
8
8
|
# httpx
|
|
9
9
|
# runloop-api-client
|
|
10
10
|
backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
|
|
11
11
|
# via pytest-asyncio
|
|
12
|
-
certifi==
|
|
12
|
+
certifi==2026.1.4
|
|
13
13
|
# via
|
|
14
14
|
# httpcore
|
|
15
15
|
# httpx
|
|
16
16
|
colorama==0.4.6 ; sys_platform == 'win32'
|
|
17
17
|
# via pytest
|
|
18
|
-
coverage==7.10.7 ; python_full_version < '3.10'
|
|
19
|
-
# via pytest-cov
|
|
20
|
-
coverage==7.13.0 ; python_full_version >= '3.10'
|
|
21
|
-
# via pytest-cov
|
|
22
18
|
dirty-equals==0.11
|
|
23
19
|
distro==1.9.0
|
|
24
20
|
# via runloop-api-client
|
|
@@ -40,7 +36,7 @@ idna==3.11
|
|
|
40
36
|
# via
|
|
41
37
|
# anyio
|
|
42
38
|
# httpx
|
|
43
|
-
importlib-metadata==8.7.
|
|
39
|
+
importlib-metadata==8.7.1
|
|
44
40
|
iniconfig==2.1.0 ; python_full_version < '3.10'
|
|
45
41
|
# via pytest
|
|
46
42
|
iniconfig==2.3.0 ; python_full_version >= '3.10'
|
|
@@ -54,16 +50,14 @@ mdurl==0.1.2
|
|
|
54
50
|
mypy==1.17.0
|
|
55
51
|
mypy-extensions==1.1.0
|
|
56
52
|
# via mypy
|
|
57
|
-
nodeenv==1.
|
|
53
|
+
nodeenv==1.10.0
|
|
58
54
|
# via pyright
|
|
59
55
|
packaging==25.0
|
|
60
56
|
# via pytest
|
|
61
|
-
pathspec==0.
|
|
57
|
+
pathspec==1.0.3
|
|
62
58
|
# via mypy
|
|
63
59
|
pluggy==1.6.0
|
|
64
|
-
# via
|
|
65
|
-
# pytest
|
|
66
|
-
# pytest-cov
|
|
60
|
+
# via pytest
|
|
67
61
|
pydantic==2.12.5
|
|
68
62
|
# via runloop-api-client
|
|
69
63
|
pydantic-core==2.41.5
|
|
@@ -76,34 +70,27 @@ pyright==1.1.399
|
|
|
76
70
|
pytest==8.4.2 ; python_full_version < '3.10'
|
|
77
71
|
# via
|
|
78
72
|
# pytest-asyncio
|
|
79
|
-
# pytest-cov
|
|
80
|
-
# pytest-timeout
|
|
81
73
|
# pytest-xdist
|
|
82
74
|
pytest==9.0.2 ; python_full_version >= '3.10'
|
|
83
75
|
# via
|
|
84
76
|
# pytest-asyncio
|
|
85
|
-
# pytest-cov
|
|
86
|
-
# pytest-timeout
|
|
87
77
|
# pytest-xdist
|
|
88
78
|
pytest-asyncio==1.2.0 ; python_full_version < '3.10'
|
|
89
79
|
pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
|
|
90
|
-
pytest-cov==7.0.0
|
|
91
|
-
pytest-timeout==2.4.0
|
|
92
80
|
pytest-xdist==3.8.0
|
|
93
81
|
python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
|
|
94
82
|
# via time-machine
|
|
95
83
|
respx==0.22.0
|
|
96
84
|
rich==14.2.0
|
|
97
|
-
ruff==0.14.
|
|
85
|
+
ruff==0.14.13
|
|
98
86
|
six==1.17.0 ; python_full_version < '3.10'
|
|
99
87
|
# via python-dateutil
|
|
100
88
|
sniffio==1.3.1
|
|
101
89
|
# via runloop-api-client
|
|
102
90
|
time-machine==2.19.0 ; python_full_version < '3.10'
|
|
103
|
-
time-machine==3.
|
|
104
|
-
tomli==2.
|
|
91
|
+
time-machine==3.2.0 ; python_full_version >= '3.10'
|
|
92
|
+
tomli==2.4.0 ; python_full_version < '3.11'
|
|
105
93
|
# via
|
|
106
|
-
# coverage
|
|
107
94
|
# mypy
|
|
108
95
|
# pytest
|
|
109
96
|
typing-extensions==4.15.0
|
|
@@ -119,7 +106,5 @@ typing-extensions==4.15.0
|
|
|
119
106
|
# typing-inspection
|
|
120
107
|
typing-inspection==0.4.2
|
|
121
108
|
# via pydantic
|
|
122
|
-
uuid-utils==0.12.0
|
|
123
|
-
# via runloop-api-client
|
|
124
109
|
zipp==3.23.0
|
|
125
110
|
# via importlib-metadata
|
|
@@ -152,6 +152,7 @@ class BaseAPIResponse(Generic[R]):
|
|
|
152
152
|
),
|
|
153
153
|
response=self.http_response,
|
|
154
154
|
client=cast(Any, self._client),
|
|
155
|
+
options=self._options,
|
|
155
156
|
),
|
|
156
157
|
)
|
|
157
158
|
|
|
@@ -162,6 +163,7 @@ class BaseAPIResponse(Generic[R]):
|
|
|
162
163
|
cast_to=extract_stream_chunk_type(self._stream_cls),
|
|
163
164
|
response=self.http_response,
|
|
164
165
|
client=cast(Any, self._client),
|
|
166
|
+
options=self._options,
|
|
165
167
|
),
|
|
166
168
|
)
|
|
167
169
|
|
|
@@ -175,6 +177,7 @@ class BaseAPIResponse(Generic[R]):
|
|
|
175
177
|
cast_to=cast_to,
|
|
176
178
|
response=self.http_response,
|
|
177
179
|
client=cast(Any, self._client),
|
|
180
|
+
options=self._options,
|
|
178
181
|
),
|
|
179
182
|
)
|
|
180
183
|
|
|
@@ -32,6 +32,7 @@ from ._exceptions import APIStatusError, APITimeoutError
|
|
|
32
32
|
|
|
33
33
|
if TYPE_CHECKING:
|
|
34
34
|
from ._client import Runloop, AsyncRunloop
|
|
35
|
+
from ._models import FinalRequestOptions
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
_T = TypeVar("_T")
|
|
@@ -41,7 +42,7 @@ class Stream(Generic[_T]):
|
|
|
41
42
|
"""Provides the core interface to iterate over a synchronous stream response."""
|
|
42
43
|
|
|
43
44
|
response: httpx.Response
|
|
44
|
-
|
|
45
|
+
_options: Optional[FinalRequestOptions] = None
|
|
45
46
|
_decoder: SSEBytesDecoder
|
|
46
47
|
|
|
47
48
|
def __init__(
|
|
@@ -50,10 +51,12 @@ class Stream(Generic[_T]):
|
|
|
50
51
|
cast_to: type[_T],
|
|
51
52
|
response: httpx.Response,
|
|
52
53
|
client: Runloop,
|
|
54
|
+
options: Optional[FinalRequestOptions] = None,
|
|
53
55
|
) -> None:
|
|
54
56
|
self.response = response
|
|
55
57
|
self._cast_to = cast_to
|
|
56
58
|
self._client = client
|
|
59
|
+
self._options = options
|
|
57
60
|
self._decoder = client._make_sse_decoder()
|
|
58
61
|
self._iterator = self.__stream__()
|
|
59
62
|
|
|
@@ -114,7 +117,7 @@ class AsyncStream(Generic[_T]):
|
|
|
114
117
|
"""Provides the core interface to iterate over an asynchronous stream response."""
|
|
115
118
|
|
|
116
119
|
response: httpx.Response
|
|
117
|
-
|
|
120
|
+
_options: Optional[FinalRequestOptions] = None
|
|
118
121
|
_decoder: SSEDecoder | SSEBytesDecoder
|
|
119
122
|
|
|
120
123
|
def __init__(
|
|
@@ -123,10 +126,12 @@ class AsyncStream(Generic[_T]):
|
|
|
123
126
|
cast_to: type[_T],
|
|
124
127
|
response: httpx.Response,
|
|
125
128
|
client: AsyncRunloop,
|
|
129
|
+
options: Optional[FinalRequestOptions] = None,
|
|
126
130
|
) -> None:
|
|
127
131
|
self.response = response
|
|
128
132
|
self._cast_to = cast_to
|
|
129
133
|
self._client = client
|
|
134
|
+
self._options = options
|
|
130
135
|
self._decoder = client._make_sse_decoder()
|
|
131
136
|
self._iterator = self.__stream__()
|
|
132
137
|
|
|
@@ -24,6 +24,7 @@ from ...types import (
|
|
|
24
24
|
devbox_create_params,
|
|
25
25
|
devbox_update_params,
|
|
26
26
|
devbox_execute_params,
|
|
27
|
+
devbox_shutdown_params,
|
|
27
28
|
devbox_upload_file_params,
|
|
28
29
|
devbox_execute_sync_params,
|
|
29
30
|
devbox_create_tunnel_params,
|
|
@@ -806,6 +807,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
806
807
|
id: str,
|
|
807
808
|
*,
|
|
808
809
|
auth_mode: Optional[Literal["open", "authenticated"]] | Omit = omit,
|
|
810
|
+
http_keep_alive: Optional[bool] | Omit = omit,
|
|
809
811
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
810
812
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
811
813
|
extra_headers: Headers | None = None,
|
|
@@ -814,17 +816,20 @@ class DevboxesResource(SyncAPIResource):
|
|
|
814
816
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
815
817
|
idempotency_key: str | None = None,
|
|
816
818
|
) -> TunnelView:
|
|
817
|
-
"""
|
|
819
|
+
"""Enable a V2 tunnel for an existing running Devbox.
|
|
818
820
|
|
|
819
821
|
Tunnels provide encrypted
|
|
820
822
|
URL-based access to the Devbox without exposing internal IDs. The tunnel URL
|
|
821
|
-
format is: https
|
|
823
|
+
format is: https://{port}-{tunnel_key}.tunnel.runloop.ai
|
|
822
824
|
|
|
823
825
|
Each Devbox can have one tunnel.
|
|
824
826
|
|
|
825
827
|
Args:
|
|
826
828
|
auth_mode: Authentication mode for the tunnel. Defaults to 'public' if not specified.
|
|
827
829
|
|
|
830
|
+
http_keep_alive: When true, HTTP traffic through the tunnel counts as activity for idle lifecycle
|
|
831
|
+
policies, resetting the idle timer. Defaults to true if not specified.
|
|
832
|
+
|
|
828
833
|
extra_headers: Send extra headers
|
|
829
834
|
|
|
830
835
|
extra_query: Add additional query parameters to the request
|
|
@@ -839,7 +844,13 @@ class DevboxesResource(SyncAPIResource):
|
|
|
839
844
|
raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
|
|
840
845
|
return self._post(
|
|
841
846
|
f"/v1/devboxes/{id}/enable_tunnel",
|
|
842
|
-
body=maybe_transform(
|
|
847
|
+
body=maybe_transform(
|
|
848
|
+
{
|
|
849
|
+
"auth_mode": auth_mode,
|
|
850
|
+
"http_keep_alive": http_keep_alive,
|
|
851
|
+
},
|
|
852
|
+
devbox_enable_tunnel_params.DevboxEnableTunnelParams,
|
|
853
|
+
),
|
|
843
854
|
options=make_request_options(
|
|
844
855
|
extra_headers=extra_headers,
|
|
845
856
|
extra_query=extra_query,
|
|
@@ -1415,6 +1426,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
1415
1426
|
self,
|
|
1416
1427
|
id: str,
|
|
1417
1428
|
*,
|
|
1429
|
+
force: str | Omit = omit,
|
|
1418
1430
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
1419
1431
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
1420
1432
|
extra_headers: Headers | None = None,
|
|
@@ -1427,9 +1439,13 @@ class DevboxesResource(SyncAPIResource):
|
|
|
1427
1439
|
|
|
1428
1440
|
This will permanently stop the Devbox. If you want to
|
|
1429
1441
|
save the state of the Devbox, you should take a snapshot before shutting down or
|
|
1430
|
-
should suspend the Devbox instead of shutting down.
|
|
1442
|
+
should suspend the Devbox instead of shutting down. If the Devbox has any
|
|
1443
|
+
in-progress snapshots, the shutdown will be rejected with a 409 Conflict unless
|
|
1444
|
+
force=true is specified.
|
|
1431
1445
|
|
|
1432
1446
|
Args:
|
|
1447
|
+
force: If true, force shutdown even if snapshots are in progress. Defaults to false.
|
|
1448
|
+
|
|
1433
1449
|
extra_headers: Send extra headers
|
|
1434
1450
|
|
|
1435
1451
|
extra_query: Add additional query parameters to the request
|
|
@@ -1450,6 +1466,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
1450
1466
|
extra_body=extra_body,
|
|
1451
1467
|
timeout=timeout,
|
|
1452
1468
|
idempotency_key=idempotency_key,
|
|
1469
|
+
query=maybe_transform({"force": force}, devbox_shutdown_params.DevboxShutdownParams),
|
|
1453
1470
|
),
|
|
1454
1471
|
cast_to=DevboxView,
|
|
1455
1472
|
)
|
|
@@ -2465,6 +2482,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2465
2482
|
id: str,
|
|
2466
2483
|
*,
|
|
2467
2484
|
auth_mode: Optional[Literal["open", "authenticated"]] | Omit = omit,
|
|
2485
|
+
http_keep_alive: Optional[bool] | Omit = omit,
|
|
2468
2486
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2469
2487
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2470
2488
|
extra_headers: Headers | None = None,
|
|
@@ -2473,17 +2491,20 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2473
2491
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
2474
2492
|
idempotency_key: str | None = None,
|
|
2475
2493
|
) -> TunnelView:
|
|
2476
|
-
"""
|
|
2494
|
+
"""Enable a V2 tunnel for an existing running Devbox.
|
|
2477
2495
|
|
|
2478
2496
|
Tunnels provide encrypted
|
|
2479
2497
|
URL-based access to the Devbox without exposing internal IDs. The tunnel URL
|
|
2480
|
-
format is: https
|
|
2498
|
+
format is: https://{port}-{tunnel_key}.tunnel.runloop.ai
|
|
2481
2499
|
|
|
2482
2500
|
Each Devbox can have one tunnel.
|
|
2483
2501
|
|
|
2484
2502
|
Args:
|
|
2485
2503
|
auth_mode: Authentication mode for the tunnel. Defaults to 'public' if not specified.
|
|
2486
2504
|
|
|
2505
|
+
http_keep_alive: When true, HTTP traffic through the tunnel counts as activity for idle lifecycle
|
|
2506
|
+
policies, resetting the idle timer. Defaults to true if not specified.
|
|
2507
|
+
|
|
2487
2508
|
extra_headers: Send extra headers
|
|
2488
2509
|
|
|
2489
2510
|
extra_query: Add additional query parameters to the request
|
|
@@ -2499,7 +2520,11 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2499
2520
|
return await self._post(
|
|
2500
2521
|
f"/v1/devboxes/{id}/enable_tunnel",
|
|
2501
2522
|
body=await async_maybe_transform(
|
|
2502
|
-
{
|
|
2523
|
+
{
|
|
2524
|
+
"auth_mode": auth_mode,
|
|
2525
|
+
"http_keep_alive": http_keep_alive,
|
|
2526
|
+
},
|
|
2527
|
+
devbox_enable_tunnel_params.DevboxEnableTunnelParams,
|
|
2503
2528
|
),
|
|
2504
2529
|
options=make_request_options(
|
|
2505
2530
|
extra_headers=extra_headers,
|
|
@@ -3077,6 +3102,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
3077
3102
|
self,
|
|
3078
3103
|
id: str,
|
|
3079
3104
|
*,
|
|
3105
|
+
force: str | Omit = omit,
|
|
3080
3106
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
3081
3107
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
3082
3108
|
extra_headers: Headers | None = None,
|
|
@@ -3089,9 +3115,13 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
3089
3115
|
|
|
3090
3116
|
This will permanently stop the Devbox. If you want to
|
|
3091
3117
|
save the state of the Devbox, you should take a snapshot before shutting down or
|
|
3092
|
-
should suspend the Devbox instead of shutting down.
|
|
3118
|
+
should suspend the Devbox instead of shutting down. If the Devbox has any
|
|
3119
|
+
in-progress snapshots, the shutdown will be rejected with a 409 Conflict unless
|
|
3120
|
+
force=true is specified.
|
|
3093
3121
|
|
|
3094
3122
|
Args:
|
|
3123
|
+
force: If true, force shutdown even if snapshots are in progress. Defaults to false.
|
|
3124
|
+
|
|
3095
3125
|
extra_headers: Send extra headers
|
|
3096
3126
|
|
|
3097
3127
|
extra_query: Add additional query parameters to the request
|
|
@@ -3112,6 +3142,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
3112
3142
|
extra_body=extra_body,
|
|
3113
3143
|
timeout=timeout,
|
|
3114
3144
|
idempotency_key=idempotency_key,
|
|
3145
|
+
query=await async_maybe_transform({"force": force}, devbox_shutdown_params.DevboxShutdownParams),
|
|
3115
3146
|
),
|
|
3116
3147
|
cast_to=DevboxView,
|
|
3117
3148
|
)
|
|
@@ -48,8 +48,10 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
48
48
|
self,
|
|
49
49
|
*,
|
|
50
50
|
name: str,
|
|
51
|
+
allow_ai_gateway: Optional[bool] | Omit = omit,
|
|
51
52
|
allow_all: Optional[bool] | Omit = omit,
|
|
52
53
|
allow_devbox_to_devbox: Optional[bool] | Omit = omit,
|
|
54
|
+
allow_mcp_gateway: Optional[bool] | Omit = omit,
|
|
53
55
|
allowed_hostnames: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
54
56
|
description: Optional[str] | Omit = omit,
|
|
55
57
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -69,6 +71,9 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
69
71
|
name: The human-readable name for the NetworkPolicy. Must be unique within the
|
|
70
72
|
account.
|
|
71
73
|
|
|
74
|
+
allow_ai_gateway: (Optional) If true, allows devbox egress to the AI credential gateway for
|
|
75
|
+
credential proxying. Defaults to false.
|
|
76
|
+
|
|
72
77
|
allow_all: (Optional) If true, all egress traffic is allowed (ALLOW_ALL policy). Defaults
|
|
73
78
|
to false.
|
|
74
79
|
|
|
@@ -76,6 +81,9 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
76
81
|
tunnels. Defaults to false. If allow_all is true, this is automatically set to
|
|
77
82
|
true.
|
|
78
83
|
|
|
84
|
+
allow_mcp_gateway: (Optional) If true, allows devbox egress to the MCP hub for MCP server access.
|
|
85
|
+
Defaults to false.
|
|
86
|
+
|
|
79
87
|
allowed_hostnames: (Optional) DNS-based allow list with wildcard support. Examples: ['github.com',
|
|
80
88
|
'*.npmjs.org'].
|
|
81
89
|
|
|
@@ -96,8 +104,10 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
96
104
|
body=maybe_transform(
|
|
97
105
|
{
|
|
98
106
|
"name": name,
|
|
107
|
+
"allow_ai_gateway": allow_ai_gateway,
|
|
99
108
|
"allow_all": allow_all,
|
|
100
109
|
"allow_devbox_to_devbox": allow_devbox_to_devbox,
|
|
110
|
+
"allow_mcp_gateway": allow_mcp_gateway,
|
|
101
111
|
"allowed_hostnames": allowed_hostnames,
|
|
102
112
|
"description": description,
|
|
103
113
|
},
|
|
@@ -150,8 +160,10 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
150
160
|
self,
|
|
151
161
|
id: str,
|
|
152
162
|
*,
|
|
163
|
+
allow_ai_gateway: Optional[bool] | Omit = omit,
|
|
153
164
|
allow_all: Optional[bool] | Omit = omit,
|
|
154
165
|
allow_devbox_to_devbox: Optional[bool] | Omit = omit,
|
|
166
|
+
allow_mcp_gateway: Optional[bool] | Omit = omit,
|
|
155
167
|
allowed_hostnames: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
156
168
|
description: Optional[str] | Omit = omit,
|
|
157
169
|
name: Optional[str] | Omit = omit,
|
|
@@ -168,10 +180,14 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
168
180
|
All fields are optional.
|
|
169
181
|
|
|
170
182
|
Args:
|
|
183
|
+
allow_ai_gateway: If true, allows devbox egress to the AI credential gateway.
|
|
184
|
+
|
|
171
185
|
allow_all: If true, all egress traffic is allowed (ALLOW_ALL policy).
|
|
172
186
|
|
|
173
187
|
allow_devbox_to_devbox: If true, allows traffic between the account's own devboxes via tunnels.
|
|
174
188
|
|
|
189
|
+
allow_mcp_gateway: If true, allows devbox egress to the MCP hub.
|
|
190
|
+
|
|
175
191
|
allowed_hostnames: Updated DNS-based allow list with wildcard support. Examples: ['github.com',
|
|
176
192
|
'*.npmjs.org'].
|
|
177
193
|
|
|
@@ -195,8 +211,10 @@ class NetworkPoliciesResource(SyncAPIResource):
|
|
|
195
211
|
f"/v1/network-policies/{id}",
|
|
196
212
|
body=maybe_transform(
|
|
197
213
|
{
|
|
214
|
+
"allow_ai_gateway": allow_ai_gateway,
|
|
198
215
|
"allow_all": allow_all,
|
|
199
216
|
"allow_devbox_to_devbox": allow_devbox_to_devbox,
|
|
217
|
+
"allow_mcp_gateway": allow_mcp_gateway,
|
|
200
218
|
"allowed_hostnames": allowed_hostnames,
|
|
201
219
|
"description": description,
|
|
202
220
|
"name": name,
|
|
@@ -334,8 +352,10 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
334
352
|
self,
|
|
335
353
|
*,
|
|
336
354
|
name: str,
|
|
355
|
+
allow_ai_gateway: Optional[bool] | Omit = omit,
|
|
337
356
|
allow_all: Optional[bool] | Omit = omit,
|
|
338
357
|
allow_devbox_to_devbox: Optional[bool] | Omit = omit,
|
|
358
|
+
allow_mcp_gateway: Optional[bool] | Omit = omit,
|
|
339
359
|
allowed_hostnames: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
340
360
|
description: Optional[str] | Omit = omit,
|
|
341
361
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
@@ -355,6 +375,9 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
355
375
|
name: The human-readable name for the NetworkPolicy. Must be unique within the
|
|
356
376
|
account.
|
|
357
377
|
|
|
378
|
+
allow_ai_gateway: (Optional) If true, allows devbox egress to the AI credential gateway for
|
|
379
|
+
credential proxying. Defaults to false.
|
|
380
|
+
|
|
358
381
|
allow_all: (Optional) If true, all egress traffic is allowed (ALLOW_ALL policy). Defaults
|
|
359
382
|
to false.
|
|
360
383
|
|
|
@@ -362,6 +385,9 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
362
385
|
tunnels. Defaults to false. If allow_all is true, this is automatically set to
|
|
363
386
|
true.
|
|
364
387
|
|
|
388
|
+
allow_mcp_gateway: (Optional) If true, allows devbox egress to the MCP hub for MCP server access.
|
|
389
|
+
Defaults to false.
|
|
390
|
+
|
|
365
391
|
allowed_hostnames: (Optional) DNS-based allow list with wildcard support. Examples: ['github.com',
|
|
366
392
|
'*.npmjs.org'].
|
|
367
393
|
|
|
@@ -382,8 +408,10 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
382
408
|
body=await async_maybe_transform(
|
|
383
409
|
{
|
|
384
410
|
"name": name,
|
|
411
|
+
"allow_ai_gateway": allow_ai_gateway,
|
|
385
412
|
"allow_all": allow_all,
|
|
386
413
|
"allow_devbox_to_devbox": allow_devbox_to_devbox,
|
|
414
|
+
"allow_mcp_gateway": allow_mcp_gateway,
|
|
387
415
|
"allowed_hostnames": allowed_hostnames,
|
|
388
416
|
"description": description,
|
|
389
417
|
},
|
|
@@ -436,8 +464,10 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
436
464
|
self,
|
|
437
465
|
id: str,
|
|
438
466
|
*,
|
|
467
|
+
allow_ai_gateway: Optional[bool] | Omit = omit,
|
|
439
468
|
allow_all: Optional[bool] | Omit = omit,
|
|
440
469
|
allow_devbox_to_devbox: Optional[bool] | Omit = omit,
|
|
470
|
+
allow_mcp_gateway: Optional[bool] | Omit = omit,
|
|
441
471
|
allowed_hostnames: Optional[SequenceNotStr[str]] | Omit = omit,
|
|
442
472
|
description: Optional[str] | Omit = omit,
|
|
443
473
|
name: Optional[str] | Omit = omit,
|
|
@@ -454,10 +484,14 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
454
484
|
All fields are optional.
|
|
455
485
|
|
|
456
486
|
Args:
|
|
487
|
+
allow_ai_gateway: If true, allows devbox egress to the AI credential gateway.
|
|
488
|
+
|
|
457
489
|
allow_all: If true, all egress traffic is allowed (ALLOW_ALL policy).
|
|
458
490
|
|
|
459
491
|
allow_devbox_to_devbox: If true, allows traffic between the account's own devboxes via tunnels.
|
|
460
492
|
|
|
493
|
+
allow_mcp_gateway: If true, allows devbox egress to the MCP hub.
|
|
494
|
+
|
|
461
495
|
allowed_hostnames: Updated DNS-based allow list with wildcard support. Examples: ['github.com',
|
|
462
496
|
'*.npmjs.org'].
|
|
463
497
|
|
|
@@ -481,8 +515,10 @@ class AsyncNetworkPoliciesResource(AsyncAPIResource):
|
|
|
481
515
|
f"/v1/network-policies/{id}",
|
|
482
516
|
body=await async_maybe_transform(
|
|
483
517
|
{
|
|
518
|
+
"allow_ai_gateway": allow_ai_gateway,
|
|
484
519
|
"allow_all": allow_all,
|
|
485
520
|
"allow_devbox_to_devbox": allow_devbox_to_devbox,
|
|
521
|
+
"allow_mcp_gateway": allow_mcp_gateway,
|
|
486
522
|
"allowed_hostnames": allowed_hostnames,
|
|
487
523
|
"description": description,
|
|
488
524
|
"name": name,
|