runloop_api_client 1.20.3__tar.gz → 1.22.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 (463) hide show
  1. runloop_api_client-1.22.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/CHANGELOG.md +38 -0
  3. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/PKG-INFO +1 -1
  4. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/api.md +18 -0
  5. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/pyproject.toml +1 -1
  6. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_client.py +38 -0
  7. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_files.py +1 -1
  8. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_models.py +80 -0
  9. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_version.py +1 -1
  10. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/__init__.py +14 -0
  11. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/agents.py +2 -2
  12. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/blueprints.py +18 -6
  13. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/devboxes/devboxes.py +111 -8
  14. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/gateway_configs.py +4 -2
  15. runloop_api_client-1.22.0/src/runloop_api_client/resources/pty.py +402 -0
  16. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/scenarios/scenarios.py +8 -4
  17. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/__init__.py +8 -0
  18. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_create_params.py +1 -1
  19. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_view.py +1 -1
  20. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_job_create_params.py +8 -20
  21. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_job_view.py +10 -22
  22. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_build_parameters.py +5 -1
  23. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +5 -1
  24. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_create_params.py +5 -1
  25. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_preview_params.py +5 -1
  26. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_view.py +7 -1
  27. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_create_params.py +9 -6
  28. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_view.py +24 -8
  29. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/gateway_config_update_params.py +7 -2
  30. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_view.py +4 -1
  31. runloop_api_client-1.22.0/src/runloop_api_client/types/pty_connect_params.py +23 -0
  32. runloop_api_client-1.22.0/src/runloop_api_client/types/pty_connect_view.py +27 -0
  33. runloop_api_client-1.22.0/src/runloop_api_client/types/pty_control_params.py +17 -0
  34. runloop_api_client-1.22.0/src/runloop_api_client/types/pty_control_result_view.py +13 -0
  35. runloop_api_client-1.22.0/src/runloop_api_client/types/pty_tunnel_view.py +21 -0
  36. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_create_params.py +4 -1
  37. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_environment.py +5 -1
  38. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_environment_param.py +5 -1
  39. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_run_view.py +4 -1
  40. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_update_params.py +4 -1
  41. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_view.py +4 -1
  42. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/__init__.py +3 -0
  43. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/agent_source.py +8 -8
  44. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/launch_parameters.py +18 -48
  45. runloop_api_client-1.22.0/src/runloop_api_client/types/shared/lifecycle_configuration.py +38 -0
  46. runloop_api_client-1.22.0/src/runloop_api_client/types/shared/lifecycle_hooks.py +28 -0
  47. runloop_api_client-1.22.0/src/runloop_api_client/types/shared/resume_triggers.py +17 -0
  48. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/run_profile.py +5 -1
  49. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/__init__.py +3 -0
  50. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/agent_source.py +8 -8
  51. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +18 -48
  52. runloop_api_client-1.22.0/src/runloop_api_client/types/shared_params/lifecycle_configuration.py +40 -0
  53. runloop_api_client-1.22.0/src/runloop_api_client/types/shared_params/lifecycle_hooks.py +31 -0
  54. runloop_api_client-1.22.0/src/runloop_api_client/types/shared_params/resume_triggers.py +18 -0
  55. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/run_profile.py +5 -1
  56. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_benchmarks.py +8 -0
  57. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_blueprints.py +24 -0
  58. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_devboxes.py +85 -0
  59. runloop_api_client-1.22.0/tests/api_resources/test_pty.py +216 -0
  60. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_scenarios.py +24 -0
  61. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/conftest.py +10 -1
  62. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_models.py +57 -3
  63. runloop_api_client-1.20.3/.release-please-manifest.json +0 -3
  64. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/.gitignore +0 -0
  65. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/CONTRIBUTING.md +0 -0
  66. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/EXAMPLES.md +0 -0
  67. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/LICENSE +0 -0
  68. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/README-SDK.md +0 -0
  69. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/README.md +0 -0
  70. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/SECURITY.md +0 -0
  71. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/bin/check-release-environment +0 -0
  72. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/bin/publish-pypi +0 -0
  73. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/__init__.py +0 -0
  74. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/_harness.py +0 -0
  75. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/blueprint_with_build_context.py +0 -0
  76. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/devbox_from_blueprint_lifecycle.py +0 -0
  77. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/devbox_snapshot_resume.py +0 -0
  78. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/devbox_snapshots.py +0 -0
  79. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/devbox_tunnel.py +0 -0
  80. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/example_types.py +0 -0
  81. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/mcp_github_tools.py +0 -0
  82. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/registry.py +0 -0
  83. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/examples/secrets_with_devbox.py +0 -0
  84. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/release-please-config.json +0 -0
  85. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/requirements-dev.lock +0 -0
  86. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop/lib/.keep +0 -0
  87. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/__init__.py +0 -0
  88. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_base_client.py +0 -0
  89. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_compat.py +0 -0
  90. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_constants.py +0 -0
  91. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_exceptions.py +0 -0
  92. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_qs.py +0 -0
  93. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_resource.py +0 -0
  94. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_response.py +0 -0
  95. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_streaming.py +0 -0
  96. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_types.py +0 -0
  97. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  98. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  99. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  100. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_json.py +0 -0
  101. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  102. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_path.py +0 -0
  103. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  104. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  105. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  106. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  107. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  108. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  109. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  110. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  111. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/_utils/_validation.py +0 -0
  112. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/.keep +0 -0
  113. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/__init__.py +0 -0
  114. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/_ignore.py +0 -0
  115. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/context_loader.py +0 -0
  116. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/polling.py +0 -0
  117. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  118. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/lib/wait_for_status.py +0 -0
  119. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/pagination.py +0 -0
  120. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/py.typed +0 -0
  121. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/apikeys.py +0 -0
  122. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/axons/__init__.py +0 -0
  123. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/axons/axons.py +0 -0
  124. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/axons/events.py +0 -0
  125. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/axons/sql.py +0 -0
  126. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/benchmark_jobs.py +0 -0
  127. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/benchmark_runs.py +0 -0
  128. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/benchmarks.py +0 -0
  129. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  130. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  131. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  132. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  133. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/mcp_configs.py +0 -0
  134. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/network_policies.py +0 -0
  135. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/objects.py +0 -0
  136. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/restricted_keys.py +0 -0
  137. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  138. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  139. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  140. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/resources/secrets.py +0 -0
  141. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/__init__.py +0 -0
  142. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/_helpers.py +0 -0
  143. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/_types.py +0 -0
  144. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/agent.py +0 -0
  145. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_.py +0 -0
  146. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_agent.py +0 -0
  147. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_axon.py +0 -0
  148. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_benchmark.py +0 -0
  149. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_benchmark_run.py +0 -0
  150. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_blueprint.py +0 -0
  151. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_devbox.py +0 -0
  152. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_execution.py +0 -0
  153. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_execution_result.py +0 -0
  154. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_gateway_config.py +0 -0
  155. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_mcp_config.py +0 -0
  156. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_network_policy.py +0 -0
  157. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_scenario.py +0 -0
  158. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_scenario_builder.py +0 -0
  159. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_scenario_run.py +0 -0
  160. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_scorer.py +0 -0
  161. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_secret.py +0 -0
  162. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_snapshot.py +0 -0
  163. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/async_storage_object.py +0 -0
  164. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/axon.py +0 -0
  165. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/benchmark.py +0 -0
  166. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/benchmark_run.py +0 -0
  167. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/blueprint.py +0 -0
  168. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/devbox.py +0 -0
  169. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/execution.py +0 -0
  170. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/execution_result.py +0 -0
  171. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/gateway_config.py +0 -0
  172. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/mcp_config.py +0 -0
  173. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/network_policy.py +0 -0
  174. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/scenario.py +0 -0
  175. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/scenario_builder.py +0 -0
  176. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/scenario_run.py +0 -0
  177. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/scorer.py +0 -0
  178. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/secret.py +0 -0
  179. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/snapshot.py +0 -0
  180. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/storage_object.py +0 -0
  181. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/sdk/sync.py +0 -0
  182. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_devbox_counts_view.py +0 -0
  183. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_list_params.py +0 -0
  184. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_list_public_params.py +0 -0
  185. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/agent_list_view.py +0 -0
  186. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/api_key_created_view.py +0 -0
  187. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/apikey_create_params.py +0 -0
  188. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_create_params.py +0 -0
  189. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_event_view.py +0 -0
  190. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_list_params.py +0 -0
  191. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_list_view.py +0 -0
  192. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_publish_params.py +0 -0
  193. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_subscribe_sse_params.py +0 -0
  194. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axon_view.py +0 -0
  195. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/__init__.py +0 -0
  196. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/axon_event_list_view.py +0 -0
  197. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/event_list_params.py +0 -0
  198. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_batch_params.py +0 -0
  199. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_batch_result_view.py +0 -0
  200. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_column_meta_view.py +0 -0
  201. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_query_params.py +0 -0
  202. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_query_result_view.py +0 -0
  203. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_result_meta_view.py +0 -0
  204. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_statement_params.py +0 -0
  205. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_step_error_view.py +0 -0
  206. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/axons/sql_step_result_view.py +0 -0
  207. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  208. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  209. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_job_list_params.py +0 -0
  210. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_job_list_view.py +0 -0
  211. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  212. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  213. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_run_list_params.py +0 -0
  214. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +0 -0
  215. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  216. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  217. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  218. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  219. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_update_scenarios_params.py +0 -0
  220. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  221. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  222. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  223. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  224. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  225. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  226. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  227. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  228. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  229. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  230. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_enable_tunnel_params.py +0 -0
  231. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  232. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  233. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  234. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  235. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  236. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  237. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  238. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  239. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  240. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_resource_usage_view.py +0 -0
  241. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_send_std_in_result.py +0 -0
  242. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_shutdown_params.py +0 -0
  243. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  244. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  245. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  246. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  247. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  248. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  249. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  250. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  251. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  252. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  253. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  254. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  255. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  256. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  257. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  258. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  259. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  260. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +0 -0
  261. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  262. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  263. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  264. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  265. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/gateway_config_create_params.py +0 -0
  266. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/gateway_config_list_params.py +0 -0
  267. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/gateway_config_list_view.py +0 -0
  268. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/gateway_config_view.py +0 -0
  269. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/input_context.py +0 -0
  270. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  271. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  272. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  273. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/mcp_config_create_params.py +0 -0
  274. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/mcp_config_list_params.py +0 -0
  275. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/mcp_config_list_view.py +0 -0
  276. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/mcp_config_update_params.py +0 -0
  277. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/mcp_config_view.py +0 -0
  278. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/network_policy_create_params.py +0 -0
  279. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/network_policy_list_params.py +0 -0
  280. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/network_policy_list_view.py +0 -0
  281. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/network_policy_update_params.py +0 -0
  282. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/network_policy_view.py +0 -0
  283. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  284. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  285. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  286. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  287. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  288. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  289. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/publish_result_view.py +0 -0
  290. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/restricted_key_create_params.py +0 -0
  291. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/restricted_key_created_view.py +0 -0
  292. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  293. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  294. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  295. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  296. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  297. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  298. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  299. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  300. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  301. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  302. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  303. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  304. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  305. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  306. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scope_entry_view.py +0 -0
  307. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scope_entry_view_param.py +0 -0
  308. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  309. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  310. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  311. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  312. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  313. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  314. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  315. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  316. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  317. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  318. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  319. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/secret_view.py +0 -0
  320. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  321. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/agent_mount.py +0 -0
  322. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/broker_mount.py +0 -0
  323. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  324. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/mount.py +0 -0
  325. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared/object_mount.py +0 -0
  326. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  327. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/agent_mount.py +0 -0
  328. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/broker_mount.py +0 -0
  329. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  330. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/mount.py +0 -0
  331. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/shared_params/object_mount.py +0 -0
  332. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/src/runloop_api_client/types/tunnel_view.py +0 -0
  333. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/__init__.py +0 -0
  334. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/__init__.py +0 -0
  335. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/axons/__init__.py +0 -0
  336. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/axons/test_events.py +0 -0
  337. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/axons/test_sql.py +0 -0
  338. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/devboxes/__init__.py +0 -0
  339. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  340. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  341. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  342. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/scenarios/__init__.py +0 -0
  343. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  344. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  345. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_agents.py +0 -0
  346. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_apikeys.py +0 -0
  347. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_axons.py +0 -0
  348. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_benchmark_jobs.py +0 -0
  349. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_benchmark_runs.py +0 -0
  350. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_gateway_configs.py +0 -0
  351. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_mcp_configs.py +0 -0
  352. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_network_policies.py +0 -0
  353. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_objects.py +0 -0
  354. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_restricted_keys.py +0 -0
  355. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/api_resources/test_secrets.py +0 -0
  356. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sample_file.txt +0 -0
  357. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/__init__.py +0 -0
  358. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/__init__.py +0 -0
  359. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/conftest.py +0 -0
  360. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/test_core.py +0 -0
  361. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/test_edge_cases.py +0 -0
  362. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/test_interfaces.py +0 -0
  363. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/async_devbox/test_streaming.py +0 -0
  364. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/conftest.py +0 -0
  365. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/__init__.py +0 -0
  366. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/conftest.py +0 -0
  367. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/test_core.py +0 -0
  368. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/test_edge_cases.py +0 -0
  369. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/test_interfaces.py +0 -0
  370. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/devbox/test_streaming.py +0 -0
  371. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_agent.py +0 -0
  372. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_agent.py +0 -0
  373. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_axon.py +0 -0
  374. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_benchmark.py +0 -0
  375. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_benchmark_run.py +0 -0
  376. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_blueprint.py +0 -0
  377. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_execution.py +0 -0
  378. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_execution_result.py +0 -0
  379. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_gateway_config.py +0 -0
  380. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_network_policy.py +0 -0
  381. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_ops.py +0 -0
  382. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_scenario.py +0 -0
  383. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_scenario_builder.py +0 -0
  384. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_scenario_run.py +0 -0
  385. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_scorer.py +0 -0
  386. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_snapshot.py +0 -0
  387. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_async_storage_object.py +0 -0
  388. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_axon.py +0 -0
  389. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_benchmark.py +0 -0
  390. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_benchmark_run.py +0 -0
  391. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_blueprint.py +0 -0
  392. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_execution.py +0 -0
  393. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_execution_result.py +0 -0
  394. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_gateway_config.py +0 -0
  395. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_helpers.py +0 -0
  396. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_network_policy.py +0 -0
  397. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_ops.py +0 -0
  398. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_scenario.py +0 -0
  399. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_scenario_builder.py +0 -0
  400. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_scenario_run.py +0 -0
  401. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_scorer.py +0 -0
  402. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_snapshot.py +0 -0
  403. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/sdk/test_storage_object.py +0 -0
  404. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/README.md +0 -0
  405. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/__init__.py +0 -0
  406. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/conftest.py +0 -0
  407. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/examples/__init__.py +0 -0
  408. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/examples/test_examples.py +0 -0
  409. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/README.md +0 -0
  410. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/__init__.py +0 -0
  411. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/conftest.py +0 -0
  412. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_agent.py +0 -0
  413. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_agent.py +0 -0
  414. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_axon.py +0 -0
  415. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_benchmark.py +0 -0
  416. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_blueprint.py +0 -0
  417. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_devbox.py +0 -0
  418. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_gateway_config.py +0 -0
  419. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_network_policy.py +0 -0
  420. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_scenario.py +0 -0
  421. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_scorer.py +0 -0
  422. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_sdk.py +0 -0
  423. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_secret.py +0 -0
  424. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_snapshot.py +0 -0
  425. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_async_storage_object.py +0 -0
  426. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_axon.py +0 -0
  427. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_benchmark.py +0 -0
  428. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_blueprint.py +0 -0
  429. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_devbox.py +0 -0
  430. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_gateway_config.py +0 -0
  431. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_mcp_config.py +0 -0
  432. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_network_policy.py +0 -0
  433. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_scenario.py +0 -0
  434. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_scorer.py +0 -0
  435. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_sdk.py +0 -0
  436. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_secret.py +0 -0
  437. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_snapshot.py +0 -0
  438. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/sdk/test_storage_object.py +0 -0
  439. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/test_blueprints.py +0 -0
  440. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/test_devboxes.py +0 -0
  441. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/test_executions.py +0 -0
  442. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  443. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/test_snapshots.py +0 -0
  444. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/smoketests/utils.py +0 -0
  445. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_client.py +0 -0
  446. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_command_id.py +0 -0
  447. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_extract_files.py +0 -0
  448. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_files.py +0 -0
  449. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_polling.py +0 -0
  450. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_qs.py +0 -0
  451. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_required_args.py +0 -0
  452. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_response.py +0 -0
  453. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_shared_pool.py +0 -0
  454. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_streaming.py +0 -0
  455. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_transform.py +0 -0
  456. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_context_loader.py +0 -0
  457. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_datetime_parse.py +0 -0
  458. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_json.py +0 -0
  459. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_path.py +0 -0
  460. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_proxy.py +0 -0
  461. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/test_utils/test_typing.py +0 -0
  462. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/tests/utils.py +0 -0
  463. {runloop_api_client-1.20.3 → runloop_api_client-1.22.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.22.0"
3
+ }
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.22.0 (2026-05-27)
4
+
5
+ Full Changelog: [v1.21.0...v1.22.0](https://github.com/runloopai/api-client-python/compare/v1.21.0...v1.22.0)
6
+
7
+ ### Features
8
+
9
+ * add reflex initiator type, hidden param ([#9350](https://github.com/runloopai/api-client-python/issues/9350)) ([5922abf](https://github.com/runloopai/api-client-python/commit/5922abfd135589b229cb64ea23750d34fede857f))
10
+ * **api:** expose lifecycle_hooks on LaunchParameters lifecycle ([#9115](https://github.com/runloopai/api-client-python/issues/9115)) ([c9c7c37](https://github.com/runloopai/api-client-python/commit/c9c7c37c2a38f91142b0b28d1e5cbc183b8ee53e))
11
+ * **mux:** initial changes to enable http/2 ([#8936](https://github.com/runloopai/api-client-python/issues/8936)) ([71ce0bf](https://github.com/runloopai/api-client-python/commit/71ce0bf9ac98599b41a9cc6d16a3333c8b70e977))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * clean up PTY and lifecycle hook OpenAPI descriptions ([#9502](https://github.com/runloopai/api-client-python/issues/9502)) ([f986282](https://github.com/runloopai/api-client-python/commit/f986282230c815acae4cf9d81685b182ca78ebfa))
17
+ * **mux:** strip internal stub note from PTY OpenAPI descriptions ([#9315](https://github.com/runloopai/api-client-python/issues/9315)) ([214629e](https://github.com/runloopai/api-client-python/commit/214629e9281c38ff75b5769e13b4b977a346bb04))
18
+ * revert workflow actions to runloopai forks ([#805](https://github.com/runloopai/api-client-python/issues/805)) ([88a9632](https://github.com/runloopai/api-client-python/commit/88a9632507cd422bc43eeb3886ac330c2ab3ba44))
19
+
20
+
21
+ ### Chores
22
+
23
+ * Update stainless.yml, bump AGENTS.md to keep this updated ([#9268](https://github.com/runloopai/api-client-python/issues/9268)) ([5d86ef5](https://github.com/runloopai/api-client-python/commit/5d86ef5240920ba4b6de9e59456aea3c0971e3ef))
24
+
25
+ ## 1.21.0 (2026-05-13)
26
+
27
+ Full Changelog: [v1.20.3...v1.21.0](https://github.com/runloopai/api-client-python/compare/v1.20.3...v1.21.0)
28
+
29
+ ### Features
30
+
31
+ * **internal/types:** support eagerly validating pydantic iterators ([f089d05](https://github.com/runloopai/api-client-python/commit/f089d05c5e00c2ba980d0afdea79ed026242a174))
32
+ * **metadata:** add object metadata viewing, discovery, and validation ([#9124](https://github.com/runloopai/api-client-python/issues/9124)) ([ba0b5dc](https://github.com/runloopai/api-client-python/commit/ba0b5dc873a47073c453b168fe4d966754cccc0e))
33
+
34
+
35
+ ### Bug Fixes
36
+
37
+ * **client:** add missing f-string prefix in file type error message ([930b1e2](https://github.com/runloopai/api-client-python/commit/930b1e2d169a291415007f2897fec5a410ecf993))
38
+ * update openapi.stainless.yaml for PTY server methods ([#9218](https://github.com/runloopai/api-client-python/issues/9218)) ([ac1cb22](https://github.com/runloopai/api-client-python/commit/ac1cb2264b8e39da8aa65d8fdcd4595bce55def6))
39
+ * update types for pty control, use int instead of str ([#9235](https://github.com/runloopai/api-client-python/issues/9235)) ([7ceb2bf](https://github.com/runloopai/api-client-python/commit/7ceb2bf09c3241a27892fbab2272d63ef76b1a8a))
40
+
3
41
  ## 1.20.3 (2026-05-08)
4
42
 
5
43
  Full Changelog: [v1.20.2...v1.20.3](https://github.com/runloopai/api-client-python/compare/v1.20.2...v1.20.3)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 1.20.3
3
+ Version: 1.22.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
@@ -8,8 +8,11 @@ from runloop_api_client.types import (
8
8
  BrokerMount,
9
9
  CodeMountParameters,
10
10
  LaunchParameters,
11
+ LifecycleConfiguration,
12
+ LifecycleHooks,
11
13
  Mount,
12
14
  ObjectMount,
15
+ ResumeTriggers,
13
16
  RunProfile,
14
17
  )
15
18
  ```
@@ -198,6 +201,7 @@ from runloop_api_client.types import (
198
201
  DevboxSnapshotListView,
199
202
  DevboxSnapshotView,
200
203
  DevboxView,
204
+ PtyTunnelView,
201
205
  TunnelView,
202
206
  DevboxCreateSSHKeyResponse,
203
207
  DevboxReadFileContentsResponse,
@@ -211,6 +215,7 @@ Methods:
211
215
  - <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>
212
216
  - <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>
213
217
  - <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>
218
+ - <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>
214
219
  - <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>
215
220
  - <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>
216
221
  - <code title="post /v1/devboxes/{id}/download_file">client.devboxes.<a href="./src/runloop_api_client/resources/devboxes/devboxes.py">download_file</a>(id, \*\*<a href="src/runloop_api_client/types/devbox_download_file_params.py">params</a>) -> BinaryAPIResponse</code>
@@ -278,6 +283,19 @@ Methods:
278
283
  - <code title="get /v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stderr_updates">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">stream_stderr_updates</a>(execution_id, \*, devbox_id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/execution_update_chunk.py">ExecutionUpdateChunk</a></code>
279
284
  - <code title="get /v1/devboxes/{devbox_id}/executions/{execution_id}/stream_stdout_updates">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">stream_stdout_updates</a>(execution_id, \*, devbox_id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devboxes/execution_update_chunk.py">ExecutionUpdateChunk</a></code>
280
285
 
286
+ # Pty
287
+
288
+ Types:
289
+
290
+ ```python
291
+ from runloop_api_client.types import PtyConnectView, PtyControlParams, PtyControlResultView
292
+ ```
293
+
294
+ Methods:
295
+
296
+ - <code title="get /pty/{session_name}">client.pty.<a href="./src/runloop_api_client/resources/pty.py">connect</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_connect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_connect_view.py">PtyConnectView</a></code>
297
+ - <code title="post /pty/{session_name}/control">client.pty.<a href="./src/runloop_api_client/resources/pty.py">control</a>(session_name, \*\*<a href="src/runloop_api_client/types/pty_control_params.py">params</a>) -> <a href="./src/runloop_api_client/types/pty_control_result_view.py">PtyControlResultView</a></code>
298
+
281
299
  # Scenarios
282
300
 
283
301
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "1.20.3"
3
+ version = "1.22.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -36,6 +36,7 @@ from ._base_client import (
36
36
 
37
37
  if TYPE_CHECKING:
38
38
  from .resources import (
39
+ pty,
39
40
  axons,
40
41
  agents,
41
42
  apikeys,
@@ -52,6 +53,7 @@ if TYPE_CHECKING:
52
53
  restricted_keys,
53
54
  network_policies,
54
55
  )
56
+ from .resources.pty import PtyResource, AsyncPtyResource
55
57
  from .resources.agents import AgentsResource, AsyncAgentsResource
56
58
  from .resources.apikeys import ApikeysResource, AsyncApikeysResource
57
59
  from .resources.objects import ObjectsResource, AsyncObjectsResource
@@ -184,6 +186,12 @@ class Runloop(SyncAPIClient):
184
186
 
185
187
  return DevboxesResource(self)
186
188
 
189
+ @cached_property
190
+ def pty(self) -> PtyResource:
191
+ from .resources.pty import PtyResource
192
+
193
+ return PtyResource(self)
194
+
187
195
  @cached_property
188
196
  def scenarios(self) -> ScenariosResource:
189
197
  from .resources.scenarios import ScenariosResource
@@ -466,6 +474,12 @@ class AsyncRunloop(AsyncAPIClient):
466
474
 
467
475
  return AsyncDevboxesResource(self)
468
476
 
477
+ @cached_property
478
+ def pty(self) -> AsyncPtyResource:
479
+ from .resources.pty import AsyncPtyResource
480
+
481
+ return AsyncPtyResource(self)
482
+
469
483
  @cached_property
470
484
  def scenarios(self) -> AsyncScenariosResource:
471
485
  from .resources.scenarios import AsyncScenariosResource
@@ -683,6 +697,12 @@ class RunloopWithRawResponse:
683
697
 
684
698
  return DevboxesResourceWithRawResponse(self._client.devboxes)
685
699
 
700
+ @cached_property
701
+ def pty(self) -> pty.PtyResourceWithRawResponse:
702
+ from .resources.pty import PtyResourceWithRawResponse
703
+
704
+ return PtyResourceWithRawResponse(self._client.pty)
705
+
686
706
  @cached_property
687
707
  def scenarios(self) -> scenarios.ScenariosResourceWithRawResponse:
688
708
  from .resources.scenarios import ScenariosResourceWithRawResponse
@@ -780,6 +800,12 @@ class AsyncRunloopWithRawResponse:
780
800
 
781
801
  return AsyncDevboxesResourceWithRawResponse(self._client.devboxes)
782
802
 
803
+ @cached_property
804
+ def pty(self) -> pty.AsyncPtyResourceWithRawResponse:
805
+ from .resources.pty import AsyncPtyResourceWithRawResponse
806
+
807
+ return AsyncPtyResourceWithRawResponse(self._client.pty)
808
+
783
809
  @cached_property
784
810
  def scenarios(self) -> scenarios.AsyncScenariosResourceWithRawResponse:
785
811
  from .resources.scenarios import AsyncScenariosResourceWithRawResponse
@@ -877,6 +903,12 @@ class RunloopWithStreamedResponse:
877
903
 
878
904
  return DevboxesResourceWithStreamingResponse(self._client.devboxes)
879
905
 
906
+ @cached_property
907
+ def pty(self) -> pty.PtyResourceWithStreamingResponse:
908
+ from .resources.pty import PtyResourceWithStreamingResponse
909
+
910
+ return PtyResourceWithStreamingResponse(self._client.pty)
911
+
880
912
  @cached_property
881
913
  def scenarios(self) -> scenarios.ScenariosResourceWithStreamingResponse:
882
914
  from .resources.scenarios import ScenariosResourceWithStreamingResponse
@@ -974,6 +1006,12 @@ class AsyncRunloopWithStreamedResponse:
974
1006
 
975
1007
  return AsyncDevboxesResourceWithStreamingResponse(self._client.devboxes)
976
1008
 
1009
+ @cached_property
1010
+ def pty(self) -> pty.AsyncPtyResourceWithStreamingResponse:
1011
+ from .resources.pty import AsyncPtyResourceWithStreamingResponse
1012
+
1013
+ return AsyncPtyResourceWithStreamingResponse(self._client.pty)
1014
+
977
1015
  @cached_property
978
1016
  def scenarios(self) -> scenarios.AsyncScenariosResourceWithStreamingResponse:
979
1017
  from .resources.scenarios import AsyncScenariosResourceWithStreamingResponse
@@ -99,7 +99,7 @@ async def async_to_httpx_files(files: RequestFiles | None) -> HttpxRequestFiles
99
99
  elif is_sequence_t(files):
100
100
  files = [(key, await _async_transform_file(file)) for key, file in files]
101
101
  else:
102
- raise TypeError("Unexpected file type input {type(files)}, expected mapping or sequence")
102
+ raise TypeError(f"Unexpected file type input {type(files)}, expected mapping or sequence")
103
103
 
104
104
  return files
105
105
 
@@ -25,7 +25,9 @@ from typing_extensions import (
25
25
  ClassVar,
26
26
  Protocol,
27
27
  Required,
28
+ Annotated,
28
29
  ParamSpec,
30
+ TypeAlias,
29
31
  TypedDict,
30
32
  TypeGuard,
31
33
  final,
@@ -79,7 +81,15 @@ from ._compat import (
79
81
  from ._constants import RAW_RESPONSE_HEADER
80
82
 
81
83
  if TYPE_CHECKING:
84
+ from pydantic import GetCoreSchemaHandler, ValidatorFunctionWrapHandler
85
+ from pydantic_core import CoreSchema, core_schema
82
86
  from pydantic_core.core_schema import ModelField, ModelSchema, LiteralSchema, ModelFieldsSchema
87
+ else:
88
+ try:
89
+ from pydantic_core import CoreSchema, core_schema
90
+ except ImportError:
91
+ CoreSchema = None
92
+ core_schema = None
83
93
 
84
94
  __all__ = ["BaseModel", "GenericModel"]
85
95
 
@@ -396,6 +406,76 @@ class BaseModel(pydantic.BaseModel):
396
406
  )
397
407
 
398
408
 
409
+ class _EagerIterable(list[_T], Generic[_T]):
410
+ """
411
+ Accepts any Iterable[T] input (including generators), consumes it
412
+ eagerly, and validates all items upfront.
413
+
414
+ Validation preserves the original container type where possible
415
+ (e.g. a set[T] stays a set[T]). Serialization (model_dump / JSON)
416
+ always emits a list — round-tripping through model_dump() will not
417
+ restore the original container type.
418
+ """
419
+
420
+ @classmethod
421
+ def __get_pydantic_core_schema__(
422
+ cls,
423
+ source_type: Any,
424
+ handler: GetCoreSchemaHandler,
425
+ ) -> CoreSchema:
426
+ (item_type,) = get_args(source_type) or (Any,)
427
+ item_schema: CoreSchema = handler.generate_schema(item_type)
428
+ list_of_items_schema: CoreSchema = core_schema.list_schema(item_schema)
429
+
430
+ return core_schema.no_info_wrap_validator_function(
431
+ cls._validate,
432
+ list_of_items_schema,
433
+ serialization=core_schema.plain_serializer_function_ser_schema(
434
+ cls._serialize,
435
+ info_arg=False,
436
+ ),
437
+ )
438
+
439
+ @staticmethod
440
+ def _validate(v: Iterable[_T], handler: "ValidatorFunctionWrapHandler") -> Any:
441
+ original_type: type[Any] = type(v)
442
+
443
+ # Normalize to list so list_schema can validate each item
444
+ if isinstance(v, list):
445
+ items: list[_T] = v
446
+ else:
447
+ try:
448
+ items = list(v)
449
+ except TypeError as e:
450
+ raise TypeError("Value is not iterable") from e
451
+
452
+ # Validate items against the inner schema
453
+ validated: list[_T] = handler(items)
454
+
455
+ # Reconstruct original container type
456
+ if original_type is list:
457
+ return validated
458
+ # str(list) produces the list's repr, not a string built from items,
459
+ # so skip reconstruction for str and its subclasses.
460
+ if issubclass(original_type, str):
461
+ return validated
462
+ try:
463
+ return original_type(validated)
464
+ except (TypeError, ValueError):
465
+ # If the type cannot be reconstructed, just return the validated list
466
+ return validated
467
+
468
+ @staticmethod
469
+ def _serialize(v: Iterable[_T]) -> list[_T]:
470
+ """Always serialize as a list so Pydantic's JSON encoder is happy."""
471
+ if isinstance(v, list):
472
+ return v
473
+ return list(v)
474
+
475
+
476
+ EagerIterable: TypeAlias = Annotated[Iterable[_T], _EagerIterable]
477
+
478
+
399
479
  def _construct_field(value: object, field: FieldInfo, key: str) -> object:
400
480
  if value is None:
401
481
  return field_get_default(field)
@@ -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.20.3" # x-release-please-version
4
+ __version__ = "1.22.0" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .pty import (
4
+ PtyResource,
5
+ AsyncPtyResource,
6
+ PtyResourceWithRawResponse,
7
+ AsyncPtyResourceWithRawResponse,
8
+ PtyResourceWithStreamingResponse,
9
+ AsyncPtyResourceWithStreamingResponse,
10
+ )
3
11
  from .axons import (
4
12
  AxonsResource,
5
13
  AsyncAxonsResource,
@@ -164,6 +172,12 @@ __all__ = [
164
172
  "AsyncDevboxesResourceWithRawResponse",
165
173
  "DevboxesResourceWithStreamingResponse",
166
174
  "AsyncDevboxesResourceWithStreamingResponse",
175
+ "PtyResource",
176
+ "AsyncPtyResource",
177
+ "PtyResourceWithRawResponse",
178
+ "AsyncPtyResourceWithRawResponse",
179
+ "PtyResourceWithStreamingResponse",
180
+ "AsyncPtyResourceWithStreamingResponse",
167
181
  "ScenariosResource",
168
182
  "AsyncScenariosResource",
169
183
  "ScenariosResourceWithRawResponse",
@@ -68,7 +68,7 @@ class AgentsResource(SyncAPIResource):
68
68
  Args:
69
69
  name: The name of the Agent.
70
70
 
71
- source: The source configuration for the Agent.
71
+ source: Agent source configuration.
72
72
 
73
73
  version: Optional version identifier for the Agent. For npm/pip sources this is typically
74
74
  a semver string (e.g. '2.0.65'). For git sources it can be a branch or tag.
@@ -377,7 +377,7 @@ class AsyncAgentsResource(AsyncAPIResource):
377
377
  Args:
378
378
  name: The name of the Agent.
379
379
 
380
- source: The source configuration for the Agent.
380
+ source: Agent source configuration.
381
381
 
382
382
  version: Optional version identifier for the Agent. For npm/pip sources this is typically
383
383
  a semver string (e.g. '2.0.65'). For git sources it can be a branch or tag.
@@ -177,7 +177,9 @@ class BlueprintsResource(SyncAPIResource):
177
177
 
178
178
  file_mounts: (Optional) Map of paths and file contents to write before setup.
179
179
 
180
- launch_parameters: Parameters to configure your Devbox at launch time.
180
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
181
+ as well as the environment set up that should be completed before the Devbox is
182
+ marked as 'running'.
181
183
 
182
184
  metadata: (Optional) User defined metadata for the Blueprint.
183
185
 
@@ -529,7 +531,9 @@ class BlueprintsResource(SyncAPIResource):
529
531
 
530
532
  file_mounts: (Optional) Map of paths and file contents to write before setup.
531
533
 
532
- launch_parameters: Parameters to configure your Devbox at launch time.
534
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
535
+ as well as the environment set up that should be completed before the Devbox is
536
+ marked as 'running'.
533
537
 
534
538
  metadata: (Optional) User defined metadata for the Blueprint.
535
539
 
@@ -722,7 +726,9 @@ class BlueprintsResource(SyncAPIResource):
722
726
 
723
727
  file_mounts: (Optional) Map of paths and file contents to write before setup.
724
728
 
725
- launch_parameters: Parameters to configure your Devbox at launch time.
729
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
730
+ as well as the environment set up that should be completed before the Devbox is
731
+ marked as 'running'.
726
732
 
727
733
  metadata: (Optional) User defined metadata for the Blueprint.
728
734
 
@@ -858,7 +864,9 @@ class AsyncBlueprintsResource(AsyncAPIResource):
858
864
 
859
865
  file_mounts: (Optional) Map of paths and file contents to write before setup.
860
866
 
861
- launch_parameters: Parameters to configure your Devbox at launch time.
867
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
868
+ as well as the environment set up that should be completed before the Devbox is
869
+ marked as 'running'.
862
870
 
863
871
  metadata: (Optional) User defined metadata for the Blueprint.
864
872
 
@@ -1210,7 +1218,9 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1210
1218
 
1211
1219
  file_mounts: (Optional) Map of paths and file contents to write before setup.
1212
1220
 
1213
- launch_parameters: Parameters to configure your Devbox at launch time.
1221
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
1222
+ as well as the environment set up that should be completed before the Devbox is
1223
+ marked as 'running'.
1214
1224
 
1215
1225
  metadata: (Optional) User defined metadata for the Blueprint.
1216
1226
 
@@ -1403,7 +1413,9 @@ class AsyncBlueprintsResource(AsyncAPIResource):
1403
1413
 
1404
1414
  file_mounts: (Optional) Map of paths and file contents to write before setup.
1405
1415
 
1406
- launch_parameters: Parameters to configure your Devbox at launch time.
1416
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
1417
+ as well as the environment set up that should be completed before the Devbox is
1418
+ marked as 'running'.
1407
1419
 
1408
1420
  metadata: (Optional) User defined metadata for the Blueprint.
1409
1421
 
@@ -86,6 +86,7 @@ from ...lib.polling_async import async_poll_until
86
86
  from ...types.devbox_view import DevboxView
87
87
  from ...types.tunnel_view import TunnelView
88
88
  from ...lib.wait_for_status import wait_for_status, async_wait_for_status
89
+ from ...types.pty_tunnel_view import PtyTunnelView
89
90
  from ...types.shared_params.mount import Mount
90
91
  from ...types.devbox_snapshot_view import DevboxSnapshotView
91
92
  from ...types.shared.launch_parameters import LaunchParameters as SharedLaunchParameters
@@ -215,7 +216,9 @@ class DevboxesResource(SyncAPIResource):
215
216
  the real API key. Example: {'GWS_ANTHROPIC': {'gateway': 'anthropic', 'secret':
216
217
  'my_claude_key'}}
217
218
 
218
- launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
219
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
220
+ as well as the environment set up that should be completed before the Devbox is
221
+ marked as 'running'.
219
222
 
220
223
  mcp: [Beta] (Optional) MCP specifications for MCP server access. Map key is the
221
224
  environment variable name for the MCP token envelope. Each spec links an MCP
@@ -239,9 +242,8 @@ class DevboxesResource(SyncAPIResource):
239
242
  snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID,
240
243
  Blueprint name) should be specified.
241
244
 
242
- tunnel: (Optional) Configuration for creating a V2 tunnel at Devbox launch time. When
243
- specified, a tunnel will be automatically provisioned and the tunnel details
244
- will be included in the Devbox response.
245
+ tunnel: Configuration for creating a V2 tunnel. When specified at Devbox creation, a
246
+ tunnel will be automatically provisioned.
245
247
 
246
248
  extra_headers: Send extra headers
247
249
 
@@ -582,6 +584,50 @@ class DevboxesResource(SyncAPIResource):
582
584
  model=DevboxView,
583
585
  )
584
586
 
587
+ def create_pty_tunnel(
588
+ self,
589
+ id: str,
590
+ *,
591
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
592
+ # The extra values given here take precedence over values defined on the client or passed to this method.
593
+ extra_headers: Headers | None = None,
594
+ extra_query: Query | None = None,
595
+ extra_body: Body | None = None,
596
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
597
+ idempotency_key: str | None = None,
598
+ ) -> PtyTunnelView:
599
+ """Create an ephemeral authenticated tunnel for terminal access to a running
600
+ Devbox.
601
+
602
+ This tunnel is not persisted on the Devbox and is generated fresh on
603
+ each request. The returned auth_token must be passed as a Bearer token in the
604
+ Authorization header.
605
+
606
+ Args:
607
+ extra_headers: Send extra headers
608
+
609
+ extra_query: Add additional query parameters to the request
610
+
611
+ extra_body: Add additional JSON properties to the request
612
+
613
+ timeout: Override the client-level default timeout for this request, in seconds
614
+
615
+ idempotency_key: Specify a custom idempotency key for this request
616
+ """
617
+ if not id:
618
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
619
+ return self._post(
620
+ path_template("/v1/devboxes/{id}/create_pty_tunnel", id=id),
621
+ options=make_request_options(
622
+ extra_headers=extra_headers,
623
+ extra_query=extra_query,
624
+ extra_body=extra_body,
625
+ timeout=timeout,
626
+ idempotency_key=idempotency_key,
627
+ ),
628
+ cast_to=PtyTunnelView,
629
+ )
630
+
585
631
  def create_ssh_key(
586
632
  self,
587
633
  id: str,
@@ -1832,7 +1878,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
1832
1878
  the real API key. Example: {'GWS_ANTHROPIC': {'gateway': 'anthropic', 'secret':
1833
1879
  'my_claude_key'}}
1834
1880
 
1835
- launch_parameters: Parameters to configure the resources and launch time behavior of the Devbox.
1881
+ launch_parameters: LaunchParameters enable you to customize the resources available to your Devbox
1882
+ as well as the environment set up that should be completed before the Devbox is
1883
+ marked as 'running'.
1836
1884
 
1837
1885
  mcp: [Beta] (Optional) MCP specifications for MCP server access. Map key is the
1838
1886
  environment variable name for the MCP token envelope. Each spec links an MCP
@@ -1856,9 +1904,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1856
1904
  snapshot_id: Snapshot ID to use for the Devbox. Only one of (Snapshot ID, Blueprint ID,
1857
1905
  Blueprint name) should be specified.
1858
1906
 
1859
- tunnel: (Optional) Configuration for creating a V2 tunnel at Devbox launch time. When
1860
- specified, a tunnel will be automatically provisioned and the tunnel details
1861
- will be included in the Devbox response.
1907
+ tunnel: Configuration for creating a V2 tunnel. When specified at Devbox creation, a
1908
+ tunnel will be automatically provisioned.
1862
1909
 
1863
1910
  extra_headers: Send extra headers
1864
1911
 
@@ -2200,6 +2247,50 @@ class AsyncDevboxesResource(AsyncAPIResource):
2200
2247
  model=DevboxView,
2201
2248
  )
2202
2249
 
2250
+ async def create_pty_tunnel(
2251
+ self,
2252
+ id: str,
2253
+ *,
2254
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2255
+ # The extra values given here take precedence over values defined on the client or passed to this method.
2256
+ extra_headers: Headers | None = None,
2257
+ extra_query: Query | None = None,
2258
+ extra_body: Body | None = None,
2259
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
2260
+ idempotency_key: str | None = None,
2261
+ ) -> PtyTunnelView:
2262
+ """Create an ephemeral authenticated tunnel for terminal access to a running
2263
+ Devbox.
2264
+
2265
+ This tunnel is not persisted on the Devbox and is generated fresh on
2266
+ each request. The returned auth_token must be passed as a Bearer token in the
2267
+ Authorization header.
2268
+
2269
+ Args:
2270
+ extra_headers: Send extra headers
2271
+
2272
+ extra_query: Add additional query parameters to the request
2273
+
2274
+ extra_body: Add additional JSON properties to the request
2275
+
2276
+ timeout: Override the client-level default timeout for this request, in seconds
2277
+
2278
+ idempotency_key: Specify a custom idempotency key for this request
2279
+ """
2280
+ if not id:
2281
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2282
+ return await self._post(
2283
+ path_template("/v1/devboxes/{id}/create_pty_tunnel", id=id),
2284
+ options=make_request_options(
2285
+ extra_headers=extra_headers,
2286
+ extra_query=extra_query,
2287
+ extra_body=extra_body,
2288
+ timeout=timeout,
2289
+ idempotency_key=idempotency_key,
2290
+ ),
2291
+ cast_to=PtyTunnelView,
2292
+ )
2293
+
2203
2294
  async def create_ssh_key(
2204
2295
  self,
2205
2296
  id: str,
@@ -3375,6 +3466,9 @@ class DevboxesResourceWithRawResponse:
3375
3466
  self.list = to_raw_response_wrapper(
3376
3467
  devboxes.list,
3377
3468
  )
3469
+ self.create_pty_tunnel = to_raw_response_wrapper(
3470
+ devboxes.create_pty_tunnel,
3471
+ )
3378
3472
  self.create_ssh_key = to_raw_response_wrapper(
3379
3473
  devboxes.create_ssh_key,
3380
3474
  )
@@ -3468,6 +3562,9 @@ class AsyncDevboxesResourceWithRawResponse:
3468
3562
  self.list = async_to_raw_response_wrapper(
3469
3563
  devboxes.list,
3470
3564
  )
3565
+ self.create_pty_tunnel = async_to_raw_response_wrapper(
3566
+ devboxes.create_pty_tunnel,
3567
+ )
3471
3568
  self.create_ssh_key = async_to_raw_response_wrapper(
3472
3569
  devboxes.create_ssh_key,
3473
3570
  )
@@ -3561,6 +3658,9 @@ class DevboxesResourceWithStreamingResponse:
3561
3658
  self.list = to_streamed_response_wrapper(
3562
3659
  devboxes.list,
3563
3660
  )
3661
+ self.create_pty_tunnel = to_streamed_response_wrapper(
3662
+ devboxes.create_pty_tunnel,
3663
+ )
3564
3664
  self.create_ssh_key = to_streamed_response_wrapper(
3565
3665
  devboxes.create_ssh_key,
3566
3666
  )
@@ -3654,6 +3754,9 @@ class AsyncDevboxesResourceWithStreamingResponse:
3654
3754
  self.list = async_to_streamed_response_wrapper(
3655
3755
  devboxes.list,
3656
3756
  )
3757
+ self.create_pty_tunnel = async_to_streamed_response_wrapper(
3758
+ devboxes.create_pty_tunnel,
3759
+ )
3657
3760
  self.create_ssh_key = async_to_streamed_response_wrapper(
3658
3761
  devboxes.create_ssh_key,
3659
3762
  )
@@ -160,7 +160,8 @@ class GatewayConfigsResource(SyncAPIResource):
160
160
  All fields are optional.
161
161
 
162
162
  Args:
163
- auth_mechanism: New authentication mechanism for applying credentials to proxied requests.
163
+ auth_mechanism: Defines how credentials are applied to HTTP requests when proxying through the
164
+ gateway.
164
165
 
165
166
  description: New description for this gateway configuration.
166
167
 
@@ -440,7 +441,8 @@ class AsyncGatewayConfigsResource(AsyncAPIResource):
440
441
  All fields are optional.
441
442
 
442
443
  Args:
443
- auth_mechanism: New authentication mechanism for applying credentials to proxied requests.
444
+ auth_mechanism: Defines how credentials are applied to HTTP requests when proxying through the
445
+ gateway.
444
446
 
445
447
  description: New description for this gateway configuration.
446
448