runloop-api-client 1.13.2__tar.gz → 1.14.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.14.0/.release-please-manifest.json +3 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/CHANGELOG.md +41 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/PKG-INFO +1 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/README-SDK.md +111 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/api.md +1 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/pyproject.toml +1 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_qs.py +4 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_version.py +1 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/pagination.py +75 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/axons.py +96 -14
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/devboxes.py +10 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/_types.py +5 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_.py +9 -3
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_devbox.py +3 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/devbox.py +3 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/sync.py +9 -3
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/__init__.py +1 -0
- runloop_api_client-1.14.0/src/runloop_api_client/types/axon_list_params.py +27 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_list_view.py +5 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_view.py +6 -3
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_view.py +7 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_create_params.py +6 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +6 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/launch_parameters.py +8 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +8 -1
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/tunnel_view.py +6 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_axons.py +33 -7
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_devboxes.py +4 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_core.py +24 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_core.py +23 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_devbox.py +23 -22
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_devbox.py +23 -23
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/uv.lock +1 -1
- runloop_api_client-1.13.2/.release-please-manifest.json +0 -3
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/.gitignore +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/CONTRIBUTING.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/EXAMPLES.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/LICENSE +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/README.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/SECURITY.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/bin/check-release-environment +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/bin/publish-pypi +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/_harness.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/blueprint_with_build_context.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_snapshot_resume.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_tunnel.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/example_types.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/mcp_github_tools.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/registry.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/secrets_with_devbox.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/release-please-config.json +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/requirements-dev.lock +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop/lib/.keep +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_base_client.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_client.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_compat.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_constants.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_exceptions.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_files.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_models.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_resource.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_streaming.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_types.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_compat.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_json.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_logs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_path.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_streams.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_sync.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_transform.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_typing.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_utils.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_validation.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/.keep +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/_ignore.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/context_loader.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/polling.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/polling_async.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/py.typed +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/agents.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/blueprints.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/network_policies.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/objects.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/repositories.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/secrets.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/execution.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/secret.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_download_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_view.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/axons/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/axons/test_sql.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_computers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_executions.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_logs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/test_runs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_agents.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmark_runs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmarks.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_blueprints.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_gateway_configs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_mcp_configs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_network_policies.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_objects.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_repositories.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_scenarios.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_secrets.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sample_file.txt +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_interfaces.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_streaming.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_benchmark_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_execution.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_execution_result.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_ops.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario_builder.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_benchmark_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_execution.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_execution_result.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_helpers.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_ops.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario_builder.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario_run.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/README.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/examples/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/examples/test_examples.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/README.md +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/__init__.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/conftest.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_axon.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_scenario.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_scorer.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_sdk.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_secret.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_blueprints.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_devboxes.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_executions.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_snapshots.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/utils.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_client.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_command_id.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_deepcopy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_extract_files.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_files.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_models.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_polling.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_qs.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_required_args.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_response.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_streaming.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_transform.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_context_loader.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_datetime_parse.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_json.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_path.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_proxy.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_typing.py +0 -0
- {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/utils.py +0 -0
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.14.0 (2026-03-31)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.13.3...v1.14.0](https://github.com/runloopai/api-client-python/compare/v1.13.3...v1.14.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* add archive / unarchive to benchmarks ([#8391](https://github.com/runloopai/api-client-python/issues/8391)) ([31ebb2c](https://github.com/runloopai/api-client-python/commit/31ebb2cc196e185eaef2ee8d6ddcd3e04b0a6ece))
|
|
10
|
+
* Add axon list filters by id and name ([#8384](https://github.com/runloopai/api-client-python/issues/8384)) ([cd722b3](https://github.com/runloopai/api-client-python/commit/cd722b341a528558a5736894aa27bab44aa4a06e))
|
|
11
|
+
* Add pagination to list active axons ([#8359](https://github.com/runloopai/api-client-python/issues/8359)) ([1937bc9](https://github.com/runloopai/api-client-python/commit/1937bc9c660895d9355d37a1f052f00fde9128e1))
|
|
12
|
+
* **internal:** implement indices array format for query and form serialization ([1239661](https://github.com/runloopai/api-client-python/commit/12396614f8151d5a244c6e91815665caa6cd4c1b))
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* **sdk:** expose axon list params ([#773](https://github.com/runloopai/api-client-python/issues/773)) ([47e208d](https://github.com/runloopai/api-client-python/commit/47e208d61c247719174f5c0625803355114fa773))
|
|
18
|
+
* **tests:** poll for logs in smoke tests to handle CloudWatch ingestion latency ([#774](https://github.com/runloopai/api-client-python/issues/774)) ([5f1e187](https://github.com/runloopai/api-client-python/commit/5f1e18703bd18370d1f63d7bbb2f6a22716624ff))
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Chores
|
|
22
|
+
|
|
23
|
+
* **axon:** add axon auto-pagination to stainless sdks ([#8420](https://github.com/runloopai/api-client-python/issues/8420)) ([14806e1](https://github.com/runloopai/api-client-python/commit/14806e18b4b8d2164ee8db80ebe62f853f7885bf))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Documentation
|
|
27
|
+
|
|
28
|
+
* **api:** document vCPU, RAM, and disk for resource_size_request ([#8368](https://github.com/runloopai/api-client-python/issues/8368)) ([1edfb84](https://github.com/runloopai/api-client-python/commit/1edfb840f46ac3295ef097a7574eecb809e2f1d5))
|
|
29
|
+
|
|
30
|
+
## 1.13.3 (2026-03-26)
|
|
31
|
+
|
|
32
|
+
Full Changelog: [v1.13.2...v1.13.3](https://github.com/runloopai/api-client-python/compare/v1.13.2...v1.13.3)
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* **api:** surface scenario setup failures instead of silently dropping them ([#8300](https://github.com/runloopai/api-client-python/issues/8300)) ([dd910d0](https://github.com/runloopai/api-client-python/commit/dd910d0e867e9964d24cb792b27dd9b56d670a98))
|
|
37
|
+
* **devbox:** `get_tunnel_url` now derives tunnel domain from base url ([#771](https://github.com/runloopai/api-client-python/issues/771)) ([2634c64](https://github.com/runloopai/api-client-python/commit/2634c64f91e187633d0252dcda6449d72631bc09))
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
### Chores
|
|
41
|
+
|
|
42
|
+
* **axon:** add axon to sdk readme ([#769](https://github.com/runloopai/api-client-python/issues/769)) ([68afe5a](https://github.com/runloopai/api-client-python/commit/68afe5aa20120ed5c0aed061d540e287df945f6c))
|
|
43
|
+
|
|
3
44
|
## 1.13.2 (2026-03-25)
|
|
4
45
|
|
|
5
46
|
Full Changelog: [v1.13.1...v1.13.2](https://github.com/runloopai/api-client-python/compare/v1.13.1...v1.13.2)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: runloop_api_client
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.14.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
|
|
@@ -25,6 +25,10 @@ The `RunloopSDK` builds on top of the underlying REST client and provides a Pyth
|
|
|
25
25
|
- [StorageObject](#storageobject)
|
|
26
26
|
- [Storage Object Upload Helpers](#storage-object-upload-helpers)
|
|
27
27
|
- [Mounting Storage Objects to Devboxes](#mounting-storage-objects-to-devboxes)
|
|
28
|
+
- [Axon](#axon)
|
|
29
|
+
- [Publishing Events](#publishing-events)
|
|
30
|
+
- [Subscribing to Events (SSE)](#subscribing-to-events-sse)
|
|
31
|
+
- [SQL Operations](#sql-operations)
|
|
28
32
|
- [Accessing the Underlying REST Client](#accessing-the-underlying-rest-client)
|
|
29
33
|
- [Error Handling](#error-handling)
|
|
30
34
|
- [Advanced Configuration](#advanced-configuration)
|
|
@@ -116,6 +120,7 @@ The SDK provides object-oriented interfaces for all major Runloop resources:
|
|
|
116
120
|
- **`runloop.blueprint`** - Blueprint management (create, list, build blueprints)
|
|
117
121
|
- **`runloop.snapshot`** - Snapshot management (list disk snapshots)
|
|
118
122
|
- **`runloop.storage_object`** - Storage object management (upload, download, list objects)
|
|
123
|
+
- **`runloop.axon`** - [Beta] Axon management (create, publish events, subscribe to SSE streams, SQL queries)
|
|
119
124
|
- **`runloop.secret`** - Secret management (create, update, list, delete encrypted key-value pairs)
|
|
120
125
|
- **`runloop.api`** - Direct access to the underlying REST API client
|
|
121
126
|
|
|
@@ -679,6 +684,112 @@ result = devbox_with_archive.cmd.exec("ls -la /home/user/project/")
|
|
|
679
684
|
print(result.stdout())
|
|
680
685
|
```
|
|
681
686
|
|
|
687
|
+
### Axon
|
|
688
|
+
|
|
689
|
+
> **Beta:** Axon APIs are in beta and may change.
|
|
690
|
+
|
|
691
|
+
Object-oriented interface for working with axons — event communication channels that support
|
|
692
|
+
publishing events, subscribing to event streams via SSE, and executing SQL queries against an
|
|
693
|
+
embedded SQLite database. Created via `runloop.axon.create()` or `runloop.axon.from_id()`:
|
|
694
|
+
|
|
695
|
+
```python
|
|
696
|
+
# Create a new axon
|
|
697
|
+
axon = runloop.axon.create(name="my-axon")
|
|
698
|
+
|
|
699
|
+
# Or get an existing one
|
|
700
|
+
axon = runloop.axon.from_id(axon_id="axn_123")
|
|
701
|
+
|
|
702
|
+
# List all axons
|
|
703
|
+
axons = runloop.axon.list()
|
|
704
|
+
|
|
705
|
+
# Get axon details
|
|
706
|
+
info = axon.get_info()
|
|
707
|
+
print(f"Axon {info.name} created at {info.created_at_ms}")
|
|
708
|
+
```
|
|
709
|
+
|
|
710
|
+
#### Publishing Events
|
|
711
|
+
|
|
712
|
+
Publish structured events to an axon:
|
|
713
|
+
|
|
714
|
+
```python
|
|
715
|
+
result = axon.publish(
|
|
716
|
+
event_type="task_completed",
|
|
717
|
+
origin="AGENT_EVENT", # EXTERNAL_EVENT | AGENT_EVENT | USER_EVENT
|
|
718
|
+
payload='{"task_id": 42, "status": "done"}',
|
|
719
|
+
source="my-agent",
|
|
720
|
+
)
|
|
721
|
+
print(f"Sequence: {result.sequence}, Timestamp: {result.timestamp_ms}")
|
|
722
|
+
```
|
|
723
|
+
|
|
724
|
+
#### Subscribing to Events (SSE)
|
|
725
|
+
|
|
726
|
+
Subscribe to real-time events via server-sent events:
|
|
727
|
+
|
|
728
|
+
```python
|
|
729
|
+
with axon.subscribe_sse() as stream:
|
|
730
|
+
for event in stream:
|
|
731
|
+
print(f"[{event.source}] {event.event_type}: {event.payload}")
|
|
732
|
+
# event.axon_id, event.origin, event.sequence, event.timestamp_ms also available
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
Async:
|
|
736
|
+
|
|
737
|
+
```python
|
|
738
|
+
async with await axon.subscribe_sse() as stream:
|
|
739
|
+
async for event in stream:
|
|
740
|
+
print(f"[{event.source}] {event.event_type}: {event.payload}")
|
|
741
|
+
```
|
|
742
|
+
|
|
743
|
+
#### SQL Operations
|
|
744
|
+
|
|
745
|
+
Each axon has an embedded SQLite database accessible via `axon.sql`:
|
|
746
|
+
|
|
747
|
+
```python
|
|
748
|
+
# Create a table
|
|
749
|
+
axon.sql.query(sql="CREATE TABLE tasks (id INTEGER PRIMARY KEY, name TEXT, done INTEGER)")
|
|
750
|
+
|
|
751
|
+
# Insert with parameterized queries (? placeholders)
|
|
752
|
+
axon.sql.query(
|
|
753
|
+
sql="INSERT INTO tasks (id, name, done) VALUES (?, ?, ?)",
|
|
754
|
+
params=[1, "Write docs", 0],
|
|
755
|
+
)
|
|
756
|
+
|
|
757
|
+
# Query
|
|
758
|
+
result = axon.sql.query(sql="SELECT * FROM tasks WHERE done = ?", params=[0])
|
|
759
|
+
for row in result.rows:
|
|
760
|
+
print(row) # e.g. [1, "Write docs", 0]
|
|
761
|
+
print(result.columns) # [SqlColumnMetaView(name="id", type="INTEGER"), ...]
|
|
762
|
+
print(result.meta) # SqlResultMetaView(changes=0, duration_ms=0.5, rows_read_limit_reached=False)
|
|
763
|
+
```
|
|
764
|
+
|
|
765
|
+
Execute multiple statements atomically with `batch`:
|
|
766
|
+
|
|
767
|
+
```python
|
|
768
|
+
result = axon.sql.batch(
|
|
769
|
+
statements=[
|
|
770
|
+
{"sql": "CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT)"},
|
|
771
|
+
{"sql": "INSERT INTO users (id, name) VALUES (?, ?)", "params": [1, "Alice"]},
|
|
772
|
+
{"sql": "INSERT INTO users (id, name) VALUES (?, ?)", "params": [2, "Bob"]},
|
|
773
|
+
{"sql": "SELECT * FROM users ORDER BY id"},
|
|
774
|
+
],
|
|
775
|
+
)
|
|
776
|
+
|
|
777
|
+
# Each statement gets a result
|
|
778
|
+
for step in result.results:
|
|
779
|
+
if step.success:
|
|
780
|
+
print(f"Rows: {step.success.rows}, Changes: {step.success.meta.changes}")
|
|
781
|
+
elif step.error:
|
|
782
|
+
print(f"Error: {step.error}")
|
|
783
|
+
```
|
|
784
|
+
|
|
785
|
+
**Key methods:**
|
|
786
|
+
|
|
787
|
+
- `axon.get_info()` – Get axon details (name, created_at_ms)
|
|
788
|
+
- `axon.publish()` – Publish an event (event_type, origin, payload, source)
|
|
789
|
+
- `axon.subscribe_sse()` – Subscribe to event stream (returns `Stream[AxonEventView]`)
|
|
790
|
+
- `axon.sql.query()` – Execute a single SQL statement with optional params
|
|
791
|
+
- `axon.sql.batch()` – Execute multiple SQL statements atomically
|
|
792
|
+
|
|
682
793
|
## Accessing the Underlying REST Client
|
|
683
794
|
|
|
684
795
|
The SDK always exposes the underlying client through the `.api` attribute:
|
|
@@ -107,7 +107,7 @@ Methods:
|
|
|
107
107
|
|
|
108
108
|
- <code title="post /v1/axons">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">create</a>(\*\*<a href="src/runloop_api_client/types/axon_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/axon_view.py">AxonView</a></code>
|
|
109
109
|
- <code title="get /v1/axons/{id}">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/axon_view.py">AxonView</a></code>
|
|
110
|
-
- <code title="get /v1/axons">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">list</a>() -> <a href="./src/runloop_api_client/types/
|
|
110
|
+
- <code title="get /v1/axons">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">list</a>(\*\*<a href="src/runloop_api_client/types/axon_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/axon_view.py">SyncAxonsCursorIDPage[AxonView]</a></code>
|
|
111
111
|
- <code title="post /v1/axons/{id}/publish">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">publish</a>(id, \*\*<a href="src/runloop_api_client/types/axon_publish_params.py">params</a>) -> <a href="./src/runloop_api_client/types/publish_result_view.py">PublishResultView</a></code>
|
|
112
112
|
- <code title="get /v1/axons/{id}/subscribe/sse">client.axons.<a href="./src/runloop_api_client/resources/axons/axons.py">subscribe_sse</a>(id) -> <a href="./src/runloop_api_client/types/axon_event_view.py">AxonEventView</a></code>
|
|
113
113
|
|
|
@@ -101,7 +101,10 @@ class Querystring:
|
|
|
101
101
|
items.extend(self._stringify_item(key, item, opts))
|
|
102
102
|
return items
|
|
103
103
|
elif array_format == "indices":
|
|
104
|
-
|
|
104
|
+
items = []
|
|
105
|
+
for i, item in enumerate(value):
|
|
106
|
+
items.extend(self._stringify_item(f"{key}[{i}]", item, opts))
|
|
107
|
+
return items
|
|
105
108
|
elif array_format == "brackets":
|
|
106
109
|
items = []
|
|
107
110
|
key = key + "[]"
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/pagination.py
RENAMED
|
@@ -18,6 +18,8 @@ __all__ = [
|
|
|
18
18
|
"AsyncBenchmarksCursorIDPage",
|
|
19
19
|
"SyncAgentsCursorIDPage",
|
|
20
20
|
"AsyncAgentsCursorIDPage",
|
|
21
|
+
"SyncAxonsCursorIDPage",
|
|
22
|
+
"AsyncAxonsCursorIDPage",
|
|
21
23
|
"SyncBenchmarkRunsCursorIDPage",
|
|
22
24
|
"AsyncBenchmarkRunsCursorIDPage",
|
|
23
25
|
"SyncScenariosCursorIDPage",
|
|
@@ -69,6 +71,11 @@ class AgentsCursorIDPageItem(Protocol):
|
|
|
69
71
|
id: str
|
|
70
72
|
|
|
71
73
|
|
|
74
|
+
@runtime_checkable
|
|
75
|
+
class AxonsCursorIDPageItem(Protocol):
|
|
76
|
+
id: str
|
|
77
|
+
|
|
78
|
+
|
|
72
79
|
@runtime_checkable
|
|
73
80
|
class BenchmarkRunsCursorIDPageItem(Protocol):
|
|
74
81
|
id: str
|
|
@@ -517,6 +524,74 @@ class AsyncAgentsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
|
|
|
517
524
|
return PageInfo(params={"starting_after": item.id})
|
|
518
525
|
|
|
519
526
|
|
|
527
|
+
class SyncAxonsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
|
|
528
|
+
axons: List[_T]
|
|
529
|
+
has_more: Optional[bool] = None
|
|
530
|
+
total_count: Optional[int] = None
|
|
531
|
+
|
|
532
|
+
@override
|
|
533
|
+
def _get_page_items(self) -> List[_T]:
|
|
534
|
+
axons = self.axons
|
|
535
|
+
if not axons:
|
|
536
|
+
return []
|
|
537
|
+
return axons
|
|
538
|
+
|
|
539
|
+
@override
|
|
540
|
+
def has_next_page(self) -> bool:
|
|
541
|
+
has_more = self.has_more
|
|
542
|
+
if has_more is not None and has_more is False:
|
|
543
|
+
return False
|
|
544
|
+
|
|
545
|
+
return super().has_next_page()
|
|
546
|
+
|
|
547
|
+
@override
|
|
548
|
+
def next_page_info(self) -> Optional[PageInfo]:
|
|
549
|
+
axons = self.axons
|
|
550
|
+
if not axons:
|
|
551
|
+
return None
|
|
552
|
+
|
|
553
|
+
item = cast(Any, axons[-1])
|
|
554
|
+
if not isinstance(item, AxonsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
|
|
555
|
+
# TODO emit warning log
|
|
556
|
+
return None
|
|
557
|
+
|
|
558
|
+
return PageInfo(params={"starting_after": item.id})
|
|
559
|
+
|
|
560
|
+
|
|
561
|
+
class AsyncAxonsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
|
|
562
|
+
axons: List[_T]
|
|
563
|
+
has_more: Optional[bool] = None
|
|
564
|
+
total_count: Optional[int] = None
|
|
565
|
+
|
|
566
|
+
@override
|
|
567
|
+
def _get_page_items(self) -> List[_T]:
|
|
568
|
+
axons = self.axons
|
|
569
|
+
if not axons:
|
|
570
|
+
return []
|
|
571
|
+
return axons
|
|
572
|
+
|
|
573
|
+
@override
|
|
574
|
+
def has_next_page(self) -> bool:
|
|
575
|
+
has_more = self.has_more
|
|
576
|
+
if has_more is not None and has_more is False:
|
|
577
|
+
return False
|
|
578
|
+
|
|
579
|
+
return super().has_next_page()
|
|
580
|
+
|
|
581
|
+
@override
|
|
582
|
+
def next_page_info(self) -> Optional[PageInfo]:
|
|
583
|
+
axons = self.axons
|
|
584
|
+
if not axons:
|
|
585
|
+
return None
|
|
586
|
+
|
|
587
|
+
item = cast(Any, axons[-1])
|
|
588
|
+
if not isinstance(item, AxonsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
|
|
589
|
+
# TODO emit warning log
|
|
590
|
+
return None
|
|
591
|
+
|
|
592
|
+
return PageInfo(params={"starting_after": item.id})
|
|
593
|
+
|
|
594
|
+
|
|
520
595
|
class SyncBenchmarkRunsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
|
|
521
596
|
runs: List[_T]
|
|
522
597
|
has_more: Optional[bool] = None
|
|
@@ -15,7 +15,7 @@ from .sql import (
|
|
|
15
15
|
SqlResourceWithStreamingResponse,
|
|
16
16
|
AsyncSqlResourceWithStreamingResponse,
|
|
17
17
|
)
|
|
18
|
-
from ...types import axon_create_params, axon_publish_params
|
|
18
|
+
from ...types import axon_list_params, axon_create_params, axon_publish_params
|
|
19
19
|
from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
|
|
20
20
|
from ..._utils import path_template, maybe_transform, async_maybe_transform
|
|
21
21
|
from ..._compat import cached_property
|
|
@@ -27,9 +27,9 @@ from ..._response import (
|
|
|
27
27
|
async_to_streamed_response_wrapper,
|
|
28
28
|
)
|
|
29
29
|
from ..._streaming import Stream, AsyncStream
|
|
30
|
-
from ...
|
|
30
|
+
from ...pagination import SyncAxonsCursorIDPage, AsyncAxonsCursorIDPage
|
|
31
|
+
from ..._base_client import AsyncPaginator, make_request_options
|
|
31
32
|
from ...types.axon_view import AxonView
|
|
32
|
-
from ...types.axon_list_view import AxonListView
|
|
33
33
|
from ...types.axon_event_view import AxonEventView
|
|
34
34
|
from ...types.publish_result_view import PublishResultView
|
|
35
35
|
|
|
@@ -137,20 +137,61 @@ class AxonsResource(SyncAPIResource):
|
|
|
137
137
|
def list(
|
|
138
138
|
self,
|
|
139
139
|
*,
|
|
140
|
+
id: str | Omit = omit,
|
|
141
|
+
include_total_count: bool | Omit = omit,
|
|
142
|
+
limit: int | Omit = omit,
|
|
143
|
+
name: str | Omit = omit,
|
|
144
|
+
starting_after: str | Omit = omit,
|
|
140
145
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
141
146
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
142
147
|
extra_headers: Headers | None = None,
|
|
143
148
|
extra_query: Query | None = None,
|
|
144
149
|
extra_body: Body | None = None,
|
|
145
150
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
146
|
-
) ->
|
|
147
|
-
"""
|
|
148
|
-
|
|
151
|
+
) -> SyncAxonsCursorIDPage[AxonView]:
|
|
152
|
+
"""
|
|
153
|
+
[Beta] List all active axons.
|
|
154
|
+
|
|
155
|
+
Args:
|
|
156
|
+
id: Filter by axon ID.
|
|
157
|
+
|
|
158
|
+
include_total_count: If true (default), includes total_count in the response. Set to false to skip
|
|
159
|
+
the count query for better performance on large datasets.
|
|
160
|
+
|
|
161
|
+
limit: The limit of items to return. Default is 20. Max is 5000.
|
|
162
|
+
|
|
163
|
+
name: Filter by axon name (prefix match supported).
|
|
164
|
+
|
|
165
|
+
starting_after: Load the next page of data starting after the item with the given ID.
|
|
166
|
+
|
|
167
|
+
extra_headers: Send extra headers
|
|
168
|
+
|
|
169
|
+
extra_query: Add additional query parameters to the request
|
|
170
|
+
|
|
171
|
+
extra_body: Add additional JSON properties to the request
|
|
172
|
+
|
|
173
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
174
|
+
"""
|
|
175
|
+
return self._get_api_list(
|
|
149
176
|
"/v1/axons",
|
|
177
|
+
page=SyncAxonsCursorIDPage[AxonView],
|
|
150
178
|
options=make_request_options(
|
|
151
|
-
extra_headers=extra_headers,
|
|
179
|
+
extra_headers=extra_headers,
|
|
180
|
+
extra_query=extra_query,
|
|
181
|
+
extra_body=extra_body,
|
|
182
|
+
timeout=timeout,
|
|
183
|
+
query=maybe_transform(
|
|
184
|
+
{
|
|
185
|
+
"id": id,
|
|
186
|
+
"include_total_count": include_total_count,
|
|
187
|
+
"limit": limit,
|
|
188
|
+
"name": name,
|
|
189
|
+
"starting_after": starting_after,
|
|
190
|
+
},
|
|
191
|
+
axon_list_params.AxonListParams,
|
|
192
|
+
),
|
|
152
193
|
),
|
|
153
|
-
|
|
194
|
+
model=AxonView,
|
|
154
195
|
)
|
|
155
196
|
|
|
156
197
|
def publish(
|
|
@@ -350,23 +391,64 @@ class AsyncAxonsResource(AsyncAPIResource):
|
|
|
350
391
|
cast_to=AxonView,
|
|
351
392
|
)
|
|
352
393
|
|
|
353
|
-
|
|
394
|
+
def list(
|
|
354
395
|
self,
|
|
355
396
|
*,
|
|
397
|
+
id: str | Omit = omit,
|
|
398
|
+
include_total_count: bool | Omit = omit,
|
|
399
|
+
limit: int | Omit = omit,
|
|
400
|
+
name: str | Omit = omit,
|
|
401
|
+
starting_after: str | Omit = omit,
|
|
356
402
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
357
403
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
358
404
|
extra_headers: Headers | None = None,
|
|
359
405
|
extra_query: Query | None = None,
|
|
360
406
|
extra_body: Body | None = None,
|
|
361
407
|
timeout: float | httpx.Timeout | None | NotGiven = not_given,
|
|
362
|
-
) ->
|
|
363
|
-
"""
|
|
364
|
-
|
|
408
|
+
) -> AsyncPaginator[AxonView, AsyncAxonsCursorIDPage[AxonView]]:
|
|
409
|
+
"""
|
|
410
|
+
[Beta] List all active axons.
|
|
411
|
+
|
|
412
|
+
Args:
|
|
413
|
+
id: Filter by axon ID.
|
|
414
|
+
|
|
415
|
+
include_total_count: If true (default), includes total_count in the response. Set to false to skip
|
|
416
|
+
the count query for better performance on large datasets.
|
|
417
|
+
|
|
418
|
+
limit: The limit of items to return. Default is 20. Max is 5000.
|
|
419
|
+
|
|
420
|
+
name: Filter by axon name (prefix match supported).
|
|
421
|
+
|
|
422
|
+
starting_after: Load the next page of data starting after the item with the given ID.
|
|
423
|
+
|
|
424
|
+
extra_headers: Send extra headers
|
|
425
|
+
|
|
426
|
+
extra_query: Add additional query parameters to the request
|
|
427
|
+
|
|
428
|
+
extra_body: Add additional JSON properties to the request
|
|
429
|
+
|
|
430
|
+
timeout: Override the client-level default timeout for this request, in seconds
|
|
431
|
+
"""
|
|
432
|
+
return self._get_api_list(
|
|
365
433
|
"/v1/axons",
|
|
434
|
+
page=AsyncAxonsCursorIDPage[AxonView],
|
|
366
435
|
options=make_request_options(
|
|
367
|
-
extra_headers=extra_headers,
|
|
436
|
+
extra_headers=extra_headers,
|
|
437
|
+
extra_query=extra_query,
|
|
438
|
+
extra_body=extra_body,
|
|
439
|
+
timeout=timeout,
|
|
440
|
+
query=maybe_transform(
|
|
441
|
+
{
|
|
442
|
+
"id": id,
|
|
443
|
+
"include_total_count": include_total_count,
|
|
444
|
+
"limit": limit,
|
|
445
|
+
"name": name,
|
|
446
|
+
"starting_after": starting_after,
|
|
447
|
+
},
|
|
448
|
+
axon_list_params.AxonListParams,
|
|
449
|
+
),
|
|
368
450
|
),
|
|
369
|
-
|
|
451
|
+
model=AxonView,
|
|
370
452
|
)
|
|
371
453
|
|
|
372
454
|
async def publish(
|
|
@@ -761,6 +761,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
761
761
|
*,
|
|
762
762
|
auth_mode: Optional[Literal["open", "authenticated"]] | Omit = omit,
|
|
763
763
|
http_keep_alive: Optional[bool] | Omit = omit,
|
|
764
|
+
wake_on_http: Optional[bool] | Omit = omit,
|
|
764
765
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
765
766
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
766
767
|
extra_headers: Headers | None = None,
|
|
@@ -783,6 +784,9 @@ class DevboxesResource(SyncAPIResource):
|
|
|
783
784
|
http_keep_alive: When true, HTTP traffic through the tunnel counts as activity for idle lifecycle
|
|
784
785
|
policies, resetting the idle timer. Defaults to true if not specified.
|
|
785
786
|
|
|
787
|
+
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
788
|
+
resume. Defaults to false if not specified.
|
|
789
|
+
|
|
786
790
|
extra_headers: Send extra headers
|
|
787
791
|
|
|
788
792
|
extra_query: Add additional query parameters to the request
|
|
@@ -801,6 +805,7 @@ class DevboxesResource(SyncAPIResource):
|
|
|
801
805
|
{
|
|
802
806
|
"auth_mode": auth_mode,
|
|
803
807
|
"http_keep_alive": http_keep_alive,
|
|
808
|
+
"wake_on_http": wake_on_http,
|
|
804
809
|
},
|
|
805
810
|
devbox_enable_tunnel_params.DevboxEnableTunnelParams,
|
|
806
811
|
),
|
|
@@ -2397,6 +2402,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2397
2402
|
*,
|
|
2398
2403
|
auth_mode: Optional[Literal["open", "authenticated"]] | Omit = omit,
|
|
2399
2404
|
http_keep_alive: Optional[bool] | Omit = omit,
|
|
2405
|
+
wake_on_http: Optional[bool] | Omit = omit,
|
|
2400
2406
|
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
|
|
2401
2407
|
# The extra values given here take precedence over values defined on the client or passed to this method.
|
|
2402
2408
|
extra_headers: Headers | None = None,
|
|
@@ -2419,6 +2425,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2419
2425
|
http_keep_alive: When true, HTTP traffic through the tunnel counts as activity for idle lifecycle
|
|
2420
2426
|
policies, resetting the idle timer. Defaults to true if not specified.
|
|
2421
2427
|
|
|
2428
|
+
wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
|
|
2429
|
+
resume. Defaults to false if not specified.
|
|
2430
|
+
|
|
2422
2431
|
extra_headers: Send extra headers
|
|
2423
2432
|
|
|
2424
2433
|
extra_query: Add additional query parameters to the request
|
|
@@ -2437,6 +2446,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
|
|
|
2437
2446
|
{
|
|
2438
2447
|
"auth_mode": auth_mode,
|
|
2439
2448
|
"http_keep_alive": http_keep_alive,
|
|
2449
|
+
"wake_on_http": wake_on_http,
|
|
2440
2450
|
},
|
|
2441
2451
|
devbox_enable_tunnel_params.DevboxEnableTunnelParams,
|
|
2442
2452
|
),
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/_types.py
RENAMED
|
@@ -4,6 +4,7 @@ from typing_extensions import TypedDict
|
|
|
4
4
|
from ..types import (
|
|
5
5
|
InputContext,
|
|
6
6
|
ScenarioView,
|
|
7
|
+
AxonListParams,
|
|
7
8
|
AgentListParams,
|
|
8
9
|
AxonCreateParams,
|
|
9
10
|
DevboxListParams,
|
|
@@ -190,6 +191,10 @@ class SDKAgentListParams(AgentListParams, BaseRequestOptions):
|
|
|
190
191
|
pass
|
|
191
192
|
|
|
192
193
|
|
|
194
|
+
class SDKAxonListParams(AxonListParams, BaseRequestOptions):
|
|
195
|
+
pass
|
|
196
|
+
|
|
197
|
+
|
|
193
198
|
class SDKAxonCreateParams(AxonCreateParams, LongRequestOptions):
|
|
194
199
|
pass
|
|
195
200
|
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_.py
RENAMED
|
@@ -11,6 +11,7 @@ from typing_extensions import Unpack
|
|
|
11
11
|
import httpx
|
|
12
12
|
|
|
13
13
|
from ._types import (
|
|
14
|
+
SDKAxonListParams,
|
|
14
15
|
BaseRequestOptions,
|
|
15
16
|
LongRequestOptions,
|
|
16
17
|
SDKAgentListParams,
|
|
@@ -544,9 +545,14 @@ class AsyncAxonOps:
|
|
|
544
545
|
"""Get an AsyncAxon instance for an existing axon ID."""
|
|
545
546
|
return AsyncAxon(self._client, axon_id)
|
|
546
547
|
|
|
547
|
-
async def list(self, **
|
|
548
|
-
"""[Beta] List all active axons.
|
|
549
|
-
|
|
548
|
+
async def list(self, **params: Unpack[SDKAxonListParams]) -> list[AsyncAxon]:
|
|
549
|
+
"""[Beta] List all active axons.
|
|
550
|
+
|
|
551
|
+
:param params: See :typeddict:`~runloop_api_client.sdk._types.SDKAxonListParams` for available parameters
|
|
552
|
+
:return: Collection of axon wrappers
|
|
553
|
+
:rtype: list[AsyncAxon]
|
|
554
|
+
"""
|
|
555
|
+
result = await self._client.axons.list(**params)
|
|
550
556
|
return [AsyncAxon(self._client, axon.id) for axon in result.axons]
|
|
551
557
|
|
|
552
558
|
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_devbox.py
RENAMED
|
@@ -161,7 +161,9 @@ class AsyncDevbox:
|
|
|
161
161
|
tunnel_view = await self.get_tunnel(**options)
|
|
162
162
|
if tunnel_view is None:
|
|
163
163
|
return None
|
|
164
|
-
|
|
164
|
+
api_host = self._client.base_url.host
|
|
165
|
+
base_domain = api_host[4:] if api_host.startswith("api.") else api_host
|
|
166
|
+
return f"https://{port}-{tunnel_view.tunnel_key}.tunnel.{base_domain}"
|
|
165
167
|
|
|
166
168
|
async def logs(
|
|
167
169
|
self,
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/devbox.py
RENAMED
|
@@ -160,7 +160,9 @@ class Devbox:
|
|
|
160
160
|
tunnel_view = self.get_tunnel(**options)
|
|
161
161
|
if tunnel_view is None:
|
|
162
162
|
return None
|
|
163
|
-
|
|
163
|
+
api_host = self._client.base_url.host
|
|
164
|
+
base_domain = api_host[4:] if api_host.startswith("api.") else api_host
|
|
165
|
+
return f"https://{port}-{tunnel_view.tunnel_key}.tunnel.{base_domain}"
|
|
164
166
|
|
|
165
167
|
def logs(
|
|
166
168
|
self,
|
|
@@ -12,6 +12,7 @@ import httpx
|
|
|
12
12
|
from .axon import Axon
|
|
13
13
|
from .agent import Agent
|
|
14
14
|
from ._types import (
|
|
15
|
+
SDKAxonListParams,
|
|
15
16
|
BaseRequestOptions,
|
|
16
17
|
LongRequestOptions,
|
|
17
18
|
SDKAgentListParams,
|
|
@@ -539,9 +540,14 @@ class AxonOps:
|
|
|
539
540
|
"""Get an Axon instance for an existing axon ID."""
|
|
540
541
|
return Axon(self._client, axon_id)
|
|
541
542
|
|
|
542
|
-
def list(self, **
|
|
543
|
-
"""[Beta] List all active axons.
|
|
544
|
-
|
|
543
|
+
def list(self, **params: Unpack[SDKAxonListParams]) -> list[Axon]:
|
|
544
|
+
"""[Beta] List all active axons.
|
|
545
|
+
|
|
546
|
+
:param params: See :typeddict:`~runloop_api_client.sdk._types.SDKAxonListParams` for available parameters
|
|
547
|
+
:return: Collection of axon wrappers
|
|
548
|
+
:rtype: list[Axon]
|
|
549
|
+
"""
|
|
550
|
+
result = self._client.axons.list(**params)
|
|
545
551
|
return [Axon(self._client, axon.id) for axon in result.axons]
|
|
546
552
|
|
|
547
553
|
|
{runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/__init__.py
RENAMED
|
@@ -27,6 +27,7 @@ from .blueprint_view import BlueprintView as BlueprintView
|
|
|
27
27
|
from .agent_list_view import AgentListView as AgentListView
|
|
28
28
|
from .axon_event_view import AxonEventView as AxonEventView
|
|
29
29
|
from .mcp_config_view import McpConfigView as McpConfigView
|
|
30
|
+
from .axon_list_params import AxonListParams as AxonListParams
|
|
30
31
|
from .devbox_list_view import DevboxListView as DevboxListView
|
|
31
32
|
from .object_list_view import ObjectListView as ObjectListView
|
|
32
33
|
from .scoring_contract import ScoringContract as ScoringContract
|