runloop_api_client 1.5.1__tar.gz → 1.8.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 (407) hide show
  1. runloop_api_client-1.8.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/CHANGELOG.md +41 -0
  3. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/api.md +23 -2
  5. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/pyproject.toml +1 -1
  6. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/requirements-dev.lock +9 -24
  7. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_client.py +38 -0
  8. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_compat.py +1 -1
  9. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_version.py +1 -1
  10. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/pagination.py +75 -0
  11. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/__init__.py +14 -0
  12. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/devboxes.py +125 -12
  13. runloop_api_client-1.8.0/src/runloop_api_client/resources/mcp_configs.py +662 -0
  14. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/scenarios/scenarios.py +16 -0
  15. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/scenarios/scorers.py +1 -121
  16. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/__init__.py +8 -0
  17. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/_types.py +16 -5
  18. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_.py +95 -4
  19. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_devbox.py +56 -2
  20. runloop_api_client-1.8.0/src/runloop_api_client/sdk/async_gateway_config.py +108 -0
  21. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_scorer.py +1 -11
  22. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/devbox.py +56 -2
  23. runloop_api_client-1.8.0/src/runloop_api_client/sdk/gateway_config.py +108 -0
  24. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/scorer.py +1 -11
  25. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/sync.py +94 -3
  26. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/__init__.py +6 -0
  27. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_create_params.py +21 -1
  28. runloop_api_client-1.8.0/src/runloop_api_client/types/devbox_resource_usage_view.py +48 -0
  29. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_snapshot_view.py +3 -0
  30. runloop_api_client-1.8.0/src/runloop_api_client/types/mcp_config_create_params.py +33 -0
  31. runloop_api_client-1.8.0/src/runloop_api_client/types/mcp_config_list_params.py +21 -0
  32. runloop_api_client-1.8.0/src/runloop_api_client/types/mcp_config_list_view.py +21 -0
  33. runloop_api_client-1.8.0/src/runloop_api_client/types/mcp_config_update_params.py +27 -0
  34. runloop_api_client-1.8.0/src/runloop_api_client/types/mcp_config_view.py +34 -0
  35. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_create_params.py +3 -0
  36. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_update_params.py +3 -0
  37. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_view.py +3 -0
  38. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -2
  39. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/scenarios/test_scorers.py +0 -151
  40. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_devboxes.py +89 -0
  41. runloop_api_client-1.8.0/tests/api_resources/test_mcp_configs.py +441 -0
  42. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_scenarios.py +4 -0
  43. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/test_core.py +76 -0
  44. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/test_interfaces.py +18 -16
  45. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/conftest.py +27 -0
  46. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/test_core.py +72 -0
  47. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/test_interfaces.py +19 -16
  48. runloop_api_client-1.8.0/tests/sdk/test_async_gateway_config.py +89 -0
  49. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_ops.py +100 -52
  50. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_scorer.py +0 -18
  51. runloop_api_client-1.8.0/tests/sdk/test_gateway_config.py +104 -0
  52. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_ops.py +93 -12
  53. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_scorer.py +0 -20
  54. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_devbox.py +4 -2
  55. runloop_api_client-1.8.0/tests/smoketests/sdk/test_async_gateway_config.py +112 -0
  56. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_scorer.py +0 -19
  57. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_devbox.py +4 -2
  58. runloop_api_client-1.8.0/tests/smoketests/sdk/test_gateway_config.py +112 -0
  59. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_scorer.py +0 -19
  60. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/uv.lock +515 -423
  61. runloop_api_client-1.5.1/.release-please-manifest.json +0 -3
  62. runloop_api_client-1.5.1/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -17
  63. runloop_api_client-1.5.1/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -23
  64. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/.gitignore +0 -0
  65. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/CONTRIBUTING.md +0 -0
  66. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/LICENSE +0 -0
  67. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/README-SDK.md +0 -0
  68. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/README.md +0 -0
  69. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/SECURITY.md +0 -0
  70. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/bin/check-release-environment +0 -0
  71. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/bin/publish-pypi +0 -0
  72. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/examples/.keep +0 -0
  73. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/release-please-config.json +0 -0
  74. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop/lib/.keep +0 -0
  75. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/__init__.py +0 -0
  76. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_base_client.py +0 -0
  77. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_compat.py +0 -0
  78. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_constants.py +0 -0
  79. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_exceptions.py +0 -0
  80. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_files.py +0 -0
  81. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_models.py +0 -0
  82. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_qs.py +0 -0
  83. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_resource.py +0 -0
  84. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_response.py +0 -0
  85. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_streaming.py +0 -0
  86. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_types.py +0 -0
  87. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  88. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  89. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_json.py +0 -0
  90. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  91. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  92. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  93. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  94. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  95. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  96. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  97. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  98. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  99. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  100. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/.keep +0 -0
  101. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/__init__.py +0 -0
  102. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  103. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  104. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/polling.py +0 -0
  105. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  106. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/py.typed +0 -0
  107. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/agents.py +0 -0
  108. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  109. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  110. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  111. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  112. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  113. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  114. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  115. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  116. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  117. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  118. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
  119. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  120. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/objects.py +0 -0
  121. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/repositories.py +0 -0
  122. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  123. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  124. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/resources/secrets.py +0 -0
  125. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  126. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/agent.py +0 -0
  127. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  128. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  129. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  130. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  131. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  132. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  133. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  134. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  135. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  136. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  137. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  138. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  139. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  140. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  141. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  142. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/execution.py +0 -0
  143. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  144. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  145. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  146. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  147. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  148. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  149. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  150. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  151. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  152. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  153. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/agent_view.py +0 -0
  154. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  155. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  156. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  157. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  158. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  159. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
  160. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  161. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  162. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  163. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
  164. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  165. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  166. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  167. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  168. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  169. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  170. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  171. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  172. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  173. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  174. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  175. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  176. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  177. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  178. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  179. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  180. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  181. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  182. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  183. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  184. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  185. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +0 -0
  186. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  187. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  188. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  189. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  190. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  191. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  192. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  193. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  194. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  195. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  196. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  197. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  198. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  199. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  200. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  201. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  202. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  203. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  204. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  205. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  206. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  207. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  208. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  209. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  210. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  211. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  212. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  213. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  214. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  215. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  216. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  217. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  218. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  219. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  220. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  221. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  222. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  223. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  224. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  225. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  226. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  227. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  228. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  229. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  230. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  231. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  232. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  233. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
  234. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  235. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/input_context.py +0 -0
  236. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  237. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  238. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  239. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  240. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  241. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  242. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  243. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  244. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  245. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  246. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  247. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  248. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  249. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  250. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/object_view.py +0 -0
  251. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  252. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  253. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  254. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  255. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  256. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  257. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  258. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  259. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  260. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  261. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  262. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  263. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  264. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  265. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  266. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  267. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  268. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  269. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  270. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  271. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  272. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  273. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  274. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  275. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  276. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  277. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  278. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  279. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  280. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  281. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  282. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  283. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  284. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  285. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  286. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  287. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/secret_view.py +0 -0
  288. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  289. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  290. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  291. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  292. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  293. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  294. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  295. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  296. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  297. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  298. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  299. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  300. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  301. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  302. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  303. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  304. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  305. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  306. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  307. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/__init__.py +0 -0
  308. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/__init__.py +0 -0
  309. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/__init__.py +0 -0
  310. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  311. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  312. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  313. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  314. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  315. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/scenarios/__init__.py +0 -0
  316. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  317. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_agents.py +0 -0
  318. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  319. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  320. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_benchmarks.py +0 -0
  321. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_blueprints.py +0 -0
  322. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_gateway_configs.py +0 -0
  323. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_network_policies.py +0 -0
  324. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_objects.py +0 -0
  325. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_repositories.py +0 -0
  326. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/api_resources/test_secrets.py +0 -0
  327. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/conftest.py +0 -0
  328. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sample_file.txt +0 -0
  329. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/__init__.py +0 -0
  330. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/__init__.py +0 -0
  331. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/conftest.py +0 -0
  332. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  333. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  334. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/__init__.py +0 -0
  335. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/conftest.py +0 -0
  336. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  337. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/devbox/test_streaming.py +0 -0
  338. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_agent.py +0 -0
  339. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_agent.py +0 -0
  340. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_benchmark.py +0 -0
  341. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  342. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_blueprint.py +0 -0
  343. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_execution.py +0 -0
  344. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_execution_result.py +0 -0
  345. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_network_policy.py +0 -0
  346. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_scenario.py +0 -0
  347. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  348. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_scenario_run.py +0 -0
  349. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_snapshot.py +0 -0
  350. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_async_storage_object.py +0 -0
  351. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_benchmark.py +0 -0
  352. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_benchmark_run.py +0 -0
  353. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_blueprint.py +0 -0
  354. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_execution.py +0 -0
  355. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_execution_result.py +0 -0
  356. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_helpers.py +0 -0
  357. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_network_policy.py +0 -0
  358. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_scenario.py +0 -0
  359. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_scenario_builder.py +0 -0
  360. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_scenario_run.py +0 -0
  361. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_snapshot.py +0 -0
  362. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/sdk/test_storage_object.py +0 -0
  363. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/README.md +0 -0
  364. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/__init__.py +0 -0
  365. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/conftest.py +0 -0
  366. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/README.md +0 -0
  367. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/__init__.py +0 -0
  368. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/conftest.py +0 -0
  369. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_agent.py +0 -0
  370. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  371. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  372. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  373. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  374. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  375. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  376. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  377. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  378. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  379. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  380. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  381. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  382. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  383. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  384. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  385. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/test_blueprints.py +0 -0
  386. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/test_devboxes.py +0 -0
  387. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/test_executions.py +0 -0
  388. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  389. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/test_snapshots.py +0 -0
  390. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/smoketests/utils.py +0 -0
  391. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_client.py +0 -0
  392. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_deepcopy.py +0 -0
  393. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_extract_files.py +0 -0
  394. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_files.py +0 -0
  395. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_models.py +0 -0
  396. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_polling.py +0 -0
  397. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_qs.py +0 -0
  398. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_required_args.py +0 -0
  399. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_response.py +0 -0
  400. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_streaming.py +0 -0
  401. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_transform.py +0 -0
  402. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_utils/test_context_loader.py +0 -0
  403. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_utils/test_datetime_parse.py +0 -0
  404. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_utils/test_json.py +0 -0
  405. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_utils/test_proxy.py +0 -0
  406. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/test_utils/test_typing.py +0 -0
  407. {runloop_api_client-1.5.1 → runloop_api_client-1.8.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.8.0"
3
+ }
@@ -1,5 +1,46 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.8.0 (2026-02-12)
4
+
5
+ Full Changelog: [v1.7.0...v1.8.0](https://github.com/runloopai/api-client-python/compare/v1.7.0...v1.8.0)
6
+
7
+ ### Features
8
+
9
+ * **benchmarks:** scenario scoring timeout ([#7300](https://github.com/runloopai/api-client-python/issues/7300)) ([6615183](https://github.com/runloopai/api-client-python/commit/661518379a6d197127014932c0a015757e77aa0d))
10
+ * **devbox:** expose snapshot size (in bytes) ([#7444](https://github.com/runloopai/api-client-python/issues/7444)) ([b25c3f7](https://github.com/runloopai/api-client-python/commit/b25c3f772c62465cf6bb7fa34e7bc57c601eeb28))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * remove duplicate operationId createDevboxTunnel in openapi ([#7397](https://github.com/runloopai/api-client-python/issues/7397)) ([bb2cd8f](https://github.com/runloopai/api-client-python/commit/bb2cd8f4248cc763966a66372e62c1d90e2aa626))
16
+
17
+
18
+ ### Chores
19
+
20
+ * **internal:** bump dependencies ([94e6c44](https://github.com/runloopai/api-client-python/commit/94e6c44f2b398fc498ae96c5b3e8e62da2b8bdf9))
21
+ * **internal:** fix lint error on Python 3.14 ([37ab1b7](https://github.com/runloopai/api-client-python/commit/37ab1b7dbe3b852e9062d6a547510c8d38ee2c35))
22
+
23
+ ## 1.7.0 (2026-02-05)
24
+
25
+ Full Changelog: [v1.5.1...v1.7.0](https://github.com/runloopai/api-client-python/compare/v1.5.1...v1.7.0)
26
+
27
+ ### Features
28
+
29
+ * add api to query devbox usage ([#7296](https://github.com/runloopai/api-client-python/issues/7296)) ([ab903f5](https://github.com/runloopai/api-client-python/commit/ab903f557ecc8be15c8d150068a82dfaaac23f4e))
30
+ * adding MCP Config routes ([#7331](https://github.com/runloopai/api-client-python/issues/7331)) ([79d05c0](https://github.com/runloopai/api-client-python/commit/79d05c00f9bb85a458cc300c5b065b6249a16a88))
31
+ * **devbox:** add mcp configuration to devbox create ([#7341](https://github.com/runloopai/api-client-python/issues/7341)) ([0b81e31](https://github.com/runloopai/api-client-python/commit/0b81e3151e3df41f667923cac4e714ba6d7ca3bc))
32
+ * **devbox:** adding gateway config ([#736](https://github.com/runloopai/api-client-python/issues/736)) ([9f4b49d](https://github.com/runloopai/api-client-python/commit/9f4b49daa13dd3aac5a8ee26a262fd7b5b705ff1))
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * **sdk:** fixed pagination for scorer, scenario and network policy list methods ([#731](https://github.com/runloopai/api-client-python/issues/731)) ([d55fceb](https://github.com/runloopai/api-client-python/commit/d55fceb7d42877cd0ac69a934ef300815f371342))
38
+
39
+
40
+ ### Chores
41
+
42
+ * Mark legacy tunnel methods deprecated ([#737](https://github.com/runloopai/api-client-python/issues/737)) ([764b445](https://github.com/runloopai/api-client-python/commit/764b445018ec50db3105c0dd8ea58b02e4690e12))
43
+
3
44
  ## 1.5.1 (2026-01-30)
4
45
 
5
46
  Full Changelog: [v1.5.0...v1.5.1](https://github.com/runloopai/api-client-python/compare/v1.5.0...v1.5.1)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.5.1
3
+ Version: 1.8.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
@@ -126,6 +126,7 @@ from runloop_api_client.types import (
126
126
  DevboxExecutionDetailView,
127
127
  DevboxKillExecutionRequest,
128
128
  DevboxListView,
129
+ DevboxResourceUsageView,
129
130
  DevboxSendStdInRequest,
130
131
  DevboxSendStdInResult,
131
132
  DevboxSnapshotListView,
@@ -158,6 +159,7 @@ Methods:
158
159
  - <code title="post /v1/devboxes/{id}/read_file_contents">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">read_file_contents</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_read_file_contents_params.py">params</a>) -> str</code>
159
160
  - <code title="post /v1/devboxes/{id}/remove_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">remove_tunnel</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_remove_tunnel_params.py">params</a>) -> object</code>
160
161
  - <code title="post /v1/devboxes/{id}/resume">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">resume</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
162
+ - <code title="get /v1/devboxes/{id}/usage">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve_resource_usage</a>(id) -> <a href="./src/runloop_api_client/types/devbox_resource_usage_view.py">DevboxResourceUsageView</a></code>
161
163
  - <code title="post /v1/devboxes/{id}/shutdown">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">shutdown</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
162
164
  - <code title="post /v1/devboxes/{id}/snapshot_disk">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
163
165
  - <code title="post /v1/devboxes/{id}/snapshot_disk_async">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">snapshot_disk_async</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_snapshot_disk_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_snapshot_view.py">DevboxSnapshotView</a></code>
@@ -299,7 +301,6 @@ from runloop_api_client.types.scenarios import (
299
301
  ScorerRetrieveResponse,
300
302
  ScorerUpdateResponse,
301
303
  ScorerListResponse,
302
- ScorerValidateResponse,
303
304
  )
304
305
  ```
305
306
 
@@ -309,7 +310,6 @@ Methods:
309
310
  - <code title="get /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenarios/scorer_retrieve_response.py">ScorerRetrieveResponse</a></code>
310
311
  - <code title="post /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenarios/scorer_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_update_response.py">ScorerUpdateResponse</a></code>
311
312
  - <code title="get /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_list_response.py">SyncScenarioScorersCursorIDPage[ScorerListResponse]</a></code>
312
- - <code title="post /v1/scenarios/scorers/{id}/validate">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">validate</a>(id, \*\*<a href="src/runloop_api_client/types/scenarios/scorer_validate_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_validate_response.py">ScorerValidateResponse</a></code>
313
313
 
314
314
  # Objects
315
315
 
@@ -420,3 +420,24 @@ Methods:
420
420
  - <code title="post /v1/gateway-configs/{id}">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/gateway_config_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
421
421
  - <code title="get /v1/gateway-configs">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">list</a>(\*\*<a href="src/runloop_api_client/types/gateway_config_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">SyncGatewayConfigsCursorIDPage[GatewayConfigView]</a></code>
422
422
  - <code title="post /v1/gateway-configs/{id}/delete">client.gateway_configs.<a href="./src/runloop_api_client/resources/gateway_configs.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/gateway_config_view.py">GatewayConfigView</a></code>
423
+
424
+ # McpConfigs
425
+
426
+ Types:
427
+
428
+ ```python
429
+ from runloop_api_client.types import (
430
+ McpConfigCreateParameters,
431
+ McpConfigListView,
432
+ McpConfigUpdateParameters,
433
+ McpConfigView,
434
+ )
435
+ ```
436
+
437
+ Methods:
438
+
439
+ - <code title="post /v1/mcp-configs">client.mcp_configs.<a href="./src/runloop_api_client/resources/mcp_configs.py">create</a>(\*\*<a href="src/runloop_api_client/types/mcp_config_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/mcp_config_view.py">McpConfigView</a></code>
440
+ - <code title="get /v1/mcp-configs/{id}">client.mcp_configs.<a href="./src/runloop_api_client/resources/mcp_configs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/mcp_config_view.py">McpConfigView</a></code>
441
+ - <code title="post /v1/mcp-configs/{id}">client.mcp_configs.<a href="./src/runloop_api_client/resources/mcp_configs.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/mcp_config_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/mcp_config_view.py">McpConfigView</a></code>
442
+ - <code title="get /v1/mcp-configs">client.mcp_configs.<a href="./src/runloop_api_client/resources/mcp_configs.py">list</a>(\*\*<a href="src/runloop_api_client/types/mcp_config_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/mcp_config_view.py">SyncMcpConfigsCursorIDPage[McpConfigView]</a></code>
443
+ - <code title="post /v1/mcp-configs/{id}/delete">client.mcp_configs.<a href="./src/runloop_api_client/resources/mcp_configs.py">delete</a>(id) -> <a href="./src/runloop_api_client/types/mcp_config_view.py">McpConfigView</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.5.1"
3
+ version = "1.8.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -3,22 +3,18 @@
3
3
  -e .
4
4
  annotated-types==0.7.0
5
5
  # via pydantic
6
- anyio==4.12.0
6
+ anyio==4.12.1
7
7
  # via
8
8
  # httpx
9
9
  # runloop-api-client
10
10
  backports-asyncio-runner==1.2.0 ; python_full_version < '3.11'
11
11
  # via pytest-asyncio
12
- certifi==2025.11.12
12
+ certifi==2026.1.4
13
13
  # via
14
14
  # httpcore
15
15
  # httpx
16
16
  colorama==0.4.6 ; sys_platform == 'win32'
17
17
  # via pytest
18
- coverage==7.10.7 ; python_full_version < '3.10'
19
- # via pytest-cov
20
- coverage==7.13.0 ; python_full_version >= '3.10'
21
- # via pytest-cov
22
18
  dirty-equals==0.11
23
19
  distro==1.9.0
24
20
  # via runloop-api-client
@@ -40,7 +36,7 @@ idna==3.11
40
36
  # via
41
37
  # anyio
42
38
  # httpx
43
- importlib-metadata==8.7.0
39
+ importlib-metadata==8.7.1
44
40
  iniconfig==2.1.0 ; python_full_version < '3.10'
45
41
  # via pytest
46
42
  iniconfig==2.3.0 ; python_full_version >= '3.10'
@@ -54,16 +50,14 @@ mdurl==0.1.2
54
50
  mypy==1.17.0
55
51
  mypy-extensions==1.1.0
56
52
  # via mypy
57
- nodeenv==1.9.1
53
+ nodeenv==1.10.0
58
54
  # via pyright
59
55
  packaging==25.0
60
56
  # via pytest
61
- pathspec==0.12.1
57
+ pathspec==1.0.3
62
58
  # via mypy
63
59
  pluggy==1.6.0
64
- # via
65
- # pytest
66
- # pytest-cov
60
+ # via pytest
67
61
  pydantic==2.12.5
68
62
  # via runloop-api-client
69
63
  pydantic-core==2.41.5
@@ -76,34 +70,27 @@ pyright==1.1.399
76
70
  pytest==8.4.2 ; python_full_version < '3.10'
77
71
  # via
78
72
  # pytest-asyncio
79
- # pytest-cov
80
- # pytest-timeout
81
73
  # pytest-xdist
82
74
  pytest==9.0.2 ; python_full_version >= '3.10'
83
75
  # via
84
76
  # pytest-asyncio
85
- # pytest-cov
86
- # pytest-timeout
87
77
  # pytest-xdist
88
78
  pytest-asyncio==1.2.0 ; python_full_version < '3.10'
89
79
  pytest-asyncio==1.3.0 ; python_full_version >= '3.10'
90
- pytest-cov==7.0.0
91
- pytest-timeout==2.4.0
92
80
  pytest-xdist==3.8.0
93
81
  python-dateutil==2.9.0.post0 ; python_full_version < '3.10'
94
82
  # via time-machine
95
83
  respx==0.22.0
96
84
  rich==14.2.0
97
- ruff==0.14.9
85
+ ruff==0.14.13
98
86
  six==1.17.0 ; python_full_version < '3.10'
99
87
  # via python-dateutil
100
88
  sniffio==1.3.1
101
89
  # via runloop-api-client
102
90
  time-machine==2.19.0 ; python_full_version < '3.10'
103
- time-machine==3.1.0 ; python_full_version >= '3.10'
104
- tomli==2.3.0 ; python_full_version <= '3.11'
91
+ time-machine==3.2.0 ; python_full_version >= '3.10'
92
+ tomli==2.4.0 ; python_full_version < '3.11'
105
93
  # via
106
- # coverage
107
94
  # mypy
108
95
  # pytest
109
96
  typing-extensions==4.15.0
@@ -119,7 +106,5 @@ typing-extensions==4.15.0
119
106
  # typing-inspection
120
107
  typing-inspection==0.4.2
121
108
  # via pydantic
122
- uuid-utils==0.12.0
123
- # via runloop-api-client
124
109
  zipp==3.23.0
125
110
  # via importlib-metadata
@@ -39,6 +39,7 @@ if TYPE_CHECKING:
39
39
  scenarios,
40
40
  benchmarks,
41
41
  blueprints,
42
+ mcp_configs,
42
43
  repositories,
43
44
  benchmark_jobs,
44
45
  benchmark_runs,
@@ -50,6 +51,7 @@ if TYPE_CHECKING:
50
51
  from .resources.secrets import SecretsResource, AsyncSecretsResource
51
52
  from .resources.benchmarks import BenchmarksResource, AsyncBenchmarksResource
52
53
  from .resources.blueprints import BlueprintsResource, AsyncBlueprintsResource
54
+ from .resources.mcp_configs import McpConfigsResource, AsyncMcpConfigsResource
53
55
  from .resources.repositories import RepositoriesResource, AsyncRepositoriesResource
54
56
  from .resources.benchmark_jobs import BenchmarkJobsResource, AsyncBenchmarkJobsResource
55
57
  from .resources.benchmark_runs import BenchmarkRunsResource, AsyncBenchmarkRunsResource
@@ -190,6 +192,12 @@ class Runloop(SyncAPIClient):
190
192
 
191
193
  return GatewayConfigsResource(self)
192
194
 
195
+ @cached_property
196
+ def mcp_configs(self) -> McpConfigsResource:
197
+ from .resources.mcp_configs import McpConfigsResource
198
+
199
+ return McpConfigsResource(self)
200
+
193
201
  @cached_property
194
202
  def with_raw_response(self) -> RunloopWithRawResponse:
195
203
  return RunloopWithRawResponse(self)
@@ -432,6 +440,12 @@ class AsyncRunloop(AsyncAPIClient):
432
440
 
433
441
  return AsyncGatewayConfigsResource(self)
434
442
 
443
+ @cached_property
444
+ def mcp_configs(self) -> AsyncMcpConfigsResource:
445
+ from .resources.mcp_configs import AsyncMcpConfigsResource
446
+
447
+ return AsyncMcpConfigsResource(self)
448
+
435
449
  @cached_property
436
450
  def with_raw_response(self) -> AsyncRunloopWithRawResponse:
437
451
  return AsyncRunloopWithRawResponse(self)
@@ -623,6 +637,12 @@ class RunloopWithRawResponse:
623
637
 
624
638
  return GatewayConfigsResourceWithRawResponse(self._client.gateway_configs)
625
639
 
640
+ @cached_property
641
+ def mcp_configs(self) -> mcp_configs.McpConfigsResourceWithRawResponse:
642
+ from .resources.mcp_configs import McpConfigsResourceWithRawResponse
643
+
644
+ return McpConfigsResourceWithRawResponse(self._client.mcp_configs)
645
+
626
646
 
627
647
  class AsyncRunloopWithRawResponse:
628
648
  _client: AsyncRunloop
@@ -702,6 +722,12 @@ class AsyncRunloopWithRawResponse:
702
722
 
703
723
  return AsyncGatewayConfigsResourceWithRawResponse(self._client.gateway_configs)
704
724
 
725
+ @cached_property
726
+ def mcp_configs(self) -> mcp_configs.AsyncMcpConfigsResourceWithRawResponse:
727
+ from .resources.mcp_configs import AsyncMcpConfigsResourceWithRawResponse
728
+
729
+ return AsyncMcpConfigsResourceWithRawResponse(self._client.mcp_configs)
730
+
705
731
 
706
732
  class RunloopWithStreamedResponse:
707
733
  _client: Runloop
@@ -781,6 +807,12 @@ class RunloopWithStreamedResponse:
781
807
 
782
808
  return GatewayConfigsResourceWithStreamingResponse(self._client.gateway_configs)
783
809
 
810
+ @cached_property
811
+ def mcp_configs(self) -> mcp_configs.McpConfigsResourceWithStreamingResponse:
812
+ from .resources.mcp_configs import McpConfigsResourceWithStreamingResponse
813
+
814
+ return McpConfigsResourceWithStreamingResponse(self._client.mcp_configs)
815
+
784
816
 
785
817
  class AsyncRunloopWithStreamedResponse:
786
818
  _client: AsyncRunloop
@@ -860,6 +892,12 @@ class AsyncRunloopWithStreamedResponse:
860
892
 
861
893
  return AsyncGatewayConfigsResourceWithStreamingResponse(self._client.gateway_configs)
862
894
 
895
+ @cached_property
896
+ def mcp_configs(self) -> mcp_configs.AsyncMcpConfigsResourceWithStreamingResponse:
897
+ from .resources.mcp_configs import AsyncMcpConfigsResourceWithStreamingResponse
898
+
899
+ return AsyncMcpConfigsResourceWithStreamingResponse(self._client.mcp_configs)
900
+
863
901
 
864
902
  Client = Runloop
865
903
 
@@ -26,7 +26,7 @@ def is_union(tp: Optional[Type[Any]]) -> bool:
26
26
  else:
27
27
  import types
28
28
 
29
- return tp is Union or tp is types.UnionType
29
+ return tp is Union or tp is types.UnionType # type: ignore[comparison-overlap]
30
30
 
31
31
 
32
32
  def is_typeddict(tp: Type[Any]) -> bool:
@@ -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.5.1" # x-release-please-version
4
+ __version__ = "1.8.0" # x-release-please-version
@@ -32,6 +32,8 @@ __all__ = [
32
32
  "AsyncNetworkPoliciesCursorIDPage",
33
33
  "SyncGatewayConfigsCursorIDPage",
34
34
  "AsyncGatewayConfigsCursorIDPage",
35
+ "SyncMcpConfigsCursorIDPage",
36
+ "AsyncMcpConfigsCursorIDPage",
35
37
  ]
36
38
 
37
39
  _T = TypeVar("_T")
@@ -102,6 +104,11 @@ class GatewayConfigsCursorIDPageItem(Protocol):
102
104
  id: str
103
105
 
104
106
 
107
+ @runtime_checkable
108
+ class McpConfigsCursorIDPageItem(Protocol):
109
+ id: str
110
+
111
+
105
112
  class SyncBlueprintsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
106
113
  blueprints: List[_T]
107
114
  has_more: Optional[bool] = None
@@ -984,3 +991,71 @@ class AsyncGatewayConfigsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_
984
991
  return None
985
992
 
986
993
  return PageInfo(params={"starting_after": item.id})
994
+
995
+
996
+ class SyncMcpConfigsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
997
+ mcp_configs: List[_T]
998
+ has_more: Optional[bool] = None
999
+ total_count: Optional[int] = None
1000
+
1001
+ @override
1002
+ def _get_page_items(self) -> List[_T]:
1003
+ mcp_configs = self.mcp_configs
1004
+ if not mcp_configs:
1005
+ return []
1006
+ return mcp_configs
1007
+
1008
+ @override
1009
+ def has_next_page(self) -> bool:
1010
+ has_more = self.has_more
1011
+ if has_more is not None and has_more is False:
1012
+ return False
1013
+
1014
+ return super().has_next_page()
1015
+
1016
+ @override
1017
+ def next_page_info(self) -> Optional[PageInfo]:
1018
+ mcp_configs = self.mcp_configs
1019
+ if not mcp_configs:
1020
+ return None
1021
+
1022
+ item = cast(Any, mcp_configs[-1])
1023
+ if not isinstance(item, McpConfigsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
1024
+ # TODO emit warning log
1025
+ return None
1026
+
1027
+ return PageInfo(params={"starting_after": item.id})
1028
+
1029
+
1030
+ class AsyncMcpConfigsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
1031
+ mcp_configs: List[_T]
1032
+ has_more: Optional[bool] = None
1033
+ total_count: Optional[int] = None
1034
+
1035
+ @override
1036
+ def _get_page_items(self) -> List[_T]:
1037
+ mcp_configs = self.mcp_configs
1038
+ if not mcp_configs:
1039
+ return []
1040
+ return mcp_configs
1041
+
1042
+ @override
1043
+ def has_next_page(self) -> bool:
1044
+ has_more = self.has_more
1045
+ if has_more is not None and has_more is False:
1046
+ return False
1047
+
1048
+ return super().has_next_page()
1049
+
1050
+ @override
1051
+ def next_page_info(self) -> Optional[PageInfo]:
1052
+ mcp_configs = self.mcp_configs
1053
+ if not mcp_configs:
1054
+ return None
1055
+
1056
+ item = cast(Any, mcp_configs[-1])
1057
+ if not isinstance(item, McpConfigsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
1058
+ # TODO emit warning log
1059
+ return None
1060
+
1061
+ return PageInfo(params={"starting_after": item.id})
@@ -56,6 +56,14 @@ from .blueprints import (
56
56
  BlueprintsResourceWithStreamingResponse,
57
57
  AsyncBlueprintsResourceWithStreamingResponse,
58
58
  )
59
+ from .mcp_configs import (
60
+ McpConfigsResource,
61
+ AsyncMcpConfigsResource,
62
+ McpConfigsResourceWithRawResponse,
63
+ AsyncMcpConfigsResourceWithRawResponse,
64
+ McpConfigsResourceWithStreamingResponse,
65
+ AsyncMcpConfigsResourceWithStreamingResponse,
66
+ )
59
67
  from .repositories import (
60
68
  RepositoriesResource,
61
69
  AsyncRepositoriesResource,
@@ -170,4 +178,10 @@ __all__ = [
170
178
  "AsyncGatewayConfigsResourceWithRawResponse",
171
179
  "GatewayConfigsResourceWithStreamingResponse",
172
180
  "AsyncGatewayConfigsResourceWithStreamingResponse",
181
+ "McpConfigsResource",
182
+ "AsyncMcpConfigsResource",
183
+ "McpConfigsResourceWithRawResponse",
184
+ "AsyncMcpConfigsResourceWithRawResponse",
185
+ "McpConfigsResourceWithStreamingResponse",
186
+ "AsyncMcpConfigsResourceWithStreamingResponse",
173
187
  ]