runloop-api-client 1.32.0__tar.gz → 3.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 (491) hide show
  1. runloop_api_client-3.0.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/CHANGELOG.md +66 -0
  3. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/CONTRIBUTING.md +12 -0
  4. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/PKG-INFO +2 -4
  5. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/README-SDK.md +45 -9
  6. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/README.md +1 -3
  7. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/api.md +3 -149
  8. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/pyproject.toml +1 -1
  9. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/release-please-config.json +7 -2
  10. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_client.py +0 -190
  11. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_version.py +1 -1
  12. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/pagination.py +0 -450
  13. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/__init__.py +0 -70
  14. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/axons/axons.py +26 -14
  15. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/devboxes/devboxes.py +20 -68
  16. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/devboxes/executions.py +20 -44
  17. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/devboxes/logs.py +2 -20
  18. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/gateway_configs.py +6 -6
  19. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/mcp_configs.py +4 -4
  20. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/network_policies.py +4 -4
  21. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/secrets.py +315 -21
  22. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/__init__.py +6 -50
  23. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/_types.py +9 -107
  24. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_.py +10 -423
  25. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_devbox.py +4 -138
  26. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_execution.py +33 -0
  27. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_secret.py +13 -7
  28. runloop_api_client-3.0.0/src/runloop_api_client/sdk/async_secret_by_id.py +44 -0
  29. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_storage_object.py +30 -5
  30. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/devbox.py +4 -138
  31. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/execution.py +33 -0
  32. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/secret.py +14 -8
  33. runloop_api_client-3.0.0/src/runloop_api_client/sdk/secret_by_id.py +44 -0
  34. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/storage_object.py +30 -5
  35. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/sync.py +10 -453
  36. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/__init__.py +1 -48
  37. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_view.py +3 -0
  38. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -3
  39. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_create_params.py +15 -3
  40. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +5 -1
  41. runloop_api_client-3.0.0/src/runloop_api_client/types/devbox_execute_async_params.py +22 -0
  42. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_execute_params.py +1 -10
  43. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +1 -10
  44. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -5
  45. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_view.py +1 -1
  46. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -3
  47. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +1 -10
  48. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +1 -10
  49. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -3
  50. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_config_create_params.py +1 -1
  51. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_config_update_params.py +1 -1
  52. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_config_view.py +1 -4
  53. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_config_create_params.py +1 -1
  54. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_config_update_params.py +1 -1
  55. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_config_view.py +1 -1
  56. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/network_policy_create_params.py +1 -1
  57. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/network_policy_view.py +1 -1
  58. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_view.py +7 -1
  59. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/scope_entry_view.py +0 -3
  60. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/scope_entry_view_param.py +0 -3
  61. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/secret_create_params.py +1 -1
  62. runloop_api_client-3.0.0/src/runloop_api_client/types/secret_update_by_id_params.py +16 -0
  63. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/secret_view.py +1 -4
  64. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/__init__.py +0 -3
  65. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/launch_parameters.py +1 -1
  66. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/mount.py +1 -4
  67. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -3
  68. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +1 -1
  69. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/mount.py +1 -2
  70. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/devboxes/test_executions.py +0 -4
  71. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/devboxes/test_logs.py +0 -2
  72. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_devboxes.py +0 -6
  73. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_secrets.py +236 -0
  74. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/test_interfaces.py +13 -0
  75. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/conftest.py +2 -107
  76. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/test_edge_cases.py +2 -2
  77. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/test_interfaces.py +10 -0
  78. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_ops.py +17 -617
  79. runloop_api_client-3.0.0/tests/sdk/test_async_secret.py +47 -0
  80. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_storage_object.py +0 -28
  81. runloop_api_client-3.0.0/tests/sdk/test_execution_stdin_transport.py +86 -0
  82. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_ops.py +17 -583
  83. runloop_api_client-3.0.0/tests/sdk/test_secret.py +47 -0
  84. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_storage_object.py +0 -69
  85. runloop_api_client-3.0.0/tests/sdk/test_storage_upload_transport.py +204 -0
  86. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/README.md +1 -1
  87. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/README.md +1 -1
  88. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_devbox.py +16 -307
  89. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_sdk.py +0 -3
  90. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_secret.py +42 -47
  91. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_devbox.py +16 -300
  92. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_sdk.py +0 -3
  93. runloop_api_client-3.0.0/tests/smoketests/sdk/test_secret.py +125 -0
  94. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_command_id.py +29 -0
  95. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/uv.lock +1 -1
  96. runloop_api_client-1.32.0/.release-please-manifest.json +0 -3
  97. runloop_api_client-1.32.0/src/runloop_api_client/resources/agents.py +0 -740
  98. runloop_api_client-1.32.0/src/runloop_api_client/resources/benchmark_jobs.py +0 -412
  99. runloop_api_client-1.32.0/src/runloop_api_client/resources/benchmark_runs.py +0 -645
  100. runloop_api_client-1.32.0/src/runloop_api_client/resources/benchmarks.py +0 -1129
  101. runloop_api_client-1.32.0/src/runloop_api_client/resources/scenarios/__init__.py +0 -47
  102. runloop_api_client-1.32.0/src/runloop_api_client/resources/scenarios/runs.py +0 -991
  103. runloop_api_client-1.32.0/src/runloop_api_client/resources/scenarios/scenarios.py +0 -1253
  104. runloop_api_client-1.32.0/src/runloop_api_client/resources/scenarios/scorers.py +0 -527
  105. runloop_api_client-1.32.0/src/runloop_api_client/sdk/agent.py +0 -86
  106. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_agent.py +0 -86
  107. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_benchmark.py +0 -169
  108. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_benchmark_run.py +0 -127
  109. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_scenario.py +0 -118
  110. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_scenario_builder.py +0 -480
  111. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_scenario_run.py +0 -242
  112. runloop_api_client-1.32.0/src/runloop_api_client/sdk/async_scorer.py +0 -66
  113. runloop_api_client-1.32.0/src/runloop_api_client/sdk/benchmark.py +0 -167
  114. runloop_api_client-1.32.0/src/runloop_api_client/sdk/benchmark_run.py +0 -127
  115. runloop_api_client-1.32.0/src/runloop_api_client/sdk/scenario.py +0 -118
  116. runloop_api_client-1.32.0/src/runloop_api_client/sdk/scenario_builder.py +0 -480
  117. runloop_api_client-1.32.0/src/runloop_api_client/sdk/scenario_run.py +0 -242
  118. runloop_api_client-1.32.0/src/runloop_api_client/sdk/scorer.py +0 -66
  119. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_create_params.py +0 -26
  120. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_devbox_counts_view.py +0 -24
  121. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_list_params.py +0 -33
  122. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_list_public_params.py +0 -30
  123. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_list_view.py +0 -21
  124. runloop_api_client-1.32.0/src/runloop_api_client/types/agent_view.py +0 -35
  125. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_create_params.py +0 -40
  126. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_definitions_params.py +0 -15
  127. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_job_create_params.py +0 -208
  128. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_job_list_params.py +0 -27
  129. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_job_list_view.py +0 -17
  130. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_job_view.py +0 -335
  131. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_list_params.py +0 -27
  132. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_list_public_params.py +0 -27
  133. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_run_list_params.py +0 -33
  134. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -27
  135. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_run_list_view.py +0 -17
  136. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_run_view.py +0 -58
  137. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_start_run_params.py +0 -29
  138. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_update_params.py +0 -42
  139. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -18
  140. runloop_api_client-1.32.0/src/runloop_api_client/types/benchmark_view.py +0 -56
  141. runloop_api_client-1.32.0/src/runloop_api_client/types/devbox_execute_async_params.py +0 -33
  142. runloop_api_client-1.32.0/src/runloop_api_client/types/input_context.py +0 -19
  143. runloop_api_client-1.32.0/src/runloop_api_client/types/input_context_param.py +0 -20
  144. runloop_api_client-1.32.0/src/runloop_api_client/types/input_context_update_param.py +0 -16
  145. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_create_params.py +0 -59
  146. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_definition_list_view.py +0 -17
  147. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_environment.py +0 -33
  148. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_environment_param.py +0 -35
  149. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_list_params.py +0 -33
  150. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_list_public_params.py +0 -27
  151. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_run_list_view.py +0 -17
  152. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_run_view.py +0 -58
  153. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_start_run_params.py +0 -30
  154. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_update_params.py +0 -55
  155. runloop_api_client-1.32.0/src/runloop_api_client/types/scenario_view.py +0 -73
  156. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/__init__.py +0 -12
  157. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/run_list_params.py +0 -36
  158. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -18
  159. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -18
  160. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -24
  161. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -18
  162. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -18
  163. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -18
  164. runloop_api_client-1.32.0/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -18
  165. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_contract.py +0 -17
  166. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_contract_param.py +0 -19
  167. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_contract_result_view.py +0 -20
  168. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_contract_update_param.py +0 -15
  169. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_function.py +0 -157
  170. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_function_param.py +0 -153
  171. runloop_api_client-1.32.0/src/runloop_api_client/types/scoring_function_result_view.py +0 -25
  172. runloop_api_client-1.32.0/src/runloop_api_client/types/shared/agent_mount.py +0 -31
  173. runloop_api_client-1.32.0/src/runloop_api_client/types/shared/agent_source.py +0 -75
  174. runloop_api_client-1.32.0/src/runloop_api_client/types/shared/run_profile.py +0 -41
  175. runloop_api_client-1.32.0/src/runloop_api_client/types/shared_params/agent_mount.py +0 -31
  176. runloop_api_client-1.32.0/src/runloop_api_client/types/shared_params/agent_source.py +0 -78
  177. runloop_api_client-1.32.0/src/runloop_api_client/types/shared_params/run_profile.py +0 -42
  178. runloop_api_client-1.32.0/tests/api_resources/scenarios/__init__.py +0 -1
  179. runloop_api_client-1.32.0/tests/api_resources/scenarios/test_runs.py +0 -527
  180. runloop_api_client-1.32.0/tests/api_resources/scenarios/test_scorers.py +0 -336
  181. runloop_api_client-1.32.0/tests/api_resources/test_agents.py +0 -502
  182. runloop_api_client-1.32.0/tests/api_resources/test_benchmark_jobs.py +0 -247
  183. runloop_api_client-1.32.0/tests/api_resources/test_benchmark_runs.py +0 -432
  184. runloop_api_client-1.32.0/tests/api_resources/test_benchmarks.py +0 -803
  185. runloop_api_client-1.32.0/tests/api_resources/test_scenarios.py +0 -1012
  186. runloop_api_client-1.32.0/tests/sdk/test_agent.py +0 -43
  187. runloop_api_client-1.32.0/tests/sdk/test_async_agent.py +0 -46
  188. runloop_api_client-1.32.0/tests/sdk/test_async_benchmark.py +0 -130
  189. runloop_api_client-1.32.0/tests/sdk/test_async_benchmark_run.py +0 -120
  190. runloop_api_client-1.32.0/tests/sdk/test_async_scenario.py +0 -121
  191. runloop_api_client-1.32.0/tests/sdk/test_async_scenario_builder.py +0 -292
  192. runloop_api_client-1.32.0/tests/sdk/test_async_scenario_run.py +0 -162
  193. runloop_api_client-1.32.0/tests/sdk/test_async_scorer.py +0 -51
  194. runloop_api_client-1.32.0/tests/sdk/test_benchmark.py +0 -122
  195. runloop_api_client-1.32.0/tests/sdk/test_benchmark_run.py +0 -114
  196. runloop_api_client-1.32.0/tests/sdk/test_scenario.py +0 -121
  197. runloop_api_client-1.32.0/tests/sdk/test_scenario_builder.py +0 -287
  198. runloop_api_client-1.32.0/tests/sdk/test_scenario_run.py +0 -157
  199. runloop_api_client-1.32.0/tests/sdk/test_scorer.py +0 -51
  200. runloop_api_client-1.32.0/tests/smoketests/sdk/test_agent.py +0 -210
  201. runloop_api_client-1.32.0/tests/smoketests/sdk/test_async_agent.py +0 -210
  202. runloop_api_client-1.32.0/tests/smoketests/sdk/test_async_benchmark.py +0 -192
  203. runloop_api_client-1.32.0/tests/smoketests/sdk/test_async_scenario.py +0 -260
  204. runloop_api_client-1.32.0/tests/smoketests/sdk/test_async_scorer.py +0 -103
  205. runloop_api_client-1.32.0/tests/smoketests/sdk/test_benchmark.py +0 -190
  206. runloop_api_client-1.32.0/tests/smoketests/sdk/test_scenario.py +0 -259
  207. runloop_api_client-1.32.0/tests/smoketests/sdk/test_scorer.py +0 -103
  208. runloop_api_client-1.32.0/tests/smoketests/sdk/test_secret.py +0 -145
  209. runloop_api_client-1.32.0/tests/smoketests/test_scenarios_benchmarks.py +0 -82
  210. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/.gitignore +0 -0
  211. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/AGENTS.md +0 -0
  212. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/CLAUDE.md +0 -0
  213. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/EXAMPLES.md +0 -0
  214. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/LICENSE +0 -0
  215. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/SECURITY.md +0 -0
  216. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/bin/check-release-environment +0 -0
  217. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/bin/publish-pypi +0 -0
  218. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/__init__.py +0 -0
  219. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/_harness.py +0 -0
  220. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/blueprint_with_build_context.py +0 -0
  221. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  222. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/devbox_snapshot_resume.py +0 -0
  223. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/devbox_snapshots.py +0 -0
  224. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/devbox_tunnel.py +0 -0
  225. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/example_types.py +0 -0
  226. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/mcp_github_tools.py +0 -0
  227. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/registry.py +0 -0
  228. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/examples/secrets_with_devbox.py +0 -0
  229. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/requirements-dev.lock +0 -0
  230. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop/lib/.keep +0 -0
  231. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/__init__.py +0 -0
  232. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_base_client.py +0 -0
  233. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_compat.py +0 -0
  234. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_constants.py +0 -0
  235. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_exceptions.py +0 -0
  236. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_files.py +0 -0
  237. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_models.py +0 -0
  238. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_qs.py +0 -0
  239. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_resource.py +0 -0
  240. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_response.py +0 -0
  241. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_streaming.py +0 -0
  242. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_types.py +0 -0
  243. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  244. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  245. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  246. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_json.py +0 -0
  247. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  248. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_path.py +0 -0
  249. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  250. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  251. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  252. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  253. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  254. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  255. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  256. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  257. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  258. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/.keep +0 -0
  259. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/__init__.py +0 -0
  260. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  261. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  262. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/polling.py +0 -0
  263. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  264. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/lib/wait_for_status.py +0 -0
  265. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/py.typed +0 -0
  266. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/accounts.py +0 -0
  267. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/apikeys.py +0 -0
  268. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  269. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/axons/events.py +0 -0
  270. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  271. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  272. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  273. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  274. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/objects.py +0 -0
  275. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/pty.py +0 -0
  276. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/resources/restricted_keys.py +0 -0
  277. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  278. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  279. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  280. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  281. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  282. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  283. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  284. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  285. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/axon.py +0 -0
  286. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  287. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  288. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  289. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  290. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  291. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  292. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/account_view.py +0 -0
  293. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/allowed_cidr.py +0 -0
  294. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/allowed_cidr_param.py +0 -0
  295. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/api_key_created_view.py +0 -0
  296. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/apikey_create_params.py +0 -0
  297. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  298. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  299. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_list_params.py +0 -0
  300. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
  301. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  302. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
  303. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axon_update_params.py +0 -0
  304. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  305. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/axon_event_list_view.py +0 -0
  306. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/event_list_params.py +0 -0
  307. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  308. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
  309. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
  310. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  311. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
  312. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
  313. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  314. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
  315. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
  316. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  317. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  318. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  319. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  320. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  321. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  322. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  323. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  324. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  325. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  326. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_create_gateway_token_params.py +0 -0
  327. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_create_mcp_token_params.py +0 -0
  328. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  329. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  330. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_eviction_event_view.py +0 -0
  331. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  332. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  333. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  334. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  335. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  336. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  337. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  338. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  339. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  340. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  341. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  342. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  343. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  344. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  345. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  346. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  347. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  348. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  349. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  350. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  351. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  352. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  353. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  354. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  355. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  356. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  357. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  358. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  359. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/gateway_token_view.py +0 -0
  360. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
  361. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  362. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/mcp_token_view.py +0 -0
  363. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  364. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  365. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  366. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  367. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  368. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  369. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  370. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  371. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  372. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/port_rule.py +0 -0
  373. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/port_rule_param.py +0 -0
  374. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/pty_connect_params.py +0 -0
  375. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/pty_connect_view.py +0 -0
  376. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/pty_control_params.py +0 -0
  377. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/pty_control_result_view.py +0 -0
  378. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/pty_tunnel_view.py +0 -0
  379. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  380. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/restricted_key_create_params.py +0 -0
  381. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/restricted_key_created_view.py +0 -0
  382. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  383. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  384. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  385. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  386. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/auth_mechanism.py +0 -0
  387. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
  388. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  389. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/custom_header.py +0 -0
  390. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/lifecycle_configuration.py +0 -0
  391. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/lifecycle_hooks.py +0 -0
  392. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  393. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared/resume_triggers.py +0 -0
  394. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  395. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/auth_mechanism.py +0 -0
  396. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
  397. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  398. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/custom_header.py +0 -0
  399. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/lifecycle_configuration.py +0 -0
  400. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/lifecycle_hooks.py +0 -0
  401. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  402. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/shared_params/resume_triggers.py +0 -0
  403. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  404. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/__init__.py +0 -0
  405. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/__init__.py +0 -0
  406. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/axons/__init__.py +0 -0
  407. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/axons/test_events.py +0 -0
  408. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/axons/test_sql.py +0 -0
  409. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/devboxes/__init__.py +0 -0
  410. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  411. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_accounts.py +0 -0
  412. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_apikeys.py +0 -0
  413. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_axons.py +0 -0
  414. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_blueprints.py +0 -0
  415. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_gateway_configs.py +0 -0
  416. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_mcp_configs.py +0 -0
  417. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_network_policies.py +0 -0
  418. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_objects.py +0 -0
  419. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_pty.py +0 -0
  420. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/api_resources/test_restricted_keys.py +0 -0
  421. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/conftest.py +0 -0
  422. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sample_file.txt +0 -0
  423. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/__init__.py +0 -0
  424. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/__init__.py +0 -0
  425. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/conftest.py +0 -0
  426. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/test_core.py +0 -0
  427. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  428. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  429. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/__init__.py +0 -0
  430. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/conftest.py +0 -0
  431. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/test_core.py +0 -0
  432. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/devbox/test_streaming.py +0 -0
  433. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_axon.py +0 -0
  434. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_blueprint.py +0 -0
  435. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_execution.py +0 -0
  436. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_execution_result.py +0 -0
  437. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_gateway_config.py +0 -0
  438. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_network_policy.py +0 -0
  439. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_async_snapshot.py +0 -0
  440. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_axon.py +0 -0
  441. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_blueprint.py +0 -0
  442. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_execution.py +0 -0
  443. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_execution_result.py +0 -0
  444. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_gateway_config.py +0 -0
  445. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_helpers.py +0 -0
  446. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_network_policy.py +0 -0
  447. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/sdk/test_snapshot.py +0 -0
  448. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/__init__.py +0 -0
  449. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/conftest.py +0 -0
  450. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/examples/__init__.py +0 -0
  451. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/examples/test_examples.py +0 -0
  452. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/__init__.py +0 -0
  453. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/conftest.py +0 -0
  454. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  455. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  456. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  457. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  458. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  459. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  460. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_axon.py +0 -0
  461. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  462. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  463. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  464. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  465. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  466. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  467. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/test_blueprints.py +0 -0
  468. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/test_devboxes.py +0 -0
  469. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/test_executions.py +0 -0
  470. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/test_snapshots.py +0 -0
  471. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/smoketests/utils.py +0 -0
  472. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_client.py +0 -0
  473. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_extract_files.py +0 -0
  474. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_files.py +0 -0
  475. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_h2_bulkhead_integration.py +0 -0
  476. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_models.py +0 -0
  477. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_polling.py +0 -0
  478. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_qs.py +0 -0
  479. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_required_args.py +0 -0
  480. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_response.py +0 -0
  481. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_shared_pool.py +0 -0
  482. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_streaming.py +0 -0
  483. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_transfer_client.py +0 -0
  484. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_transform.py +0 -0
  485. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_context_loader.py +0 -0
  486. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_datetime_parse.py +0 -0
  487. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_json.py +0 -0
  488. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_path.py +0 -0
  489. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_proxy.py +0 -0
  490. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/test_utils/test_typing.py +0 -0
  491. {runloop_api_client-1.32.0 → runloop_api_client-3.0.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "3.0.0"
3
+ }
@@ -1,5 +1,71 @@
1
1
  # Changelog
2
2
 
3
+ ## [3.0.0](https://github.com/runloopai/api-client-python/compare/v2.0.0...v3.0.0) (2026-10-23)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * remove the agent API and agent mounts
9
+ * **sdk:** finish retired agent and shell API cleanup ([#17](https://github.com/runloopai/api-client-python/issues/17))
10
+ * **exec:** remove stateful shell execution from the exec stack
11
+ * **sdk:** remove named shell helpers and API references ([#16](https://github.com/runloopai/api-client-python/issues/16))
12
+
13
+ ### Features
14
+
15
+ * **exec:** remove stateful shell execution from the exec stack ([855d22d](https://github.com/runloopai/api-client-python/commit/855d22d4aabb625b2a70236d96f41b3bc31b925f))
16
+ * remove the agent API and agent mounts ([26abd67](https://github.com/runloopai/api-client-python/commit/26abd674496a671df6e8ece5dbc65c3d5512bce3))
17
+ * **sdk:** remove named shell helpers and API references ([#16](https://github.com/runloopai/api-client-python/issues/16)) ([d0caf3e](https://github.com/runloopai/api-client-python/commit/d0caf3e889885203911a6ca9188ba46d764c290e))
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **sdk:** finish retired agent and shell API cleanup ([#17](https://github.com/runloopai/api-client-python/issues/17)) ([1484c74](https://github.com/runloopai/api-client-python/commit/1484c746c9f3da572dda66f6eff17cf27f647557))
23
+
24
+ ## [2.0.0](https://github.com/runloopai/api-client-python/compare/v1.32.0...v2.0.0) (2026-10-08)
25
+
26
+
27
+ ### ⚠ BREAKING CHANGES
28
+
29
+ * remove benchmark identities and shared provisioning behavior
30
+ * **api:** remove the benchmark and scenario APIs
31
+ * **sdk:** drop InputContextPreview
32
+ * **sdk:** drop custom edits to generated benchmark and scenario files
33
+ * **sdk:** remove hosted benchmark and scenario wrappers
34
+
35
+ ### Features
36
+
37
+ * **api:** remove the benchmark and scenario APIs ([fe3aca1](https://github.com/runloopai/api-client-python/commit/fe3aca1d53f2f5ad3dc48da321bbb0d01c7a03f7))
38
+ * implement Azure storage, runtime secrets, and service lifecycle coverage ([6d46b7b](https://github.com/runloopai/api-client-python/commit/6d46b7b58c770af8fe548cb270530cd083d0f5b4))
39
+ * remove benchmark identities and shared provisioning behavior ([9922030](https://github.com/runloopai/api-client-python/commit/9922030a5057e3b01c656eb1ab708d1cff4d41e8))
40
+ * **sdk:** add sync and async execution stdin helpers ([#15](https://github.com/runloopai/api-client-python/issues/15)) ([3388fd6](https://github.com/runloopai/api-client-python/commit/3388fd659e62a4fa61ac9b120b4047555600175c))
41
+ * **sdk:** remove hosted benchmark and scenario wrappers ([f14c4c2](https://github.com/runloopai/api-client-python/commit/f14c4c2aad5ec0e76a21538fac5fab58d08f1964))
42
+ * **secrets:** add ID endpoints and latest-name updates ([9e3d9bd](https://github.com/runloopai/api-client-python/commit/9e3d9bd2fffb506151ddd4281a307037dd4525b8))
43
+ * **secrets:** add sync and async exact ID handles ([#11](https://github.com/runloopai/api-client-python/issues/11)) ([a930959](https://github.com/runloopai/api-client-python/commit/a9309592d5ede888cd8222c60bc10087d9ff41af))
44
+
45
+
46
+ ### Bug Fixes
47
+
48
+ * **api:** allow CUSTOM_SIZE with 0.5 CPU cores ([4c0df1f](https://github.com/runloopai/api-client-python/commit/4c0df1f95fa7f4d1d10bb72b3ed274333139ef61))
49
+ * **api:** require a body when sending execution stdin ([0b5c51d](https://github.com/runloopai/api-client-python/commit/0b5c51d9037d51e31e8bacbd24943bee1ad69c72))
50
+ * **axon:** keep deleted axons readable and reject writes ([c95f902](https://github.com/runloopai/api-client-python/commit/c95f902f58844cc879c8e2a65d7aea7d6aa9ffdd))
51
+ * **mux:** return client errors for malformed entity ids ([aff1b73](https://github.com/runloopai/api-client-python/commit/aff1b7331d9acac55eab9bb304cb8fcee129d1a0))
52
+ * **mux:** validate scenario custom scorer references ([a3b50f5](https://github.com/runloopai/api-client-python/commit/a3b50f5b6e42753d497686818a72f484b0987811))
53
+ * **release:** keep the Python lockfile version consistent ([#12](https://github.com/runloopai/api-client-python/issues/12)) ([0369ef5](https://github.com/runloopai/api-client-python/commit/0369ef5d0cd1dceb619f1ad5fdf8b6fa460b76c9))
54
+ * require scoped handles in backend workflows ([e666db1](https://github.com/runloopai/api-client-python/commit/e666db1d07eaac7d39bc66368a4cdd9a16b74e19))
55
+ * **sdk:** drop custom edits to generated benchmark and scenario files ([a01ed98](https://github.com/runloopai/api-client-python/commit/a01ed98a7eedc32834528923a246450be3839745))
56
+ * **sdk:** drop InputContextPreview ([ed06423](https://github.com/runloopai/api-client-python/commit/ed064233c4b228b2a30b846414e22a9ca95ac91f))
57
+ * **storage:** preserve signed upload headers and isolate credentials ([#13](https://github.com/runloopai/api-client-python/issues/13)) ([386bd06](https://github.com/runloopai/api-client-python/commit/386bd06fc4dd5738f486a1fd808ef2fb6f3261eb))
58
+
59
+
60
+ ### Chores
61
+
62
+ * **security:** Improve security docs and tighten JWT audience ([53adee2](https://github.com/runloopai/api-client-python/commit/53adee2578b0040853a9d1a13e8c14b48b9738a8))
63
+
64
+
65
+ ### Documentation
66
+
67
+ * **sdk:** clarify that axon lists include deleted entries ([#14](https://github.com/runloopai/api-client-python/issues/14)) ([b9cdcc7](https://github.com/runloopai/api-client-python/commit/b9cdcc75fe73aa0543a31a0f9c5c1eafe923fdf5))
68
+
3
69
  ## [1.32.0](https://github.com/runloopai/api-client-python/compare/v1.31.0...v1.32.0) (2026-09-08)
4
70
 
5
71
 
@@ -150,6 +150,18 @@ $ ./scripts/format
150
150
 
151
151
  ## Publishing and releases
152
152
 
153
+ The checked-in `uv.lock` must match `pyproject.toml` before dependency installation.
154
+ CI checks this with its pinned uv version (0.10.2). Refresh with that version of
155
+ `uv lock`, without upgrading dependencies, when changing package metadata.
156
+
157
+ Release Please updates the editable root package in `uv.lock` through its TOML
158
+ extra-file updater. The name filter uses `name.value` because the pinned
159
+ Release Please 17.3.0 parser represents TOML strings as tagged values. When upgrading
160
+ the release action, verify a simulated version bump changes only the root package's
161
+ version and that `uv lock --check` still succeeds; never target a positional package
162
+ index or apply a version replacement to all dependencies.
163
+
164
+
153
165
  Changes made to this repository via the automated release PR pipeline should publish to PyPI automatically. If
154
166
  the changes aren't made through the automated pipeline, you may want to make releases manually.
155
167
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.32.0
3
+ Version: 3.0.0
4
4
  Summary: Official Python SDK for Runloop — secure Linux sandboxes (Devboxes) where AI agents run code, edit files, and expose ports
5
5
  Project-URL: Homepage, https://runloop.ai
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -58,8 +58,6 @@ Why teams pick Runloop:
58
58
  instead of installing tooling every run.
59
59
  - **Ready for production.** Secrets injection, AI gateways, network policies, and VPC deployment are
60
60
  part of the platform.
61
- - **Measurable.** Built-in benchmarks and evaluations score agent runs so you can tell whether a
62
- change actually helped.
63
61
 
64
62
  ## Installation
65
63
 
@@ -90,7 +88,7 @@ with runloop.devbox.create(name="my-devbox") as devbox:
90
88
 
91
89
  ## Documentation
92
90
 
93
- - [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents, benchmarks
91
+ - [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents
94
92
  - [`RunloopSDK` reference](README-SDK.md) — the high-level, object-oriented Python interface
95
93
  - [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md) — the full generated REST surface
96
94
  - [examples/](examples) — runnable end-to-end scripts
@@ -10,6 +10,7 @@ The `RunloopSDK` builds on top of the underlying REST client and provides a Pyth
10
10
  - [Core Concepts](#core-concepts)
11
11
  - [RunloopSDK](#runloopsdk)
12
12
  - [Available Resources](#available-resources)
13
+ - [Secrets: names and exact IDs](#secrets-names-and-exact-ids)
13
14
  - [Devbox](#devbox)
14
15
  - [Command Execution](#command-execution)
15
16
  - [Execution Management](#execution-management)
@@ -120,17 +121,27 @@ The SDK provides object-oriented interfaces for all major Runloop resources:
120
121
  - **`runloop.blueprint`** - Blueprint management (create, list, build blueprints)
121
122
  - **`runloop.snapshot`** - Snapshot management (list disk snapshots)
122
123
  - **`runloop.storage_object`** - Storage object management (upload, download, list objects)
123
- - **`runloop.agent`** - Agent management (create, list agents from npm/pip/git)
124
124
  - **`runloop.axon`** - [Beta] Axon management (create, publish events, subscribe to SSE streams, SQL queries)
125
- - **`runloop.scenario`** - Scenario management (list scenarios, start runs)
126
- - **`runloop.scorer`** - Scorer management (create, list, update)
127
- - **`runloop.benchmark`** - Benchmark management (create, list, run benchmarks)
128
125
  - **`runloop.network_policy`** - Network policy management (create, list, update egress rules)
129
126
  - **`runloop.gateway_config`** - Gateway config management (create, list API proxy configurations)
130
127
  - **`runloop.mcp_config`** - MCP config management (create, list MCP server configurations)
131
128
  - **`runloop.secret`** - Secret management (create, update, list, delete encrypted key-value pairs)
132
129
  - **`runloop.api`** - Direct access to the underlying REST API client
133
130
 
131
+ ### Secrets: names and exact IDs
132
+
133
+ `Secret` / `AsyncSecret` objects from `create()`, `list()`, and `from_name()` always operate by name, even when they carry a captured `.id`. Use a separate `SecretById` / `AsyncSecretById` handle for one exact row:
134
+
135
+ ```python
136
+ created = runloop.secret.create(name="API_TOKEN", value="synthetic-example")
137
+ assert created.id is not None
138
+ exact = runloop.secret.from_id(created.id) # Lazy; never falls back to a name.
139
+ exact.update("synthetic-rotated") # Returns SecretView, as do get_info() and delete().
140
+ exact.delete() # Deletes only this row.
141
+ ```
142
+
143
+ For `AsyncRunloopSDK`, await the operations but not `from_id()`. The handle types are exported from `runloop_api_client.sdk`. ID handles have `.id`, not `.name`; use their instance methods rather than name-only manager helpers. Environment-secret maps still take names; pass `exact.id` explicitly for an ID-based gateway/MCP binding. Name reads/updates select the greatest ID; name deletion removes selected matches nonatomically. IDs identify mutable rows, not value versions, and existing retries can replay writes. Rotation does not rewrite running devbox environments or issued tokens. Avoid debug request logging with real credentials.
144
+
134
145
  ### Devbox
135
146
 
136
147
  Object-oriented interface for working with devboxes. Created via `runloop.devbox.create()`, `runloop.devbox.create_from_blueprint_id()`, `runloop.devbox.create_from_blueprint_name()`, `runloop.devbox.create_from_snapshot()`, or `runloop.devbox.from_id()`:
@@ -221,6 +232,23 @@ print("Errors:", result.stderr())
221
232
  execution.kill()
222
233
  ```
223
234
 
235
+ To send input, start the execution with stdin attached:
236
+
237
+ ```python
238
+ execution = devbox.cmd.exec_async("cat", attach_stdin=True)
239
+ execution.send_std_in("first\n")
240
+ execution.send_std_in("second\n")
241
+ execution.close_std_in()
242
+ result = execution.result()
243
+ assert result.stdout() == "first\nsecond\n"
244
+ ```
245
+
246
+ The async SDK exposes the same helpers with `await`. Send nonempty text, finish each
247
+ send before the next, and wait for pending sends before closing stdin. Concurrent
248
+ calls are not serialized. These helpers preserve the generated client's retry policy;
249
+ a retry after an ambiguous connection failure can replay input (not exactly-once
250
+ execution).
251
+
224
252
  **Key methods:**
225
253
 
226
254
  - `execution.get_state()` - Get current execution state (status, exit_code, etc.)
@@ -408,7 +436,7 @@ async with await runloop.devbox.create(name="temp-devbox") as devbox:
408
436
 
409
437
  #### Devbox Logs
410
438
 
411
- Retrieve logs from a devbox, optionally filtered by execution ID or shell name:
439
+ Retrieve logs from a devbox, optionally filtered by execution ID:
412
440
 
413
441
  ```python
414
442
  # Get all devbox logs
@@ -419,9 +447,6 @@ for log in logs.logs:
419
447
  # Filter logs by execution ID
420
448
  result = devbox.cmd.exec('echo "hello"')
421
449
  exec_logs = devbox.logs(execution_id=result.execution_id)
422
-
423
- # Filter logs by shell name
424
- shell_logs = devbox.logs(shell_name="my-shell")
425
450
  ```
426
451
 
427
452
  **Key methods:**
@@ -429,7 +454,7 @@ shell_logs = devbox.logs(shell_name="my-shell")
429
454
  - `devbox.get_info()` - Get devbox details and status
430
455
  - `devbox.cmd.exec()` - Execute commands synchronously
431
456
  - `devbox.cmd.exec_async()` - Execute commands asynchronously
432
- - `devbox.logs()` - Retrieve devbox logs (optionally filter by execution_id or shell_name)
457
+ - `devbox.logs()` - Retrieve devbox logs (optionally filter by execution_id)
433
458
  - `devbox.file.read()` - Read file contents
434
459
  - `devbox.file.write()` - Write file contents
435
460
  - `devbox.file.upload()` - Upload files
@@ -556,6 +581,17 @@ snapshot.delete()
556
581
 
557
582
  ### StorageObject
558
583
 
584
+ Uploads retain the create response's signed URL **and** required headers (including
585
+ Azure's `x-ms-blob-type`). All upload helpers use those instructions before marking
586
+ the object complete. Treat both as credentials; retrieval does not refresh them.
587
+
588
+ Signed uploads reuse the configured HTTP transport but exclude client-level default
589
+ headers, cookies, and authentication. Custom HTTP transports and event hooks must
590
+ not add API credentials to storage requests. Redirects and SDK-level upload retries
591
+ are disabled. Upload exception messages omit signed credentials and storage response
592
+ bodies; HTTPX request/response objects and third-party debug logging can still contain
593
+ sensitive data and must not be logged indiscriminately.
594
+
559
595
  Object-oriented interface for working with storage objects. Created via `runloop.storage_object.create()` or `runloop.storage_object.from_id()`:
560
596
 
561
597
  ```python
@@ -18,8 +18,6 @@ Why teams pick Runloop:
18
18
  instead of installing tooling every run.
19
19
  - **Ready for production.** Secrets injection, AI gateways, network policies, and VPC deployment are
20
20
  part of the platform.
21
- - **Measurable.** Built-in benchmarks and evaluations score agent runs so you can tell whether a
22
- change actually helped.
23
21
 
24
22
  ## Installation
25
23
 
@@ -50,7 +48,7 @@ with runloop.devbox.create(name="my-devbox") as devbox:
50
48
 
51
49
  ## Documentation
52
50
 
53
- - [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents, benchmarks
51
+ - [Platform documentation](https://docs.runloop.ai) — devboxes, blueprints, snapshots, tunnels, agents
54
52
  - [`RunloopSDK` reference](README-SDK.md) — the high-level, object-oriented Python interface
55
53
  - [api.md](https://github.com/runloopai/api-client-python/blob/main/api.md) — the full generated REST surface
56
54
  - [examples/](examples) — runnable end-to-end scripts
@@ -3,8 +3,6 @@
3
3
  ```python
4
4
  from runloop_api_client.types import (
5
5
  AfterIdle,
6
- AgentMount,
7
- AgentSource,
8
6
  AuthMechanism,
9
7
  BrokerMount,
10
8
  CodeMountParameters,
@@ -15,7 +13,6 @@ from runloop_api_client.types import (
15
13
  Mount,
16
14
  ObjectMount,
17
15
  ResumeTriggers,
18
- RunProfile,
19
16
  )
20
17
  ```
21
18
 
@@ -31,88 +28,6 @@ Methods:
31
28
 
32
29
  - <code title="get /v1/accounts/me">client.accounts.<a href="./src/runloop_api_client/resources/accounts.py">me</a>() -> <a href="./src/runloop_api_client/types/account_view.py">AccountView</a></code>
33
30
 
34
- # Benchmarks
35
-
36
- Types:
37
-
38
- ```python
39
- from runloop_api_client.types import (
40
- BenchmarkCreateParameters,
41
- BenchmarkScenarioUpdateParameters,
42
- BenchmarkUpdateParameters,
43
- BenchmarkView,
44
- ScenarioDefinitionListView,
45
- StartBenchmarkRunParameters,
46
- )
47
- ```
48
-
49
- Methods:
50
-
51
- - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
52
- - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
53
- - <code title="post /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
54
- - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
55
- - <code title="get /v1/benchmarks/{id}/definitions">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">definitions</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_definitions_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_definition_list_view.py">ScenarioDefinitionListView</a></code>
56
- - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
57
- - <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
58
- - <code title="post /v1/benchmarks/{id}/scenarios">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks.py">update_scenarios</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_update_scenarios_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
59
-
60
- # BenchmarkRuns
61
-
62
- Types:
63
-
64
- ```python
65
- from runloop_api_client.types import BenchmarkRunListView, BenchmarkRunView
66
- ```
67
-
68
- Methods:
69
-
70
- - <code title="get /v1/benchmark_runs/{id}">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
71
- - <code title="get /v1/benchmark_runs">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
72
- - <code title="post /v1/benchmark_runs/{id}/cancel">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
73
- - <code title="post /v1/benchmark_runs/{id}/complete">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
74
- - <code title="get /v1/benchmark_runs/{id}/scenario_runs">client.benchmark_runs.<a href="./src/runloop_api_client/resources/benchmark_runs.py">list_scenario_runs</a>(id, \*\*<a href="src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
75
-
76
- # BenchmarkJobs
77
-
78
- Types:
79
-
80
- ```python
81
- from runloop_api_client.types import (
82
- BenchmarkJobCreateParameters,
83
- BenchmarkJobListView,
84
- BenchmarkJobView,
85
- )
86
- ```
87
-
88
- Methods:
89
-
90
- - <code title="post /v1/benchmark_jobs">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_job_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_job_view.py">BenchmarkJobView</a></code>
91
- - <code title="get /v1/benchmark_jobs/{id}">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_job_view.py">BenchmarkJobView</a></code>
92
- - <code title="get /v1/benchmark_jobs">client.benchmark_jobs.<a href="./src/runloop_api_client/resources/benchmark_jobs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_job_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_job_list_view.py">BenchmarkJobListView</a></code>
93
-
94
- # Agents
95
-
96
- Types:
97
-
98
- ```python
99
- from runloop_api_client.types import (
100
- AgentCreateParameters,
101
- AgentDevboxCountsView,
102
- AgentListView,
103
- AgentView,
104
- )
105
- ```
106
-
107
- Methods:
108
-
109
- - <code title="post /v1/agents">client.agents.<a href="./src/runloop_api_client/resources/agents.py">create</a>(\*\*<a href="src/runloop_api_client/types/agent_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/agent_view.py">AgentView</a></code>
110
- - <code title="get /v1/agents/{id}">client.agents.<a href="./src/runloop_api_client/resources/agents.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/agent_view.py">AgentView</a></code>
111
- - <code title="get /v1/agents">client.agents.<a href="./src/runloop_api_client/resources/agents.py">list</a>(\*\*<a href="src/runloop_api_client/types/agent_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/agent_view.py">SyncAgentsCursorIDPage[AgentView]</a></code>
112
- - <code title="post /v1/agents/{id}/delete">client.agents.<a href="./src/runloop_api_client/resources/agents.py">delete</a>(id) -> object</code>
113
- - <code title="get /v1/agents/devbox_counts">client.agents.<a href="./src/runloop_api_client/resources/agents.py">devbox_counts</a>() -> <a href="./src/runloop_api_client/types/agent_devbox_counts_view.py">AgentDevboxCountsView</a></code>
114
- - <code title="get /v1/agents/list_public">client.agents.<a href="./src/runloop_api_client/resources/agents.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/agent_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/agent_view.py">SyncAgentsCursorIDPage[AgentView]</a></code>
115
-
116
31
  # Axons
117
32
 
118
33
  Types:
@@ -316,70 +231,6 @@ Methods:
316
231
  - <code title="get /pty/{session_name}">client.pty.<a href="./src/runloop_api_client/resources/pty.py">connect</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_connect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_connect_view.py">PtyConnectView</a></code>
317
232
  - <code title="post /pty/{session_name}/control">client.pty.<a href="./src/runloop_api_client/resources/pty.py">control</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_control_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_control_result_view.py">PtyControlResultView</a></code>
318
233
 
319
- # Scenarios
320
-
321
- Types:
322
-
323
- ```python
324
- from runloop_api_client.types import (
325
- InputContext,
326
- InputContextUpdate,
327
- ScenarioCreateParameters,
328
- ScenarioEnvironment,
329
- ScenarioRunListView,
330
- ScenarioRunView,
331
- ScenarioUpdateParameters,
332
- ScenarioView,
333
- ScoringContract,
334
- ScoringContractResultView,
335
- ScoringContractUpdate,
336
- ScoringFunction,
337
- ScoringFunctionResultView,
338
- StartScenarioRunParameters,
339
- )
340
- ```
341
-
342
- Methods:
343
-
344
- - <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
345
- - <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
346
- - <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
347
- - <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
348
- - <code title="post /v1/scenarios/{id}/archive">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">archive</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
349
- - <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
350
- - <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
351
-
352
- ## Runs
353
-
354
- Methods:
355
-
356
- - <code title="get /v1/scenarios/runs/{id}">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
357
- - <code title="get /v1/scenarios/runs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
358
- - <code title="post /v1/scenarios/runs/{id}/cancel">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
359
- - <code title="post /v1/scenarios/runs/{id}/complete">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
360
- - <code title="post /v1/scenarios/runs/{id}/download_logs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">download_logs</a>(id) -> BinaryAPIResponse</code>
361
- - <code title="post /v1/scenarios/runs/{id}/score">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">score</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
362
-
363
- ## Scorers
364
-
365
- Types:
366
-
367
- ```python
368
- from runloop_api_client.types.scenarios import (
369
- ScorerCreateResponse,
370
- ScorerRetrieveResponse,
371
- ScorerUpdateResponse,
372
- ScorerListResponse,
373
- )
374
- ```
375
-
376
- Methods:
377
-
378
- - <code title="post /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_create_response.py">ScorerCreateResponse</a></code>
379
- - <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>
380
- - <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>
381
- - <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>
382
-
383
234
  # Objects
384
235
 
385
236
  Types:
@@ -423,6 +274,9 @@ Methods:
423
274
  - <code title="post /v1/secrets/{name}">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">update</a>(name, \*\*<a href="src/runloop_api_client/types/secret_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
424
275
  - <code title="get /v1/secrets">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">list</a>(\*\*<a href="src/runloop_api_client/types/secret_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_list_view.py">SecretListView</a></code>
425
276
  - <code title="post /v1/secrets/{name}/delete">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">delete</a>(name) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
277
+ - <code title="post /v1/secrets/id/{id}/delete">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">delete_by_id</a>(id) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
278
+ - <code title="get /v1/secrets/id/{id}">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">retrieve_by_id</a>(id) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
279
+ - <code title="post /v1/secrets/id/{id}/update">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">update_by_id</a>(id, \*\*<a href="src/runloop_api_client/types/secret_update_by_id_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
426
280
 
427
281
  # NetworkPolicies
428
282
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.32.0"
3
+ version = "3.0.0"
4
4
  description = "Official Python SDK for Runloop — secure Linux sandboxes (Devboxes) where AI agents run code, edit files, and expose ports"
5
5
  dynamic = ["readme"]
6
6
  keywords = [
@@ -61,6 +61,11 @@
61
61
  ],
62
62
  "release-type": "python",
63
63
  "extra-files": [
64
- "src/runloop_api_client/_version.py"
64
+ "src/runloop_api_client/_version.py",
65
+ {
66
+ "type": "toml",
67
+ "path": "uv.lock",
68
+ "jsonpath": "$.package[?(@.name.value == \"runloop-api-client\")].version"
69
+ }
65
70
  ]
66
- }
71
+ }