runloop_api_client 1.15.0__tar.gz → 1.17.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 (446) hide show
  1. runloop_api_client-1.17.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/CHANGELOG.md +41 -0
  3. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/api.md +0 -34
  5. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/pyproject.toml +1 -1
  6. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_base_client.py +4 -0
  7. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_version.py +1 -1
  8. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/blueprints.py +19 -8
  9. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -28
  10. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/devboxes.py +6 -66
  11. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_view.py +1 -3
  12. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_create_params.py +3 -1
  13. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +3 -1
  14. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_view.py +3 -7
  15. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -12
  16. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +1 -1
  17. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/broker_mount.py +9 -3
  18. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +7 -1
  19. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/launch_parameters.py +36 -2
  20. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/mount.py +7 -1
  21. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/broker_mount.py +9 -3
  22. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +7 -1
  23. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +36 -2
  24. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/mount.py +7 -1
  25. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmarks.py +14 -0
  26. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_blueprints.py +194 -134
  27. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_devboxes.py +16 -0
  28. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_scenarios.py +42 -0
  29. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_client.py +48 -0
  30. runloop_api_client-1.15.0/.release-please-manifest.json +0 -3
  31. runloop_api_client-1.15.0/src/runloop_api_client/resources/devboxes/browsers.py +0 -267
  32. runloop_api_client-1.15.0/src/runloop_api_client/resources/devboxes/computers.py +0 -648
  33. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -13
  34. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/browser_view.py +0 -29
  35. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -26
  36. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -16
  37. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -15
  38. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -35
  39. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -15
  40. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -12
  41. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -15
  42. runloop_api_client-1.15.0/src/runloop_api_client/types/devboxes/computer_view.py +0 -23
  43. runloop_api_client-1.15.0/tests/api_resources/devboxes/test_browsers.py +0 -164
  44. runloop_api_client-1.15.0/tests/api_resources/devboxes/test_computers.py +0 -471
  45. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/.gitignore +0 -0
  46. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/CONTRIBUTING.md +0 -0
  47. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/EXAMPLES.md +0 -0
  48. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/LICENSE +0 -0
  49. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/README-SDK.md +0 -0
  50. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/README.md +0 -0
  51. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/SECURITY.md +0 -0
  52. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/bin/check-release-environment +0 -0
  53. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/bin/publish-pypi +0 -0
  54. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/__init__.py +0 -0
  55. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/_harness.py +0 -0
  56. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/blueprint_with_build_context.py +0 -0
  57. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  58. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/devbox_snapshot_resume.py +0 -0
  59. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/devbox_tunnel.py +0 -0
  60. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/example_types.py +0 -0
  61. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/mcp_github_tools.py +0 -0
  62. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/registry.py +0 -0
  63. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/examples/secrets_with_devbox.py +0 -0
  64. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/release-please-config.json +0 -0
  65. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/requirements-dev.lock +0 -0
  66. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop/lib/.keep +0 -0
  67. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/__init__.py +0 -0
  68. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_client.py +0 -0
  69. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_compat.py +0 -0
  70. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_constants.py +0 -0
  71. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_exceptions.py +0 -0
  72. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_files.py +0 -0
  73. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_models.py +0 -0
  74. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_qs.py +0 -0
  75. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_resource.py +0 -0
  76. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_response.py +0 -0
  77. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_streaming.py +0 -0
  78. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_types.py +0 -0
  79. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  80. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  81. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  82. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_json.py +0 -0
  83. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  84. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_path.py +0 -0
  85. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  86. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  87. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  88. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  89. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  90. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  91. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  92. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  93. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  94. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/.keep +0 -0
  95. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/__init__.py +0 -0
  96. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  97. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  98. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/polling.py +0 -0
  99. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  100. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/pagination.py +0 -0
  101. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/py.typed +0 -0
  102. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/__init__.py +0 -0
  103. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/agents.py +0 -0
  104. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  105. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/axons.py +0 -0
  106. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  107. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  108. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  109. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  110. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  111. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  112. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  113. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
  114. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
  115. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  116. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/objects.py +0 -0
  117. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  118. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  119. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  120. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  121. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/resources/secrets.py +0 -0
  122. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  123. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  124. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/_types.py +0 -0
  125. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/agent.py +0 -0
  126. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_.py +0 -0
  127. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  128. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  129. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  130. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  131. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  132. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
  133. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  134. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  135. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  136. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  137. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  138. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  139. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  140. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  141. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  142. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
  143. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  144. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  145. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/axon.py +0 -0
  146. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  147. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  148. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  149. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/devbox.py +0 -0
  150. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/execution.py +0 -0
  151. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  152. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  153. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  154. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  155. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  156. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  157. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  158. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  159. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/secret.py +0 -0
  160. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  161. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  162. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/sdk/sync.py +0 -0
  163. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/__init__.py +0 -0
  164. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  165. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  166. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  167. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/agent_view.py +0 -0
  168. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  169. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  170. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_list_params.py +0 -0
  171. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
  172. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  173. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
  174. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axon_view.py +0 -0
  175. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  176. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  177. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
  178. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
  179. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  180. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
  181. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
  182. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  183. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
  184. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
  185. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  186. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  187. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  188. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  189. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  190. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
  191. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  192. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  193. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  194. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
  195. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  196. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  197. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  198. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  199. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  200. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  201. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  202. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  203. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  204. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  205. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  206. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  207. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  208. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  209. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  210. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  211. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  212. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  213. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  214. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  215. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  216. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  217. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  218. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  219. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  220. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  221. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  222. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  223. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  224. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  225. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  226. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  227. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  228. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  229. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  230. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  231. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  232. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  233. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  234. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  235. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  236. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  237. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  238. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  239. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  240. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  241. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  242. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  243. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  244. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  245. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  246. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  247. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  248. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  249. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
  250. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  251. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context.py +0 -0
  252. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  253. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  254. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  255. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
  256. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
  257. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  258. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
  259. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
  260. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  261. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  262. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  263. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  264. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  265. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  266. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  267. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  268. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  269. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  270. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  271. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/object_view.py +0 -0
  272. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  273. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  274. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  275. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  276. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  277. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  278. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  279. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  280. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  281. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  282. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  283. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  284. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  285. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  286. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  287. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  288. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  289. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  290. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  291. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  292. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  293. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  294. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  295. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  296. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  297. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  298. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  299. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  300. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  301. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  302. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  303. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  304. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/secret_view.py +0 -0
  305. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  306. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  307. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  308. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  309. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  310. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  311. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  312. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  313. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  314. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  315. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  316. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  317. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  318. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/__init__.py +0 -0
  319. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/__init__.py +0 -0
  320. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/axons/__init__.py +0 -0
  321. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/axons/test_sql.py +0 -0
  322. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/__init__.py +0 -0
  323. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  324. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  325. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  326. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/__init__.py +0 -0
  327. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  328. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  329. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_agents.py +0 -0
  330. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_axons.py +0 -0
  331. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  332. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  333. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_gateway_configs.py +0 -0
  334. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_mcp_configs.py +0 -0
  335. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_network_policies.py +0 -0
  336. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_objects.py +0 -0
  337. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/api_resources/test_secrets.py +0 -0
  338. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/conftest.py +0 -0
  339. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sample_file.txt +0 -0
  340. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/__init__.py +0 -0
  341. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/__init__.py +0 -0
  342. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/conftest.py +0 -0
  343. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_core.py +0 -0
  344. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  345. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  346. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  347. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/conftest.py +0 -0
  348. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/__init__.py +0 -0
  349. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/conftest.py +0 -0
  350. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_core.py +0 -0
  351. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  352. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  353. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/devbox/test_streaming.py +0 -0
  354. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_agent.py +0 -0
  355. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_agent.py +0 -0
  356. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_axon.py +0 -0
  357. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_benchmark.py +0 -0
  358. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  359. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_blueprint.py +0 -0
  360. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_execution.py +0 -0
  361. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_execution_result.py +0 -0
  362. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_gateway_config.py +0 -0
  363. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_network_policy.py +0 -0
  364. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_ops.py +0 -0
  365. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario.py +0 -0
  366. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  367. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scenario_run.py +0 -0
  368. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_scorer.py +0 -0
  369. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_snapshot.py +0 -0
  370. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_async_storage_object.py +0 -0
  371. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_axon.py +0 -0
  372. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_benchmark.py +0 -0
  373. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_benchmark_run.py +0 -0
  374. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_blueprint.py +0 -0
  375. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_execution.py +0 -0
  376. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_execution_result.py +0 -0
  377. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_gateway_config.py +0 -0
  378. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_helpers.py +0 -0
  379. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_network_policy.py +0 -0
  380. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_ops.py +0 -0
  381. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario.py +0 -0
  382. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario_builder.py +0 -0
  383. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_scenario_run.py +0 -0
  384. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_scorer.py +0 -0
  385. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_snapshot.py +0 -0
  386. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/sdk/test_storage_object.py +0 -0
  387. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/README.md +0 -0
  388. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/__init__.py +0 -0
  389. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/conftest.py +0 -0
  390. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/examples/__init__.py +0 -0
  391. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/examples/test_examples.py +0 -0
  392. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/README.md +0 -0
  393. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/__init__.py +0 -0
  394. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/conftest.py +0 -0
  395. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_agent.py +0 -0
  396. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  397. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  398. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  399. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  400. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  401. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  402. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  403. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  404. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  405. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  406. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
  407. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  408. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  409. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_axon.py +0 -0
  410. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  411. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  412. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  413. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  414. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  415. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  416. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  417. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  418. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  419. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_secret.py +0 -0
  420. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  421. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  422. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/test_blueprints.py +0 -0
  423. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/test_devboxes.py +0 -0
  424. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/test_executions.py +0 -0
  425. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  426. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/test_snapshots.py +0 -0
  427. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/smoketests/utils.py +0 -0
  428. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_command_id.py +0 -0
  429. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_deepcopy.py +0 -0
  430. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_extract_files.py +0 -0
  431. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_files.py +0 -0
  432. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_models.py +0 -0
  433. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_polling.py +0 -0
  434. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_qs.py +0 -0
  435. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_required_args.py +0 -0
  436. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_response.py +0 -0
  437. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_streaming.py +0 -0
  438. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_transform.py +0 -0
  439. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_context_loader.py +0 -0
  440. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_datetime_parse.py +0 -0
  441. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_json.py +0 -0
  442. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_path.py +0 -0
  443. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_proxy.py +0 -0
  444. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/test_utils/test_typing.py +0 -0
  445. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/tests/utils.py +0 -0
  446. {runloop_api_client-1.15.0 → runloop_api_client-1.17.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.17.0"
3
+ }
@@ -1,5 +1,46 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.17.0 (2026-04-09)
4
+
5
+ Full Changelog: [v1.16.0...v1.17.0](https://github.com/runloopai/api-client-python/compare/v1.16.0...v1.17.0)
6
+
7
+ ### Features
8
+
9
+ * Add protocol, launch etc arguments to attach axon grpc, persist them in the db ([#8564](https://github.com/runloopai/api-client-python/issues/8564)) ([76ad33d](https://github.com/runloopai/api-client-python/commit/76ad33d7da11f4324b576f4b03a5eab437eecd2f))
10
+ * **api:** add lifecycle configuration to launch parameters ([#8606](https://github.com/runloopai/api-client-python/issues/8606)) ([1dd716d](https://github.com/runloopai/api-client-python/commit/1dd716d820546f3d088ad61a714a0d5c219124f4))
11
+ * stream kernel messages (kmsg) to devbox logs ([#8588](https://github.com/runloopai/api-client-python/issues/8588)) ([8f0ad67](https://github.com/runloopai/api-client-python/commit/8f0ad674d85e44b02aa0d708fe2037dbce6d5fca))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **broker:** remove codex in favor of codex via acp ([#8602](https://github.com/runloopai/api-client-python/issues/8602)) ([118162e](https://github.com/runloopai/api-client-python/commit/118162e3b64d531c5e2b66f66d47724b01fefb1c))
17
+ * **client:** preserve hardcoded query params when merging with user params ([5ce9b5d](https://github.com/runloopai/api-client-python/commit/5ce9b5d4cb882a93b802275622471086530146f0))
18
+ * propagate git ref to maverick for git-based agents ([#8608](https://github.com/runloopai/api-client-python/issues/8608)) ([fc633d6](https://github.com/runloopai/api-client-python/commit/fc633d64b89ac81aa00cdf5f3528b7b9a2e61627))
19
+
20
+
21
+ ### Chores
22
+
23
+ * Cleanup remaining junk left over from browser and computer use ([#8553](https://github.com/runloopai/api-client-python/issues/8553)) ([ddccee2](https://github.com/runloopai/api-client-python/commit/ddccee245aaea07df9d7b6a9b307cb9cd77878cb))
24
+
25
+
26
+ ### Documentation
27
+
28
+ * fix typo, fix repoc/git-based agent mounts ignoring custom mount paths ([#8537](https://github.com/runloopai/api-client-python/issues/8537)) ([638bc7a](https://github.com/runloopai/api-client-python/commit/638bc7ac64b07b686d5ddbb6756ac9fabd42dc32))
29
+
30
+ ## 1.16.0 (2026-04-03)
31
+
32
+ Full Changelog: [v1.15.0...v1.16.0](https://github.com/runloopai/api-client-python/compare/v1.15.0...v1.16.0)
33
+
34
+ ### Features
35
+
36
+ * add specific message when a devbox fails due to missing its health checks ([#8535](https://github.com/runloopai/api-client-python/issues/8535)) ([2b27148](https://github.com/runloopai/api-client-python/commit/2b271486e74ba2da1a0ee96b0a8a7187d5b154f3))
37
+
38
+
39
+ ### Chores
40
+
41
+ * **blueprints:** deprecate `blueprints.preview()` method ([#8526](https://github.com/runloopai/api-client-python/issues/8526)) ([b7a2ce9](https://github.com/runloopai/api-client-python/commit/b7a2ce90183776b620a26732d0831cd902028bee))
42
+ * Remove computer and browser use controllers ([#8530](https://github.com/runloopai/api-client-python/issues/8530)) ([b5bfa7d](https://github.com/runloopai/api-client-python/commit/b5bfa7d4fad311e07879f8de61aba7df36c8f59a))
43
+
3
44
  ## 1.15.0 (2026-04-02)
4
45
 
5
46
  Full Changelog: [v1.14.1...v1.15.0](https://github.com/runloopai/api-client-python/compare/v1.14.1...v1.15.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.15.0
3
+ Version: 1.17.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
@@ -228,40 +228,6 @@ Methods:
228
228
  - <code title="post /v1/devboxes/disk_snapshots/{id}/delete">client.devboxes.disk_snapshots.<a href="./src/runloop_api_client/resources/devboxes/disk_snapshots.py">delete</a>(id) -> object</code>
229
229
  - <code title="get /v1/devboxes/disk_snapshots/{id}/status">client.devboxes.disk_snapshots.<a href="./src/runloop_api_client/resources/devboxes/disk_snapshots.py">query_status</a>(id) -> <a href="./src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py">DevboxSnapshotAsyncStatusView</a></code>
230
230
 
231
- ## Browsers
232
-
233
- Types:
234
-
235
- ```python
236
- from runloop_api_client.types.devboxes import BrowserView
237
- ```
238
-
239
- Methods:
240
-
241
- - <code title="post /v1/devboxes/browsers">client.devboxes.browsers.<a href="./src/runloop_api_client/resources/devboxes/browsers.py">create</a>(\*\*<a href="src/runloop_api_client/types/devboxes/browser_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/browser_view.py">BrowserView</a></code>
242
- - <code title="get /v1/devboxes/browsers/{id}">client.devboxes.browsers.<a href="./src/runloop_api_client/resources/devboxes/browsers.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devboxes/browser_view.py">BrowserView</a></code>
243
-
244
- ## Computers
245
-
246
- Types:
247
-
248
- ```python
249
- from runloop_api_client.types.devboxes import (
250
- ComputerView,
251
- ComputerKeyboardInteractionResponse,
252
- ComputerMouseInteractionResponse,
253
- ComputerScreenInteractionResponse,
254
- )
255
- ```
256
-
257
- Methods:
258
-
259
- - <code title="post /v1/devboxes/computers">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">create</a>(\*\*<a href="src/runloop_api_client/types/devboxes/computer_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_view.py">ComputerView</a></code>
260
- - <code title="get /v1/devboxes/computers/{id}">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devboxes/computer_view.py">ComputerView</a></code>
261
- - <code title="post /v1/devboxes/computers/{id}/keyboard_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">keyboard_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py">ComputerKeyboardInteractionResponse</a></code>
262
- - <code title="post /v1/devboxes/computers/{id}/mouse_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">mouse_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py">ComputerMouseInteractionResponse</a></code>
263
- - <code title="post /v1/devboxes/computers/{id}/screen_interaction">client.devboxes.computers.<a href="./src/runloop_api_client/resources/devboxes/computers.py">screen_interaction</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py">ComputerScreenInteractionResponse</a></code>
264
-
265
231
  ## Logs
266
232
 
267
233
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.15.0"
3
+ version = "1.17.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -540,6 +540,10 @@ class BaseClient(Generic[_HttpxClientT, _DefaultStreamT]):
540
540
  files = cast(HttpxRequestFiles, ForceMultipartDict())
541
541
 
542
542
  prepared_url = self._prepare_url(options.url)
543
+ # preserve hard-coded query params from the url
544
+ if params and prepared_url.query:
545
+ params = {**dict(prepared_url.params.items()), **params}
546
+ prepared_url = prepared_url.copy_with(raw_path=prepared_url.raw_path.split(b"?", 1)[0])
543
547
  if "_" in prepared_url.host:
544
548
  # work around https://github.com/encode/httpx/discussions/2880
545
549
  kwargs["extensions"] = {"sni_hostname": prepared_url.host.replace("_", "-")}
@@ -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.15.0" # x-release-please-version
4
+ __version__ = "1.17.0" # x-release-please-version
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import typing_extensions
5
6
  from typing import Dict, Iterable, Optional, TypedDict
6
7
 
7
8
  import httpx
@@ -669,6 +670,7 @@ class BlueprintsResource(SyncAPIResource):
669
670
  cast_to=BlueprintBuildLogsListView,
670
671
  )
671
672
 
673
+ @typing_extensions.deprecated("deprecated")
672
674
  def preview(
673
675
  self,
674
676
  *,
@@ -1349,6 +1351,7 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1349
1351
  cast_to=BlueprintBuildLogsListView,
1350
1352
  )
1351
1353
 
1354
+ @typing_extensions.deprecated("deprecated")
1352
1355
  async def preview(
1353
1356
  self,
1354
1357
  *,
@@ -1488,8 +1491,10 @@ class BlueprintsResourceWithRawResponse:
1488
1491
  self.logs = to_raw_response_wrapper(
1489
1492
  blueprints.logs,
1490
1493
  )
1491
- self.preview = to_raw_response_wrapper(
1492
- blueprints.preview,
1494
+ self.preview = ( # pyright: ignore[reportDeprecated]
1495
+ to_raw_response_wrapper(
1496
+ blueprints.preview, # pyright: ignore[reportDeprecated],
1497
+ )
1493
1498
  )
1494
1499
 
1495
1500
 
@@ -1518,8 +1523,10 @@ class AsyncBlueprintsResourceWithRawResponse:
1518
1523
  self.logs = async_to_raw_response_wrapper(
1519
1524
  blueprints.logs,
1520
1525
  )
1521
- self.preview = async_to_raw_response_wrapper(
1522
- blueprints.preview,
1526
+ self.preview = ( # pyright: ignore[reportDeprecated]
1527
+ async_to_raw_response_wrapper(
1528
+ blueprints.preview, # pyright: ignore[reportDeprecated],
1529
+ )
1523
1530
  )
1524
1531
 
1525
1532
 
@@ -1548,8 +1555,10 @@ class BlueprintsResourceWithStreamingResponse:
1548
1555
  self.logs = to_streamed_response_wrapper(
1549
1556
  blueprints.logs,
1550
1557
  )
1551
- self.preview = to_streamed_response_wrapper(
1552
- blueprints.preview,
1558
+ self.preview = ( # pyright: ignore[reportDeprecated]
1559
+ to_streamed_response_wrapper(
1560
+ blueprints.preview, # pyright: ignore[reportDeprecated],
1561
+ )
1553
1562
  )
1554
1563
 
1555
1564
 
@@ -1578,6 +1587,8 @@ class AsyncBlueprintsResourceWithStreamingResponse:
1578
1587
  self.logs = async_to_streamed_response_wrapper(
1579
1588
  blueprints.logs,
1580
1589
  )
1581
- self.preview = async_to_streamed_response_wrapper(
1582
- blueprints.preview,
1590
+ self.preview = ( # pyright: ignore[reportDeprecated]
1591
+ async_to_streamed_response_wrapper(
1592
+ blueprints.preview, # pyright: ignore[reportDeprecated],
1593
+ )
1583
1594
  )
@@ -8,14 +8,6 @@ from .logs import (
8
8
  LogsResourceWithStreamingResponse,
9
9
  AsyncLogsResourceWithStreamingResponse,
10
10
  )
11
- from .browsers import (
12
- BrowsersResource,
13
- AsyncBrowsersResource,
14
- BrowsersResourceWithRawResponse,
15
- AsyncBrowsersResourceWithRawResponse,
16
- BrowsersResourceWithStreamingResponse,
17
- AsyncBrowsersResourceWithStreamingResponse,
18
- )
19
11
  from .devboxes import (
20
12
  DevboxesResource,
21
13
  AsyncDevboxesResource,
@@ -24,14 +16,6 @@ from .devboxes import (
24
16
  DevboxesResourceWithStreamingResponse,
25
17
  AsyncDevboxesResourceWithStreamingResponse,
26
18
  )
27
- from .computers import (
28
- ComputersResource,
29
- AsyncComputersResource,
30
- ComputersResourceWithRawResponse,
31
- AsyncComputersResourceWithRawResponse,
32
- ComputersResourceWithStreamingResponse,
33
- AsyncComputersResourceWithStreamingResponse,
34
- )
35
19
  from .executions import (
36
20
  ExecutionsResource,
37
21
  AsyncExecutionsResource,
@@ -56,18 +40,6 @@ __all__ = [
56
40
  "AsyncDiskSnapshotsResourceWithRawResponse",
57
41
  "DiskSnapshotsResourceWithStreamingResponse",
58
42
  "AsyncDiskSnapshotsResourceWithStreamingResponse",
59
- "BrowsersResource",
60
- "AsyncBrowsersResource",
61
- "BrowsersResourceWithRawResponse",
62
- "AsyncBrowsersResourceWithRawResponse",
63
- "BrowsersResourceWithStreamingResponse",
64
- "AsyncBrowsersResourceWithStreamingResponse",
65
- "ComputersResource",
66
- "AsyncComputersResource",
67
- "ComputersResourceWithRawResponse",
68
- "AsyncComputersResourceWithRawResponse",
69
- "ComputersResourceWithStreamingResponse",
70
- "AsyncComputersResourceWithStreamingResponse",
71
43
  "LogsResource",
72
44
  "AsyncLogsResource",
73
45
  "LogsResourceWithRawResponse",
@@ -39,23 +39,7 @@ from ...types import (
39
39
  )
40
40
  from ..._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
41
41
  from ..._utils import is_given, extract_files, path_template, maybe_transform, deepcopy_minimal, async_maybe_transform
42
- from .browsers import (
43
- BrowsersResource,
44
- AsyncBrowsersResource,
45
- BrowsersResourceWithRawResponse,
46
- AsyncBrowsersResourceWithRawResponse,
47
- BrowsersResourceWithStreamingResponse,
48
- AsyncBrowsersResourceWithStreamingResponse,
49
- )
50
42
  from ..._compat import cached_property
51
- from .computers import (
52
- ComputersResource,
53
- AsyncComputersResource,
54
- ComputersResourceWithRawResponse,
55
- AsyncComputersResourceWithRawResponse,
56
- ComputersResourceWithStreamingResponse,
57
- AsyncComputersResourceWithStreamingResponse,
58
- )
59
43
  from .executions import (
60
44
  ExecutionsResource,
61
45
  AsyncExecutionsResource,
@@ -142,14 +126,6 @@ class DevboxesResource(SyncAPIResource):
142
126
  def disk_snapshots(self) -> DiskSnapshotsResource:
143
127
  return DiskSnapshotsResource(self._client)
144
128
 
145
- @cached_property
146
- def browsers(self) -> BrowsersResource:
147
- return BrowsersResource(self._client)
148
-
149
- @cached_property
150
- def computers(self) -> ComputersResource:
151
- return ComputersResource(self._client)
152
-
153
129
  @cached_property
154
130
  def logs(self) -> LogsResource:
155
131
  return LogsResource(self._client)
@@ -785,7 +761,9 @@ class DevboxesResource(SyncAPIResource):
785
761
  policies, resetting the idle timer. Defaults to true if not specified.
786
762
 
787
763
  wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
788
- resume. Defaults to false if not specified.
764
+ resume. Defaults to false if not specified. Prefer
765
+ lifecycle.resume_triggers.http on launch_parameters for new integrations. If
766
+ both are set, lifecycle.resume_triggers.http takes precedence.
789
767
 
790
768
  extra_headers: Send extra headers
791
769
 
@@ -1786,14 +1764,6 @@ class AsyncDevboxesResource(AsyncAPIResource):
1786
1764
  def disk_snapshots(self) -> AsyncDiskSnapshotsResource:
1787
1765
  return AsyncDiskSnapshotsResource(self._client)
1788
1766
 
1789
- @cached_property
1790
- def browsers(self) -> AsyncBrowsersResource:
1791
- return AsyncBrowsersResource(self._client)
1792
-
1793
- @cached_property
1794
- def computers(self) -> AsyncComputersResource:
1795
- return AsyncComputersResource(self._client)
1796
-
1797
1767
  @cached_property
1798
1768
  def logs(self) -> AsyncLogsResource:
1799
1769
  return AsyncLogsResource(self._client)
@@ -2426,7 +2396,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
2426
2396
  policies, resetting the idle timer. Defaults to true if not specified.
2427
2397
 
2428
2398
  wake_on_http: When true, HTTP traffic to a suspended devbox will automatically trigger a
2429
- resume. Defaults to false if not specified.
2399
+ resume. Defaults to false if not specified. Prefer
2400
+ lifecycle.resume_triggers.http on launch_parameters for new integrations. If
2401
+ both are set, lifecycle.resume_triggers.http takes precedence.
2430
2402
 
2431
2403
  extra_headers: Send extra headers
2432
2404
 
@@ -3507,14 +3479,6 @@ class DevboxesResourceWithRawResponse:
3507
3479
  def disk_snapshots(self) -> DiskSnapshotsResourceWithRawResponse:
3508
3480
  return DiskSnapshotsResourceWithRawResponse(self._devboxes.disk_snapshots)
3509
3481
 
3510
- @cached_property
3511
- def browsers(self) -> BrowsersResourceWithRawResponse:
3512
- return BrowsersResourceWithRawResponse(self._devboxes.browsers)
3513
-
3514
- @cached_property
3515
- def computers(self) -> ComputersResourceWithRawResponse:
3516
- return ComputersResourceWithRawResponse(self._devboxes.computers)
3517
-
3518
3482
  @cached_property
3519
3483
  def logs(self) -> LogsResourceWithRawResponse:
3520
3484
  return LogsResourceWithRawResponse(self._devboxes.logs)
@@ -3608,14 +3572,6 @@ class AsyncDevboxesResourceWithRawResponse:
3608
3572
  def disk_snapshots(self) -> AsyncDiskSnapshotsResourceWithRawResponse:
3609
3573
  return AsyncDiskSnapshotsResourceWithRawResponse(self._devboxes.disk_snapshots)
3610
3574
 
3611
- @cached_property
3612
- def browsers(self) -> AsyncBrowsersResourceWithRawResponse:
3613
- return AsyncBrowsersResourceWithRawResponse(self._devboxes.browsers)
3614
-
3615
- @cached_property
3616
- def computers(self) -> AsyncComputersResourceWithRawResponse:
3617
- return AsyncComputersResourceWithRawResponse(self._devboxes.computers)
3618
-
3619
3575
  @cached_property
3620
3576
  def logs(self) -> AsyncLogsResourceWithRawResponse:
3621
3577
  return AsyncLogsResourceWithRawResponse(self._devboxes.logs)
@@ -3709,14 +3665,6 @@ class DevboxesResourceWithStreamingResponse:
3709
3665
  def disk_snapshots(self) -> DiskSnapshotsResourceWithStreamingResponse:
3710
3666
  return DiskSnapshotsResourceWithStreamingResponse(self._devboxes.disk_snapshots)
3711
3667
 
3712
- @cached_property
3713
- def browsers(self) -> BrowsersResourceWithStreamingResponse:
3714
- return BrowsersResourceWithStreamingResponse(self._devboxes.browsers)
3715
-
3716
- @cached_property
3717
- def computers(self) -> ComputersResourceWithStreamingResponse:
3718
- return ComputersResourceWithStreamingResponse(self._devboxes.computers)
3719
-
3720
3668
  @cached_property
3721
3669
  def logs(self) -> LogsResourceWithStreamingResponse:
3722
3670
  return LogsResourceWithStreamingResponse(self._devboxes.logs)
@@ -3810,14 +3758,6 @@ class AsyncDevboxesResourceWithStreamingResponse:
3810
3758
  def disk_snapshots(self) -> AsyncDiskSnapshotsResourceWithStreamingResponse:
3811
3759
  return AsyncDiskSnapshotsResourceWithStreamingResponse(self._devboxes.disk_snapshots)
3812
3760
 
3813
- @cached_property
3814
- def browsers(self) -> AsyncBrowsersResourceWithStreamingResponse:
3815
- return AsyncBrowsersResourceWithStreamingResponse(self._devboxes.browsers)
3816
-
3817
- @cached_property
3818
- def computers(self) -> AsyncComputersResourceWithStreamingResponse:
3819
- return AsyncComputersResourceWithStreamingResponse(self._devboxes.computers)
3820
-
3821
3761
  @cached_property
3822
3762
  def logs(self) -> AsyncLogsResourceWithStreamingResponse:
3823
3763
  return AsyncLogsResourceWithStreamingResponse(self._devboxes.logs)
@@ -78,9 +78,7 @@ class BlueprintView(BaseModel):
78
78
  Services can be explicitly started when creating a Devbox.
79
79
  """
80
80
 
81
- devbox_capabilities: Optional[List[Literal["unknown", "computer_usage", "browser_usage", "docker_in_docker"]]] = (
82
- None
83
- )
81
+ devbox_capabilities: Optional[List[Literal["unknown", "docker_in_docker"]]] = None
84
82
  """Capabilities that will be available on Devbox."""
85
83
 
86
84
  failure_reason: Optional[Literal["out_of_memory", "out_of_disk", "build_failed"]] = None
@@ -153,5 +153,7 @@ class Tunnel(TypedDict, total=False):
153
153
  wake_on_http: Optional[bool]
154
154
  """
155
155
  When true, HTTP traffic to a suspended devbox will automatically trigger a
156
- resume. Defaults to false if not specified.
156
+ resume. Defaults to false if not specified. Prefer
157
+ lifecycle.resume_triggers.http on launch_parameters for new integrations. If
158
+ both are set, lifecycle.resume_triggers.http takes precedence.
157
159
  """
@@ -21,5 +21,7 @@ class DevboxEnableTunnelParams(TypedDict, total=False):
21
21
  wake_on_http: Optional[bool]
22
22
  """
23
23
  When true, HTTP traffic to a suspended devbox will automatically trigger a
24
- resume. Defaults to false if not specified.
24
+ resume. Defaults to false if not specified. Prefer
25
+ lifecycle.resume_triggers.http on launch_parameters for new integrations. If
26
+ both are set, lifecycle.resume_triggers.http takes precedence.
25
27
  """
@@ -56,12 +56,8 @@ class DevboxView(BaseModel):
56
56
  id: str
57
57
  """The ID of the Devbox."""
58
58
 
59
- capabilities: List[Literal["unknown", "computer_usage", "browser_usage", "docker_in_docker"]]
60
- """A list of capability groups this devbox has access to.
61
-
62
- This allows devboxes to be compatible with certain tools sets like computer
63
- usage APIs.
64
- """
59
+ capabilities: List[Literal["unknown", "docker_in_docker"]]
60
+ """A list of capability groups this devbox has access to."""
65
61
 
66
62
  create_time_ms: int
67
63
  """Creation time of the Devbox (Unix timestamp milliseconds)."""
@@ -92,7 +88,7 @@ class DevboxView(BaseModel):
92
88
  a Blueprint.
93
89
  """
94
90
 
95
- failure_reason: Optional[Literal["out_of_memory", "out_of_disk", "execution_failed"]] = None
91
+ failure_reason: Optional[Literal["out_of_memory", "out_of_disk", "execution_failed", "health_check_failed"]] = None
96
92
  """The failure reason if the Devbox failed, if the Devbox has a 'failure' status."""
97
93
 
98
94
  gateway_specs: Optional[Dict[str, GatewaySpecs]] = None
@@ -2,13 +2,9 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
- from .browser_view import BrowserView as BrowserView
6
- from .computer_view import ComputerView as ComputerView
7
5
  from .log_list_params import LogListParams as LogListParams
8
- from .browser_create_params import BrowserCreateParams as BrowserCreateParams
9
6
  from .devbox_logs_list_view import DevboxLogsListView as DevboxLogsListView
10
7
  from .execution_kill_params import ExecutionKillParams as ExecutionKillParams
11
- from .computer_create_params import ComputerCreateParams as ComputerCreateParams
12
8
  from .execution_update_chunk import ExecutionUpdateChunk as ExecutionUpdateChunk
13
9
  from .disk_snapshot_list_params import DiskSnapshotListParams as DiskSnapshotListParams
14
10
  from .execution_retrieve_params import ExecutionRetrieveParams as ExecutionRetrieveParams
@@ -16,15 +12,7 @@ from .disk_snapshot_update_params import DiskSnapshotUpdateParams as DiskSnapsho
16
12
  from .execution_send_std_in_params import ExecutionSendStdInParams as ExecutionSendStdInParams
17
13
  from .execution_execute_sync_params import ExecutionExecuteSyncParams as ExecutionExecuteSyncParams
18
14
  from .execution_execute_async_params import ExecutionExecuteAsyncParams as ExecutionExecuteAsyncParams
19
- from .computer_mouse_interaction_params import ComputerMouseInteractionParams as ComputerMouseInteractionParams
20
15
  from .devbox_snapshot_async_status_view import DevboxSnapshotAsyncStatusView as DevboxSnapshotAsyncStatusView
21
- from .computer_screen_interaction_params import ComputerScreenInteractionParams as ComputerScreenInteractionParams
22
- from .computer_mouse_interaction_response import ComputerMouseInteractionResponse as ComputerMouseInteractionResponse
23
- from .computer_keyboard_interaction_params import ComputerKeyboardInteractionParams as ComputerKeyboardInteractionParams
24
- from .computer_screen_interaction_response import ComputerScreenInteractionResponse as ComputerScreenInteractionResponse
25
- from .computer_keyboard_interaction_response import (
26
- ComputerKeyboardInteractionResponse as ComputerKeyboardInteractionResponse,
27
- )
28
16
  from .execution_stream_stderr_updates_params import (
29
17
  ExecutionStreamStderrUpdatesParams as ExecutionStreamStderrUpdatesParams,
30
18
  )
@@ -12,7 +12,7 @@ class Log(BaseModel):
12
12
  level: str
13
13
  """Log line severity level."""
14
14
 
15
- source: Literal["setup_commands", "entrypoint", "exec", "files", "stats"]
15
+ source: Literal["setup_commands", "entrypoint", "exec", "files", "stats", "kmsg"]
16
16
  """The source of the log."""
17
17
 
18
18
  timestamp_ms: int
@@ -15,10 +15,16 @@ class BrokerMount(BaseModel):
15
15
  type: Literal["broker_mount"]
16
16
 
17
17
  agent_binary: Optional[str] = None
18
- """Binary to launch the agent (e.g., 'opencode'). Used by ACP broker."""
18
+ """Binary to launch the agent (e.g., 'opencode').
19
+
20
+ Used by protocols that launch a subprocess (acp, claude_json).
21
+ """
19
22
 
20
23
  launch_args: Optional[List[str]] = None
21
- """Arguments to pass to the agent command (e.g., ['acp']). Used by ACP broker."""
24
+ """Arguments to pass to the agent command (e.g., ['acp']).
25
+
26
+ Used by protocols that launch a subprocess (acp, claude_json).
27
+ """
22
28
 
23
- protocol: Optional[Literal["acp", "claude_json", "codex_app_server"]] = None
29
+ protocol: Optional[Literal["acp", "claude_json"]] = None
24
30
  """The protocol used by the broker to deliver events to the agent."""
@@ -11,7 +11,7 @@ class CodeMountParameters(BaseModel):
11
11
  repo_name: str
12
12
  """The name of the repo to mount.
13
13
 
14
- By default, code will be mounted at /home/user/{repo_name}s.
14
+ By default, code will be mounted at /home/user/{repo_name}.
15
15
  """
16
16
 
17
17
  repo_owner: str
@@ -20,5 +20,11 @@ class CodeMountParameters(BaseModel):
20
20
  token: Optional[str] = None
21
21
  """The authentication token necessary to pull repo."""
22
22
 
23
+ git_ref: Optional[str] = None
24
+ """Optional git ref (branch, tag, or commit SHA) to checkout.
25
+
26
+ Defaults to the repository default branch.
27
+ """
28
+
23
29
  install_command: Optional[str] = None
24
30
  """Installation command to install and setup repository."""
@@ -6,7 +6,31 @@ from typing_extensions import Literal
6
6
  from ..._models import BaseModel
7
7
  from .after_idle import AfterIdle
8
8
 
9
- __all__ = ["LaunchParameters", "UserParameters"]
9
+ __all__ = ["LaunchParameters", "Lifecycle", "LifecycleResumeTriggers", "UserParameters"]
10
+
11
+
12
+ class LifecycleResumeTriggers(BaseModel):
13
+ """Triggers that can resume a suspended Devbox."""
14
+
15
+ http: Optional[bool] = None
16
+ """When true, HTTP traffic to a suspended Devbox via tunnel will trigger a resume."""
17
+
18
+
19
+ class Lifecycle(BaseModel):
20
+ """Lifecycle configuration for idle and resume behavior.
21
+
22
+ Configure idle policy via lifecycle.after_idle (if both this and the top-level after_idle are set, they must match) and resume triggers via lifecycle.resume_triggers.
23
+ """
24
+
25
+ after_idle: Optional[AfterIdle] = None
26
+ """Configure Devbox lifecycle based on idle activity.
27
+
28
+ If both this and the top-level after_idle are set, they must have the same
29
+ value. Prefer this field for new integrations.
30
+ """
31
+
32
+ resume_triggers: Optional[LifecycleResumeTriggers] = None
33
+ """Triggers that can resume a suspended Devbox."""
10
34
 
11
35
 
12
36
  class UserParameters(BaseModel):
@@ -30,7 +54,9 @@ class LaunchParameters(BaseModel):
30
54
  after_idle: Optional[AfterIdle] = None
31
55
  """Configure Devbox lifecycle based on idle activity.
32
56
 
33
- If after_idle is set, Devbox will ignore keep_alive_time_seconds.
57
+ If after_idle is set, Devbox will ignore keep_alive_time_seconds. If both
58
+ after_idle and lifecycle.after_idle are set, they must have the same value. Use
59
+ lifecycle.after_idle instead.
34
60
  """
35
61
 
36
62
  architecture: Optional[Literal["x86_64", "arm64"]] = None
@@ -60,6 +86,14 @@ class LaunchParameters(BaseModel):
60
86
  launch_commands: Optional[List[str]] = None
61
87
  """Set of commands to be run at launch time, before the entrypoint process is run."""
62
88
 
89
+ lifecycle: Optional[Lifecycle] = None
90
+ """Lifecycle configuration for idle and resume behavior.
91
+
92
+ Configure idle policy via lifecycle.after_idle (if both this and the top-level
93
+ after_idle are set, they must match) and resume triggers via
94
+ lifecycle.resume_triggers.
95
+ """
96
+
63
97
  network_policy_id: Optional[str] = None
64
98
  """
65
99
  (Optional) ID of the network policy to apply to Devboxes launched with these
@@ -16,7 +16,7 @@ class CodeMount(BaseModel):
16
16
  repo_name: str
17
17
  """The name of the repo to mount.
18
18
 
19
- By default, code will be mounted at /home/user/{repo_name}s.
19
+ By default, code will be mounted at /home/user/{repo_name}.
20
20
  """
21
21
 
22
22
  repo_owner: str
@@ -27,6 +27,12 @@ class CodeMount(BaseModel):
27
27
  token: Optional[str] = None
28
28
  """The authentication token necessary to pull repo."""
29
29
 
30
+ git_ref: Optional[str] = None
31
+ """Optional git ref (branch, tag, or commit SHA) to checkout.
32
+
33
+ Defaults to the repository default branch.
34
+ """
35
+
30
36
  install_command: Optional[str] = None
31
37
  """Installation command to install and setup repository."""
32
38
 
@@ -17,10 +17,16 @@ class BrokerMount(TypedDict, total=False):
17
17
  type: Required[Literal["broker_mount"]]
18
18
 
19
19
  agent_binary: Optional[str]
20
- """Binary to launch the agent (e.g., 'opencode'). Used by ACP broker."""
20
+ """Binary to launch the agent (e.g., 'opencode').
21
+
22
+ Used by protocols that launch a subprocess (acp, claude_json).
23
+ """
21
24
 
22
25
  launch_args: Optional[SequenceNotStr[str]]
23
- """Arguments to pass to the agent command (e.g., ['acp']). Used by ACP broker."""
26
+ """Arguments to pass to the agent command (e.g., ['acp']).
27
+
28
+ Used by protocols that launch a subprocess (acp, claude_json).
29
+ """
24
30
 
25
- protocol: Optional[Literal["acp", "claude_json", "codex_app_server"]]
31
+ protocol: Optional[Literal["acp", "claude_json"]]
26
32
  """The protocol used by the broker to deliver events to the agent."""
@@ -12,7 +12,7 @@ class CodeMountParameters(TypedDict, total=False):
12
12
  repo_name: Required[str]
13
13
  """The name of the repo to mount.
14
14
 
15
- By default, code will be mounted at /home/user/{repo_name}s.
15
+ By default, code will be mounted at /home/user/{repo_name}.
16
16
  """
17
17
 
18
18
  repo_owner: Required[str]
@@ -21,5 +21,11 @@ class CodeMountParameters(TypedDict, total=False):
21
21
  token: Optional[str]
22
22
  """The authentication token necessary to pull repo."""
23
23
 
24
+ git_ref: Optional[str]
25
+ """Optional git ref (branch, tag, or commit SHA) to checkout.
26
+
27
+ Defaults to the repository default branch.
28
+ """
29
+
24
30
  install_command: Optional[str]
25
31
  """Installation command to install and setup repository."""