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.
Files changed (456) hide show
  1. runloop_api_client-1.14.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/CHANGELOG.md +41 -0
  3. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/README-SDK.md +111 -0
  5. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/api.md +1 -1
  6. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/pyproject.toml +1 -1
  7. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_qs.py +4 -1
  8. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_version.py +1 -1
  9. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/pagination.py +75 -0
  10. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/axons.py +96 -14
  11. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/devboxes.py +10 -0
  12. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/_types.py +5 -0
  13. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_.py +9 -3
  14. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_devbox.py +3 -1
  15. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/devbox.py +3 -1
  16. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/sync.py +9 -3
  17. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/__init__.py +1 -0
  18. runloop_api_client-1.14.0/src/runloop_api_client/types/axon_list_params.py +27 -0
  19. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_list_view.py +5 -1
  20. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_view.py +6 -3
  21. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_view.py +7 -0
  22. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_create_params.py +6 -0
  23. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +6 -0
  24. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/launch_parameters.py +8 -1
  25. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +8 -1
  26. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/tunnel_view.py +6 -0
  27. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_axons.py +33 -7
  28. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_devboxes.py +4 -0
  29. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_core.py +24 -0
  30. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_core.py +23 -0
  31. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_devbox.py +23 -22
  32. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_devbox.py +23 -23
  33. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/uv.lock +1 -1
  34. runloop_api_client-1.13.2/.release-please-manifest.json +0 -3
  35. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/.gitignore +0 -0
  36. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/CONTRIBUTING.md +0 -0
  37. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/EXAMPLES.md +0 -0
  38. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/LICENSE +0 -0
  39. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/README.md +0 -0
  40. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/SECURITY.md +0 -0
  41. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/bin/check-release-environment +0 -0
  42. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/bin/publish-pypi +0 -0
  43. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/__init__.py +0 -0
  44. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/_harness.py +0 -0
  45. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/blueprint_with_build_context.py +0 -0
  46. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  47. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_snapshot_resume.py +0 -0
  48. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/devbox_tunnel.py +0 -0
  49. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/example_types.py +0 -0
  50. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/mcp_github_tools.py +0 -0
  51. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/registry.py +0 -0
  52. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/examples/secrets_with_devbox.py +0 -0
  53. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/release-please-config.json +0 -0
  54. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/requirements-dev.lock +0 -0
  55. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop/lib/.keep +0 -0
  56. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/__init__.py +0 -0
  57. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_base_client.py +0 -0
  58. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_client.py +0 -0
  59. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_compat.py +0 -0
  60. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_constants.py +0 -0
  61. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_exceptions.py +0 -0
  62. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_files.py +0 -0
  63. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_models.py +0 -0
  64. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_resource.py +0 -0
  65. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_response.py +0 -0
  66. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_streaming.py +0 -0
  67. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_types.py +0 -0
  68. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  69. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  70. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  71. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_json.py +0 -0
  72. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  73. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_path.py +0 -0
  74. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  75. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  76. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  77. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  78. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  79. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  80. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  81. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  82. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  83. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/.keep +0 -0
  84. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/__init__.py +0 -0
  85. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  86. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  87. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/polling.py +0 -0
  88. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  89. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/py.typed +0 -0
  90. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/__init__.py +0 -0
  91. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/agents.py +0 -0
  92. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  93. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  94. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  95. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  96. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  97. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  98. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  99. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  100. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  101. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  102. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  103. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  104. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
  105. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
  106. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  107. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/objects.py +0 -0
  108. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/repositories.py +0 -0
  109. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  110. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  111. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  112. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  113. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/resources/secrets.py +0 -0
  114. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  115. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  116. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/agent.py +0 -0
  117. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  118. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  119. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  120. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  121. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  122. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  123. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  124. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  125. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  126. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  127. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  128. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  129. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  130. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  131. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
  132. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  133. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  134. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/axon.py +0 -0
  135. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  136. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  137. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  138. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/execution.py +0 -0
  139. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  140. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  141. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  142. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  143. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  144. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  145. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  146. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  147. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/secret.py +0 -0
  148. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  149. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  150. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  151. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  152. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  153. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/agent_view.py +0 -0
  154. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  155. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  156. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  157. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axon_view.py +0 -0
  158. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  159. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  160. {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
  161. {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
  162. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  163. {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
  164. {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
  165. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  166. {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
  167. {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
  168. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  169. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  170. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  171. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  172. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  173. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  174. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  175. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  176. {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
  177. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  178. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  179. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  180. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  181. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  182. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  183. {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
  184. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  185. {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
  186. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  187. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  188. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  189. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  190. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  191. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  192. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  193. {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
  194. {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
  195. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  196. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  197. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  198. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  199. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  200. {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
  201. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  202. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  203. {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
  204. {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
  205. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  206. {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
  207. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  208. {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
  209. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  210. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  211. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  212. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  213. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  214. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  215. {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
  216. {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
  217. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  218. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  219. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  220. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  221. {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
  222. {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
  223. {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
  224. {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
  225. {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
  226. {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
  227. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  228. {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
  229. {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
  230. {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
  231. {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
  232. {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
  233. {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
  234. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  235. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  236. {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
  237. {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
  238. {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
  239. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  240. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  241. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  242. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  243. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  244. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
  245. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  246. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context.py +0 -0
  247. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  248. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  249. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  250. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
  251. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
  252. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  253. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
  254. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
  255. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  256. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  257. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  258. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  259. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  260. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  261. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  262. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  263. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  264. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  265. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  266. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/object_view.py +0 -0
  267. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  268. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  269. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  270. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  271. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  272. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  273. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  274. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  275. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  276. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  277. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  278. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  279. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  280. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  281. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  282. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  283. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  284. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  285. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  286. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  287. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  288. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  289. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  290. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  291. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  292. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  293. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  294. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  295. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  296. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  297. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  298. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  299. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  300. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  301. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  302. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  303. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  304. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  305. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  306. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  307. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  308. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/secret_view.py +0 -0
  309. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  310. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  311. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  312. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  313. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
  314. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  315. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  316. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  317. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  318. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  319. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  320. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  321. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  322. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
  323. {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
  324. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  325. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  326. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  327. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/__init__.py +0 -0
  328. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/__init__.py +0 -0
  329. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/axons/__init__.py +0 -0
  330. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/axons/test_sql.py +0 -0
  331. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/__init__.py +0 -0
  332. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  333. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  334. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  335. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  336. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  337. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/__init__.py +0 -0
  338. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  339. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  340. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_agents.py +0 -0
  341. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  342. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  343. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_benchmarks.py +0 -0
  344. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_blueprints.py +0 -0
  345. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_gateway_configs.py +0 -0
  346. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_mcp_configs.py +0 -0
  347. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_network_policies.py +0 -0
  348. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_objects.py +0 -0
  349. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_repositories.py +0 -0
  350. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_scenarios.py +0 -0
  351. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/api_resources/test_secrets.py +0 -0
  352. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/conftest.py +0 -0
  353. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sample_file.txt +0 -0
  354. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/__init__.py +0 -0
  355. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/__init__.py +0 -0
  356. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/conftest.py +0 -0
  357. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  358. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  359. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  360. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/conftest.py +0 -0
  361. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/__init__.py +0 -0
  362. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/conftest.py +0 -0
  363. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  364. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  365. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/devbox/test_streaming.py +0 -0
  366. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_agent.py +0 -0
  367. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_agent.py +0 -0
  368. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_axon.py +0 -0
  369. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_benchmark.py +0 -0
  370. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  371. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_blueprint.py +0 -0
  372. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_execution.py +0 -0
  373. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_execution_result.py +0 -0
  374. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_gateway_config.py +0 -0
  375. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_network_policy.py +0 -0
  376. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_ops.py +0 -0
  377. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario.py +0 -0
  378. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  379. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scenario_run.py +0 -0
  380. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_scorer.py +0 -0
  381. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_snapshot.py +0 -0
  382. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_async_storage_object.py +0 -0
  383. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_axon.py +0 -0
  384. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_benchmark.py +0 -0
  385. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_benchmark_run.py +0 -0
  386. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_blueprint.py +0 -0
  387. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_execution.py +0 -0
  388. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_execution_result.py +0 -0
  389. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_gateway_config.py +0 -0
  390. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_helpers.py +0 -0
  391. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_network_policy.py +0 -0
  392. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_ops.py +0 -0
  393. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario.py +0 -0
  394. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario_builder.py +0 -0
  395. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scenario_run.py +0 -0
  396. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_scorer.py +0 -0
  397. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_snapshot.py +0 -0
  398. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/sdk/test_storage_object.py +0 -0
  399. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/README.md +0 -0
  400. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/__init__.py +0 -0
  401. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/conftest.py +0 -0
  402. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/examples/__init__.py +0 -0
  403. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/examples/test_examples.py +0 -0
  404. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/README.md +0 -0
  405. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/__init__.py +0 -0
  406. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/conftest.py +0 -0
  407. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_agent.py +0 -0
  408. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  409. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  410. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  411. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  412. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  413. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  414. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  415. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  416. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  417. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
  418. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  419. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  420. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_axon.py +0 -0
  421. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  422. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  423. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  424. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  425. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  426. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  427. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  428. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  429. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_secret.py +0 -0
  430. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  431. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  432. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_blueprints.py +0 -0
  433. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_devboxes.py +0 -0
  434. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_executions.py +0 -0
  435. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  436. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/test_snapshots.py +0 -0
  437. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/smoketests/utils.py +0 -0
  438. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_client.py +0 -0
  439. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_command_id.py +0 -0
  440. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_deepcopy.py +0 -0
  441. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_extract_files.py +0 -0
  442. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_files.py +0 -0
  443. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_models.py +0 -0
  444. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_polling.py +0 -0
  445. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_qs.py +0 -0
  446. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_required_args.py +0 -0
  447. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_response.py +0 -0
  448. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_streaming.py +0 -0
  449. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_transform.py +0 -0
  450. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_context_loader.py +0 -0
  451. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_datetime_parse.py +0 -0
  452. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_json.py +0 -0
  453. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_path.py +0 -0
  454. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_proxy.py +0 -0
  455. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/test_utils/test_typing.py +0 -0
  456. {runloop_api_client-1.13.2 → runloop_api_client-1.14.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.14.0"
3
+ }
@@ -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.13.2
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/axon_list_view.py">AxonListView</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/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
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.13.2"
3
+ version = "1.14.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -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
- raise NotImplementedError("The array indices format is not supported yet")
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 + "[]"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "1.13.2" # x-release-please-version
4
+ __version__ = "1.14.0" # x-release-please-version
@@ -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 ..._base_client import make_request_options
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
- ) -> AxonListView:
147
- """[Beta] List all active axons."""
148
- return self._get(
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, extra_query=extra_query, extra_body=extra_body, timeout=timeout
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
- cast_to=AxonListView,
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
- async def list(
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
- ) -> AxonListView:
363
- """[Beta] List all active axons."""
364
- return await self._get(
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, extra_query=extra_query, extra_body=extra_body, timeout=timeout
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
- cast_to=AxonListView,
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
  ),
@@ -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
 
@@ -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, **options: Unpack[BaseRequestOptions]) -> list[AsyncAxon]:
548
- """[Beta] List all active axons."""
549
- result = await self._client.axons.list(**options)
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
 
@@ -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
- return f"https://{port}-{tunnel_view.tunnel_key}.tunnel.runloop.ai"
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,
@@ -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
- return f"https://{port}-{tunnel_view.tunnel_key}.tunnel.runloop.ai"
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, **options: Unpack[BaseRequestOptions]) -> list[Axon]:
543
- """[Beta] List all active axons."""
544
- result = self._client.axons.list(**options)
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
 
@@ -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