runloop_api_client 0.69.0__tar.gz → 1.0.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 (332) hide show
  1. runloop_api_client-1.0.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/CHANGELOG.md +30 -0
  3. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/README-SDK.md +18 -18
  5. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/blueprints.py +0 -28
  8. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/devboxes.py +4 -4
  9. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/scenarios.py +22 -10
  10. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/__init__.py +12 -3
  11. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/_types.py +29 -14
  12. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_.py +102 -18
  13. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_blueprint.py +3 -3
  14. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_devbox.py +151 -16
  15. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_execution.py +3 -3
  16. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_execution_result.py +1 -1
  17. runloop_api_client-1.0.0/src/runloop_api_client/sdk/async_scorer.py +77 -0
  18. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_snapshot.py +3 -3
  19. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/async_storage_object.py +2 -2
  20. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/blueprint.py +3 -3
  21. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/devbox.py +159 -24
  22. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/execution.py +3 -3
  23. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/execution_result.py +1 -1
  24. runloop_api_client-1.0.0/src/runloop_api_client/sdk/scorer.py +77 -0
  25. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/snapshot.py +3 -3
  26. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/storage_object.py +2 -2
  27. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/sync.py +102 -18
  28. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_parameters.py +1 -16
  29. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_create_params.py +1 -16
  30. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_preview_params.py +1 -16
  31. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_params.py +2 -2
  32. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_async_params.py +11 -9
  33. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +1 -1
  34. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +1 -1
  35. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +1 -1
  36. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +1 -1
  37. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/launch_parameters.py +1 -1
  38. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/mount.py +5 -6
  39. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/run_profile.py +5 -1
  40. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +1 -1
  41. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/mount.py +5 -6
  42. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/run_profile.py +5 -1
  43. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_benchmarks.py +14 -0
  44. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_blueprints.py +0 -24
  45. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_scenarios.py +14 -0
  46. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_core.py +6 -6
  47. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_interfaces.py +3 -3
  48. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_streaming.py +1 -1
  49. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/conftest.py +16 -0
  50. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_core.py +6 -6
  51. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_interfaces.py +6 -6
  52. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_streaming.py +1 -1
  53. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_blueprint.py +4 -4
  54. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_execution_result.py +2 -2
  55. runloop_api_client-0.69.0/tests/sdk/test_async_clients.py → runloop_api_client-1.0.0/tests/sdk/test_async_ops.py +319 -81
  56. runloop_api_client-1.0.0/tests/sdk/test_async_scorer.py +69 -0
  57. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_snapshot.py +5 -5
  58. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_storage_object.py +5 -5
  59. runloop_api_client-0.69.0/tests/sdk/test_clients.py → runloop_api_client-1.0.0/tests/sdk/test_ops.py +293 -77
  60. runloop_api_client-1.0.0/tests/sdk/test_scorer.py +71 -0
  61. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_blueprint.py +1 -1
  62. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_devbox.py +329 -11
  63. runloop_api_client-1.0.0/tests/smoketests/sdk/test_async_scorer.py +122 -0
  64. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_storage_object.py +15 -15
  65. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_blueprint.py +1 -1
  66. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_devbox.py +322 -11
  67. runloop_api_client-1.0.0/tests/smoketests/sdk/test_scorer.py +122 -0
  68. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_storage_object.py +15 -15
  69. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/uv.lock +1 -1
  70. runloop_api_client-0.69.0/.release-please-manifest.json +0 -3
  71. runloop_api_client-0.69.0/src/runloop_api_client/sdk/protocols.py +0 -201
  72. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/.gitignore +0 -0
  73. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/CONTRIBUTING.md +0 -0
  74. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/LICENSE +0 -0
  75. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/README.md +0 -0
  76. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/SECURITY.md +0 -0
  77. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/api.md +0 -0
  78. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/bin/check-release-environment +0 -0
  79. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/bin/publish-pypi +0 -0
  80. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/examples/.keep +0 -0
  81. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/release-please-config.json +0 -0
  82. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/requirements-dev.lock +0 -0
  83. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop/lib/.keep +0 -0
  84. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/__init__.py +0 -0
  85. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_base_client.py +0 -0
  86. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_client.py +0 -0
  87. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_compat.py +0 -0
  88. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_constants.py +0 -0
  89. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_exceptions.py +0 -0
  90. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_files.py +0 -0
  91. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_models.py +0 -0
  92. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_qs.py +0 -0
  93. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_resource.py +0 -0
  94. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_response.py +0 -0
  95. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_streaming.py +0 -0
  96. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_types.py +0 -0
  97. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  98. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  99. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  100. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  101. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  102. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  103. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  104. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  105. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  106. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  107. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  108. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  109. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  110. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/.keep +0 -0
  111. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/polling.py +0 -0
  112. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  113. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/pagination.py +0 -0
  114. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/py.typed +0 -0
  115. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/__init__.py +0 -0
  116. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/agents.py +0 -0
  117. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  118. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  119. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  120. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  121. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  122. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  123. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  124. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  125. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  126. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/objects.py +0 -0
  127. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/repositories.py +0 -0
  128. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  129. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  130. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  131. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/resources/secrets.py +0 -0
  132. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  133. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/__init__.py +0 -0
  134. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  135. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  136. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  137. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/agent_view.py +0 -0
  138. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  139. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  140. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  141. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  142. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  143. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  144. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  145. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  146. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  147. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  148. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  149. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  150. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  151. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  152. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  153. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  154. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  155. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  156. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  157. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  158. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  159. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  160. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  161. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  162. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  163. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  164. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  165. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  166. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  167. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  168. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  169. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  170. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  171. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  172. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  173. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  174. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  175. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  176. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  177. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  178. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  179. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  180. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  181. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  182. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  183. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  184. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  185. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  186. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  187. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  188. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  189. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  190. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  191. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  192. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  193. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  194. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  195. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  196. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  197. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  198. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  199. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  200. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  201. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  202. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  203. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  204. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  205. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  206. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context.py +0 -0
  207. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  208. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  209. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  210. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  211. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  212. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  213. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  214. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  215. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  216. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/object_view.py +0 -0
  217. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  218. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  219. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  220. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -0
  221. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  222. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  223. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  224. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  225. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  226. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  227. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  228. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  229. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  230. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  231. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  232. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  233. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  234. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  235. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  236. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  237. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  238. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  239. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  240. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  241. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  242. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  243. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  244. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  245. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  246. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  247. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  248. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  249. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  250. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  251. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  252. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  253. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  254. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  255. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/secret_view.py +0 -0
  256. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  257. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  258. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/agent_mount_parameters.py +0 -0
  259. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  260. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  261. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared/object_mount_parameters.py +0 -0
  262. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  263. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  264. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +0 -0
  265. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  266. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  267. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/src/runloop_api_client/types/shared_params/object_mount_parameters.py +0 -0
  268. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/__init__.py +0 -0
  269. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/__init__.py +0 -0
  270. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  271. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  272. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/__init__.py +0 -0
  273. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  274. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  275. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  276. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  277. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  278. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/__init__.py +0 -0
  279. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  280. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  281. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_agents.py +0 -0
  282. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_devboxes.py +0 -0
  283. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_objects.py +0 -0
  284. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_repositories.py +0 -0
  285. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/api_resources/test_secrets.py +0 -0
  286. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/conftest.py +0 -0
  287. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sample_file.txt +0 -0
  288. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/__init__.py +0 -0
  289. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/__init__.py +0 -0
  290. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/conftest.py +0 -0
  291. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  292. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/__init__.py +0 -0
  293. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/conftest.py +0 -0
  294. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  295. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_async_execution.py +0 -0
  296. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_blueprint.py +0 -0
  297. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_execution.py +0 -0
  298. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_execution_result.py +0 -0
  299. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_helpers.py +0 -0
  300. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_snapshot.py +0 -0
  301. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/sdk/test_storage_object.py +0 -0
  302. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/README.md +0 -0
  303. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/__init__.py +0 -0
  304. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/conftest.py +0 -0
  305. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/README.md +0 -0
  306. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/__init__.py +0 -0
  307. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/conftest.py +0 -0
  308. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  309. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  310. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  311. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  312. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_blueprints.py +0 -0
  313. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_devboxes.py +0 -0
  314. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_executions.py +0 -0
  315. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  316. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/test_snapshots.py +0 -0
  317. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/smoketests/utils.py +0 -0
  318. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_client.py +0 -0
  319. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_deepcopy.py +0 -0
  320. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_extract_files.py +0 -0
  321. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_files.py +0 -0
  322. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_models.py +0 -0
  323. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_polling.py +0 -0
  324. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_qs.py +0 -0
  325. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_required_args.py +0 -0
  326. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_response.py +0 -0
  327. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_streaming.py +0 -0
  328. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_transform.py +0 -0
  329. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_datetime_parse.py +0 -0
  330. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_proxy.py +0 -0
  331. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/test_utils/test_typing.py +0 -0
  332. {runloop_api_client-0.69.0 → runloop_api_client-1.0.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.0.0"
3
+ }
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.0 (2025-12-02)
4
+
5
+ Full Changelog: [v0.69.0...v1.0.0](https://github.com/runloopai/api-client-python/compare/v0.69.0...v1.0.0)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * **devbox:** made command positional arg in exec and exec_async ([#695](https://github.com/runloopai/api-client-python/issues/695))
10
+
11
+ ### Features
12
+
13
+ * **blueprints:** Add build context to the OpenAPI spec ([#6494](https://github.com/runloopai/api-client-python/issues/6494)) ([d202b94](https://github.com/runloopai/api-client-python/commit/d202b942c07614ca954a8bbe3a9a6302e9a04216))
14
+ * **devbox:** added devbox.shell(shellName) command and stateful shell class to SDK ([#696](https://github.com/runloopai/api-client-python/issues/696)) ([c1e8f09](https://github.com/runloopai/api-client-python/commit/c1e8f0965a419ff53d830ba3c43a1c9a29dae5c7))
15
+ * **devbox:** made command positional arg in exec and exec_async ([#695](https://github.com/runloopai/api-client-python/issues/695)) ([6cc8c2f](https://github.com/runloopai/api-client-python/commit/6cc8c2fd4f904e8cc4386d81558157ca6fb69bfa))
16
+ * **sdk:** added scorer classes to sdk ([#698](https://github.com/runloopai/api-client-python/issues/698)) ([85f798f](https://github.com/runloopai/api-client-python/commit/85f798f2d8a7727b783e01a260ff0a52bdf01d78))
17
+
18
+
19
+ ### Bug Fixes
20
+
21
+ * **api:** don't ignore devbox keep_alive, suspend and resume in api ([fe3589f](https://github.com/runloopai/api-client-python/commit/fe3589f5fbb36a5b79f1d4a25e86f88676556fdb))
22
+ * **devbox:** launch parameter typo ([1c9c346](https://github.com/runloopai/api-client-python/commit/1c9c346e475b64fc389928fee0f7140e532c4f9c))
23
+ * **scenarios:** update parameters for manually maintained start_run_and_await_env_ready methods ([#692](https://github.com/runloopai/api-client-python/issues/692)) ([8000495](https://github.com/runloopai/api-client-python/commit/8000495f70b2e6f4f12742fb8a6d641dbbc088ca))
24
+ * **scorer:** fixed RL_TEST_CONTEXT to RL_SCORER_CONTEXT ([df43a42](https://github.com/runloopai/api-client-python/commit/df43a42a45b9ce67aba27835a41c9a0ebfc6a407))
25
+
26
+
27
+ ### Chores
28
+
29
+ * **blueprints:** Add build context examples ([#694](https://github.com/runloopai/api-client-python/issues/694)) ([6e63928](https://github.com/runloopai/api-client-python/commit/6e6392864b3cde20dfea5d173fed9a156b960ccd))
30
+ * hide build context APIs ([159a38f](https://github.com/runloopai/api-client-python/commit/159a38f0980c00430a1b949541076b0d63df2df2))
31
+ * **mounts:** Update documentation for deprecated fields to direct the user to the replacement API ([4936844](https://github.com/runloopai/api-client-python/commit/4936844989ec7a0d37c835dd37b8007e8caba944))
32
+
3
33
  ## 0.69.0 (2025-11-21)
4
34
 
5
35
  Full Changelog: [v0.68.0...v0.69.0](https://github.com/runloopai/api-client-python/compare/v0.68.0...v0.69.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.69.0
3
+ Version: 1.0.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
@@ -38,12 +38,12 @@ runloop = RunloopSDK()
38
38
 
39
39
  # Create a ready-to-use devbox
40
40
  with runloop.devbox.create(name="my-devbox") as devbox:
41
- result = devbox.cmd.exec(command="echo 'Hello from Runloop!'")
41
+ result = devbox.cmd.exec("echo 'Hello from Runloop!'")
42
42
  print(result.stdout())
43
43
 
44
44
  # Stream stdout in real time
45
45
  devbox.cmd.exec(
46
- command="ls -la",
46
+ "ls -la",
47
47
  stdout=lambda line: print("stdout:", line),
48
48
  )
49
49
 
@@ -68,13 +68,13 @@ from runloop_api_client import AsyncRunloopSDK
68
68
  async def main():
69
69
  runloop = AsyncRunloopSDK()
70
70
  async with await runloop.devbox.create(name="async-devbox") as devbox:
71
- result = await devbox.cmd.exec(command="pwd")
71
+ result = await devbox.cmd.exec("pwd")
72
72
  print(await result.stdout())
73
73
 
74
74
  def capture(line: str) -> None:
75
75
  print(">>", line)
76
76
 
77
- await devbox.cmd.exec(command="ls", stdout=capture)
77
+ await devbox.cmd.exec("ls", stdout=capture)
78
78
 
79
79
  asyncio.run(main())
80
80
  ```
@@ -147,13 +147,13 @@ Execute commands synchronously or asynchronously:
147
147
 
148
148
  ```python
149
149
  # Synchronous command execution (waits for completion)
150
- result = devbox.cmd.exec(command="ls -la")
150
+ result = devbox.cmd.exec("ls -la")
151
151
  print("Output:", result.stdout())
152
152
  print("Exit code:", result.exit_code)
153
153
  print("Success:", result.success)
154
154
 
155
155
  # Asynchronous command execution (returns immediately)
156
- execution = devbox.cmd.exec_async(command="npm run dev")
156
+ execution = devbox.cmd.exec_async("npm run dev")
157
157
 
158
158
  # Check execution status
159
159
  state = execution.get_state()
@@ -173,7 +173,7 @@ The `Execution` object provides fine-grained control over asynchronous command e
173
173
 
174
174
  ```python
175
175
  # Start a long-running process
176
- execution = devbox.cmd.exec_async(command="python train_model.py")
176
+ execution = devbox.cmd.exec_async("python train_model.py")
177
177
 
178
178
  # Get the execution ID
179
179
  print("Execution ID:", execution.execution_id)
@@ -208,10 +208,10 @@ The `ExecutionResult` object contains the output and exit status of a completed
208
208
 
209
209
  ```python
210
210
  # From synchronous execution
211
- result = devbox.cmd.exec(command="ls -la /tmp")
211
+ result = devbox.cmd.exec("ls -la /tmp")
212
212
 
213
213
  # Or from asynchronous execution
214
- execution = devbox.cmd.exec_async(command="echo 'test'")
214
+ execution = devbox.cmd.exec_async("echo 'test'")
215
215
  result = execution.result()
216
216
 
217
217
  # Access execution results
@@ -250,7 +250,7 @@ def handle_output(line: str) -> None:
250
250
  print("LOG:", line)
251
251
 
252
252
  result = devbox.cmd.exec(
253
- command="python train.py",
253
+ "python train.py",
254
254
  stdout=handle_output,
255
255
  stderr=lambda line: print("ERR:", line),
256
256
  output=lambda line: print("ANY:", line),
@@ -267,7 +267,7 @@ def capture(line: str) -> None:
267
267
  log_queue.put_nowait(line)
268
268
 
269
269
  await devbox.cmd.exec(
270
- command="tail -f /var/log/app.log",
270
+ "tail -f /var/log/app.log",
271
271
  stdout=capture,
272
272
  )
273
273
  ```
@@ -365,13 +365,13 @@ Devboxes support context managers for automatic cleanup:
365
365
  ```python
366
366
  # Synchronous
367
367
  with runloop.devbox.create(name="temp-devbox") as devbox:
368
- result = devbox.cmd.exec(command="echo 'Hello'")
368
+ result = devbox.cmd.exec("echo 'Hello'")
369
369
  print(result.stdout())
370
370
  # devbox is automatically shutdown when exiting the context
371
371
 
372
372
  # Asynchronous
373
373
  async with await runloop.devbox.create(name="temp-devbox") as devbox:
374
- result = await devbox.cmd.exec(command="echo 'Hello'")
374
+ result = await devbox.cmd.exec("echo 'Hello'")
375
375
  print(await result.stdout())
376
376
  # devbox is automatically shutdown when exiting the context
377
377
  ```
@@ -586,7 +586,7 @@ devbox = runloop.devbox.create(
586
586
  )
587
587
 
588
588
  # The storage object is now accessible at /home/user/data.txt in the devbox
589
- result = devbox.cmd.exec(command="cat /home/user/data.txt")
589
+ result = devbox.cmd.exec("cat /home/user/data.txt")
590
590
  print(result.stdout()) # "Hello, World!"
591
591
 
592
592
  # Mount archived objects (tar, tgz, gzip) - they get extracted to a directory
@@ -607,7 +607,7 @@ devbox_with_archive = runloop.devbox.create(
607
607
  )
608
608
 
609
609
  # Access extracted archive contents
610
- result = devbox_with_archive.cmd.exec(command="ls -la /home/user/project/")
610
+ result = devbox_with_archive.cmd.exec("ls -la /home/user/project/")
611
611
  print(result.stdout())
612
612
  ```
613
613
 
@@ -634,7 +634,7 @@ runloop = RunloopSDK()
634
634
 
635
635
  try:
636
636
  devbox = runloop.devbox.create(name="example-devbox")
637
- result = devbox.cmd.exec(command="invalid-command")
637
+ result = devbox.cmd.exec("invalid-command")
638
638
  except runloop_api_client.APIConnectionError as e:
639
639
  print("The server could not be reached")
640
640
  print(e.__cause__) # an underlying Exception, likely raised within httpx.
@@ -694,14 +694,14 @@ async def main():
694
694
 
695
695
  # All the same operations, but with await
696
696
  async with await runloop.devbox.create(name="async-devbox") as devbox:
697
- result = await devbox.cmd.exec(command="pwd")
697
+ result = await devbox.cmd.exec("pwd")
698
698
  print(await result.stdout())
699
699
 
700
700
  # Streaming (note: callbacks must be synchronous)
701
701
  def capture(line: str) -> None:
702
702
  print(">>", line)
703
703
 
704
- await devbox.cmd.exec(command="ls", stdout=capture)
704
+ await devbox.cmd.exec("ls", stdout=capture)
705
705
 
706
706
  # Async file operations
707
707
  await devbox.file.write(path="/tmp/test.txt", contents="Hello")
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.69.0"
3
+ version = "1.0.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -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__ = "0.69.0" # x-release-please-version
4
+ __version__ = "1.0.0" # x-release-please-version
@@ -136,7 +136,6 @@ class BlueprintsResource(SyncAPIResource):
136
136
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
137
137
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
138
138
  metadata: Optional[Dict[str, str]] | Omit = omit,
139
- named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
140
139
  secrets: Optional[Dict[str, str]] | Omit = omit,
141
140
  services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
142
141
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -180,11 +179,6 @@ class BlueprintsResource(SyncAPIResource):
180
179
 
181
180
  metadata: (Optional) User defined metadata for the Blueprint.
182
181
 
183
- named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
184
- the keys are the name used when referencing the contexts in a Dockerfile. See
185
- Docker buildx additional contexts for details:
186
- https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
187
-
188
182
  secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
189
183
  will be available to commands during the build. Secrets are NOT stored in the
190
184
  blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
@@ -224,7 +218,6 @@ class BlueprintsResource(SyncAPIResource):
224
218
  "file_mounts": file_mounts,
225
219
  "launch_parameters": launch_parameters,
226
220
  "metadata": metadata,
227
- "named_build_contexts": named_build_contexts,
228
221
  "secrets": secrets,
229
222
  "services": services,
230
223
  "system_setup_commands": system_setup_commands,
@@ -658,7 +651,6 @@ class BlueprintsResource(SyncAPIResource):
658
651
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
659
652
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
660
653
  metadata: Optional[Dict[str, str]] | Omit = omit,
661
- named_build_contexts: Optional[Dict[str, blueprint_preview_params.NamedBuildContexts]] | Omit = omit,
662
654
  secrets: Optional[Dict[str, str]] | Omit = omit,
663
655
  services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
664
656
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -700,11 +692,6 @@ class BlueprintsResource(SyncAPIResource):
700
692
 
701
693
  metadata: (Optional) User defined metadata for the Blueprint.
702
694
 
703
- named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
704
- the keys are the name used when referencing the contexts in a Dockerfile. See
705
- Docker buildx additional contexts for details:
706
- https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
707
-
708
695
  secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
709
696
  will be available to commands during the build. Secrets are NOT stored in the
710
697
  blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
@@ -740,7 +727,6 @@ class BlueprintsResource(SyncAPIResource):
740
727
  "file_mounts": file_mounts,
741
728
  "launch_parameters": launch_parameters,
742
729
  "metadata": metadata,
743
- "named_build_contexts": named_build_contexts,
744
730
  "secrets": secrets,
745
731
  "services": services,
746
732
  "system_setup_commands": system_setup_commands,
@@ -791,7 +777,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
791
777
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
792
778
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
793
779
  metadata: Optional[Dict[str, str]] | Omit = omit,
794
- named_build_contexts: Optional[Dict[str, blueprint_create_params.NamedBuildContexts]] | Omit = omit,
795
780
  secrets: Optional[Dict[str, str]] | Omit = omit,
796
781
  services: Optional[Iterable[blueprint_create_params.Service]] | Omit = omit,
797
782
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -835,11 +820,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
835
820
 
836
821
  metadata: (Optional) User defined metadata for the Blueprint.
837
822
 
838
- named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
839
- the keys are the name used when referencing the contexts in a Dockerfile. See
840
- Docker buildx additional contexts for details:
841
- https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
842
-
843
823
  secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
844
824
  will be available to commands during the build. Secrets are NOT stored in the
845
825
  blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
@@ -879,7 +859,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
879
859
  "file_mounts": file_mounts,
880
860
  "launch_parameters": launch_parameters,
881
861
  "metadata": metadata,
882
- "named_build_contexts": named_build_contexts,
883
862
  "secrets": secrets,
884
863
  "services": services,
885
864
  "system_setup_commands": system_setup_commands,
@@ -1313,7 +1292,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1313
1292
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
1314
1293
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
1315
1294
  metadata: Optional[Dict[str, str]] | Omit = omit,
1316
- named_build_contexts: Optional[Dict[str, blueprint_preview_params.NamedBuildContexts]] | Omit = omit,
1317
1295
  secrets: Optional[Dict[str, str]] | Omit = omit,
1318
1296
  services: Optional[Iterable[blueprint_preview_params.Service]] | Omit = omit,
1319
1297
  system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
@@ -1355,11 +1333,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1355
1333
 
1356
1334
  metadata: (Optional) User defined metadata for the Blueprint.
1357
1335
 
1358
- named_build_contexts: (Optional) Map of named build contexts to attach to the Blueprint build, where
1359
- the keys are the name used when referencing the contexts in a Dockerfile. See
1360
- Docker buildx additional contexts for details:
1361
- https://docs.docker.com/reference/cli/docker/buildx/build/#build-context
1362
-
1363
1336
  secrets: (Optional) Map of mount IDs/environment variable names to secret names. Secrets
1364
1337
  will be available to commands during the build. Secrets are NOT stored in the
1365
1338
  blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret
@@ -1395,7 +1368,6 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1395
1368
  "file_mounts": file_mounts,
1396
1369
  "launch_parameters": launch_parameters,
1397
1370
  "metadata": metadata,
1398
- "named_build_contexts": named_build_contexts,
1399
1371
  "secrets": secrets,
1400
1372
  "services": services,
1401
1373
  "system_setup_commands": system_setup_commands,
@@ -217,7 +217,7 @@ class DevboxesResource(SyncAPIResource):
217
217
  successfully built Blueprint with the given name. Only one of (Snapshot ID,
218
218
  Blueprint ID, Blueprint name) should be specified.
219
219
 
220
- code_mounts: A list of code mounts to be included in the Devbox.
220
+ code_mounts: A list of code mounts to be included in the Devbox. Use mounts instead.
221
221
 
222
222
  entrypoint: (Optional) When specified, the Devbox will run this script as its main
223
223
  executable. The devbox lifecycle will be bound to entrypoint, shutting down when
@@ -225,7 +225,7 @@ class DevboxesResource(SyncAPIResource):
225
225
 
226
226
  environment_variables: (Optional) Environment variables used to configure your Devbox.
227
227
 
228
- file_mounts: (Optional) Map of paths and file contents to write before setup..
228
+ file_mounts: Map of paths and file contents to write before setup. Use mounts instead.
229
229
 
230
230
  launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
231
231
 
@@ -1755,7 +1755,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1755
1755
  successfully built Blueprint with the given name. Only one of (Snapshot ID,
1756
1756
  Blueprint ID, Blueprint name) should be specified.
1757
1757
 
1758
- code_mounts: A list of code mounts to be included in the Devbox.
1758
+ code_mounts: A list of code mounts to be included in the Devbox. Use mounts instead.
1759
1759
 
1760
1760
  entrypoint: (Optional) When specified, the Devbox will run this script as its main
1761
1761
  executable. The devbox lifecycle will be bound to entrypoint, shutting down when
@@ -1763,7 +1763,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1763
1763
 
1764
1764
  environment_variables: (Optional) Environment variables used to configure your Devbox.
1765
1765
 
1766
- file_mounts: (Optional) Map of paths and file contents to write before setup..
1766
+ file_mounts: Map of paths and file contents to write before setup. Use mounts instead.
1767
1767
 
1768
1768
  launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
1769
1769
 
@@ -30,7 +30,7 @@ from .scorers import (
30
30
  ScorersResourceWithStreamingResponse,
31
31
  AsyncScorersResourceWithStreamingResponse,
32
32
  )
33
- from ..._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
33
+ from ..._types import Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
34
34
  from ..._utils import maybe_transform, async_maybe_transform
35
35
  from ..._compat import cached_property
36
36
  from ..._resource import SyncAPIResource, AsyncAPIResource
@@ -457,17 +457,17 @@ class ScenariosResource(SyncAPIResource):
457
457
  self,
458
458
  *,
459
459
  scenario_id: str,
460
- benchmark_run_id: Optional[str] | NotGiven = NOT_GIVEN,
461
- metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
462
- run_name: Optional[str] | NotGiven = NOT_GIVEN,
463
- run_profile: Optional[scenario_start_run_params.RunProfile] | NotGiven = NOT_GIVEN,
460
+ benchmark_run_id: Optional[str] | Omit = omit,
461
+ metadata: Optional[Dict[str, str]] | Omit = omit,
462
+ run_name: Optional[str] | Omit = omit,
463
+ run_profile: Optional[scenario_start_run_params.RunProfile] | Omit = omit,
464
464
  polling_config: PollingConfig | None = None,
465
465
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
466
466
  # The extra values given here take precedence over values defined on the client or passed to this method.
467
467
  extra_headers: Headers | None = None,
468
468
  extra_query: Query | None = None,
469
469
  extra_body: Body | None = None,
470
- timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
470
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
471
471
  idempotency_key: str | None = None,
472
472
  ) -> ScenarioRunView:
473
473
  """Start a new ScenarioRun and wait for its environment to be ready.
@@ -913,11 +913,18 @@ class AsyncScenariosResource(AsyncAPIResource):
913
913
  async def start_run_and_await_env_ready(
914
914
  self,
915
915
  scenario_id: str,
916
- benchmark_run_id: Optional[str] | NotGiven = NOT_GIVEN,
917
- metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
918
- run_name: Optional[str] | NotGiven = NOT_GIVEN,
919
- run_profile: Optional[scenario_start_run_params.RunProfile] | NotGiven = NOT_GIVEN,
916
+ benchmark_run_id: Optional[str] | Omit = omit,
917
+ metadata: Optional[Dict[str, str]] | Omit = omit,
918
+ run_name: Optional[str] | Omit = omit,
919
+ run_profile: Optional[scenario_start_run_params.RunProfile] | Omit = omit,
920
920
  polling_config: PollingConfig | None = None,
921
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
922
+ # The extra values given here take precedence over values defined on the client or passed to this method.
923
+ extra_headers: Headers | None = None,
924
+ extra_query: Query | None = None,
925
+ extra_body: Body | None = None,
926
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
927
+ idempotency_key: str | None = None,
921
928
  ) -> ScenarioRunView:
922
929
  """Start a new ScenarioRun and wait for its environment to be ready.
923
930
 
@@ -941,6 +948,11 @@ class AsyncScenariosResource(AsyncAPIResource):
941
948
  metadata=metadata,
942
949
  run_name=run_name,
943
950
  run_profile=run_profile,
951
+ extra_headers=extra_headers,
952
+ extra_query=extra_query,
953
+ extra_body=extra_body,
954
+ timeout=timeout,
955
+ idempotency_key=idempotency_key,
944
956
  )
945
957
 
946
958
  await self._client.devboxes.await_running(
@@ -5,19 +5,22 @@ Provides both sync (`RunloopSDK`) and async (`AsyncRunloopSDK`) interfaces.
5
5
 
6
6
  from __future__ import annotations
7
7
 
8
- from .sync import DevboxOps, RunloopSDK, SnapshotOps, BlueprintOps, StorageObjectOps
8
+ from .sync import DevboxOps, ScorerOps, RunloopSDK, SnapshotOps, BlueprintOps, StorageObjectOps
9
9
  from .async_ import (
10
10
  AsyncDevboxOps,
11
+ AsyncScorerOps,
11
12
  AsyncRunloopSDK,
12
13
  AsyncSnapshotOps,
13
14
  AsyncBlueprintOps,
14
15
  AsyncStorageObjectOps,
15
16
  )
16
- from .devbox import Devbox
17
+ from .devbox import Devbox, NamedShell
18
+ from .scorer import Scorer
17
19
  from .snapshot import Snapshot
18
20
  from .blueprint import Blueprint
19
21
  from .execution import Execution
20
- from .async_devbox import AsyncDevbox
22
+ from .async_devbox import AsyncDevbox, AsyncNamedShell
23
+ from .async_scorer import AsyncScorer
21
24
  from .async_snapshot import AsyncSnapshot
22
25
  from .storage_object import StorageObject
23
26
  from .async_blueprint import AsyncBlueprint
@@ -35,6 +38,8 @@ __all__ = [
35
38
  "AsyncDevboxOps",
36
39
  "BlueprintOps",
37
40
  "AsyncBlueprintOps",
41
+ "ScorerOps",
42
+ "AsyncScorerOps",
38
43
  "SnapshotOps",
39
44
  "AsyncSnapshotOps",
40
45
  "StorageObjectOps",
@@ -48,8 +53,12 @@ __all__ = [
48
53
  "AsyncExecutionResult",
49
54
  "Blueprint",
50
55
  "AsyncBlueprint",
56
+ "Scorer",
57
+ "AsyncScorer",
51
58
  "Snapshot",
52
59
  "AsyncSnapshot",
53
60
  "StorageObject",
54
61
  "AsyncStorageObject",
62
+ "NamedShell",
63
+ "AsyncNamedShell",
55
64
  ]
@@ -1,10 +1,10 @@
1
1
  from typing import Union, Callable, Optional
2
2
  from typing_extensions import TypedDict
3
3
 
4
- from runloop_api_client.types.devboxes import DiskSnapshotUpdateParams
5
-
6
4
  from .._types import Body, Query, Headers, Timeout, NotGiven
7
5
  from ..lib.polling import PollingConfig
6
+ from ..types.devboxes import DiskSnapshotListParams, DiskSnapshotUpdateParams
7
+ from ..types.scenarios import ScorerListParams, ScorerCreateParams, ScorerUpdateParams, ScorerValidateParams
8
8
  from ..types.devbox_list_params import DevboxListParams
9
9
  from ..types.object_list_params import ObjectListParams
10
10
  from ..types.devbox_create_params import DevboxCreateParams, DevboxBaseCreateParams
@@ -15,12 +15,11 @@ from ..types.blueprint_create_params import BlueprintCreateParams
15
15
  from ..types.devbox_upload_file_params import DevboxUploadFileParams
16
16
  from ..types.devbox_create_tunnel_params import DevboxCreateTunnelParams
17
17
  from ..types.devbox_download_file_params import DevboxDownloadFileParams
18
- from ..types.devbox_execute_async_params import DevboxExecuteAsyncParams
18
+ from ..types.devbox_execute_async_params import DevboxNiceExecuteAsyncParams
19
19
  from ..types.devbox_remove_tunnel_params import DevboxRemoveTunnelParams
20
20
  from ..types.devbox_snapshot_disk_params import DevboxSnapshotDiskParams
21
21
  from ..types.devbox_read_file_contents_params import DevboxReadFileContentsParams
22
22
  from ..types.devbox_write_file_contents_params import DevboxWriteFileContentsParams
23
- from ..types.devboxes.disk_snapshot_list_params import DiskSnapshotListParams
24
23
 
25
24
  LogCallback = Callable[[str], None]
26
25
 
@@ -36,7 +35,7 @@ class ExecuteStreamingCallbacks(TypedDict, total=False):
36
35
  """Callback invoked for all log lines (both stdout and stderr)"""
37
36
 
38
37
 
39
- class RequestOptions(TypedDict, total=False):
38
+ class BaseRequestOptions(TypedDict, total=False):
40
39
  extra_headers: Optional[Headers]
41
40
  """Send extra headers"""
42
41
 
@@ -50,12 +49,12 @@ class RequestOptions(TypedDict, total=False):
50
49
  """Override the client-level default timeout for this request, in seconds"""
51
50
 
52
51
 
53
- class LongRequestOptions(RequestOptions, total=False):
52
+ class LongRequestOptions(BaseRequestOptions, total=False):
54
53
  idempotency_key: Optional[str]
55
54
  """Specify a custom idempotency key for this request"""
56
55
 
57
56
 
58
- class PollingRequestOptions(RequestOptions, total=False):
57
+ class PollingRequestOptions(BaseRequestOptions, total=False):
59
58
  polling_config: Optional[PollingConfig]
60
59
  """Configuration for polling behavior"""
61
60
 
@@ -72,15 +71,15 @@ class SDKDevboxCreateFromImageParams(DevboxBaseCreateParams, LongPollingRequestO
72
71
  pass
73
72
 
74
73
 
75
- class SDKDevboxExecuteParams(DevboxExecuteAsyncParams, ExecuteStreamingCallbacks, LongPollingRequestOptions):
74
+ class SDKDevboxExecuteParams(DevboxNiceExecuteAsyncParams, ExecuteStreamingCallbacks, LongPollingRequestOptions):
76
75
  pass
77
76
 
78
77
 
79
- class SDKDevboxExecuteAsyncParams(DevboxExecuteAsyncParams, ExecuteStreamingCallbacks, LongRequestOptions):
78
+ class SDKDevboxExecuteAsyncParams(DevboxNiceExecuteAsyncParams, ExecuteStreamingCallbacks, LongRequestOptions):
80
79
  pass
81
80
 
82
81
 
83
- class SDKDevboxListParams(DevboxListParams, RequestOptions):
82
+ class SDKDevboxListParams(DevboxListParams, BaseRequestOptions):
84
83
  pass
85
84
 
86
85
 
@@ -116,7 +115,7 @@ class SDKDevboxSnapshotDiskParams(DevboxSnapshotDiskParams, LongPollingRequestOp
116
115
  pass
117
116
 
118
117
 
119
- class SDKDiskSnapshotListParams(DiskSnapshotListParams, RequestOptions):
118
+ class SDKDiskSnapshotListParams(DiskSnapshotListParams, BaseRequestOptions):
120
119
  pass
121
120
 
122
121
 
@@ -128,11 +127,11 @@ class SDKBlueprintCreateParams(BlueprintCreateParams, LongPollingRequestOptions)
128
127
  pass
129
128
 
130
129
 
131
- class SDKBlueprintListParams(BlueprintListParams, RequestOptions):
130
+ class SDKBlueprintListParams(BlueprintListParams, BaseRequestOptions):
132
131
  pass
133
132
 
134
133
 
135
- class SDKObjectListParams(ObjectListParams, RequestOptions):
134
+ class SDKObjectListParams(ObjectListParams, BaseRequestOptions):
136
135
  pass
137
136
 
138
137
 
@@ -140,5 +139,21 @@ class SDKObjectCreateParams(ObjectCreateParams, LongRequestOptions):
140
139
  pass
141
140
 
142
141
 
143
- class SDKObjectDownloadParams(ObjectDownloadParams, RequestOptions):
142
+ class SDKObjectDownloadParams(ObjectDownloadParams, BaseRequestOptions):
143
+ pass
144
+
145
+
146
+ class SDKScorerCreateParams(ScorerCreateParams, LongRequestOptions):
147
+ pass
148
+
149
+
150
+ class SDKScorerListParams(ScorerListParams, BaseRequestOptions):
151
+ pass
152
+
153
+
154
+ class SDKScorerUpdateParams(ScorerUpdateParams, LongRequestOptions):
155
+ pass
156
+
157
+
158
+ class SDKScorerValidateParams(ScorerValidateParams, LongRequestOptions):
144
159
  pass