runloop_api_client 1.23.2__tar.gz → 1.24.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 (472) hide show
  1. runloop_api_client-1.24.0/.release-please-manifest.json +3 -0
  2. runloop_api_client-1.24.0/AGENTS.md +13 -0
  3. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/CHANGELOG.md +41 -0
  4. runloop_api_client-1.24.0/CLAUDE.md +1 -0
  5. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/PKG-INFO +1 -1
  6. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/api.md +2 -3
  7. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/pyproject.toml +2 -1
  8. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_constants.py +10 -0
  9. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_version.py +1 -1
  10. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/wait_for_status.py +26 -9
  11. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/axons/axons.py +8 -0
  12. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/benchmark_jobs.py +8 -0
  13. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/benchmark_runs.py +16 -0
  14. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/benchmarks.py +24 -0
  15. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/blueprints.py +0 -178
  16. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/devboxes/devboxes.py +28 -18
  17. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/devboxes/executions.py +3 -1
  18. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/gateway_configs.py +8 -0
  19. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/mcp_configs.py +8 -0
  20. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/network_policies.py +52 -1
  21. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/scenarios/runs.py +8 -0
  22. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/scenarios/scenarios.py +16 -0
  23. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/scenarios/scorers.py +8 -0
  24. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/__init__.py +4 -4
  25. runloop_api_client-1.24.0/src/runloop_api_client/types/allowed_cidr.py +21 -0
  26. runloop_api_client-1.24.0/src/runloop_api_client/types/allowed_cidr_param.py +23 -0
  27. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_list_params.py +3 -0
  28. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_job_list_params.py +3 -0
  29. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_list_params.py +3 -0
  30. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_list_public_params.py +6 -0
  31. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_run_list_params.py +3 -0
  32. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +3 -0
  33. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_create_params.py +0 -3
  34. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_list_params.py +1 -0
  35. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_view.py +5 -2
  36. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/gateway_config_list_params.py +3 -0
  37. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/mcp_config_list_params.py +3 -0
  38. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/network_policy_create_params.py +15 -1
  39. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/network_policy_list_params.py +3 -0
  40. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/network_policy_update_params.py +14 -1
  41. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/network_policy_view.py +13 -0
  42. runloop_api_client-1.24.0/src/runloop_api_client/types/port_rule.py +24 -0
  43. runloop_api_client-1.24.0/src/runloop_api_client/types/port_rule_param.py +24 -0
  44. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_list_params.py +3 -0
  45. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_list_public_params.py +3 -0
  46. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/run_list_params.py +3 -0
  47. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +3 -0
  48. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scope_entry_view.py +0 -1
  49. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scope_entry_view_param.py +0 -1
  50. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/broker_mount.py +3 -3
  51. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/broker_mount.py +3 -3
  52. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/scenarios/test_runs.py +2 -0
  53. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/scenarios/test_scorers.py +2 -0
  54. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_axons.py +2 -0
  55. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_benchmark_jobs.py +2 -0
  56. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_benchmark_runs.py +4 -0
  57. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_benchmarks.py +6 -0
  58. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_blueprints.py +0 -170
  59. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_devboxes.py +0 -2
  60. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_gateway_configs.py +2 -0
  61. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_mcp_configs.py +2 -0
  62. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_network_policies.py +54 -0
  63. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_scenarios.py +4 -0
  64. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/uv.lock +1 -1
  65. runloop_api_client-1.23.2/.release-please-manifest.json +0 -3
  66. runloop_api_client-1.23.2/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -53
  67. runloop_api_client-1.23.2/src/runloop_api_client/types/inspection_source_param.py +0 -18
  68. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/.gitignore +0 -0
  69. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/CONTRIBUTING.md +0 -0
  70. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/EXAMPLES.md +0 -0
  71. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/LICENSE +0 -0
  72. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/README-SDK.md +0 -0
  73. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/README.md +0 -0
  74. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/SECURITY.md +0 -0
  75. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/bin/check-release-environment +0 -0
  76. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/bin/publish-pypi +0 -0
  77. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/__init__.py +0 -0
  78. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/_harness.py +0 -0
  79. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/blueprint_with_build_context.py +0 -0
  80. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  81. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/devbox_snapshot_resume.py +0 -0
  82. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/devbox_snapshots.py +0 -0
  83. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/devbox_tunnel.py +0 -0
  84. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/example_types.py +0 -0
  85. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/mcp_github_tools.py +0 -0
  86. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/registry.py +0 -0
  87. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/examples/secrets_with_devbox.py +0 -0
  88. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/release-please-config.json +0 -0
  89. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/requirements-dev.lock +0 -0
  90. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop/lib/.keep +0 -0
  91. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/__init__.py +0 -0
  92. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_base_client.py +0 -0
  93. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_client.py +0 -0
  94. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_compat.py +0 -0
  95. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_exceptions.py +0 -0
  96. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_files.py +0 -0
  97. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_models.py +0 -0
  98. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_qs.py +0 -0
  99. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_resource.py +0 -0
  100. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_response.py +0 -0
  101. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_streaming.py +0 -0
  102. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_types.py +0 -0
  103. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  104. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  105. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  106. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_json.py +0 -0
  107. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  108. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_path.py +0 -0
  109. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  110. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  111. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  112. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  113. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  114. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  115. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  116. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  117. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  118. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/.keep +0 -0
  119. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/__init__.py +0 -0
  120. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  121. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  122. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/polling.py +0 -0
  123. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  124. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/pagination.py +0 -0
  125. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/py.typed +0 -0
  126. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/__init__.py +0 -0
  127. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/accounts.py +0 -0
  128. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/agents.py +0 -0
  129. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/apikeys.py +0 -0
  130. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  131. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/axons/events.py +0 -0
  132. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  133. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  134. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  135. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  136. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/objects.py +0 -0
  137. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/pty.py +0 -0
  138. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/restricted_keys.py +0 -0
  139. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  140. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/resources/secrets.py +0 -0
  141. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  142. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  143. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/_types.py +0 -0
  144. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/agent.py +0 -0
  145. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_.py +0 -0
  146. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  147. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  148. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  149. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  150. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  151. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
  152. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  153. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  154. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  155. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  156. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  157. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  158. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  159. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  160. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  161. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
  162. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  163. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  164. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/axon.py +0 -0
  165. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  166. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  167. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  168. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/devbox.py +0 -0
  169. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/execution.py +0 -0
  170. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  171. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  172. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  173. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  174. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  175. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  176. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  177. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  178. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/secret.py +0 -0
  179. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  180. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  181. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/sdk/sync.py +0 -0
  182. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/account_view.py +0 -0
  183. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  184. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_devbox_counts_view.py +0 -0
  185. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  186. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_list_public_params.py +0 -0
  187. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  188. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/agent_view.py +0 -0
  189. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/api_key_created_view.py +0 -0
  190. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/apikey_create_params.py +0 -0
  191. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  192. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  193. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
  194. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  195. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
  196. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axon_view.py +0 -0
  197. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  198. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/axon_event_list_view.py +0 -0
  199. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/event_list_params.py +0 -0
  200. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  201. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
  202. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
  203. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  204. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
  205. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
  206. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  207. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
  208. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
  209. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  210. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  211. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  212. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  213. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
  214. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  215. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  216. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  217. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  218. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  219. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  220. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  221. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  222. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  223. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  224. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  225. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  226. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  227. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  228. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  229. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  230. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  231. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  232. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  233. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +0 -0
  234. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  235. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  236. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  237. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  238. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  239. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  240. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  241. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  242. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  243. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  244. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  245. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  246. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  247. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  248. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  249. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  250. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  251. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  252. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  253. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  254. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  255. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  256. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  257. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  258. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  259. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  260. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  261. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  262. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  263. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  264. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  265. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  266. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  267. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  268. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  269. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
  270. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  271. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/input_context.py +0 -0
  272. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  273. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  274. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
  275. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  276. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
  277. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
  278. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  279. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  280. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  281. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  282. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  283. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  284. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  285. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/object_view.py +0 -0
  286. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/pty_connect_params.py +0 -0
  287. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/pty_connect_view.py +0 -0
  288. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/pty_control_params.py +0 -0
  289. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/pty_control_result_view.py +0 -0
  290. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/pty_tunnel_view.py +0 -0
  291. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  292. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/restricted_key_create_params.py +0 -0
  293. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/restricted_key_created_view.py +0 -0
  294. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  295. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  296. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  297. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  298. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  299. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  300. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  301. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  302. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  303. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  304. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  305. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  306. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  307. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  308. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  309. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  310. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  311. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  312. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  313. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  314. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  315. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  316. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  317. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  318. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  319. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  320. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  321. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/secret_view.py +0 -0
  322. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  323. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  324. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  325. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  326. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  327. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  328. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/lifecycle_configuration.py +0 -0
  329. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/lifecycle_hooks.py +0 -0
  330. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  331. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  332. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/resume_triggers.py +0 -0
  333. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  334. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  335. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  336. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  337. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  338. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  339. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  340. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/lifecycle_configuration.py +0 -0
  341. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/lifecycle_hooks.py +0 -0
  342. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  343. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  344. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/resume_triggers.py +0 -0
  345. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  346. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  347. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/__init__.py +0 -0
  348. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/__init__.py +0 -0
  349. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/axons/__init__.py +0 -0
  350. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/axons/test_events.py +0 -0
  351. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/axons/test_sql.py +0 -0
  352. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/devboxes/__init__.py +0 -0
  353. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  354. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  355. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  356. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/scenarios/__init__.py +0 -0
  357. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_accounts.py +0 -0
  358. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_agents.py +0 -0
  359. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_apikeys.py +0 -0
  360. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_objects.py +0 -0
  361. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_pty.py +0 -0
  362. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_restricted_keys.py +0 -0
  363. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/api_resources/test_secrets.py +0 -0
  364. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/conftest.py +0 -0
  365. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sample_file.txt +0 -0
  366. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/__init__.py +0 -0
  367. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/__init__.py +0 -0
  368. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/conftest.py +0 -0
  369. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/test_core.py +0 -0
  370. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  371. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  372. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  373. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/conftest.py +0 -0
  374. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/__init__.py +0 -0
  375. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/conftest.py +0 -0
  376. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/test_core.py +0 -0
  377. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  378. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  379. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/devbox/test_streaming.py +0 -0
  380. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_agent.py +0 -0
  381. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_agent.py +0 -0
  382. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_axon.py +0 -0
  383. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_benchmark.py +0 -0
  384. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  385. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_blueprint.py +0 -0
  386. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_execution.py +0 -0
  387. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_execution_result.py +0 -0
  388. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_gateway_config.py +0 -0
  389. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_network_policy.py +0 -0
  390. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_ops.py +0 -0
  391. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_scenario.py +0 -0
  392. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  393. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_scenario_run.py +0 -0
  394. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_scorer.py +0 -0
  395. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_snapshot.py +0 -0
  396. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_async_storage_object.py +0 -0
  397. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_axon.py +0 -0
  398. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_benchmark.py +0 -0
  399. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_benchmark_run.py +0 -0
  400. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_blueprint.py +0 -0
  401. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_execution.py +0 -0
  402. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_execution_result.py +0 -0
  403. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_gateway_config.py +0 -0
  404. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_helpers.py +0 -0
  405. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_network_policy.py +0 -0
  406. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_ops.py +0 -0
  407. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_scenario.py +0 -0
  408. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_scenario_builder.py +0 -0
  409. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_scenario_run.py +0 -0
  410. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_scorer.py +0 -0
  411. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_snapshot.py +0 -0
  412. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/sdk/test_storage_object.py +0 -0
  413. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/README.md +0 -0
  414. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/__init__.py +0 -0
  415. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/conftest.py +0 -0
  416. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/examples/__init__.py +0 -0
  417. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/examples/test_examples.py +0 -0
  418. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/README.md +0 -0
  419. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/__init__.py +0 -0
  420. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/conftest.py +0 -0
  421. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_agent.py +0 -0
  422. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  423. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  424. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  425. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  426. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  427. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  428. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  429. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  430. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  431. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  432. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
  433. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  434. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  435. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_axon.py +0 -0
  436. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  437. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  438. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  439. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  440. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  441. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  442. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  443. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  444. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  445. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_secret.py +0 -0
  446. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  447. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  448. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/test_blueprints.py +0 -0
  449. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/test_devboxes.py +0 -0
  450. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/test_executions.py +0 -0
  451. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  452. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/test_snapshots.py +0 -0
  453. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/smoketests/utils.py +0 -0
  454. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_client.py +0 -0
  455. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_command_id.py +0 -0
  456. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_extract_files.py +0 -0
  457. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_files.py +0 -0
  458. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_models.py +0 -0
  459. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_polling.py +0 -0
  460. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_qs.py +0 -0
  461. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_required_args.py +0 -0
  462. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_response.py +0 -0
  463. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_shared_pool.py +0 -0
  464. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_streaming.py +0 -0
  465. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_transform.py +0 -0
  466. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_context_loader.py +0 -0
  467. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_datetime_parse.py +0 -0
  468. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_json.py +0 -0
  469. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_path.py +0 -0
  470. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_proxy.py +0 -0
  471. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/test_utils/test_typing.py +0 -0
  472. {runloop_api_client-1.23.2 → runloop_api_client-1.24.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.24.0"
3
+ }
@@ -0,0 +1,13 @@
1
+ # Agent Guidance
2
+
3
+ ## Pull Request Hygiene
4
+
5
+ - Use Conventional Commits format for PR titles and commit subjects. Follow https://www.conventionalcommits.org/en/v1.0.0/#summary with a lowercase type, optional scope, colon, and short imperative summary, for example `fix(devbox): remove stale helper argument`.
6
+ - Match the repository's existing release style when choosing a type and scope. Prefer `fix(scope): ...`, `feat(scope): ...`, `docs(scope): ...`, or `chore(scope): ...` as appropriate.
7
+ - When asked to create, open, or update a PR, do not hand the turn back to the user until the branch is pushed, the PR is open or updated, relevant local validation has run where practical, and GitHub CI is passing.
8
+ - If CI cannot pass because of an external service, permissions, unavailable secrets, or another blocker outside the branch changes, report the blocking check with a link and a concise explanation.
9
+
10
+ ## Generated Code
11
+
12
+ - Most SDK code is generated. Prefer fixing generated API surfaces at the OpenAPI/Stainless source when possible.
13
+ - Keep handwritten changes small and clearly separated from generated updates so future generations can be reviewed safely.
@@ -1,5 +1,46 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.24.0 (2026-07-22)
4
+
5
+ Full Changelog: [v1.23.3...v1.24.0](https://github.com/runloopai/api-client-python/compare/v1.23.3...v1.24.0)
6
+
7
+ ### Features
8
+
9
+ * add HTTP/2 load testing infrastructure ([#819](https://github.com/runloopai/api-client-python/issues/819)) ([4ef3c65](https://github.com/runloopai/api-client-python/commit/4ef3c65a2643a093f6589a45428ebd4f1a2bf79e))
10
+ * **api:** add codex broker mount protocol and axon attach enum value ([#10186](https://github.com/runloopai/api-client-python/issues/10186)) ([b3a0a91](https://github.com/runloopai/api-client-python/commit/b3a0a91b5463e47787cce33aa6ad803446e41ecd))
11
+ * **devbox:** rename scheduled -> queued ([#10217](https://github.com/runloopai/api-client-python/issues/10217)) ([f6cc5b7](https://github.com/runloopai/api-client-python/commit/f6cc5b714771564aaa7c5424b21fbd3c87286306))
12
+ * **loadtest:** add pool_check.py to verify shared sync connection pool ([#822](https://github.com/runloopai/api-client-python/issues/822)) ([0000c52](https://github.com/runloopai/api-client-python/commit/0000c52205bb8942942b8dec9f91972e89eebafb))
13
+ * **mux:** expose CIDR egress rules on the network policy API ([#10269](https://github.com/runloopai/api-client-python/issues/10269)) ([b77a065](https://github.com/runloopai/api-client-python/commit/b77a065422042d3a7717c02208e16b72fdddc5e3))
14
+ * **network:** add allow_runloop_mirrors egress flag to network policies ([#10350](https://github.com/runloopai/api-client-python/issues/10350)) ([c042398](https://github.com/runloopai/api-client-python/commit/c04239892931cd1b80d926af8664a461ea426aab))
15
+ * **stlc:** configurable CI runner and private-production-repo support in workflow templates ([6a762cb](https://github.com/runloopai/api-client-python/commit/6a762cb53fbf1b6a2d113874227d0b68caa979dc))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **internal:** resolve build failures ([a5b61f3](https://github.com/runloopai/api-client-python/commit/a5b61f3b981d74f4707d132513d59beb4bdb33c2))
21
+ * **mux:** uniform id/name search across list endpoints, close cross-tenant IDOR ([#10267](https://github.com/runloopai/api-client-python/issues/10267)) ([4a40176](https://github.com/runloopai/api-client-python/commit/4a401768ae50e1047d4c6f80384c059112299463))
22
+
23
+ ## 1.23.3 (2026-07-10)
24
+
25
+ Full Changelog: [v1.23.2...v1.23.3](https://github.com/runloopai/api-client-python/compare/v1.23.2...v1.23.3)
26
+
27
+ ### Bug Fixes
28
+
29
+ * **blueprints:** remove create_from_inspection endpoint ([fa8a630](https://github.com/runloopai/api-client-python/commit/fa8a630e348147eb6c3c0a0b2f8c7fc325ad6d1f))
30
+ * **devbox:** remove stale repo_connection_id helper arg ([#813](https://github.com/runloopai/api-client-python/issues/813)) ([4b5a933](https://github.com/runloopai/api-client-python/commit/4b5a933b2ebefcf160015ee64ab8ec9d7fd9c5e5))
31
+ * retry polling on HTTP/2 GOAWAY connection errors ([#817](https://github.com/runloopai/api-client-python/issues/817)) ([b0cc07c](https://github.com/runloopai/api-client-python/commit/b0cc07c35a3bd5796e9fe26df50d90981d54fec9))
32
+ * update test script to work without lsof on CI ([#798](https://github.com/runloopai/api-client-python/issues/798)) ([50507eb](https://github.com/runloopai/api-client-python/commit/50507eba5537386e9af72ba3e2629cfac89c2391))
33
+
34
+
35
+ ### Chores
36
+
37
+ * **devbox:** cap forwarded long-poll timeout and add client read margin ([#818](https://github.com/runloopai/api-client-python/issues/818)) ([c04f867](https://github.com/runloopai/api-client-python/commit/c04f867543c8ef0f2328c3235f9a26965dda2432))
38
+
39
+
40
+ ### Documentation
41
+
42
+ * add agent PR guidance ([#814](https://github.com/runloopai/api-client-python/issues/814)) ([3c483bd](https://github.com/runloopai/api-client-python/commit/3c483bdfd46b48afe2b0f2e68d9f4326f980414a))
43
+
3
44
  ## 1.23.2 (2026-06-09)
4
45
 
5
46
  Full Changelog: [v1.23.1...v1.23.2](https://github.com/runloopai/api-client-python/compare/v1.23.1...v1.23.2)
@@ -0,0 +1 @@
1
+ AGENTS.md
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.23.2
3
+ Version: 1.24.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
@@ -174,14 +174,12 @@ Types:
174
174
 
175
175
  ```python
176
176
  from runloop_api_client.types import (
177
- BlueprintBuildFromInspectionParameters,
178
177
  BlueprintBuildLog,
179
178
  BlueprintBuildLogsListView,
180
179
  BlueprintBuildParameters,
181
180
  BlueprintListView,
182
181
  BlueprintPreviewView,
183
182
  BlueprintView,
184
- InspectionSource,
185
183
  )
186
184
  ```
187
185
 
@@ -192,7 +190,6 @@ Methods:
192
190
  - <code title="get /v1/blueprints/{id}">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
193
191
  - <code title="get /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
194
192
  - <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
195
- - <code title="post /v1/blueprints/create_from_inspection">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_from_inspection</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_from_inspection_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
196
193
  - <code title="get /v1/blueprints/list_public">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
197
194
  - <code title="get /v1/blueprints/{id}/logs">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">logs</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_build_logs_list_view.py">BlueprintBuildLogsListView</a></code>
198
195
  - <code title="post /v1/blueprints/preview">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">preview</a>(\*\*<a href="src/runloop_api_client/types/blueprint_preview_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_preview_view.py">BlueprintPreviewView</a></code>
@@ -422,10 +419,12 @@ Types:
422
419
 
423
420
  ```python
424
421
  from runloop_api_client.types import (
422
+ AllowedCidr,
425
423
  NetworkPolicyCreateParameters,
426
424
  NetworkPolicyListView,
427
425
  NetworkPolicyUpdateParameters,
428
426
  NetworkPolicyView,
427
+ PortRule,
429
428
  )
430
429
  ```
431
430
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.23.2"
3
+ version = "1.24.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -256,3 +256,4 @@ known-first-party = ["runloop_api_client", "tests"]
256
256
  "scripts/**.py" = ["T201", "T203"]
257
257
  "tests/**.py" = ["T201", "T203"]
258
258
  "examples/**.py" = ["T201", "T203"]
259
+ "loadtest/**.py" = ["T201", "T203"]
@@ -13,6 +13,16 @@ DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=20, max_keepalive_conne
13
13
  INITIAL_RETRY_DELAY = 1.0
14
14
  MAX_RETRY_DELAY = 60.0
15
15
 
16
+ # Long-poll endpoints tell the server how long to hold the connection and expect a
17
+ # graceful 408 when that hold elapses. The per-request client read timeout must
18
+ # exceed the server hold so the server returns 408 first instead of the client
19
+ # aborting the stream (RST_STREAM) and surfacing a connection error.
20
+ LONG_POLL_CLIENT_BUFFER_SECONDS = 5.0
21
+
22
+ # Authoritative server-side long-poll hold clamps, mirrored from the mux controllers.
23
+ STATUS_LONG_POLL_SERVER_MAX_SECONDS = 30.0
24
+ EXEC_LONG_POLL_SERVER_MAX_SECONDS = 25.0
25
+
16
26
  # Maximum allowed size (in bytes) for individual entries in `file_mounts` when creating Blueprints
17
27
  # NOTE: Empirically, ~131,000 is the maximum command length after
18
28
  # base64 encoding; 98,250 is the pre-encoded limit that stays within that bound.
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "1.23.2" # x-release-please-version
4
+ __version__ = "1.24.0" # x-release-please-version
@@ -13,8 +13,11 @@ from __future__ import annotations
13
13
  import time
14
14
  from typing import List, Type, TypeVar, Callable, Optional, Awaitable
15
15
 
16
+ import httpx
17
+
16
18
  from .polling import PollingConfig, PollingTimeout
17
- from .._exceptions import APIStatusError, APITimeoutError
19
+ from .._constants import LONG_POLL_CLIENT_BUFFER_SECONDS, STATUS_LONG_POLL_SERVER_MAX_SECONDS
20
+ from .._exceptions import APIStatusError, APIConnectionError
18
21
 
19
22
  T = TypeVar("T")
20
23
 
@@ -27,6 +30,7 @@ def wait_for_status(
27
30
  placeholder: Callable[[], T],
28
31
  is_terminal: Callable[[T], bool],
29
32
  polling_config: Optional[PollingConfig] = None,
33
+ server_max_timeout_seconds: float = STATUS_LONG_POLL_SERVER_MAX_SECONDS,
30
34
  ) -> T:
31
35
  """Sync long-poll for a status change, retrying until *is_terminal* or timeout."""
32
36
  config = polling_config or PollingConfig()
@@ -42,15 +46,21 @@ def wait_for_status(
42
46
  if remaining <= 0:
43
47
  raise PollingTimeout(f"Exceeded timeout of {timeout} seconds", last_result)
44
48
 
49
+ # Cap the server hold at what the server honors, and give the client read
50
+ # timeout a buffer beyond it so the server returns 408 first.
51
+ server_timeout = min(remaining, server_max_timeout_seconds)
45
52
  try:
46
53
  last_result = post_fn(
47
54
  path,
48
- body={"statuses": statuses, "timeout_seconds": remaining},
55
+ body={"statuses": statuses, "timeout_seconds": server_timeout},
49
56
  cast_to=cast_to,
50
- options={"max_retries": 0},
57
+ options={
58
+ "max_retries": 0,
59
+ "timeout": httpx.Timeout(server_timeout + LONG_POLL_CLIENT_BUFFER_SECONDS, connect=5.0),
60
+ },
51
61
  )
52
- except (APITimeoutError, APIStatusError) as error:
53
- if isinstance(error, APITimeoutError) or error.response.status_code == 408:
62
+ except (APIConnectionError, APIStatusError) as error:
63
+ if isinstance(error, APIConnectionError) or error.response.status_code == 408:
54
64
  last_result = placeholder()
55
65
  else:
56
66
  raise
@@ -67,6 +77,7 @@ async def async_wait_for_status(
67
77
  placeholder: Callable[[], T],
68
78
  is_terminal: Callable[[T], bool],
69
79
  polling_config: Optional[PollingConfig] = None,
80
+ server_max_timeout_seconds: float = STATUS_LONG_POLL_SERVER_MAX_SECONDS,
70
81
  ) -> T:
71
82
  """Async long-poll for a status change, retrying until *is_terminal* or timeout."""
72
83
  config = polling_config or PollingConfig()
@@ -82,15 +93,21 @@ async def async_wait_for_status(
82
93
  if remaining <= 0:
83
94
  raise PollingTimeout(f"Exceeded timeout of {timeout} seconds", last_result)
84
95
 
96
+ # Cap the server hold at what the server honors, and give the client read
97
+ # timeout a buffer beyond it so the server returns 408 first.
98
+ server_timeout = min(remaining, server_max_timeout_seconds)
85
99
  try:
86
100
  last_result = await post_fn(
87
101
  path,
88
- body={"statuses": statuses, "timeout_seconds": remaining},
102
+ body={"statuses": statuses, "timeout_seconds": server_timeout},
89
103
  cast_to=cast_to,
90
- options={"max_retries": 0},
104
+ options={
105
+ "max_retries": 0,
106
+ "timeout": httpx.Timeout(server_timeout + LONG_POLL_CLIENT_BUFFER_SECONDS, connect=5.0),
107
+ },
91
108
  )
92
- except (APITimeoutError, APIStatusError) as error:
93
- if isinstance(error, APITimeoutError) or error.response.status_code == 408:
109
+ except (APIConnectionError, APIStatusError) as error:
110
+ if isinstance(error, APIConnectionError) or error.response.status_code == 408:
94
111
  last_result = placeholder()
95
112
  else:
96
113
  raise
@@ -153,6 +153,7 @@ class AxonsResource(SyncAPIResource):
153
153
  include_total_count: bool | Omit = omit,
154
154
  limit: int | Omit = omit,
155
155
  name: str | Omit = omit,
156
+ search: str | Omit = omit,
156
157
  starting_after: str | Omit = omit,
157
158
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
158
159
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -174,6 +175,8 @@ class AxonsResource(SyncAPIResource):
174
175
 
175
176
  name: Filter by axon name (prefix match supported).
176
177
 
178
+ search: Search by axon ID or name.
179
+
177
180
  starting_after: Load the next page of data starting after the item with the given ID.
178
181
 
179
182
  extra_headers: Send extra headers
@@ -198,6 +201,7 @@ class AxonsResource(SyncAPIResource):
198
201
  "include_total_count": include_total_count,
199
202
  "limit": limit,
200
203
  "name": name,
204
+ "search": search,
201
205
  "starting_after": starting_after,
202
206
  },
203
207
  axon_list_params.AxonListParams,
@@ -424,6 +428,7 @@ class AsyncAxonsResource(AsyncAPIResource):
424
428
  include_total_count: bool | Omit = omit,
425
429
  limit: int | Omit = omit,
426
430
  name: str | Omit = omit,
431
+ search: str | Omit = omit,
427
432
  starting_after: str | Omit = omit,
428
433
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
429
434
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -445,6 +450,8 @@ class AsyncAxonsResource(AsyncAPIResource):
445
450
 
446
451
  name: Filter by axon name (prefix match supported).
447
452
 
453
+ search: Search by axon ID or name.
454
+
448
455
  starting_after: Load the next page of data starting after the item with the given ID.
449
456
 
450
457
  extra_headers: Send extra headers
@@ -469,6 +476,7 @@ class AsyncAxonsResource(AsyncAPIResource):
469
476
  "include_total_count": include_total_count,
470
477
  "limit": limit,
471
478
  "name": name,
479
+ "search": search,
472
480
  "starting_after": starting_after,
473
481
  },
474
482
  axon_list_params.AxonListParams,
@@ -134,6 +134,7 @@ class BenchmarkJobsResource(SyncAPIResource):
134
134
  include_total_count: bool | Omit = omit,
135
135
  limit: int | Omit = omit,
136
136
  name: str | Omit = omit,
137
+ search: str | Omit = omit,
137
138
  starting_after: str | Omit = omit,
138
139
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
139
140
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -153,6 +154,8 @@ class BenchmarkJobsResource(SyncAPIResource):
153
154
 
154
155
  name: Filter by name
155
156
 
157
+ search: Search by benchmark job ID or name.
158
+
156
159
  starting_after: Load the next page of data starting after the item with the given ID.
157
160
 
158
161
  extra_headers: Send extra headers
@@ -175,6 +178,7 @@ class BenchmarkJobsResource(SyncAPIResource):
175
178
  "include_total_count": include_total_count,
176
179
  "limit": limit,
177
180
  "name": name,
181
+ "search": search,
178
182
  "starting_after": starting_after,
179
183
  },
180
184
  benchmark_job_list_params.BenchmarkJobListParams,
@@ -294,6 +298,7 @@ class AsyncBenchmarkJobsResource(AsyncAPIResource):
294
298
  include_total_count: bool | Omit = omit,
295
299
  limit: int | Omit = omit,
296
300
  name: str | Omit = omit,
301
+ search: str | Omit = omit,
297
302
  starting_after: str | Omit = omit,
298
303
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
299
304
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -313,6 +318,8 @@ class AsyncBenchmarkJobsResource(AsyncAPIResource):
313
318
 
314
319
  name: Filter by name
315
320
 
321
+ search: Search by benchmark job ID or name.
322
+
316
323
  starting_after: Load the next page of data starting after the item with the given ID.
317
324
 
318
325
  extra_headers: Send extra headers
@@ -335,6 +342,7 @@ class AsyncBenchmarkJobsResource(AsyncAPIResource):
335
342
  "include_total_count": include_total_count,
336
343
  "limit": limit,
337
344
  "name": name,
345
+ "search": search,
338
346
  "starting_after": starting_after,
339
347
  },
340
348
  benchmark_job_list_params.BenchmarkJobListParams,
@@ -85,6 +85,7 @@ class BenchmarkRunsResource(SyncAPIResource):
85
85
  include_total_count: bool | Omit = omit,
86
86
  limit: int | Omit = omit,
87
87
  name: str | Omit = omit,
88
+ search: str | Omit = omit,
88
89
  starting_after: str | Omit = omit,
89
90
  state: str | Omit = omit,
90
91
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -107,6 +108,8 @@ class BenchmarkRunsResource(SyncAPIResource):
107
108
 
108
109
  name: Filter by name
109
110
 
111
+ search: Search by benchmark run ID or name.
112
+
110
113
  starting_after: Load the next page of data starting after the item with the given ID.
111
114
 
112
115
  state: Filter by state
@@ -133,6 +136,7 @@ class BenchmarkRunsResource(SyncAPIResource):
133
136
  "include_total_count": include_total_count,
134
137
  "limit": limit,
135
138
  "name": name,
139
+ "search": search,
136
140
  "starting_after": starting_after,
137
141
  "state": state,
138
142
  },
@@ -231,6 +235,7 @@ class BenchmarkRunsResource(SyncAPIResource):
231
235
  *,
232
236
  include_total_count: bool | Omit = omit,
233
237
  limit: int | Omit = omit,
238
+ search: str | Omit = omit,
234
239
  starting_after: str | Omit = omit,
235
240
  state: Literal["running", "scoring", "scored", "completed", "canceled", "timeout", "failed"] | Omit = omit,
236
241
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -249,6 +254,8 @@ class BenchmarkRunsResource(SyncAPIResource):
249
254
 
250
255
  limit: The limit of items to return. Default is 20. Max is 5000.
251
256
 
257
+ search: Search by scenario run ID or name.
258
+
252
259
  starting_after: Load the next page of data starting after the item with the given ID.
253
260
 
254
261
  state: Filter by Scenario Run state
@@ -275,6 +282,7 @@ class BenchmarkRunsResource(SyncAPIResource):
275
282
  {
276
283
  "include_total_count": include_total_count,
277
284
  "limit": limit,
285
+ "search": search,
278
286
  "starting_after": starting_after,
279
287
  "state": state,
280
288
  },
@@ -345,6 +353,7 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
345
353
  include_total_count: bool | Omit = omit,
346
354
  limit: int | Omit = omit,
347
355
  name: str | Omit = omit,
356
+ search: str | Omit = omit,
348
357
  starting_after: str | Omit = omit,
349
358
  state: str | Omit = omit,
350
359
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -367,6 +376,8 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
367
376
 
368
377
  name: Filter by name
369
378
 
379
+ search: Search by benchmark run ID or name.
380
+
370
381
  starting_after: Load the next page of data starting after the item with the given ID.
371
382
 
372
383
  state: Filter by state
@@ -393,6 +404,7 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
393
404
  "include_total_count": include_total_count,
394
405
  "limit": limit,
395
406
  "name": name,
407
+ "search": search,
396
408
  "starting_after": starting_after,
397
409
  "state": state,
398
410
  },
@@ -491,6 +503,7 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
491
503
  *,
492
504
  include_total_count: bool | Omit = omit,
493
505
  limit: int | Omit = omit,
506
+ search: str | Omit = omit,
494
507
  starting_after: str | Omit = omit,
495
508
  state: Literal["running", "scoring", "scored", "completed", "canceled", "timeout", "failed"] | Omit = omit,
496
509
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -509,6 +522,8 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
509
522
 
510
523
  limit: The limit of items to return. Default is 20. Max is 5000.
511
524
 
525
+ search: Search by scenario run ID or name.
526
+
512
527
  starting_after: Load the next page of data starting after the item with the given ID.
513
528
 
514
529
  state: Filter by Scenario Run state
@@ -535,6 +550,7 @@ class AsyncBenchmarkRunsResource(AsyncAPIResource):
535
550
  {
536
551
  "include_total_count": include_total_count,
537
552
  "limit": limit,
553
+ "search": search,
538
554
  "starting_after": starting_after,
539
555
  "state": state,
540
556
  },
@@ -247,6 +247,7 @@ class BenchmarksResource(SyncAPIResource):
247
247
  include_total_count: bool | Omit = omit,
248
248
  limit: int | Omit = omit,
249
249
  name: str | Omit = omit,
250
+ search: str | Omit = omit,
250
251
  starting_after: str | Omit = omit,
251
252
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
252
253
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -266,6 +267,8 @@ class BenchmarksResource(SyncAPIResource):
266
267
 
267
268
  name: Filter by name
268
269
 
270
+ search: Search by benchmark ID or name.
271
+
269
272
  starting_after: Load the next page of data starting after the item with the given ID.
270
273
 
271
274
  extra_headers: Send extra headers
@@ -289,6 +292,7 @@ class BenchmarksResource(SyncAPIResource):
289
292
  "include_total_count": include_total_count,
290
293
  "limit": limit,
291
294
  "name": name,
295
+ "search": search,
292
296
  "starting_after": starting_after,
293
297
  },
294
298
  benchmark_list_params.BenchmarkListParams,
@@ -351,6 +355,8 @@ class BenchmarksResource(SyncAPIResource):
351
355
  *,
352
356
  include_total_count: bool | Omit = omit,
353
357
  limit: int | Omit = omit,
358
+ name: str | Omit = omit,
359
+ search: str | Omit = omit,
354
360
  starting_after: str | Omit = omit,
355
361
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
356
362
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -368,6 +374,10 @@ class BenchmarksResource(SyncAPIResource):
368
374
 
369
375
  limit: The limit of items to return. Default is 20. Max is 5000.
370
376
 
377
+ name: Filter by name
378
+
379
+ search: Search by benchmark ID or name.
380
+
371
381
  starting_after: Load the next page of data starting after the item with the given ID.
372
382
 
373
383
  extra_headers: Send extra headers
@@ -390,6 +400,8 @@ class BenchmarksResource(SyncAPIResource):
390
400
  {
391
401
  "include_total_count": include_total_count,
392
402
  "limit": limit,
403
+ "name": name,
404
+ "search": search,
393
405
  "starting_after": starting_after,
394
406
  },
395
407
  benchmark_list_public_params.BenchmarkListPublicParams,
@@ -722,6 +734,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
722
734
  include_total_count: bool | Omit = omit,
723
735
  limit: int | Omit = omit,
724
736
  name: str | Omit = omit,
737
+ search: str | Omit = omit,
725
738
  starting_after: str | Omit = omit,
726
739
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
727
740
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -741,6 +754,8 @@ class AsyncBenchmarksResource(AsyncAPIResource):
741
754
 
742
755
  name: Filter by name
743
756
 
757
+ search: Search by benchmark ID or name.
758
+
744
759
  starting_after: Load the next page of data starting after the item with the given ID.
745
760
 
746
761
  extra_headers: Send extra headers
@@ -764,6 +779,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
764
779
  "include_total_count": include_total_count,
765
780
  "limit": limit,
766
781
  "name": name,
782
+ "search": search,
767
783
  "starting_after": starting_after,
768
784
  },
769
785
  benchmark_list_params.BenchmarkListParams,
@@ -826,6 +842,8 @@ class AsyncBenchmarksResource(AsyncAPIResource):
826
842
  *,
827
843
  include_total_count: bool | Omit = omit,
828
844
  limit: int | Omit = omit,
845
+ name: str | Omit = omit,
846
+ search: str | Omit = omit,
829
847
  starting_after: str | Omit = omit,
830
848
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
831
849
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -843,6 +861,10 @@ class AsyncBenchmarksResource(AsyncAPIResource):
843
861
 
844
862
  limit: The limit of items to return. Default is 20. Max is 5000.
845
863
 
864
+ name: Filter by name
865
+
866
+ search: Search by benchmark ID or name.
867
+
846
868
  starting_after: Load the next page of data starting after the item with the given ID.
847
869
 
848
870
  extra_headers: Send extra headers
@@ -865,6 +887,8 @@ class AsyncBenchmarksResource(AsyncAPIResource):
865
887
  {
866
888
  "include_total_count": include_total_count,
867
889
  "limit": limit,
890
+ "name": name,
891
+ "search": search,
868
892
  "starting_after": starting_after,
869
893
  },
870
894
  benchmark_list_public_params.BenchmarkListPublicParams,