runloop-api-client 1.16.0__tar.gz → 1.17.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.17.0/.release-please-manifest.json +3 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/CHANGELOG.md +27 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/PKG-INFO +1 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/pyproject.toml +1 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_base_client.py +4 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/devboxes.py +6 -2
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_view.py +1 -3
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_create_params.py +3 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +3 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_view.py +2 -6
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +1 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/broker_mount.py +9 -3
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +7 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/launch_parameters.py +36 -2
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/mount.py +7 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/broker_mount.py +9 -3
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +7 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +36 -2
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/mount.py +7 -1
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmarks.py +14 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_blueprints.py +46 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_devboxes.py +16 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_scenarios.py +42 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_client.py +48 -0
- runloop_api_client-1.16.0/.release-please-manifest.json +0 -3
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/.gitignore +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/EXAMPLES.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/LICENSE +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/README-SDK.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/README.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/SECURITY.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/api.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/bin/check-release-environment +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/bin/publish-pypi +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/_harness.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/blueprint_with_build_context.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/devbox_snapshot_resume.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/devbox_tunnel.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/example_types.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/mcp_github_tools.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/registry.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/examples/secrets_with_devbox.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/release-please-config.json +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/requirements-dev.lock +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_qs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_compat.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_json.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_path.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_validation.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/_ignore.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/context_loader.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/pagination.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/agents.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/axons.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/network_policies.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/_types.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/devbox.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/execution.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/secret.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/sync.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/axons/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/axons/test_sql.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_agents.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_axons.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmark_runs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_gateway_configs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_mcp_configs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_network_policies.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_core.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_core.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_streaming.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_benchmark_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_execution.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_execution_result.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_ops.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario_builder.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_benchmark_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_execution.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_execution_result.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_helpers.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_ops.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario_builder.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario_run.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/README.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/examples/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/examples/test_examples.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/README.md +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/__init__.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/conftest.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_devbox.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_sdk.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_secret.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/test_blueprints.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/test_devboxes.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/test_executions.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/test_snapshots.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/smoketests/utils.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_command_id.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_files.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_models.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_polling.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_qs.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_response.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_transform.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_context_loader.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_json.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_path.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/utils.py +0 -0
- {runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/uv.lock +0 -0
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.17.0 (2026-04-09)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.16.0...v1.17.0](https://github.com/runloopai/api-client-python/compare/v1.16.0...v1.17.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Add protocol, launch etc arguments to attach axon grpc, persist them in the db ([#8564](https://github.com/runloopai/api-client-python/issues/8564)) ([76ad33d](https://github.com/runloopai/api-client-python/commit/76ad33d7da11f4324b576f4b03a5eab437eecd2f))
|
|
10
|
+
* **api:** add lifecycle configuration to launch parameters ([#8606](https://github.com/runloopai/api-client-python/issues/8606)) ([1dd716d](https://github.com/runloopai/api-client-python/commit/1dd716d820546f3d088ad61a714a0d5c219124f4))
|
|
11
|
+
* stream kernel messages (kmsg) to devbox logs ([#8588](https://github.com/runloopai/api-client-python/issues/8588)) ([8f0ad67](https://github.com/runloopai/api-client-python/commit/8f0ad674d85e44b02aa0d708fe2037dbce6d5fca))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
* **broker:** remove codex in favor of codex via acp ([#8602](https://github.com/runloopai/api-client-python/issues/8602)) ([118162e](https://github.com/runloopai/api-client-python/commit/118162e3b64d531c5e2b66f66d47724b01fefb1c))
|
|
17
|
+
* **client:** preserve hardcoded query params when merging with user params ([5ce9b5d](https://github.com/runloopai/api-client-python/commit/5ce9b5d4cb882a93b802275622471086530146f0))
|
|
18
|
+
* propagate git ref to maverick for git-based agents ([#8608](https://github.com/runloopai/api-client-python/issues/8608)) ([fc633d6](https://github.com/runloopai/api-client-python/commit/fc633d64b89ac81aa00cdf5f3528b7b9a2e61627))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Chores
|
|
22
|
+
|
|
23
|
+
* Cleanup remaining junk left over from browser and computer use ([#8553](https://github.com/runloopai/api-client-python/issues/8553)) ([ddccee2](https://github.com/runloopai/api-client-python/commit/ddccee245aaea07df9d7b6a9b307cb9cd77878cb))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Documentation
|
|
27
|
+
|
|
28
|
+
* fix typo, fix repoc/git-based agent mounts ignoring custom mount paths ([#8537](https://github.com/runloopai/api-client-python/issues/8537)) ([638bc7a](https://github.com/runloopai/api-client-python/commit/638bc7ac64b07b686d5ddbb6756ac9fabd42dc32))
|
|
29
|
+
|
|
3
30
|
## 1.16.0 (2026-04-03)
|
|
4
31
|
|
|
5
32
|
Full Changelog: [v1.15.0...v1.16.0](https://github.com/runloopai/api-client-python/compare/v1.15.0...v1.16.0)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.17.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
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_base_client.py
RENAMED
|
@@ -540,6 +540,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
|
|
|
540
540
|
files = cast(HttpxRequestFiles, ForceMultipartDict())
|
|
541
541
|
|
|
542
542
|
prepared_url = self._prepare_url(options.url)
|
|
543
|
+
# preserve hard-coded query params from the url
|
|
544
|
+
if params and prepared_url.query:
|
|
545
|
+
params = {**dict(prepared_url.params.items()), **params}
|
|
546
|
+
prepared_url = prepared_url.copy_with(raw_path=prepared_url.raw_path.split(b"?", 1)[0])
|
|
543
547
|
if "_" in prepared_url.host:
|
|
544
548
|
# work around https://github.com/encode/httpx/discussions/2880
|
|
545
549
|
kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}
|
|
@@ -761,7 +761,9 @@ class DevboxesResource(SyncAPIResource):
|
|
|
761
761
|
policies, resetting the idle timer. Defaults to true if not specified.
|
|
762
762
|
|
|
763
763
|
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
764
|
-
resume. Defaults to false if not specified.
|
|
764
|
+
resume. Defaults to false if not specified. Prefer
|
|
765
|
+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
|
|
766
|
+
both are set, lifecycle.resume_triggers.http takes precedence.
|
|
765
767
|
|
|
766
768
|
extra_headers: Send extra headers
|
|
767
769
|
|
|
@@ -2394,7 +2396,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2394
2396
|
policies, resetting the idle timer. Defaults to true if not specified.
|
|
2395
2397
|
|
|
2396
2398
|
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
2397
|
-
resume. Defaults to false if not specified.
|
|
2399
|
+
resume. Defaults to false if not specified. Prefer
|
|
2400
|
+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
|
|
2401
|
+
both are set, lifecycle.resume_triggers.http takes precedence.
|
|
2398
2402
|
|
|
2399
2403
|
extra_headers: Send extra headers
|
|
2400
2404
|
|
|
@@ -78,9 +78,7 @@ class BlueprintView(BaseModel):
|
|
|
78
78
|
Services can be explicitly started when creating a Devbox.
|
|
79
79
|
"""
|
|
80
80
|
|
|
81
|
-
devbox_capabilities: Optional[List[Literal["unknown", "
|
|
82
|
-
None
|
|
83
|
-
)
|
|
81
|
+
devbox_capabilities: Optional[List[Literal["unknown", "docker_in_docker"]]] = None
|
|
84
82
|
"""Capabilities that will be available on Devbox."""
|
|
85
83
|
|
|
86
84
|
failure_reason: Optional[Literal["out_of_memory", "out_of_disk", "build_failed"]] = None
|
|
@@ -153,5 +153,7 @@ class Tunnel(TypedDict, total=False):
|
|
|
153
153
|
wake_on_http: Optional[bool]
|
|
154
154
|
"""
|
|
155
155
|
When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
156
|
-
resume. Defaults to false if not specified.
|
|
156
|
+
resume. Defaults to false if not specified. Prefer
|
|
157
|
+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
|
|
158
|
+
both are set, lifecycle.resume_triggers.http takes precedence.
|
|
157
159
|
"""
|
|
@@ -21,5 +21,7 @@ class DevboxEnableTunnelParams(TypedDict, total=False):
|
|
|
21
21
|
wake_on_http: Optional[bool]
|
|
22
22
|
"""
|
|
23
23
|
When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
24
|
-
resume. Defaults to false if not specified.
|
|
24
|
+
resume. Defaults to false if not specified. Prefer
|
|
25
|
+
lifecycle.resume_triggers.http on launch_parameters for new integrations. If
|
|
26
|
+
both are set, lifecycle.resume_triggers.http takes precedence.
|
|
25
27
|
"""
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_view.py
RENAMED
|
@@ -56,12 +56,8 @@ class DevboxView(BaseModel):
|
|
|
56
56
|
id: str
|
|
57
57
|
"""The ID of the Devbox."""
|
|
58
58
|
|
|
59
|
-
capabilities: List[Literal["unknown", "
|
|
60
|
-
"""A list of capability groups this devbox has access to.
|
|
61
|
-
|
|
62
|
-
This allows devboxes to be compatible with certain tools sets like computer
|
|
63
|
-
usage APIs.
|
|
64
|
-
"""
|
|
59
|
+
capabilities: List[Literal["unknown", "docker_in_docker"]]
|
|
60
|
+
"""A list of capability groups this devbox has access to."""
|
|
65
61
|
|
|
66
62
|
create_time_ms: int
|
|
67
63
|
"""Creation time of the Devbox (Unix timestamp milliseconds)."""
|
|
@@ -12,7 +12,7 @@ class Log(BaseModel):
|
|
|
12
12
|
level: str
|
|
13
13
|
"""Log line severity level."""
|
|
14
14
|
|
|
15
|
-
source: Literal["setup_commands", "entrypoint", "exec", "files", "stats"]
|
|
15
|
+
source: Literal["setup_commands", "entrypoint", "exec", "files", "stats", "kmsg"]
|
|
16
16
|
"""The source of the log."""
|
|
17
17
|
|
|
18
18
|
timestamp_ms: int
|
|
@@ -15,10 +15,16 @@ class BrokerMount(BaseModel):
|
|
|
15
15
|
type: Literal["broker_mount"]
|
|
16
16
|
|
|
17
17
|
agent_binary: Optional[str] = None
|
|
18
|
-
"""Binary to launch the agent (e.g., 'opencode').
|
|
18
|
+
"""Binary to launch the agent (e.g., 'opencode').
|
|
19
|
+
|
|
20
|
+
Used by protocols that launch a subprocess (acp, claude_json).
|
|
21
|
+
"""
|
|
19
22
|
|
|
20
23
|
launch_args: Optional[List[str]] = None
|
|
21
|
-
"""Arguments to pass to the agent command (e.g., ['acp']).
|
|
24
|
+
"""Arguments to pass to the agent command (e.g., ['acp']).
|
|
25
|
+
|
|
26
|
+
Used by protocols that launch a subprocess (acp, claude_json).
|
|
27
|
+
"""
|
|
22
28
|
|
|
23
|
-
protocol: Optional[Literal["acp", "claude_json"
|
|
29
|
+
protocol: Optional[Literal["acp", "claude_json"]] = None
|
|
24
30
|
"""The protocol used by the broker to deliver events to the agent."""
|
|
@@ -11,7 +11,7 @@ class CodeMountParameters(BaseModel):
|
|
|
11
11
|
repo_name: str
|
|
12
12
|
"""The name of the repo to mount.
|
|
13
13
|
|
|
14
|
-
By default, code will be mounted at /home/user/{repo_name}
|
|
14
|
+
By default, code will be mounted at /home/user/{repo_name}.
|
|
15
15
|
"""
|
|
16
16
|
|
|
17
17
|
repo_owner: str
|
|
@@ -20,5 +20,11 @@ class CodeMountParameters(BaseModel):
|
|
|
20
20
|
token: Optional[str] = None
|
|
21
21
|
"""The authentication token necessary to pull repo."""
|
|
22
22
|
|
|
23
|
+
git_ref: Optional[str] = None
|
|
24
|
+
"""Optional git ref (branch, tag, or commit SHA) to checkout.
|
|
25
|
+
|
|
26
|
+
Defaults to the repository default branch.
|
|
27
|
+
"""
|
|
28
|
+
|
|
23
29
|
install_command: Optional[str] = None
|
|
24
30
|
"""Installation command to install and setup repository."""
|
|
@@ -6,7 +6,31 @@ from typing_extensions import Literal
|
|
|
6
6
|
from ..._models import BaseModel
|
|
7
7
|
from .after_idle import AfterIdle
|
|
8
8
|
|
|
9
|
-
__all__ = ["LaunchParameters", "UserParameters"]
|
|
9
|
+
__all__ = ["LaunchParameters", "Lifecycle", "LifecycleResumeTriggers", "UserParameters"]
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class LifecycleResumeTriggers(BaseModel):
|
|
13
|
+
"""Triggers that can resume a suspended Devbox."""
|
|
14
|
+
|
|
15
|
+
http: Optional[bool] = None
|
|
16
|
+
"""When true, HTTP traffic to a suspended Devbox via tunnel will trigger a resume."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Lifecycle(BaseModel):
|
|
20
|
+
"""Lifecycle configuration for idle and resume behavior.
|
|
21
|
+
|
|
22
|
+
Configure idle policy via lifecycle.after_idle (if both this and the top-level after_idle are set, they must match) and resume triggers via lifecycle.resume_triggers.
|
|
23
|
+
"""
|
|
24
|
+
|
|
25
|
+
after_idle: Optional[AfterIdle] = None
|
|
26
|
+
"""Configure Devbox lifecycle based on idle activity.
|
|
27
|
+
|
|
28
|
+
If both this and the top-level after_idle are set, they must have the same
|
|
29
|
+
value. Prefer this field for new integrations.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
resume_triggers: Optional[LifecycleResumeTriggers] = None
|
|
33
|
+
"""Triggers that can resume a suspended Devbox."""
|
|
10
34
|
|
|
11
35
|
|
|
12
36
|
class UserParameters(BaseModel):
|
|
@@ -30,7 +54,9 @@ class LaunchParameters(BaseModel):
|
|
|
30
54
|
after_idle: Optional[AfterIdle] = None
|
|
31
55
|
"""Configure Devbox lifecycle based on idle activity.
|
|
32
56
|
|
|
33
|
-
If after_idle is set, Devbox will ignore keep_alive_time_seconds.
|
|
57
|
+
If after_idle is set, Devbox will ignore keep_alive_time_seconds. If both
|
|
58
|
+
after_idle and lifecycle.after_idle are set, they must have the same value. Use
|
|
59
|
+
lifecycle.after_idle instead.
|
|
34
60
|
"""
|
|
35
61
|
|
|
36
62
|
architecture: Optional[Literal["x86_64", "arm64"]] = None
|
|
@@ -60,6 +86,14 @@ class LaunchParameters(BaseModel):
|
|
|
60
86
|
launch_commands: Optional[List[str]] = None
|
|
61
87
|
"""Set of commands to be run at launch time, before the entrypoint process is run."""
|
|
62
88
|
|
|
89
|
+
lifecycle: Optional[Lifecycle] = None
|
|
90
|
+
"""Lifecycle configuration for idle and resume behavior.
|
|
91
|
+
|
|
92
|
+
Configure idle policy via lifecycle.after_idle (if both this and the top-level
|
|
93
|
+
after_idle are set, they must match) and resume triggers via
|
|
94
|
+
lifecycle.resume_triggers.
|
|
95
|
+
"""
|
|
96
|
+
|
|
63
97
|
network_policy_id: Optional[str] = None
|
|
64
98
|
"""
|
|
65
99
|
(Optional) ID of the network policy to apply to Devboxes launched with these
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/mount.py
RENAMED
|
@@ -16,7 +16,7 @@ class CodeMount(BaseModel):
|
|
|
16
16
|
repo_name: str
|
|
17
17
|
"""The name of the repo to mount.
|
|
18
18
|
|
|
19
|
-
By default, code will be mounted at /home/user/{repo_name}
|
|
19
|
+
By default, code will be mounted at /home/user/{repo_name}.
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
repo_owner: str
|
|
@@ -27,6 +27,12 @@ class CodeMount(BaseModel):
|
|
|
27
27
|
token: Optional[str] = None
|
|
28
28
|
"""The authentication token necessary to pull repo."""
|
|
29
29
|
|
|
30
|
+
git_ref: Optional[str] = None
|
|
31
|
+
"""Optional git ref (branch, tag, or commit SHA) to checkout.
|
|
32
|
+
|
|
33
|
+
Defaults to the repository default branch.
|
|
34
|
+
"""
|
|
35
|
+
|
|
30
36
|
install_command: Optional[str] = None
|
|
31
37
|
"""Installation command to install and setup repository."""
|
|
32
38
|
|
|
@@ -17,10 +17,16 @@ class BrokerMount(TypedDict, total=False):
|
|
|
17
17
|
type: Required[Literal["broker_mount"]]
|
|
18
18
|
|
|
19
19
|
agent_binary: Optional[str]
|
|
20
|
-
"""Binary to launch the agent (e.g., 'opencode').
|
|
20
|
+
"""Binary to launch the agent (e.g., 'opencode').
|
|
21
|
+
|
|
22
|
+
Used by protocols that launch a subprocess (acp, claude_json).
|
|
23
|
+
"""
|
|
21
24
|
|
|
22
25
|
launch_args: Optional[SequenceNotStr[str]]
|
|
23
|
-
"""Arguments to pass to the agent command (e.g., ['acp']).
|
|
26
|
+
"""Arguments to pass to the agent command (e.g., ['acp']).
|
|
27
|
+
|
|
28
|
+
Used by protocols that launch a subprocess (acp, claude_json).
|
|
29
|
+
"""
|
|
24
30
|
|
|
25
|
-
protocol: Optional[Literal["acp", "claude_json"
|
|
31
|
+
protocol: Optional[Literal["acp", "claude_json"]]
|
|
26
32
|
"""The protocol used by the broker to deliver events to the agent."""
|
|
@@ -12,7 +12,7 @@ class CodeMountParameters(TypedDict, total=False):
|
|
|
12
12
|
repo_name: Required[str]
|
|
13
13
|
"""The name of the repo to mount.
|
|
14
14
|
|
|
15
|
-
By default, code will be mounted at /home/user/{repo_name}
|
|
15
|
+
By default, code will be mounted at /home/user/{repo_name}.
|
|
16
16
|
"""
|
|
17
17
|
|
|
18
18
|
repo_owner: Required[str]
|
|
@@ -21,5 +21,11 @@ class CodeMountParameters(TypedDict, total=False):
|
|
|
21
21
|
token: Optional[str]
|
|
22
22
|
"""The authentication token necessary to pull repo."""
|
|
23
23
|
|
|
24
|
+
git_ref: Optional[str]
|
|
25
|
+
"""Optional git ref (branch, tag, or commit SHA) to checkout.
|
|
26
|
+
|
|
27
|
+
Defaults to the repository default branch.
|
|
28
|
+
"""
|
|
29
|
+
|
|
24
30
|
install_command: Optional[str]
|
|
25
31
|
"""Installation command to install and setup repository."""
|
|
@@ -8,7 +8,31 @@ from typing_extensions import Literal, Required, TypedDict
|
|
|
8
8
|
from ..._types import SequenceNotStr
|
|
9
9
|
from .after_idle import AfterIdle
|
|
10
10
|
|
|
11
|
-
__all__ = ["LaunchParameters", "UserParameters"]
|
|
11
|
+
__all__ = ["LaunchParameters", "Lifecycle", "LifecycleResumeTriggers", "UserParameters"]
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class LifecycleResumeTriggers(TypedDict, total=False):
|
|
15
|
+
"""Triggers that can resume a suspended Devbox."""
|
|
16
|
+
|
|
17
|
+
http: Optional[bool]
|
|
18
|
+
"""When true, HTTP traffic to a suspended Devbox via tunnel will trigger a resume."""
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Lifecycle(TypedDict, total=False):
|
|
22
|
+
"""Lifecycle configuration for idle and resume behavior.
|
|
23
|
+
|
|
24
|
+
Configure idle policy via lifecycle.after_idle (if both this and the top-level after_idle are set, they must match) and resume triggers via lifecycle.resume_triggers.
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
after_idle: Optional[AfterIdle]
|
|
28
|
+
"""Configure Devbox lifecycle based on idle activity.
|
|
29
|
+
|
|
30
|
+
If both this and the top-level after_idle are set, they must have the same
|
|
31
|
+
value. Prefer this field for new integrations.
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
resume_triggers: Optional[LifecycleResumeTriggers]
|
|
35
|
+
"""Triggers that can resume a suspended Devbox."""
|
|
12
36
|
|
|
13
37
|
|
|
14
38
|
class UserParameters(TypedDict, total=False):
|
|
@@ -32,7 +56,9 @@ class LaunchParameters(TypedDict, total=False):
|
|
|
32
56
|
after_idle: Optional[AfterIdle]
|
|
33
57
|
"""Configure Devbox lifecycle based on idle activity.
|
|
34
58
|
|
|
35
|
-
If after_idle is set, Devbox will ignore keep_alive_time_seconds.
|
|
59
|
+
If after_idle is set, Devbox will ignore keep_alive_time_seconds. If both
|
|
60
|
+
after_idle and lifecycle.after_idle are set, they must have the same value. Use
|
|
61
|
+
lifecycle.after_idle instead.
|
|
36
62
|
"""
|
|
37
63
|
|
|
38
64
|
architecture: Optional[Literal["x86_64", "arm64"]]
|
|
@@ -62,6 +88,14 @@ class LaunchParameters(TypedDict, total=False):
|
|
|
62
88
|
launch_commands: Optional[SequenceNotStr[str]]
|
|
63
89
|
"""Set of commands to be run at launch time, before the entrypoint process is run."""
|
|
64
90
|
|
|
91
|
+
lifecycle: Optional[Lifecycle]
|
|
92
|
+
"""Lifecycle configuration for idle and resume behavior.
|
|
93
|
+
|
|
94
|
+
Configure idle policy via lifecycle.after_idle (if both this and the top-level
|
|
95
|
+
after_idle are set, they must match) and resume triggers via
|
|
96
|
+
lifecycle.resume_triggers.
|
|
97
|
+
"""
|
|
98
|
+
|
|
65
99
|
network_policy_id: Optional[str]
|
|
66
100
|
"""
|
|
67
101
|
(Optional) ID of the network policy to apply to Devboxes launched with these
|
|
@@ -16,7 +16,7 @@ class CodeMount(TypedDict, total=False):
|
|
|
16
16
|
repo_name: Required[str]
|
|
17
17
|
"""The name of the repo to mount.
|
|
18
18
|
|
|
19
|
-
By default, code will be mounted at /home/user/{repo_name}
|
|
19
|
+
By default, code will be mounted at /home/user/{repo_name}.
|
|
20
20
|
"""
|
|
21
21
|
|
|
22
22
|
repo_owner: Required[str]
|
|
@@ -27,6 +27,12 @@ class CodeMount(TypedDict, total=False):
|
|
|
27
27
|
token: Optional[str]
|
|
28
28
|
"""The authentication token necessary to pull repo."""
|
|
29
29
|
|
|
30
|
+
git_ref: Optional[str]
|
|
31
|
+
"""Optional git ref (branch, tag, or commit SHA) to checkout.
|
|
32
|
+
|
|
33
|
+
Defaults to the repository default branch.
|
|
34
|
+
"""
|
|
35
|
+
|
|
30
36
|
install_command: Optional[str]
|
|
31
37
|
"""Installation command to install and setup repository."""
|
|
32
38
|
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmarks.py
RENAMED
|
@@ -299,6 +299,13 @@ class TestBenchmarks:
|
|
|
299
299
|
"custom_gb_memory": 0,
|
|
300
300
|
"keep_alive_time_seconds": 0,
|
|
301
301
|
"launch_commands": ["string"],
|
|
302
|
+
"lifecycle": {
|
|
303
|
+
"after_idle": {
|
|
304
|
+
"idle_time_seconds": 0,
|
|
305
|
+
"on_idle": "shutdown",
|
|
306
|
+
},
|
|
307
|
+
"resume_triggers": {"http": True},
|
|
308
|
+
},
|
|
302
309
|
"network_policy_id": "network_policy_id",
|
|
303
310
|
"required_services": ["string"],
|
|
304
311
|
"resource_size_request": "X_SMALL",
|
|
@@ -674,6 +681,13 @@ class TestAsyncBenchmarks:
|
|
|
674
681
|
"custom_gb_memory": 0,
|
|
675
682
|
"keep_alive_time_seconds": 0,
|
|
676
683
|
"launch_commands": ["string"],
|
|
684
|
+
"lifecycle": {
|
|
685
|
+
"after_idle": {
|
|
686
|
+
"idle_time_seconds": 0,
|
|
687
|
+
"on_idle": "shutdown",
|
|
688
|
+
},
|
|
689
|
+
"resume_triggers": {"http": True},
|
|
690
|
+
},
|
|
677
691
|
"network_policy_id": "network_policy_id",
|
|
678
692
|
"required_services": ["string"],
|
|
679
693
|
"resource_size_request": "X_SMALL",
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_blueprints.py
RENAMED
|
@@ -47,6 +47,7 @@ class TestBlueprints:
|
|
|
47
47
|
"repo_name": "repo_name",
|
|
48
48
|
"repo_owner": "repo_owner",
|
|
49
49
|
"token": "token",
|
|
50
|
+
"git_ref": "git_ref",
|
|
50
51
|
"install_command": "install_command",
|
|
51
52
|
}
|
|
52
53
|
],
|
|
@@ -64,6 +65,13 @@ class TestBlueprints:
|
|
|
64
65
|
"custom_gb_memory": 0,
|
|
65
66
|
"keep_alive_time_seconds": 0,
|
|
66
67
|
"launch_commands": ["string"],
|
|
68
|
+
"lifecycle": {
|
|
69
|
+
"after_idle": {
|
|
70
|
+
"idle_time_seconds": 0,
|
|
71
|
+
"on_idle": "shutdown",
|
|
72
|
+
},
|
|
73
|
+
"resume_triggers": {"http": True},
|
|
74
|
+
},
|
|
67
75
|
"network_policy_id": "network_policy_id",
|
|
68
76
|
"required_services": ["string"],
|
|
69
77
|
"resource_size_request": "X_SMALL",
|
|
@@ -279,6 +287,13 @@ class TestBlueprints:
|
|
|
279
287
|
"custom_gb_memory": 0,
|
|
280
288
|
"keep_alive_time_seconds": 0,
|
|
281
289
|
"launch_commands": ["string"],
|
|
290
|
+
"lifecycle": {
|
|
291
|
+
"after_idle": {
|
|
292
|
+
"idle_time_seconds": 0,
|
|
293
|
+
"on_idle": "shutdown",
|
|
294
|
+
},
|
|
295
|
+
"resume_triggers": {"http": True},
|
|
296
|
+
},
|
|
282
297
|
"network_policy_id": "network_policy_id",
|
|
283
298
|
"required_services": ["string"],
|
|
284
299
|
"resource_size_request": "X_SMALL",
|
|
@@ -420,6 +435,7 @@ class TestBlueprints:
|
|
|
420
435
|
"repo_name": "repo_name",
|
|
421
436
|
"repo_owner": "repo_owner",
|
|
422
437
|
"token": "token",
|
|
438
|
+
"git_ref": "git_ref",
|
|
423
439
|
"install_command": "install_command",
|
|
424
440
|
}
|
|
425
441
|
],
|
|
@@ -437,6 +453,13 @@ class TestBlueprints:
|
|
|
437
453
|
"custom_gb_memory": 0,
|
|
438
454
|
"keep_alive_time_seconds": 0,
|
|
439
455
|
"launch_commands": ["string"],
|
|
456
|
+
"lifecycle": {
|
|
457
|
+
"after_idle": {
|
|
458
|
+
"idle_time_seconds": 0,
|
|
459
|
+
"on_idle": "shutdown",
|
|
460
|
+
},
|
|
461
|
+
"resume_triggers": {"http": True},
|
|
462
|
+
},
|
|
440
463
|
"network_policy_id": "network_policy_id",
|
|
441
464
|
"required_services": ["string"],
|
|
442
465
|
"resource_size_request": "X_SMALL",
|
|
@@ -521,6 +544,7 @@ class TestAsyncBlueprints:
|
|
|
521
544
|
"repo_name": "repo_name",
|
|
522
545
|
"repo_owner": "repo_owner",
|
|
523
546
|
"token": "token",
|
|
547
|
+
"git_ref": "git_ref",
|
|
524
548
|
"install_command": "install_command",
|
|
525
549
|
}
|
|
526
550
|
],
|
|
@@ -538,6 +562,13 @@ class TestAsyncBlueprints:
|
|
|
538
562
|
"custom_gb_memory": 0,
|
|
539
563
|
"keep_alive_time_seconds": 0,
|
|
540
564
|
"launch_commands": ["string"],
|
|
565
|
+
"lifecycle": {
|
|
566
|
+
"after_idle": {
|
|
567
|
+
"idle_time_seconds": 0,
|
|
568
|
+
"on_idle": "shutdown",
|
|
569
|
+
},
|
|
570
|
+
"resume_triggers": {"http": True},
|
|
571
|
+
},
|
|
541
572
|
"network_policy_id": "network_policy_id",
|
|
542
573
|
"required_services": ["string"],
|
|
543
574
|
"resource_size_request": "X_SMALL",
|
|
@@ -753,6 +784,13 @@ class TestAsyncBlueprints:
|
|
|
753
784
|
"custom_gb_memory": 0,
|
|
754
785
|
"keep_alive_time_seconds": 0,
|
|
755
786
|
"launch_commands": ["string"],
|
|
787
|
+
"lifecycle": {
|
|
788
|
+
"after_idle": {
|
|
789
|
+
"idle_time_seconds": 0,
|
|
790
|
+
"on_idle": "shutdown",
|
|
791
|
+
},
|
|
792
|
+
"resume_triggers": {"http": True},
|
|
793
|
+
},
|
|
756
794
|
"network_policy_id": "network_policy_id",
|
|
757
795
|
"required_services": ["string"],
|
|
758
796
|
"resource_size_request": "X_SMALL",
|
|
@@ -894,6 +932,7 @@ class TestAsyncBlueprints:
|
|
|
894
932
|
"repo_name": "repo_name",
|
|
895
933
|
"repo_owner": "repo_owner",
|
|
896
934
|
"token": "token",
|
|
935
|
+
"git_ref": "git_ref",
|
|
897
936
|
"install_command": "install_command",
|
|
898
937
|
}
|
|
899
938
|
],
|
|
@@ -911,6 +950,13 @@ class TestAsyncBlueprints:
|
|
|
911
950
|
"custom_gb_memory": 0,
|
|
912
951
|
"keep_alive_time_seconds": 0,
|
|
913
952
|
"launch_commands": ["string"],
|
|
953
|
+
"lifecycle": {
|
|
954
|
+
"after_idle": {
|
|
955
|
+
"idle_time_seconds": 0,
|
|
956
|
+
"on_idle": "shutdown",
|
|
957
|
+
},
|
|
958
|
+
"resume_triggers": {"http": True},
|
|
959
|
+
},
|
|
914
960
|
"network_policy_id": "network_policy_id",
|
|
915
961
|
"required_services": ["string"],
|
|
916
962
|
"resource_size_request": "X_SMALL",
|
{runloop_api_client-1.16.0 → runloop_api_client-1.17.0}/tests/api_resources/test_devboxes.py
RENAMED
|
@@ -60,6 +60,7 @@ class TestDevboxes:
|
|
|
60
60
|
"repo_name": "repo_name",
|
|
61
61
|
"repo_owner": "repo_owner",
|
|
62
62
|
"token": "token",
|
|
63
|
+
"git_ref": "git_ref",
|
|
63
64
|
"install_command": "install_command",
|
|
64
65
|
}
|
|
65
66
|
],
|
|
@@ -84,6 +85,13 @@ class TestDevboxes:
|
|
|
84
85
|
"custom_gb_memory": 0,
|
|
85
86
|
"keep_alive_time_seconds": 0,
|
|
86
87
|
"launch_commands": ["string"],
|
|
88
|
+
"lifecycle": {
|
|
89
|
+
"after_idle": {
|
|
90
|
+
"idle_time_seconds": 0,
|
|
91
|
+
"on_idle": "shutdown",
|
|
92
|
+
},
|
|
93
|
+
"resume_triggers": {"http": True},
|
|
94
|
+
},
|
|
87
95
|
"network_policy_id": "network_policy_id",
|
|
88
96
|
"required_services": ["string"],
|
|
89
97
|
"resource_size_request": "X_SMALL",
|
|
@@ -1676,6 +1684,7 @@ class TestAsyncDevboxes:
|
|
|
1676
1684
|
"repo_name": "repo_name",
|
|
1677
1685
|
"repo_owner": "repo_owner",
|
|
1678
1686
|
"token": "token",
|
|
1687
|
+
"git_ref": "git_ref",
|
|
1679
1688
|
"install_command": "install_command",
|
|
1680
1689
|
}
|
|
1681
1690
|
],
|
|
@@ -1700,6 +1709,13 @@ class TestAsyncDevboxes:
|
|
|
1700
1709
|
"custom_gb_memory": 0,
|
|
1701
1710
|
"keep_alive_time_seconds": 0,
|
|
1702
1711
|
"launch_commands": ["string"],
|
|
1712
|
+
"lifecycle": {
|
|
1713
|
+
"after_idle": {
|
|
1714
|
+
"idle_time_seconds": 0,
|
|
1715
|
+
"on_idle": "shutdown",
|
|
1716
|
+
},
|
|
1717
|
+
"resume_triggers": {"http": True},
|
|
1718
|
+
},
|
|
1703
1719
|
"network_policy_id": "network_policy_id",
|
|
1704
1720
|
"required_services": ["string"],
|
|
1705
1721
|
"resource_size_request": "X_SMALL",
|