runloop-api-client 0.32.0__tar.gz → 0.33.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 (279) hide show
  1. runloop_api_client-0.33.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/CHANGELOG.md +24 -0
  3. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/SECURITY.md +2 -2
  5. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/api.md +11 -18
  6. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/pyproject.toml +1 -1
  7. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/__init__.py +5 -0
  8. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_proxy.py +4 -1
  9. runloop_api_client-0.33.0/src/runloop_api_client/_utils/_resources_proxy.py +24 -0
  10. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_version.py +1 -1
  11. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +23 -26
  12. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/devboxes.py +36 -13
  13. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +22 -2
  14. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/scenarios/scenarios.py +25 -29
  15. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/__init__.py +2 -9
  16. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_create_params.py +1 -1
  17. runloop_api_client-0.32.0/src/runloop_api_client/types/benchmark_list_response.py → runloop_api_client-0.33.0/src/runloop_api_client/types/benchmark_view.py +2 -2
  18. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +12 -1
  19. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +12 -1
  20. runloop_api_client-0.32.0/src/runloop_api_client/types/scenario_list_response.py → runloop_api_client-0.33.0/src/runloop_api_client/types/scenario_view.py +2 -2
  21. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_disk_snapshots.py +4 -0
  22. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/test_benchmarks.py +31 -34
  23. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/test_devboxes.py +4 -0
  24. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/test_scenarios.py +39 -43
  25. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_utils/test_proxy.py +11 -0
  26. runloop_api_client-0.32.0/.release-please-manifest.json +0 -3
  27. runloop_api_client-0.32.0/src/runloop_api_client/types/benchmark_create_response.py +0 -26
  28. runloop_api_client-0.32.0/src/runloop_api_client/types/benchmark_list_public_response.py +0 -26
  29. runloop_api_client-0.32.0/src/runloop_api_client/types/benchmark_retrieve_response.py +0 -26
  30. runloop_api_client-0.32.0/src/runloop_api_client/types/scenario_create_response.py +0 -40
  31. runloop_api_client-0.32.0/src/runloop_api_client/types/scenario_list_public_response.py +0 -40
  32. runloop_api_client-0.32.0/src/runloop_api_client/types/scenario_retrieve_response.py +0 -40
  33. runloop_api_client-0.32.0/src/runloop_api_client/types/scenario_update_response.py +0 -40
  34. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/.gitignore +0 -0
  35. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/CONTRIBUTING.md +0 -0
  36. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/LICENSE +0 -0
  37. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/README.md +0 -0
  38. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/bin/check-release-environment +0 -0
  39. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/bin/publish-pypi +0 -0
  40. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/examples/.keep +0 -0
  41. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/mypy.ini +0 -0
  42. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/noxfile.py +0 -0
  43. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/release-please-config.json +0 -0
  44. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/requirements-dev.lock +0 -0
  45. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/requirements.lock +0 -0
  46. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop/lib/.keep +0 -0
  47. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_base_client.py +0 -0
  48. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_client.py +0 -0
  49. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_compat.py +0 -0
  50. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_constants.py +0 -0
  51. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_exceptions.py +0 -0
  52. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_files.py +0 -0
  53. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_models.py +0 -0
  54. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_qs.py +0 -0
  55. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_resource.py +0 -0
  56. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_response.py +0 -0
  57. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_streaming.py +0 -0
  58. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_types.py +0 -0
  59. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  60. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  61. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  62. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  63. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  64. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  65. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  66. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  67. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/lib/.keep +0 -0
  68. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/lib/polling.py +0 -0
  69. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  70. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/pagination.py +0 -0
  71. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/py.typed +0 -0
  72. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/__init__.py +0 -0
  73. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  74. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  75. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  76. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  77. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  78. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  79. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  80. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  81. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  82. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/repositories.py +0 -0
  83. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  84. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  85. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  86. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  87. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  88. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  89. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  90. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  91. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  92. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  93. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  94. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  95. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  96. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  97. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  98. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  99. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  100. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  101. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  102. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  103. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  104. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  105. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  106. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  107. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  108. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  109. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  110. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  111. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  112. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  113. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  114. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  115. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  116. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  117. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  118. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  119. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  120. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  121. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  122. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  123. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  124. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  125. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  126. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  127. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  128. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  129. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  130. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  131. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  132. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  133. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  134. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  135. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  136. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  137. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  138. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  139. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  140. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  141. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  142. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  143. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
  144. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  145. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  146. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  147. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  148. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  149. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  150. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  151. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  152. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  153. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  154. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  155. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  156. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  157. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  158. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  159. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  160. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  161. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  162. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
  163. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  164. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  165. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  166. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  167. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  168. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
  169. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  170. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  171. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
  172. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  173. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  174. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  175. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  176. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  177. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  178. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  179. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  180. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  181. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  182. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  183. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  184. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  185. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  186. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  187. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  188. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  189. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  190. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  191. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  192. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  193. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  194. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  195. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  196. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  197. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  198. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
  199. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  200. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  201. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  202. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  203. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  204. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  205. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  206. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  207. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  208. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/input_context.py +0 -0
  209. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  210. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  211. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  212. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  213. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  214. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
  215. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
  216. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  217. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  218. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  219. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  220. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  221. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  222. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  223. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  224. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  225. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  226. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  227. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  228. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  229. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  230. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  231. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  232. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  233. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  234. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  235. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  236. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  237. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  238. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  239. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  240. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  241. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  242. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  243. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  244. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  245. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  246. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  247. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  248. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  249. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  250. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/__init__.py +0 -0
  251. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/__init__.py +0 -0
  252. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  253. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  254. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/__init__.py +0 -0
  255. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  256. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  257. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  258. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  259. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  260. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/scenarios/__init__.py +0 -0
  261. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  262. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  263. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/test_blueprints.py +0 -0
  264. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/api_resources/test_repositories.py +0 -0
  265. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/conftest.py +0 -0
  266. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/sample_file.txt +0 -0
  267. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_client.py +0 -0
  268. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_deepcopy.py +0 -0
  269. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_extract_files.py +0 -0
  270. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_files.py +0 -0
  271. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_models.py +0 -0
  272. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_qs.py +0 -0
  273. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_required_args.py +0 -0
  274. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_response.py +0 -0
  275. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_streaming.py +0 -0
  276. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_transform.py +0 -0
  277. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/test_utils/test_typing.py +0 -0
  278. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/tests/utils.py +0 -0
  279. {runloop_api_client-0.32.0 → runloop_api_client-0.33.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.33.0"
3
+ }
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.33.0 (2025-05-22)
4
+
5
+ Full Changelog: [v0.32.0...v0.33.0](https://github.com/runloopai/api-client-python/compare/v0.32.0...v0.33.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([cb65028](https://github.com/runloopai/api-client-python/commit/cb65028a6402068015249344ae28bccc73f06a44))
10
+ * **api:** api update ([d86368b](https://github.com/runloopai/api-client-python/commit/d86368b9d942d4eada396ad864f2f75dfeec3f1a))
11
+ * **api:** api update ([a08fe0e](https://github.com/runloopai/api-client-python/commit/a08fe0e64744f7edb832574c8ed66ecb181cdeba))
12
+ * **api:** api update ([597df88](https://github.com/runloopai/api-client-python/commit/597df884cf33c10fadb2148393bef626aaf23c53))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **package:** support direct resource imports ([44f30d6](https://github.com/runloopai/api-client-python/commit/44f30d62901a439f835e7ea9367d2691de8844a8))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **ci:** fix installation instructions ([5fed44a](https://github.com/runloopai/api-client-python/commit/5fed44abc7323ac5360c60a3c2472b24c3a7359a))
23
+ * **ci:** upload sdks to package manager ([25dbae1](https://github.com/runloopai/api-client-python/commit/25dbae18d04f12b9a19dac7cea76546b6be0acab))
24
+ * **docs:** grammar improvements ([a0c74a5](https://github.com/runloopai/api-client-python/commit/a0c74a50c8209448b1eaaf29416fc30a25c5eecc))
25
+ * **internal:** avoid errors for isinstance checks on proxies ([e825829](https://github.com/runloopai/api-client-python/commit/e825829b51d90c2d2b18b0f6d0864ee8fc1b0419))
26
+
3
27
  ## 0.32.0 (2025-04-25)
4
28
 
5
29
  Full Changelog: [v0.31.0...v0.32.0](https://github.com/runloopai/api-client-python/compare/v0.31.0...v0.32.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.32.0
3
+ Version: 0.33.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
@@ -16,11 +16,11 @@ before making any information public.
16
16
  ## Reporting Non-SDK Related Security Issues
17
17
 
18
18
  If you encounter security issues that are not directly related to SDKs but pertain to the services
19
- or products provided by Runloop please follow the respective company's security reporting guidelines.
19
+ or products provided by Runloop, please follow the respective company's security reporting guidelines.
20
20
 
21
21
  ### Runloop Terms and Policies
22
22
 
23
- Please contact support@runloop.ai for any questions or concerns regarding security of our services.
23
+ Please contact support@runloop.ai for any questions or concerns regarding the security of our services.
24
24
 
25
25
  ---
26
26
 
@@ -13,20 +13,17 @@ from runloop_api_client.types import (
13
13
  BenchmarkCreateParameters,
14
14
  BenchmarkRunListView,
15
15
  BenchmarkRunView,
16
+ BenchmarkView,
16
17
  StartBenchmarkRunParameters,
17
- BenchmarkCreateResponse,
18
- BenchmarkRetrieveResponse,
19
- BenchmarkListResponse,
20
- BenchmarkListPublicResponse,
21
18
  )
22
19
  ```
23
20
 
24
21
  Methods:
25
22
 
26
- - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_create_response.py">BenchmarkCreateResponse</a></code>
27
- - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_retrieve_response.py">BenchmarkRetrieveResponse</a></code>
28
- - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_list_response.py">SyncBenchmarksCursorIDPage[BenchmarkListResponse]</a></code>
29
- - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_list_public_response.py">SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]</a></code>
23
+ - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
24
+ - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
25
+ - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
26
+ - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
30
27
  - <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
31
28
 
32
29
  ## Runs
@@ -269,26 +266,22 @@ from runloop_api_client.types import (
269
266
  ScenarioEnvironment,
270
267
  ScenarioRunListView,
271
268
  ScenarioRunView,
269
+ ScenarioView,
272
270
  ScoringContract,
273
271
  ScoringContractResultView,
274
272
  ScoringFunction,
275
273
  ScoringFunctionResultView,
276
274
  StartScenarioRunParameters,
277
- ScenarioCreateResponse,
278
- ScenarioRetrieveResponse,
279
- ScenarioUpdateResponse,
280
- ScenarioListResponse,
281
- ScenarioListPublicResponse,
282
275
  )
283
276
  ```
284
277
 
285
278
  Methods:
286
279
 
287
- - <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_create_response.py">ScenarioCreateResponse</a></code>
288
- - <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_retrieve_response.py">ScenarioRetrieveResponse</a></code>
289
- - <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_update_response.py">ScenarioUpdateResponse</a></code>
290
- - <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_list_response.py">SyncScenariosCursorIDPage[ScenarioListResponse]</a></code>
291
- - <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_list_public_response.py">SyncScenariosCursorIDPage[ScenarioListPublicResponse]</a></code>
280
+ - <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
281
+ - <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
282
+ - <code title="post /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenario_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
283
+ - <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
284
+ - <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
292
285
  - <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
293
286
 
294
287
  ## Runs
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.32.0"
3
+ version = "0.33.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,5 +1,7 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ import typing as _t
4
+
3
5
  from . import types
4
6
  from ._types import NOT_GIVEN, Omit, NoneType, NotGiven, Transport, ProxiesTypes
5
7
  from ._utils import file_from_path
@@ -68,6 +70,9 @@ __all__ = [
68
70
  "DefaultAsyncHttpxClient",
69
71
  ]
70
72
 
73
+ if not _t.TYPE_CHECKING:
74
+ from ._utils._resources_proxy import resources as resources
75
+
71
76
  _setup_logging()
72
77
 
73
78
  # Update the __module__ attribute for exported symbols so that
@@ -46,7 +46,10 @@ class LazyProxy(Generic[T], ABC):
46
46
  @property # type: ignore
47
47
  @override
48
48
  def __class__(self) -> type: # pyright: ignore
49
- proxied = self.__get_proxied__()
49
+ try:
50
+ proxied = self.__get_proxied__()
51
+ except Exception:
52
+ return type(self)
50
53
  if issubclass(type(proxied), LazyProxy):
51
54
  return type(proxied)
52
55
  return proxied.__class__
@@ -0,0 +1,24 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any
4
+ from typing_extensions import override
5
+
6
+ from ._proxy import LazyProxy
7
+
8
+
9
+ class ResourcesProxy(LazyProxy[Any]):
10
+ """A proxy for the `runloop_api_client.resources` module.
11
+
12
+ This is used so that we can lazily import `runloop_api_client.resources` only when
13
+ needed *and* so that users can just import `runloop_api_client` and reference `runloop_api_client.resources`
14
+ """
15
+
16
+ @override
17
+ def __load__(self) -> Any:
18
+ import importlib
19
+
20
+ mod = importlib.import_module("runloop_api_client.resources")
21
+ return mod
22
+
23
+
24
+ resources = ResourcesProxy().__as_proxied__()
@@ -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__ = "0.32.0" # x-release-please-version
4
+ __version__ = "0.33.0" # x-release-please-version
@@ -32,11 +32,8 @@ from ..._response import (
32
32
  )
33
33
  from ...pagination import SyncBenchmarksCursorIDPage, AsyncBenchmarksCursorIDPage
34
34
  from ..._base_client import AsyncPaginator, make_request_options
35
+ from ...types.benchmark_view import BenchmarkView
35
36
  from ...types.benchmark_run_view import BenchmarkRunView
36
- from ...types.benchmark_list_response import BenchmarkListResponse
37
- from ...types.benchmark_create_response import BenchmarkCreateResponse
38
- from ...types.benchmark_retrieve_response import BenchmarkRetrieveResponse
39
- from ...types.benchmark_list_public_response import BenchmarkListPublicResponse
40
37
 
41
38
  __all__ = ["BenchmarksResource", "AsyncBenchmarksResource"]
42
39
 
@@ -79,14 +76,14 @@ class BenchmarksResource(SyncAPIResource):
79
76
  extra_body: Body | None = None,
80
77
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
81
78
  idempotency_key: str | None = None,
82
- ) -> BenchmarkCreateResponse:
79
+ ) -> BenchmarkView:
83
80
  """
84
81
  Create a Benchmark with a set of Scenarios.
85
82
 
86
83
  Args:
87
84
  is_public: Whether this benchmark is public.
88
85
 
89
- name: The name of the Benchmark.
86
+ name: The name of the Benchmark. This must be unique.
90
87
 
91
88
  metadata: User defined metadata to attach to the benchmark for organization.
92
89
 
@@ -120,7 +117,7 @@ class BenchmarksResource(SyncAPIResource):
120
117
  timeout=timeout,
121
118
  idempotency_key=idempotency_key,
122
119
  ),
123
- cast_to=BenchmarkCreateResponse,
120
+ cast_to=BenchmarkView,
124
121
  )
125
122
 
126
123
  def retrieve(
@@ -133,7 +130,7 @@ class BenchmarksResource(SyncAPIResource):
133
130
  extra_query: Query | None = None,
134
131
  extra_body: Body | None = None,
135
132
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
136
- ) -> BenchmarkRetrieveResponse:
133
+ ) -> BenchmarkView:
137
134
  """
138
135
  Get a previously created Benchmark.
139
136
 
@@ -153,7 +150,7 @@ class BenchmarksResource(SyncAPIResource):
153
150
  options=make_request_options(
154
151
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
155
152
  ),
156
- cast_to=BenchmarkRetrieveResponse,
153
+ cast_to=BenchmarkView,
157
154
  )
158
155
 
159
156
  def list(
@@ -167,7 +164,7 @@ class BenchmarksResource(SyncAPIResource):
167
164
  extra_query: Query | None = None,
168
165
  extra_body: Body | None = None,
169
166
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
170
- ) -> SyncBenchmarksCursorIDPage[BenchmarkListResponse]:
167
+ ) -> SyncBenchmarksCursorIDPage[BenchmarkView]:
171
168
  """
172
169
  List all Benchmarks matching filter.
173
170
 
@@ -186,7 +183,7 @@ class BenchmarksResource(SyncAPIResource):
186
183
  """
187
184
  return self._get_api_list(
188
185
  "/v1/benchmarks",
189
- page=SyncBenchmarksCursorIDPage[BenchmarkListResponse],
186
+ page=SyncBenchmarksCursorIDPage[BenchmarkView],
190
187
  options=make_request_options(
191
188
  extra_headers=extra_headers,
192
189
  extra_query=extra_query,
@@ -200,7 +197,7 @@ class BenchmarksResource(SyncAPIResource):
200
197
  benchmark_list_params.BenchmarkListParams,
201
198
  ),
202
199
  ),
203
- model=BenchmarkListResponse,
200
+ model=BenchmarkView,
204
201
  )
205
202
 
206
203
  def list_public(
@@ -214,7 +211,7 @@ class BenchmarksResource(SyncAPIResource):
214
211
  extra_query: Query | None = None,
215
212
  extra_body: Body | None = None,
216
213
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
217
- ) -> SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]:
214
+ ) -> SyncBenchmarksCursorIDPage[BenchmarkView]:
218
215
  """
219
216
  List all public benchmarks matching filter.
220
217
 
@@ -233,7 +230,7 @@ class BenchmarksResource(SyncAPIResource):
233
230
  """
234
231
  return self._get_api_list(
235
232
  "/v1/benchmarks/list_public",
236
- page=SyncBenchmarksCursorIDPage[BenchmarkListPublicResponse],
233
+ page=SyncBenchmarksCursorIDPage[BenchmarkView],
237
234
  options=make_request_options(
238
235
  extra_headers=extra_headers,
239
236
  extra_query=extra_query,
@@ -247,7 +244,7 @@ class BenchmarksResource(SyncAPIResource):
247
244
  benchmark_list_public_params.BenchmarkListPublicParams,
248
245
  ),
249
246
  ),
250
- model=BenchmarkListPublicResponse,
247
+ model=BenchmarkView,
251
248
  )
252
249
 
253
250
  def start_run(
@@ -343,14 +340,14 @@ class AsyncBenchmarksResource(AsyncAPIResource):
343
340
  extra_body: Body | None = None,
344
341
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
345
342
  idempotency_key: str | None = None,
346
- ) -> BenchmarkCreateResponse:
343
+ ) -> BenchmarkView:
347
344
  """
348
345
  Create a Benchmark with a set of Scenarios.
349
346
 
350
347
  Args:
351
348
  is_public: Whether this benchmark is public.
352
349
 
353
- name: The name of the Benchmark.
350
+ name: The name of the Benchmark. This must be unique.
354
351
 
355
352
  metadata: User defined metadata to attach to the benchmark for organization.
356
353
 
@@ -384,7 +381,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
384
381
  timeout=timeout,
385
382
  idempotency_key=idempotency_key,
386
383
  ),
387
- cast_to=BenchmarkCreateResponse,
384
+ cast_to=BenchmarkView,
388
385
  )
389
386
 
390
387
  async def retrieve(
@@ -397,7 +394,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
397
394
  extra_query: Query | None = None,
398
395
  extra_body: Body | None = None,
399
396
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
400
- ) -> BenchmarkRetrieveResponse:
397
+ ) -> BenchmarkView:
401
398
  """
402
399
  Get a previously created Benchmark.
403
400
 
@@ -417,7 +414,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
417
414
  options=make_request_options(
418
415
  extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
419
416
  ),
420
- cast_to=BenchmarkRetrieveResponse,
417
+ cast_to=BenchmarkView,
421
418
  )
422
419
 
423
420
  def list(
@@ -431,7 +428,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
431
428
  extra_query: Query | None = None,
432
429
  extra_body: Body | None = None,
433
430
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
434
- ) -> AsyncPaginator[BenchmarkListResponse, AsyncBenchmarksCursorIDPage[BenchmarkListResponse]]:
431
+ ) -> AsyncPaginator[BenchmarkView, AsyncBenchmarksCursorIDPage[BenchmarkView]]:
435
432
  """
436
433
  List all Benchmarks matching filter.
437
434
 
@@ -450,7 +447,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
450
447
  """
451
448
  return self._get_api_list(
452
449
  "/v1/benchmarks",
453
- page=AsyncBenchmarksCursorIDPage[BenchmarkListResponse],
450
+ page=AsyncBenchmarksCursorIDPage[BenchmarkView],
454
451
  options=make_request_options(
455
452
  extra_headers=extra_headers,
456
453
  extra_query=extra_query,
@@ -464,7 +461,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
464
461
  benchmark_list_params.BenchmarkListParams,
465
462
  ),
466
463
  ),
467
- model=BenchmarkListResponse,
464
+ model=BenchmarkView,
468
465
  )
469
466
 
470
467
  def list_public(
@@ -478,7 +475,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
478
475
  extra_query: Query | None = None,
479
476
  extra_body: Body | None = None,
480
477
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
481
- ) -> AsyncPaginator[BenchmarkListPublicResponse, AsyncBenchmarksCursorIDPage[BenchmarkListPublicResponse]]:
478
+ ) -> AsyncPaginator[BenchmarkView, AsyncBenchmarksCursorIDPage[BenchmarkView]]:
482
479
  """
483
480
  List all public benchmarks matching filter.
484
481
 
@@ -497,7 +494,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
497
494
  """
498
495
  return self._get_api_list(
499
496
  "/v1/benchmarks/list_public",
500
- page=AsyncBenchmarksCursorIDPage[BenchmarkListPublicResponse],
497
+ page=AsyncBenchmarksCursorIDPage[BenchmarkView],
501
498
  options=make_request_options(
502
499
  extra_headers=extra_headers,
503
500
  extra_query=extra_query,
@@ -511,7 +508,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
511
508
  benchmark_list_public_params.BenchmarkListPublicParams,
512
509
  ),
513
510
  ),
514
- model=BenchmarkListPublicResponse,
511
+ model=BenchmarkView,
515
512
  )
516
513
 
517
514
  async def start_run(
@@ -39,7 +39,7 @@ from ...types import (
39
39
  devbox_write_file_contents_params,
40
40
  )
41
41
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven, FileTypes
42
- from ..._utils import extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
42
+ from ..._utils import is_given, extract_files, maybe_transform, deepcopy_minimal, async_maybe_transform
43
43
  from .browsers import (
44
44
  BrowsersResource,
45
45
  AsyncBrowsersResource,
@@ -80,6 +80,7 @@ from ..._response import (
80
80
  async_to_custom_raw_response_wrapper,
81
81
  async_to_custom_streamed_response_wrapper,
82
82
  )
83
+ from ..._constants import DEFAULT_TIMEOUT
83
84
  from ...pagination import (
84
85
  SyncDevboxesCursorIDPage,
85
86
  AsyncDevboxesCursorIDPage,
@@ -574,11 +575,8 @@ class DevboxesResource(SyncAPIResource):
574
575
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
575
576
  idempotency_key: str | None = None,
576
577
  ) -> DevboxTunnelView:
577
- """Create a live tunnel to an available port on the Devbox.
578
-
579
- Note the port must be
580
- made available using Devbox.create.availablePorts. Otherwise, the tunnel will
581
- not connect to any running processes on the Devbox.
578
+ """
579
+ Create a live tunnel to an available port on the Devbox.
582
580
 
583
581
  Args:
584
582
  port: Devbox port that tunnel will expose.
@@ -794,6 +792,8 @@ class DevboxesResource(SyncAPIResource):
794
792
  """
795
793
  if not id:
796
794
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
795
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
796
+ timeout = 600
797
797
  return self._post(
798
798
  f"/v1/devboxes/{id}/execute_sync",
799
799
  body=maybe_transform(
@@ -859,6 +859,8 @@ class DevboxesResource(SyncAPIResource):
859
859
  *,
860
860
  devbox_id: str | NotGiven = NOT_GIVEN,
861
861
  limit: int | NotGiven = NOT_GIVEN,
862
+ metadata_key: str | NotGiven = NOT_GIVEN,
863
+ metadata_key_in: str | NotGiven = NOT_GIVEN,
862
864
  starting_after: str | NotGiven = NOT_GIVEN,
863
865
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
864
866
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -868,13 +870,19 @@ class DevboxesResource(SyncAPIResource):
868
870
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
869
871
  ) -> SyncDiskSnapshotsCursorIDPage[DevboxSnapshotView]:
870
872
  """
871
- List all snapshots of a Devbox while optionally filtering by Devbox ID.
873
+ List all snapshots of a Devbox while optionally filtering by Devbox ID and
874
+ metadata.
872
875
 
873
876
  Args:
874
877
  devbox_id: Devbox ID to filter by.
875
878
 
876
879
  limit: The limit of items to return. Default is 20.
877
880
 
881
+ metadata_key: Filter snapshots by metadata key-value pair. Can be used multiple times for
882
+ different keys.
883
+
884
+ metadata_key_in: Filter snapshots by metadata key with multiple possible values (OR condition).
885
+
878
886
  starting_after: Load the next page of data starting after the item with the given ID.
879
887
 
880
888
  extra_headers: Send extra headers
@@ -897,6 +905,8 @@ class DevboxesResource(SyncAPIResource):
897
905
  {
898
906
  "devbox_id": devbox_id,
899
907
  "limit": limit,
908
+ "metadata_key": metadata_key,
909
+ "metadata_key_in": metadata_key_in,
900
910
  "starting_after": starting_after,
901
911
  },
902
912
  devbox_list_disk_snapshots_params.DevboxListDiskSnapshotsParams,
@@ -1121,6 +1131,8 @@ class DevboxesResource(SyncAPIResource):
1121
1131
  """
1122
1132
  if not id:
1123
1133
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1134
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
1135
+ timeout = 600
1124
1136
  return self._post(
1125
1137
  f"/v1/devboxes/{id}/snapshot_disk",
1126
1138
  body=maybe_transform(
@@ -1760,11 +1772,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1760
1772
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1761
1773
  idempotency_key: str | None = None,
1762
1774
  ) -> DevboxTunnelView:
1763
- """Create a live tunnel to an available port on the Devbox.
1764
-
1765
- Note the port must be
1766
- made available using Devbox.create.availablePorts. Otherwise, the tunnel will
1767
- not connect to any running processes on the Devbox.
1775
+ """
1776
+ Create a live tunnel to an available port on the Devbox.
1768
1777
 
1769
1778
  Args:
1770
1779
  port: Devbox port that tunnel will expose.
@@ -1980,6 +1989,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1980
1989
  """
1981
1990
  if not id:
1982
1991
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1992
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
1993
+ timeout = 600
1983
1994
  return await self._post(
1984
1995
  f"/v1/devboxes/{id}/execute_sync",
1985
1996
  body=await async_maybe_transform(
@@ -2045,6 +2056,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2045
2056
  *,
2046
2057
  devbox_id: str | NotGiven = NOT_GIVEN,
2047
2058
  limit: int | NotGiven = NOT_GIVEN,
2059
+ metadata_key: str | NotGiven = NOT_GIVEN,
2060
+ metadata_key_in: str | NotGiven = NOT_GIVEN,
2048
2061
  starting_after: str | NotGiven = NOT_GIVEN,
2049
2062
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2050
2063
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -2054,13 +2067,19 @@ class AsyncDevboxesResource(AsyncAPIResource):
2054
2067
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
2055
2068
  ) -> AsyncPaginator[DevboxSnapshotView, AsyncDiskSnapshotsCursorIDPage[DevboxSnapshotView]]:
2056
2069
  """
2057
- List all snapshots of a Devbox while optionally filtering by Devbox ID.
2070
+ List all snapshots of a Devbox while optionally filtering by Devbox ID and
2071
+ metadata.
2058
2072
 
2059
2073
  Args:
2060
2074
  devbox_id: Devbox ID to filter by.
2061
2075
 
2062
2076
  limit: The limit of items to return. Default is 20.
2063
2077
 
2078
+ metadata_key: Filter snapshots by metadata key-value pair. Can be used multiple times for
2079
+ different keys.
2080
+
2081
+ metadata_key_in: Filter snapshots by metadata key with multiple possible values (OR condition).
2082
+
2064
2083
  starting_after: Load the next page of data starting after the item with the given ID.
2065
2084
 
2066
2085
  extra_headers: Send extra headers
@@ -2083,6 +2102,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2083
2102
  {
2084
2103
  "devbox_id": devbox_id,
2085
2104
  "limit": limit,
2105
+ "metadata_key": metadata_key,
2106
+ "metadata_key_in": metadata_key_in,
2086
2107
  "starting_after": starting_after,
2087
2108
  },
2088
2109
  devbox_list_disk_snapshots_params.DevboxListDiskSnapshotsParams,
@@ -2307,6 +2328,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2307
2328
  """
2308
2329
  if not id:
2309
2330
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2331
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
2332
+ timeout = 600
2310
2333
  return await self._post(
2311
2334
  f"/v1/devboxes/{id}/snapshot_disk",
2312
2335
  body=await async_maybe_transform(
@@ -104,6 +104,8 @@ class DiskSnapshotsResource(SyncAPIResource):
104
104
  *,
105
105
  devbox_id: str | NotGiven = NOT_GIVEN,
106
106
  limit: int | NotGiven = NOT_GIVEN,
107
+ metadata_key: str | NotGiven = NOT_GIVEN,
108
+ metadata_key_in: str | NotGiven = NOT_GIVEN,
107
109
  starting_after: str | NotGiven = NOT_GIVEN,
108
110
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
109
111
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -113,13 +115,19 @@ class DiskSnapshotsResource(SyncAPIResource):
113
115
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
114
116
  ) -> SyncDiskSnapshotsCursorIDPage[DevboxSnapshotView]:
115
117
  """
116
- List all snapshots of a Devbox while optionally filtering by Devbox ID.
118
+ List all snapshots of a Devbox while optionally filtering by Devbox ID and
119
+ metadata.
117
120
 
118
121
  Args:
119
122
  devbox_id: Devbox ID to filter by.
120
123
 
121
124
  limit: The limit of items to return. Default is 20.
122
125
 
126
+ metadata_key: Filter snapshots by metadata key-value pair. Can be used multiple times for
127
+ different keys.
128
+
129
+ metadata_key_in: Filter snapshots by metadata key with multiple possible values (OR condition).
130
+
123
131
  starting_after: Load the next page of data starting after the item with the given ID.
124
132
 
125
133
  extra_headers: Send extra headers
@@ -142,6 +150,8 @@ class DiskSnapshotsResource(SyncAPIResource):
142
150
  {
143
151
  "devbox_id": devbox_id,
144
152
  "limit": limit,
153
+ "metadata_key": metadata_key,
154
+ "metadata_key_in": metadata_key_in,
145
155
  "starting_after": starting_after,
146
156
  },
147
157
  disk_snapshot_list_params.DiskSnapshotListParams,
@@ -271,6 +281,8 @@ class AsyncDiskSnapshotsResource(AsyncAPIResource):
271
281
  *,
272
282
  devbox_id: str | NotGiven = NOT_GIVEN,
273
283
  limit: int | NotGiven = NOT_GIVEN,
284
+ metadata_key: str | NotGiven = NOT_GIVEN,
285
+ metadata_key_in: str | NotGiven = NOT_GIVEN,
274
286
  starting_after: str | NotGiven = NOT_GIVEN,
275
287
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
276
288
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -280,13 +292,19 @@ class AsyncDiskSnapshotsResource(AsyncAPIResource):
280
292
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
281
293
  ) -> AsyncPaginator[DevboxSnapshotView, AsyncDiskSnapshotsCursorIDPage[DevboxSnapshotView]]:
282
294
  """
283
- List all snapshots of a Devbox while optionally filtering by Devbox ID.
295
+ List all snapshots of a Devbox while optionally filtering by Devbox ID and
296
+ metadata.
284
297
 
285
298
  Args:
286
299
  devbox_id: Devbox ID to filter by.
287
300
 
288
301
  limit: The limit of items to return. Default is 20.
289
302
 
303
+ metadata_key: Filter snapshots by metadata key-value pair. Can be used multiple times for
304
+ different keys.
305
+
306
+ metadata_key_in: Filter snapshots by metadata key with multiple possible values (OR condition).
307
+
290
308
  starting_after: Load the next page of data starting after the item with the given ID.
291
309
 
292
310
  extra_headers: Send extra headers
@@ -309,6 +327,8 @@ class AsyncDiskSnapshotsResource(AsyncAPIResource):
309
327
  {
310
328
  "devbox_id": devbox_id,
311
329
  "limit": limit,
330
+ "metadata_key": metadata_key,
331
+ "metadata_key_in": metadata_key_in,
312
332
  "starting_after": starting_after,
313
333
  },
314
334
  disk_snapshot_list_params.DiskSnapshotListParams,