runloop_api_client 1.29.0__tar.gz → 1.31.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 (481) hide show
  1. runloop_api_client-1.31.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/CHANGELOG.md +33 -0
  3. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/api.md +4 -0
  5. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/pyproject.toml +1 -1
  6. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/release-please-config.json +3 -3
  7. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_version.py +1 -1
  8. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/devboxes/devboxes.py +334 -44
  9. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/__init__.py +4 -0
  10. runloop_api_client-1.31.0/src/runloop_api_client/types/devbox_create_gateway_token_params.py +15 -0
  11. runloop_api_client-1.31.0/src/runloop_api_client/types/devbox_create_mcp_token_params.py +15 -0
  12. runloop_api_client-1.31.0/src/runloop_api_client/types/gateway_token_view.py +33 -0
  13. runloop_api_client-1.31.0/src/runloop_api_client/types/mcp_token_view.py +33 -0
  14. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_devboxes.py +266 -10
  15. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/uv.lock +1 -1
  16. runloop_api_client-1.29.0/.release-please-manifest.json +0 -3
  17. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/.gitignore +0 -0
  18. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/AGENTS.md +0 -0
  19. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/CLAUDE.md +0 -0
  20. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/CONTRIBUTING.md +0 -0
  21. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/EXAMPLES.md +0 -0
  22. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/LICENSE +0 -0
  23. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/README-SDK.md +0 -0
  24. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/README.md +0 -0
  25. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/SECURITY.md +0 -0
  26. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/bin/check-release-environment +0 -0
  27. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/bin/publish-pypi +0 -0
  28. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/__init__.py +0 -0
  29. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/_harness.py +0 -0
  30. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/blueprint_with_build_context.py +0 -0
  31. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  32. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/devbox_snapshot_resume.py +0 -0
  33. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/devbox_snapshots.py +0 -0
  34. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/devbox_tunnel.py +0 -0
  35. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/example_types.py +0 -0
  36. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/mcp_github_tools.py +0 -0
  37. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/registry.py +0 -0
  38. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/examples/secrets_with_devbox.py +0 -0
  39. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/requirements-dev.lock +0 -0
  40. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop/lib/.keep +0 -0
  41. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/__init__.py +0 -0
  42. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_base_client.py +0 -0
  43. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_client.py +0 -0
  44. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_compat.py +0 -0
  45. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_constants.py +0 -0
  46. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_exceptions.py +0 -0
  47. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_files.py +0 -0
  48. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_models.py +0 -0
  49. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_qs.py +0 -0
  50. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_resource.py +0 -0
  51. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_response.py +0 -0
  52. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_streaming.py +0 -0
  53. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_types.py +0 -0
  54. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  55. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  56. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  57. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_json.py +0 -0
  58. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  59. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_path.py +0 -0
  60. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  61. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  62. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  63. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  64. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  65. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  66. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  67. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  68. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  69. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/.keep +0 -0
  70. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/__init__.py +0 -0
  71. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  72. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  73. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/polling.py +0 -0
  74. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  75. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/lib/wait_for_status.py +0 -0
  76. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/pagination.py +0 -0
  77. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/py.typed +0 -0
  78. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/__init__.py +0 -0
  79. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/accounts.py +0 -0
  80. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/agents.py +0 -0
  81. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/apikeys.py +0 -0
  82. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  83. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/axons/axons.py +0 -0
  84. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/axons/events.py +0 -0
  85. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  86. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  87. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  88. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  89. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  90. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  91. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  92. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  93. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  94. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/gateway_configs.py +0 -0
  95. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
  96. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  97. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/objects.py +0 -0
  98. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/pty.py +0 -0
  99. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/restricted_keys.py +0 -0
  100. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  101. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  102. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  103. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  104. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/resources/secrets.py +0 -0
  105. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  106. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  107. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/_types.py +0 -0
  108. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/agent.py +0 -0
  109. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_.py +0 -0
  110. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  111. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  112. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  113. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  114. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  115. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
  116. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  117. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  118. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  119. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  120. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  121. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  122. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  123. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  124. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  125. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
  126. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  127. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  128. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/axon.py +0 -0
  129. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  130. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  131. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  132. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/devbox.py +0 -0
  133. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/execution.py +0 -0
  134. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  135. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  136. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  137. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  138. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  139. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  140. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  141. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  142. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/secret.py +0 -0
  143. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  144. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  145. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/sdk/sync.py +0 -0
  146. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/account_view.py +0 -0
  147. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_create_params.py +0 -0
  148. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_devbox_counts_view.py +0 -0
  149. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  150. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_list_public_params.py +0 -0
  151. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  152. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/agent_view.py +0 -0
  153. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/allowed_cidr.py +0 -0
  154. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/allowed_cidr_param.py +0 -0
  155. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/api_key_created_view.py +0 -0
  156. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/apikey_create_params.py +0 -0
  157. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  158. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  159. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_list_params.py +0 -0
  160. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
  161. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  162. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
  163. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axon_view.py +0 -0
  164. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  165. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/axon_event_list_view.py +0 -0
  166. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/event_list_params.py +0 -0
  167. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  168. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
  169. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
  170. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  171. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
  172. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
  173. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  174. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
  175. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
  176. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  177. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  178. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_job_create_params.py +0 -0
  179. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  180. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  181. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_job_view.py +0 -0
  182. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  183. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  184. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  185. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
  186. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  187. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  188. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  189. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  190. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  191. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  192. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  193. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  194. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  195. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  196. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  197. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  198. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  199. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  200. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  201. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  202. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  203. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  204. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  205. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  206. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +0 -0
  207. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_eviction_event_view.py +0 -0
  208. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  209. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  210. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  211. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  212. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  213. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  214. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  215. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  216. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  217. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  218. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  219. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  220. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  221. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  222. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  223. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  224. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  225. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  226. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  227. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  228. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  229. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  230. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  231. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  232. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  233. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  234. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  235. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  236. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  237. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  238. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  239. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  240. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  241. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  242. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  243. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  244. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  245. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  246. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/gateway_config_update_params.py +0 -0
  247. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  248. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/input_context.py +0 -0
  249. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  250. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  251. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
  252. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
  253. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  254. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
  255. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
  256. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  257. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  258. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  259. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  260. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  261. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  262. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  263. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  264. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  265. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  266. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  267. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/object_view.py +0 -0
  268. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/port_rule.py +0 -0
  269. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/port_rule_param.py +0 -0
  270. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/pty_connect_params.py +0 -0
  271. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/pty_connect_view.py +0 -0
  272. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/pty_control_params.py +0 -0
  273. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/pty_control_result_view.py +0 -0
  274. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/pty_tunnel_view.py +0 -0
  275. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  276. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/restricted_key_create_params.py +0 -0
  277. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/restricted_key_created_view.py +0 -0
  278. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  279. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  280. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  281. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  282. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  283. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  284. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  285. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  286. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  287. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  288. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  289. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  290. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  291. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  292. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  293. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  294. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  295. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  296. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  297. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  298. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scope_entry_view.py +0 -0
  299. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scope_entry_view_param.py +0 -0
  300. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  301. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  302. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  303. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  304. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  305. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  306. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  307. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  308. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  309. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  310. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  311. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/secret_view.py +0 -0
  312. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  313. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  314. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  315. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/agent_source.py +0 -0
  316. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/auth_mechanism.py +0 -0
  317. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
  318. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  319. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/custom_header.py +0 -0
  320. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  321. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/lifecycle_configuration.py +0 -0
  322. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/lifecycle_hooks.py +0 -0
  323. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  324. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  325. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/resume_triggers.py +0 -0
  326. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  327. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  328. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  329. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  330. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/agent_source.py +0 -0
  331. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/auth_mechanism.py +0 -0
  332. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
  333. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  334. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/custom_header.py +0 -0
  335. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  336. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/lifecycle_configuration.py +0 -0
  337. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/lifecycle_hooks.py +0 -0
  338. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  339. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  340. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/resume_triggers.py +0 -0
  341. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  342. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  343. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/__init__.py +0 -0
  344. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/__init__.py +0 -0
  345. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/axons/__init__.py +0 -0
  346. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/axons/test_events.py +0 -0
  347. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/axons/test_sql.py +0 -0
  348. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/devboxes/__init__.py +0 -0
  349. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  350. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  351. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  352. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/scenarios/__init__.py +0 -0
  353. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  354. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  355. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_accounts.py +0 -0
  356. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_agents.py +0 -0
  357. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_apikeys.py +0 -0
  358. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_axons.py +0 -0
  359. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  360. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  361. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_benchmarks.py +0 -0
  362. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_blueprints.py +0 -0
  363. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_gateway_configs.py +0 -0
  364. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_mcp_configs.py +0 -0
  365. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_network_policies.py +0 -0
  366. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_objects.py +0 -0
  367. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_pty.py +0 -0
  368. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_restricted_keys.py +0 -0
  369. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_scenarios.py +0 -0
  370. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/api_resources/test_secrets.py +0 -0
  371. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/conftest.py +0 -0
  372. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sample_file.txt +0 -0
  373. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/__init__.py +0 -0
  374. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/__init__.py +0 -0
  375. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/conftest.py +0 -0
  376. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/test_core.py +0 -0
  377. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  378. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  379. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  380. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/conftest.py +0 -0
  381. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/__init__.py +0 -0
  382. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/conftest.py +0 -0
  383. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/test_core.py +0 -0
  384. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  385. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  386. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/devbox/test_streaming.py +0 -0
  387. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_agent.py +0 -0
  388. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_agent.py +0 -0
  389. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_axon.py +0 -0
  390. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_benchmark.py +0 -0
  391. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  392. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_blueprint.py +0 -0
  393. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_execution.py +0 -0
  394. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_execution_result.py +0 -0
  395. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_gateway_config.py +0 -0
  396. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_network_policy.py +0 -0
  397. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_ops.py +0 -0
  398. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_scenario.py +0 -0
  399. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  400. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_scenario_run.py +0 -0
  401. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_scorer.py +0 -0
  402. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_snapshot.py +0 -0
  403. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_async_storage_object.py +0 -0
  404. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_axon.py +0 -0
  405. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_benchmark.py +0 -0
  406. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_benchmark_run.py +0 -0
  407. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_blueprint.py +0 -0
  408. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_execution.py +0 -0
  409. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_execution_result.py +0 -0
  410. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_gateway_config.py +0 -0
  411. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_helpers.py +0 -0
  412. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_network_policy.py +0 -0
  413. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_ops.py +0 -0
  414. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_scenario.py +0 -0
  415. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_scenario_builder.py +0 -0
  416. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_scenario_run.py +0 -0
  417. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_scorer.py +0 -0
  418. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_snapshot.py +0 -0
  419. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/sdk/test_storage_object.py +0 -0
  420. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/README.md +0 -0
  421. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/__init__.py +0 -0
  422. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/conftest.py +0 -0
  423. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/examples/__init__.py +0 -0
  424. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/examples/test_examples.py +0 -0
  425. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/README.md +0 -0
  426. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/__init__.py +0 -0
  427. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/conftest.py +0 -0
  428. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_agent.py +0 -0
  429. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  430. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  431. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  432. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  433. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  434. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  435. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  436. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  437. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  438. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  439. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
  440. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  441. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  442. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_axon.py +0 -0
  443. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  444. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  445. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  446. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  447. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  448. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  449. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  450. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  451. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  452. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_secret.py +0 -0
  453. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  454. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  455. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/test_blueprints.py +0 -0
  456. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/test_devboxes.py +0 -0
  457. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/test_executions.py +0 -0
  458. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  459. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/test_snapshots.py +0 -0
  460. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/smoketests/utils.py +0 -0
  461. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_client.py +0 -0
  462. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_command_id.py +0 -0
  463. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_extract_files.py +0 -0
  464. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_files.py +0 -0
  465. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_h2_bulkhead_integration.py +0 -0
  466. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_models.py +0 -0
  467. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_polling.py +0 -0
  468. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_qs.py +0 -0
  469. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_required_args.py +0 -0
  470. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_response.py +0 -0
  471. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_shared_pool.py +0 -0
  472. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_streaming.py +0 -0
  473. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_transfer_client.py +0 -0
  474. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_transform.py +0 -0
  475. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_context_loader.py +0 -0
  476. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_datetime_parse.py +0 -0
  477. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_json.py +0 -0
  478. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_path.py +0 -0
  479. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_proxy.py +0 -0
  480. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/test_utils/test_typing.py +0 -0
  481. {runloop_api_client-1.29.0 → runloop_api_client-1.31.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.31.0"
3
+ }
@@ -1,5 +1,38 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.31.0](https://github.com/runloopai/api-client-python/compare/v1.30.0...v1.31.0) (2026-08-25)
4
+
5
+
6
+ ### Features
7
+
8
+ * initial stlc build ([9591d74](https://github.com/runloopai/api-client-python/commit/9591d741d3e840a7f7eadb0935989af1ea78d337))
9
+ * **mux:** mint agent gateway tokens for running devboxes ([#10872](https://github.com/runloopai/api-client-python/issues/10872)) ([8ca74f9](https://github.com/runloopai/api-client-python/commit/8ca74f9390524e2b99791a6967dd8e355df0cff8))
10
+ * **mux:** mint MCP tokens for running devboxes ([#10871](https://github.com/runloopai/api-client-python/issues/10871)) ([7edf2e9](https://github.com/runloopai/api-client-python/commit/7edf2e9daa607705070df22c02d3e95a1fb13a60))
11
+
12
+
13
+ ### Bug Fixes
14
+
15
+ * **lint:** sort the devboxes import block ([22bc6c2](https://github.com/runloopai/api-client-python/commit/22bc6c22f41c0db8b50df3f264e47e9b6b5e1e11))
16
+ * **release:** use stable versioning instead of prerelease ([3d2cf64](https://github.com/runloopai/api-client-python/commit/3d2cf6463a9556dcc0bb2eddc397e5d2bdf7d69b))
17
+
18
+
19
+ ### Chores
20
+
21
+ * sync uv.lock to 1.30.0 ([d7d2993](https://github.com/runloopai/api-client-python/commit/d7d29930aa3a460d9a0dac9651860b11292c8769))
22
+
23
+ ## 1.30.0 (2026-08-20)
24
+
25
+ Full Changelog: [v1.29.0...v1.30.0](https://github.com/runloopai/api-client-python/compare/v1.29.0...v1.30.0)
26
+
27
+ ### Features
28
+
29
+ * **devboxes:** use optimistic create endpoint ([#829](https://github.com/runloopai/api-client-python/issues/829)) ([3f47b22](https://github.com/runloopai/api-client-python/commit/3f47b2256189b1aca4c4137134df2643dd3d7ca5))
30
+
31
+
32
+ ### Chores
33
+
34
+ * **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([b7a3d87](https://github.com/runloopai/api-client-python/commit/b7a3d87997538ff6d4658df77d68177f83811eb3))
35
+
3
36
  ## 1.29.0 (2026-08-20)
4
37
 
5
38
  Full Changelog: [v1.28.0...v1.29.0](https://github.com/runloopai/api-client-python/compare/v1.28.0...v1.29.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.29.0
3
+ Version: 1.31.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
@@ -214,6 +214,8 @@ from runloop_api_client.types import (
214
214
  DevboxSnapshotListView,
215
215
  DevboxSnapshotView,
216
216
  DevboxView,
217
+ GatewayTokenView,
218
+ McpTokenView,
217
219
  PtyTunnelView,
218
220
  TunnelView,
219
221
  DevboxCreateSSHKeyResponse,
@@ -228,6 +230,8 @@ Methods:
228
230
  - <code title="get /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
229
231
  - <code title="post /v1/devboxes/{id}">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">DevboxView</a></code>
230
232
  - <code title="get /v1/devboxes">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">list</a>(\*\*<a href="src/runloop_api_client/types/devbox_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_view.py">SyncDevboxesCursorIDPage[DevboxView]</a></code>
233
+ - <code title="post /v1/devboxes/{id}/create_gateway_token">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_gateway_token</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_gateway_token_params.py">params</a>) -> <a href="./src/runloop_api_client/types/gateway_token_view.py">GatewayTokenView</a></code>
234
+ - <code title="post /v1/devboxes/{id}/create_mcp_token">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_mcp_token</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_create_mcp_token_params.py">params</a>) -> <a href="./src/runloop_api_client/types/mcp_token_view.py">McpTokenView</a></code>
231
235
  - <code title="post /v1/devboxes/{id}/create_pty_tunnel">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_pty_tunnel</a>(id) -> <a href="./src/runloop_api_client/types/pty_tunnel_view.py">PtyTunnelView</a></code>
232
236
  - <code title="post /v1/devboxes/{id}/create_ssh_key">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">create_ssh_key</a>(id) -> <a href="./src/runloop_api_client/types/devbox_create_ssh_key_response.py">DevboxCreateSSHKeyResponse</a></code>
233
237
  - <code title="post /v1/devboxes/disk_snapshots/{id}/delete">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">delete_disk_snapshot</a>(id) -> object</code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.29.0"
3
+ version = "1.31.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -2,11 +2,11 @@
2
2
  "packages": {
3
3
  ".": {}
4
4
  },
5
- "$schema": "https://raw.githubusercontent.com/stainless-api/release-please/main/schemas/config.json",
5
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
6
6
  "include-v-in-tag": true,
7
7
  "include-component-in-tag": false,
8
- "versioning": "prerelease",
9
- "prerelease": true,
8
+ "versioning": "default",
9
+ "prerelease": false,
10
10
  "bump-minor-pre-major": true,
11
11
  "bump-patch-for-minor-pre-major": false,
12
12
  "pull-request-header": "Automated Release PR",
@@ -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.29.0" # x-release-please-version
4
+ __version__ = "1.31.0" # x-release-please-version
@@ -31,11 +31,13 @@ from ...types import (
31
31
  devbox_enable_tunnel_params,
32
32
  devbox_execute_async_params,
33
33
  devbox_snapshot_disk_params,
34
+ devbox_create_mcp_token_params,
34
35
  devbox_wait_for_command_params,
35
36
  devbox_read_file_contents_params,
36
37
  devbox_list_disk_snapshots_params,
37
38
  devbox_snapshot_disk_async_params,
38
39
  devbox_write_file_contents_params,
40
+ devbox_create_gateway_token_params,
39
41
  )
40
42
  from ..._files import deepcopy_with_paths
41
43
  from ..._types import Body, Omit, Query, Headers, NotGiven, FileTypes, omit, not_given
@@ -91,7 +93,9 @@ from ...lib.polling_async import async_poll_until
91
93
  from ...types.devbox_view import DevboxView
92
94
  from ...types.tunnel_view import TunnelView
93
95
  from ...lib.wait_for_status import wait_for_status, async_wait_for_status
96
+ from ...types.mcp_token_view import McpTokenView
94
97
  from ...types.pty_tunnel_view import PtyTunnelView
98
+ from ...types.gateway_token_view import GatewayTokenView
95
99
  from ...types.shared_params.mount import Mount
96
100
  from ...types.devbox_snapshot_view import DevboxSnapshotView
97
101
  from ...types.shared.launch_parameters import LaunchParameters as SharedLaunchParameters
@@ -500,30 +504,41 @@ class DevboxesResource(SyncAPIResource):
500
504
  PollingTimeout: If polling times out before devbox is running
501
505
  RunloopError: If devbox enters a non-running terminal state
502
506
  """
503
- # Pass all create_args to the underlying create method
504
- devbox = self.create(
505
- blueprint_id=blueprint_id,
506
- blueprint_name=blueprint_name,
507
- code_mounts=code_mounts,
508
- entrypoint=entrypoint,
509
- environment_variables=environment_variables,
510
- file_mounts=file_mounts,
511
- gateways=gateways,
512
- launch_parameters=launch_parameters,
513
- mcp=mcp,
514
- metadata=metadata,
515
- mounts=mounts,
516
- name=name,
517
- secrets=secrets,
518
- snapshot_id=snapshot_id,
519
- tunnel=tunnel,
520
- extra_headers=extra_headers,
521
- extra_query=extra_query,
522
- extra_body=extra_body,
523
- timeout=timeout,
524
- idempotency_key=idempotency_key,
507
+ devbox = self._post(
508
+ "/v1/devboxes/create_and_await_running",
509
+ body=maybe_transform(
510
+ {
511
+ "blueprint_id": blueprint_id,
512
+ "blueprint_name": blueprint_name,
513
+ "code_mounts": code_mounts,
514
+ "entrypoint": entrypoint,
515
+ "environment_variables": environment_variables,
516
+ "file_mounts": file_mounts,
517
+ "gateways": gateways,
518
+ "launch_parameters": launch_parameters,
519
+ "mcp": mcp,
520
+ "metadata": metadata,
521
+ "mounts": mounts,
522
+ "name": name,
523
+ "secrets": secrets,
524
+ "snapshot_id": snapshot_id,
525
+ "tunnel": tunnel,
526
+ },
527
+ devbox_create_params.DevboxCreateParams,
528
+ ),
529
+ options=make_request_options(
530
+ extra_headers=extra_headers,
531
+ extra_query=extra_query,
532
+ extra_body=extra_body,
533
+ timeout=timeout,
534
+ idempotency_key=idempotency_key,
535
+ ),
536
+ cast_to=DevboxView,
525
537
  )
526
538
 
539
+ if devbox.status == "running":
540
+ return devbox
541
+
527
542
  return self.await_running(
528
543
  devbox.id,
529
544
  polling_config=polling_config,
@@ -597,6 +612,126 @@ class DevboxesResource(SyncAPIResource):
597
612
  model=DevboxView,
598
613
  )
599
614
 
615
+ def create_gateway_token(
616
+ self,
617
+ id: str,
618
+ *,
619
+ gateway: str,
620
+ secret: str,
621
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
622
+ # The extra values given here take precedence over values defined on the client or passed to this method.
623
+ extra_headers: Headers | None = None,
624
+ extra_query: Query | None = None,
625
+ extra_body: Body | None = None,
626
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
627
+ idempotency_key: str | None = None,
628
+ ) -> GatewayTokenView:
629
+ """
630
+ Mint a token that lets a running Devbox call an external API through the Runloop
631
+ agent gateway, using the credential in the supplied secret. The gateway applies
632
+ the credential to proxied requests, so the real API key is never exposed to the
633
+ Devbox.
634
+
635
+ The token is bound to this Devbox and is only accepted for requests that
636
+ originate from it. Nothing is stored on the Devbox: the token is returned to the
637
+ caller and is not re-issued when the Devbox is resumed.
638
+
639
+ Args:
640
+ gateway: The gateway config to use. Can be a gateway config ID (gwc_xxx) or name.
641
+
642
+ secret: The secret containing the credential. Can be a secret ID or name.
643
+
644
+ extra_headers: Send extra headers
645
+
646
+ extra_query: Add additional query parameters to the request
647
+
648
+ extra_body: Add additional JSON properties to the request
649
+
650
+ timeout: Override the client-level default timeout for this request, in seconds
651
+
652
+ idempotency_key: Specify a custom idempotency key for this request
653
+ """
654
+ if not id:
655
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
656
+ return self._post(
657
+ path_template("/v1/devboxes/{id}/create_gateway_token", id=id),
658
+ body=maybe_transform(
659
+ {
660
+ "gateway": gateway,
661
+ "secret": secret,
662
+ },
663
+ devbox_create_gateway_token_params.DevboxCreateGatewayTokenParams,
664
+ ),
665
+ options=make_request_options(
666
+ extra_headers=extra_headers,
667
+ extra_query=extra_query,
668
+ extra_body=extra_body,
669
+ timeout=timeout,
670
+ idempotency_key=idempotency_key,
671
+ ),
672
+ cast_to=GatewayTokenView,
673
+ )
674
+
675
+ def create_mcp_token(
676
+ self,
677
+ id: str,
678
+ *,
679
+ mcp_config: str,
680
+ secret: str,
681
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
682
+ # The extra values given here take precedence over values defined on the client or passed to this method.
683
+ extra_headers: Headers | None = None,
684
+ extra_query: Query | None = None,
685
+ extra_body: Body | None = None,
686
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
687
+ idempotency_key: str | None = None,
688
+ ) -> McpTokenView:
689
+ """
690
+ [Beta] Mint a token that lets a running Devbox reach an upstream MCP (Model
691
+ Context Protocol) server through the Runloop MCP hub, using the credential in
692
+ the supplied secret. Tool access is limited to the MCP config's allowed_tools,
693
+ and the credential itself is never exposed to the Devbox.
694
+
695
+ The token is bound to this Devbox and is only accepted for requests that
696
+ originate from it. Nothing is stored on the Devbox: the token is returned to the
697
+ caller and is not re-issued when the Devbox is resumed.
698
+
699
+ Args:
700
+ mcp_config: The MCP config to use. Can be an MCP config ID (mcp_xxx) or name.
701
+
702
+ secret: The secret containing the MCP server credential. Can be a secret ID or name.
703
+
704
+ extra_headers: Send extra headers
705
+
706
+ extra_query: Add additional query parameters to the request
707
+
708
+ extra_body: Add additional JSON properties to the request
709
+
710
+ timeout: Override the client-level default timeout for this request, in seconds
711
+
712
+ idempotency_key: Specify a custom idempotency key for this request
713
+ """
714
+ if not id:
715
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
716
+ return self._post(
717
+ path_template("/v1/devboxes/{id}/create_mcp_token", id=id),
718
+ body=maybe_transform(
719
+ {
720
+ "mcp_config": mcp_config,
721
+ "secret": secret,
722
+ },
723
+ devbox_create_mcp_token_params.DevboxCreateMcpTokenParams,
724
+ ),
725
+ options=make_request_options(
726
+ extra_headers=extra_headers,
727
+ extra_query=extra_query,
728
+ extra_body=extra_body,
729
+ timeout=timeout,
730
+ idempotency_key=idempotency_key,
731
+ ),
732
+ cast_to=McpTokenView,
733
+ )
734
+
600
735
  def create_pty_tunnel(
601
736
  self,
602
737
  id: str,
@@ -2071,30 +2206,41 @@ class AsyncDevboxesResource(AsyncAPIResource):
2071
2206
  RunloopError: If devbox enters a non-running terminal state
2072
2207
  """
2073
2208
 
2074
- # Pass all create_args, relevant request args to the underlying create method
2075
- devbox = await self.create(
2076
- blueprint_id=blueprint_id,
2077
- blueprint_name=blueprint_name,
2078
- code_mounts=code_mounts,
2079
- entrypoint=entrypoint,
2080
- environment_variables=environment_variables,
2081
- file_mounts=file_mounts,
2082
- gateways=gateways,
2083
- launch_parameters=launch_parameters,
2084
- mcp=mcp,
2085
- metadata=metadata,
2086
- mounts=mounts,
2087
- name=name,
2088
- secrets=secrets,
2089
- snapshot_id=snapshot_id,
2090
- tunnel=tunnel,
2091
- extra_headers=extra_headers,
2092
- extra_query=extra_query,
2093
- extra_body=extra_body,
2094
- timeout=timeout,
2095
- idempotency_key=idempotency_key,
2209
+ devbox = await self._post(
2210
+ "/v1/devboxes/create_and_await_running",
2211
+ body=await async_maybe_transform(
2212
+ {
2213
+ "blueprint_id": blueprint_id,
2214
+ "blueprint_name": blueprint_name,
2215
+ "code_mounts": code_mounts,
2216
+ "entrypoint": entrypoint,
2217
+ "environment_variables": environment_variables,
2218
+ "file_mounts": file_mounts,
2219
+ "gateways": gateways,
2220
+ "launch_parameters": launch_parameters,
2221
+ "mcp": mcp,
2222
+ "metadata": metadata,
2223
+ "mounts": mounts,
2224
+ "name": name,
2225
+ "secrets": secrets,
2226
+ "snapshot_id": snapshot_id,
2227
+ "tunnel": tunnel,
2228
+ },
2229
+ devbox_create_params.DevboxCreateParams,
2230
+ ),
2231
+ options=make_request_options(
2232
+ extra_headers=extra_headers,
2233
+ extra_query=extra_query,
2234
+ extra_body=extra_body,
2235
+ timeout=timeout,
2236
+ idempotency_key=idempotency_key,
2237
+ ),
2238
+ cast_to=DevboxView,
2096
2239
  )
2097
2240
 
2241
+ if devbox.status == "running":
2242
+ return devbox
2243
+
2098
2244
  return await self.await_running(
2099
2245
  devbox.id,
2100
2246
  polling_config=polling_config,
@@ -2302,6 +2448,126 @@ class AsyncDevboxesResource(AsyncAPIResource):
2302
2448
  model=DevboxView,
2303
2449
  )
2304
2450
 
2451
+ async def create_gateway_token(
2452
+ self,
2453
+ id: str,
2454
+ *,
2455
+ gateway: str,
2456
+ secret: str,
2457
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2458
+ # The extra values given here take precedence over values defined on the client or passed to this method.
2459
+ extra_headers: Headers | None = None,
2460
+ extra_query: Query | None = None,
2461
+ extra_body: Body | None = None,
2462
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
2463
+ idempotency_key: str | None = None,
2464
+ ) -> GatewayTokenView:
2465
+ """
2466
+ Mint a token that lets a running Devbox call an external API through the Runloop
2467
+ agent gateway, using the credential in the supplied secret. The gateway applies
2468
+ the credential to proxied requests, so the real API key is never exposed to the
2469
+ Devbox.
2470
+
2471
+ The token is bound to this Devbox and is only accepted for requests that
2472
+ originate from it. Nothing is stored on the Devbox: the token is returned to the
2473
+ caller and is not re-issued when the Devbox is resumed.
2474
+
2475
+ Args:
2476
+ gateway: The gateway config to use. Can be a gateway config ID (gwc_xxx) or name.
2477
+
2478
+ secret: The secret containing the credential. Can be a secret ID or name.
2479
+
2480
+ extra_headers: Send extra headers
2481
+
2482
+ extra_query: Add additional query parameters to the request
2483
+
2484
+ extra_body: Add additional JSON properties to the request
2485
+
2486
+ timeout: Override the client-level default timeout for this request, in seconds
2487
+
2488
+ idempotency_key: Specify a custom idempotency key for this request
2489
+ """
2490
+ if not id:
2491
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2492
+ return await self._post(
2493
+ path_template("/v1/devboxes/{id}/create_gateway_token", id=id),
2494
+ body=await async_maybe_transform(
2495
+ {
2496
+ "gateway": gateway,
2497
+ "secret": secret,
2498
+ },
2499
+ devbox_create_gateway_token_params.DevboxCreateGatewayTokenParams,
2500
+ ),
2501
+ options=make_request_options(
2502
+ extra_headers=extra_headers,
2503
+ extra_query=extra_query,
2504
+ extra_body=extra_body,
2505
+ timeout=timeout,
2506
+ idempotency_key=idempotency_key,
2507
+ ),
2508
+ cast_to=GatewayTokenView,
2509
+ )
2510
+
2511
+ async def create_mcp_token(
2512
+ self,
2513
+ id: str,
2514
+ *,
2515
+ mcp_config: str,
2516
+ secret: str,
2517
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2518
+ # The extra values given here take precedence over values defined on the client or passed to this method.
2519
+ extra_headers: Headers | None = None,
2520
+ extra_query: Query | None = None,
2521
+ extra_body: Body | None = None,
2522
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
2523
+ idempotency_key: str | None = None,
2524
+ ) -> McpTokenView:
2525
+ """
2526
+ [Beta] Mint a token that lets a running Devbox reach an upstream MCP (Model
2527
+ Context Protocol) server through the Runloop MCP hub, using the credential in
2528
+ the supplied secret. Tool access is limited to the MCP config's allowed_tools,
2529
+ and the credential itself is never exposed to the Devbox.
2530
+
2531
+ The token is bound to this Devbox and is only accepted for requests that
2532
+ originate from it. Nothing is stored on the Devbox: the token is returned to the
2533
+ caller and is not re-issued when the Devbox is resumed.
2534
+
2535
+ Args:
2536
+ mcp_config: The MCP config to use. Can be an MCP config ID (mcp_xxx) or name.
2537
+
2538
+ secret: The secret containing the MCP server credential. Can be a secret ID or name.
2539
+
2540
+ extra_headers: Send extra headers
2541
+
2542
+ extra_query: Add additional query parameters to the request
2543
+
2544
+ extra_body: Add additional JSON properties to the request
2545
+
2546
+ timeout: Override the client-level default timeout for this request, in seconds
2547
+
2548
+ idempotency_key: Specify a custom idempotency key for this request
2549
+ """
2550
+ if not id:
2551
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2552
+ return await self._post(
2553
+ path_template("/v1/devboxes/{id}/create_mcp_token", id=id),
2554
+ body=await async_maybe_transform(
2555
+ {
2556
+ "mcp_config": mcp_config,
2557
+ "secret": secret,
2558
+ },
2559
+ devbox_create_mcp_token_params.DevboxCreateMcpTokenParams,
2560
+ ),
2561
+ options=make_request_options(
2562
+ extra_headers=extra_headers,
2563
+ extra_query=extra_query,
2564
+ extra_body=extra_body,
2565
+ timeout=timeout,
2566
+ idempotency_key=idempotency_key,
2567
+ ),
2568
+ cast_to=McpTokenView,
2569
+ )
2570
+
2305
2571
  async def create_pty_tunnel(
2306
2572
  self,
2307
2573
  id: str,
@@ -3556,6 +3822,12 @@ class DevboxesResourceWithRawResponse:
3556
3822
  self.list = to_raw_response_wrapper(
3557
3823
  devboxes.list,
3558
3824
  )
3825
+ self.create_gateway_token = to_raw_response_wrapper(
3826
+ devboxes.create_gateway_token,
3827
+ )
3828
+ self.create_mcp_token = to_raw_response_wrapper(
3829
+ devboxes.create_mcp_token,
3830
+ )
3559
3831
  self.create_pty_tunnel = to_raw_response_wrapper(
3560
3832
  devboxes.create_pty_tunnel,
3561
3833
  )
@@ -3655,6 +3927,12 @@ class AsyncDevboxesResourceWithRawResponse:
3655
3927
  self.list = async_to_raw_response_wrapper(
3656
3928
  devboxes.list,
3657
3929
  )
3930
+ self.create_gateway_token = async_to_raw_response_wrapper(
3931
+ devboxes.create_gateway_token,
3932
+ )
3933
+ self.create_mcp_token = async_to_raw_response_wrapper(
3934
+ devboxes.create_mcp_token,
3935
+ )
3658
3936
  self.create_pty_tunnel = async_to_raw_response_wrapper(
3659
3937
  devboxes.create_pty_tunnel,
3660
3938
  )
@@ -3754,6 +4032,12 @@ class DevboxesResourceWithStreamingResponse:
3754
4032
  self.list = to_streamed_response_wrapper(
3755
4033
  devboxes.list,
3756
4034
  )
4035
+ self.create_gateway_token = to_streamed_response_wrapper(
4036
+ devboxes.create_gateway_token,
4037
+ )
4038
+ self.create_mcp_token = to_streamed_response_wrapper(
4039
+ devboxes.create_mcp_token,
4040
+ )
3757
4041
  self.create_pty_tunnel = to_streamed_response_wrapper(
3758
4042
  devboxes.create_pty_tunnel,
3759
4043
  )
@@ -3853,6 +4137,12 @@ class AsyncDevboxesResourceWithStreamingResponse:
3853
4137
  self.list = async_to_streamed_response_wrapper(
3854
4138
  devboxes.list,
3855
4139
  )
4140
+ self.create_gateway_token = async_to_streamed_response_wrapper(
4141
+ devboxes.create_gateway_token,
4142
+ )
4143
+ self.create_mcp_token = async_to_streamed_response_wrapper(
4144
+ devboxes.create_mcp_token,
4145
+ )
3856
4146
  self.create_pty_tunnel = async_to_streamed_response_wrapper(
3857
4147
  devboxes.create_pty_tunnel,
3858
4148
  )
@@ -32,6 +32,7 @@ from .scenario_view import ScenarioView as ScenarioView
32
32
  from .axon_list_view import AxonListView as AxonListView
33
33
  from .benchmark_view import BenchmarkView as BenchmarkView
34
34
  from .blueprint_view import BlueprintView as BlueprintView
35
+ from .mcp_token_view import McpTokenView as McpTokenView
35
36
  from .agent_list_view import AgentListView as AgentListView
36
37
  from .axon_event_view import AxonEventView as AxonEventView
37
38
  from .mcp_config_view import McpConfigView as McpConfigView
@@ -52,6 +53,7 @@ from .axon_create_params import AxonCreateParams as AxonCreateParams
52
53
  from .benchmark_job_view import BenchmarkJobView as BenchmarkJobView
53
54
  from .benchmark_run_view import BenchmarkRunView as BenchmarkRunView
54
55
  from .devbox_list_params import DevboxListParams as DevboxListParams
56
+ from .gateway_token_view import GatewayTokenView as GatewayTokenView
55
57
  from .object_list_params import ObjectListParams as ObjectListParams
56
58
  from .pty_connect_params import PtyConnectParams as PtyConnectParams
57
59
  from .pty_control_params import PtyControlParams as PtyControlParams
@@ -140,6 +142,7 @@ from .scoring_function_result_view import ScoringFunctionResultView as ScoringFu
140
142
  from .scenario_definition_list_view import ScenarioDefinitionListView as ScenarioDefinitionListView
141
143
  from .scoring_contract_update_param import ScoringContractUpdateParam as ScoringContractUpdateParam
142
144
  from .blueprint_build_logs_list_view import BlueprintBuildLogsListView as BlueprintBuildLogsListView
145
+ from .devbox_create_mcp_token_params import DevboxCreateMcpTokenParams as DevboxCreateMcpTokenParams
143
146
  from .devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse as DevboxCreateSSHKeyResponse
144
147
  from .devbox_wait_for_command_params import DevboxWaitForCommandParams as DevboxWaitForCommandParams
145
148
  from .devbox_read_file_contents_params import DevboxReadFileContentsParams as DevboxReadFileContentsParams
@@ -148,6 +151,7 @@ from .devbox_list_disk_snapshots_params import DevboxListDiskSnapshotsParams as
148
151
  from .devbox_snapshot_disk_async_params import DevboxSnapshotDiskAsyncParams as DevboxSnapshotDiskAsyncParams
149
152
  from .devbox_write_file_contents_params import DevboxWriteFileContentsParams as DevboxWriteFileContentsParams
150
153
  from .devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView
154
+ from .devbox_create_gateway_token_params import DevboxCreateGatewayTokenParams as DevboxCreateGatewayTokenParams
151
155
  from .devbox_read_file_contents_response import DevboxReadFileContentsResponse as DevboxReadFileContentsResponse
152
156
  from .benchmark_run_list_scenario_runs_params import (
153
157
  BenchmarkRunListScenarioRunsParams as BenchmarkRunListScenarioRunsParams,
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["DevboxCreateGatewayTokenParams"]
8
+
9
+
10
+ class DevboxCreateGatewayTokenParams(TypedDict, total=False):
11
+ gateway: Required[str]
12
+ """The gateway config to use. Can be a gateway config ID (gwc_xxx) or name."""
13
+
14
+ secret: Required[str]
15
+ """The secret containing the credential. Can be a secret ID or name."""
@@ -0,0 +1,15 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["DevboxCreateMcpTokenParams"]
8
+
9
+
10
+ class DevboxCreateMcpTokenParams(TypedDict, total=False):
11
+ mcp_config: Required[str]
12
+ """The MCP config to use. Can be an MCP config ID (mcp_xxx) or name."""
13
+
14
+ secret: Required[str]
15
+ """The secret containing the MCP server credential. Can be a secret ID or name."""
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .._models import BaseModel
4
+ from .shared.auth_mechanism import AuthMechanism
5
+
6
+ __all__ = ["GatewayTokenView"]
7
+
8
+
9
+ class GatewayTokenView(BaseModel):
10
+ token: str
11
+ """The token to send to the gateway as a Bearer token in the Authorization header.
12
+
13
+ Only accepted for requests originating from the bound Devbox.
14
+ """
15
+
16
+ auth_mechanism: AuthMechanism
17
+ """How the gateway applies the credential to proxied requests."""
18
+
19
+ devbox_id: str
20
+ """The Devbox the token is bound to."""
21
+
22
+ endpoint: str
23
+ """The target API endpoint the gateway proxies to."""
24
+
25
+ gateway_config_id: str
26
+ """The ID of the gateway config the token proxies through."""
27
+
28
+ url: str
29
+ """The gateway URL to send requests to.
30
+
31
+ Matches the value of the &#123;prefix&#125;\\__URL environment variable inside the
32
+ Devbox.
33
+ """