runloop_api_client 0.62.0__tar.gz → 0.64.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 (257) hide show
  1. runloop_api_client-0.64.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/CHANGELOG.md +19 -0
  3. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/PKG-INFO +2 -2
  4. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/api.md +11 -1
  5. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/pyproject.toml +2 -2
  6. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/devboxes.py +21 -4
  8. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/executions.py +126 -0
  9. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/repositories.py +99 -24
  10. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/__init__.py +3 -0
  11. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_create_params.py +4 -0
  12. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_execute_params.py +1 -1
  13. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/__init__.py +1 -0
  14. runloop_api_client-0.64.0/src/runloop_api_client/types/devboxes/execution_send_std_in_params.py +18 -0
  15. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_inspect_params.py +0 -3
  16. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared/__init__.py +3 -0
  17. runloop_api_client-0.64.0/src/runloop_api_client/types/shared/agent_mount_parameters.py +21 -0
  18. runloop_api_client-0.64.0/src/runloop_api_client/types/shared/mount.py +12 -0
  19. runloop_api_client-0.64.0/src/runloop_api_client/types/shared/object_mount_parameters.py +21 -0
  20. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared_params/__init__.py +3 -0
  21. runloop_api_client-0.64.0/src/runloop_api_client/types/shared_params/agent_mount_parameters.py +21 -0
  22. runloop_api_client-0.64.0/src/runloop_api_client/types/shared_params/mount.py +13 -0
  23. runloop_api_client-0.64.0/src/runloop_api_client/types/shared_params/object_mount_parameters.py +21 -0
  24. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/test_executions.py +116 -0
  25. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_devboxes.py +14 -0
  26. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_repositories.py +126 -36
  27. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/uv.lock +1 -1
  28. runloop_api_client-0.62.0/.release-please-manifest.json +0 -3
  29. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/.gitignore +0 -0
  30. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/CONTRIBUTING.md +0 -0
  31. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/LICENSE +0 -0
  32. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/README.md +0 -0
  33. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/SECURITY.md +0 -0
  34. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/bin/check-release-environment +0 -0
  35. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/bin/publish-pypi +0 -0
  36. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/examples/.keep +0 -0
  37. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/release-please-config.json +0 -0
  38. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/requirements-dev.lock +0 -0
  39. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop/lib/.keep +0 -0
  40. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/__init__.py +0 -0
  41. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_base_client.py +0 -0
  42. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_client.py +0 -0
  43. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_compat.py +0 -0
  44. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_constants.py +0 -0
  45. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_exceptions.py +0 -0
  46. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_files.py +0 -0
  47. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_models.py +0 -0
  48. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_qs.py +0 -0
  49. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_resource.py +0 -0
  50. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_response.py +0 -0
  51. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_streaming.py +0 -0
  52. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_types.py +0 -0
  53. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  54. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  55. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  56. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  57. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  58. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  59. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  60. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  61. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  62. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  63. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  64. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  65. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/lib/.keep +0 -0
  66. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/lib/polling.py +0 -0
  67. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  68. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/pagination.py +0 -0
  69. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/py.typed +0 -0
  70. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/__init__.py +0 -0
  71. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  72. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  73. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  74. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  75. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  76. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  77. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  78. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  79. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  80. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/objects.py +0 -0
  81. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  82. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  83. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  84. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  85. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/resources/secrets.py +0 -0
  86. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  87. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  88. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  89. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  90. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  91. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  92. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  93. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  94. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  95. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  96. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  97. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  98. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  99. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  100. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  101. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +0 -0
  102. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  103. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  104. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  105. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  106. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  107. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  108. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  109. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  110. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  111. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  112. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  113. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  114. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  115. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  116. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  117. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  118. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  119. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  120. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  121. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  122. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  123. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  124. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  125. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  126. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  127. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  128. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  129. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  130. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  131. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  132. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  133. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  134. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  135. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  136. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  137. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  138. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  139. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  140. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  141. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  142. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  143. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  144. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  145. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  146. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  147. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  148. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  149. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  150. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  151. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  152. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  153. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  154. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/input_context.py +0 -0
  155. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  156. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  157. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/inspection_source_param.py +0 -0
  158. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  159. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  160. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  161. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  162. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  163. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  164. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/object_view.py +0 -0
  165. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  166. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  167. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  168. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  169. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  170. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  171. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  172. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  173. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  174. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  175. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  176. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  177. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  178. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  179. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  180. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  181. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  182. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  183. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  184. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  185. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  186. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  187. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  188. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  189. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  190. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  191. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  192. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  193. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  194. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  195. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  196. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  197. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  198. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  199. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  200. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  201. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  202. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  203. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  204. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  205. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  206. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/secret_view.py +0 -0
  207. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  208. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  209. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  210. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  211. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  212. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  213. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  214. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  215. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/__init__.py +0 -0
  216. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/__init__.py +0 -0
  217. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  218. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  219. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/__init__.py +0 -0
  220. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  221. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  222. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  223. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  224. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/scenarios/__init__.py +0 -0
  225. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  226. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  227. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_benchmarks.py +0 -0
  228. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_blueprints.py +0 -0
  229. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_objects.py +0 -0
  230. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_scenarios.py +0 -0
  231. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/api_resources/test_secrets.py +0 -0
  232. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/conftest.py +0 -0
  233. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/sample_file.txt +0 -0
  234. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/README.md +0 -0
  235. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/__init__.py +0 -0
  236. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/conftest.py +0 -0
  237. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/test_blueprints.py +0 -0
  238. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/test_devboxes.py +0 -0
  239. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/test_executions.py +0 -0
  240. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  241. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/test_snapshots.py +0 -0
  242. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/smoketests/utils.py +0 -0
  243. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_client.py +0 -0
  244. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_deepcopy.py +0 -0
  245. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_extract_files.py +0 -0
  246. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_files.py +0 -0
  247. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_models.py +0 -0
  248. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_polling.py +0 -0
  249. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_qs.py +0 -0
  250. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_required_args.py +0 -0
  251. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_response.py +0 -0
  252. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_streaming.py +0 -0
  253. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_transform.py +0 -0
  254. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_utils/test_datetime_parse.py +0 -0
  255. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_utils/test_proxy.py +0 -0
  256. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/test_utils/test_typing.py +0 -0
  257. {runloop_api_client-0.62.0 → runloop_api_client-0.64.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.64.0"
3
+ }
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.64.0 (2025-10-06)
4
+
5
+ Full Changelog: [v0.63.0...v0.64.0](https://github.com/runloopai/api-client-python/compare/v0.63.0...v0.64.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([b13e49f](https://github.com/runloopai/api-client-python/commit/b13e49f006c45d3e10c0383825fbe2054b31b351))
10
+ * **api:** api update ([736c122](https://github.com/runloopai/api-client-python/commit/736c122c5a350ba081eb495786e94ad6b999b121))
11
+ * **api:** api update ([c4dbcf3](https://github.com/runloopai/api-client-python/commit/c4dbcf33822da8045def9617948e7b30f617fe51))
12
+
13
+ ## 0.63.0 (2025-10-02)
14
+
15
+ Full Changelog: [v0.62.0...v0.63.0](https://github.com/runloopai/api-client-python/compare/v0.62.0...v0.63.0)
16
+
17
+ ### Features
18
+
19
+ * **api:** api update ([dbf7a2e](https://github.com/runloopai/api-client-python/commit/dbf7a2ea929d3832faec4241f8b8831c97c1755a))
20
+ * **api:** api update ([fff1e21](https://github.com/runloopai/api-client-python/commit/fff1e210bf02f2a8be0cb7fc6d2fe0b04e28bf03))
21
+
3
22
  ## 0.62.0 (2025-10-01)
4
23
 
5
24
  Full Changelog: [v0.61.0...v0.62.0](https://github.com/runloopai/api-client-python/compare/v0.61.0...v0.62.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.62.0
3
+ Version: 0.64.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
@@ -24,7 +24,7 @@ Requires-Python: >=3.9
24
24
  Requires-Dist: anyio<5,>=3.5.0
25
25
  Requires-Dist: distro<2,>=1.7.0
26
26
  Requires-Dist: httpx<1,>=0.23.0
27
- Requires-Dist: pydantic<2.11,>=1.9.0
27
+ Requires-Dist: pydantic<3,>=1.9.0
28
28
  Requires-Dist: sniffio
29
29
  Requires-Dist: typing-extensions<5,>=4.10
30
30
  Requires-Dist: uuid-utils>=0.11.0
@@ -1,7 +1,15 @@
1
1
  # Shared Types
2
2
 
3
3
  ```python
4
- from runloop_api_client.types import AfterIdle, CodeMountParameters, LaunchParameters, RunProfile
4
+ from runloop_api_client.types import (
5
+ AfterIdle,
6
+ AgentMountParameters,
7
+ CodeMountParameters,
8
+ LaunchParameters,
9
+ Mount,
10
+ ObjectMountParameters,
11
+ RunProfile,
12
+ )
5
13
  ```
6
14
 
7
15
  # Benchmarks
@@ -190,6 +198,7 @@ Methods:
190
198
  - <code title="post /v1/devboxes/{id}/execute_async">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">execute_async</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_execute_async_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
191
199
  - <code title="post /v1/devboxes/{id}/execute_sync">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">execute_sync</a>(id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_execute_sync_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_execution_detail_view.py">DevboxExecutionDetailView</a></code>
192
200
  - <code title="post /v1/devboxes/{devbox_id}/executions/{execution_id}/kill">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">kill</a>(execution_id, \*, devbox_id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_kill_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
201
+ - <code title="post /v1/devboxes/{devbox_id}/executions/{execution_id}/send_std_in">client.devboxes.executions.<a href="./src/runloop_api_client/resources/devboxes/executions.py">send_std_in</a>(execution_id, \*, devbox_id, \*\*<a href="src/runloop_api_client/types/devboxes/execution_send_std_in_params.py">params</a>) -> <a href="./src/runloop_api_client/types/devbox_async_execution_detail_view.py">DevboxAsyncExecutionDetailView</a></code>
193
202
  - <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>
194
203
  - <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>
195
204
 
@@ -304,6 +313,7 @@ Methods:
304
313
  - <code title="post /v1/repositories/{id}/inspect">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">inspect</a>(id, \*\*<a href="src/runloop_api_client/types/repository_inspect_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
305
314
  - <code title="get /v1/repositories/{id}/inspections">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list_inspections</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_list_view.py">RepositoryInspectionListView</a></code>
306
315
  - <code title="post /v1/repositories/{id}/refresh">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">refresh</a>(id, \*\*<a href="src/runloop_api_client/types/repository_refresh_params.py">params</a>) -> object</code>
316
+ - <code title="get /v1/repositories/inspections/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve_inspection</a>(id) -> <a href="./src/runloop_api_client/types/repository_inspection_details.py">RepositoryInspectionDetails</a></code>
307
317
 
308
318
  # Secrets
309
319
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.62.0"
3
+ version = "0.64.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -9,7 +9,7 @@ authors = [
9
9
  ]
10
10
  dependencies = [
11
11
  "httpx>=0.23.0, <1",
12
- "pydantic>=1.9.0, <2.11",
12
+ "pydantic>=1.9.0, <3",
13
13
  "typing-extensions>=4.10, <5",
14
14
  "anyio>=3.5.0, <5",
15
15
  "distro>=1.7.0, <2",
@@ -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.62.0" # x-release-please-version
4
+ __version__ = "0.64.0" # x-release-please-version
@@ -100,6 +100,7 @@ from .disk_snapshots import (
100
100
  from ...lib.polling_async import async_poll_until
101
101
  from ...types.devbox_view import DevboxView
102
102
  from ...types.devbox_tunnel_view import DevboxTunnelView
103
+ from ...types.shared_params.mount import Mount
103
104
  from ...types.devbox_snapshot_view import DevboxSnapshotView
104
105
  from ...types.shared.launch_parameters import LaunchParameters as SharedLaunchParameters
105
106
  from ...types.devbox_execution_detail_view import DevboxExecutionDetailView
@@ -185,6 +186,7 @@ class DevboxesResource(SyncAPIResource):
185
186
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
186
187
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
187
188
  metadata: Optional[Dict[str, str]] | Omit = omit,
189
+ mounts: Optional[Iterable[Mount]] | Omit = omit,
188
190
  name: Optional[str] | Omit = omit,
189
191
  repo_connection_id: Optional[str] | Omit = omit,
190
192
  secrets: Optional[Dict[str, str]] | Omit = omit,
@@ -228,6 +230,8 @@ class DevboxesResource(SyncAPIResource):
228
230
 
229
231
  metadata: User defined metadata to attach to the devbox for organization.
230
232
 
233
+ mounts: A list of file system mounts to be included in the Devbox.
234
+
231
235
  name: (Optional) A user specified name to give the Devbox.
232
236
 
233
237
  repo_connection_id: Repository connection id the devbox should source its base image from.
@@ -262,6 +266,7 @@ class DevboxesResource(SyncAPIResource):
262
266
  "file_mounts": file_mounts,
263
267
  "launch_parameters": launch_parameters,
264
268
  "metadata": metadata,
269
+ "mounts": mounts,
265
270
  "name": name,
266
271
  "repo_connection_id": repo_connection_id,
267
272
  "secrets": secrets,
@@ -718,7 +723,7 @@ class DevboxesResource(SyncAPIResource):
718
723
  id: str,
719
724
  *,
720
725
  command: str,
721
- command_id: str,
726
+ command_id: str = str(uuid7()),
722
727
  optimistic_timeout: Optional[int] | Omit = omit,
723
728
  shell_name: Optional[str] | Omit = omit,
724
729
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -740,7 +745,7 @@ class DevboxesResource(SyncAPIResource):
740
745
  specified the command is run from the directory based on the recent state of the
741
746
  persistent shell.
742
747
 
743
- command_id: The command ID for idempotency and tracking
748
+ command_id: The command ID in UUIDv7 string format for idempotency and tracking
744
749
 
745
750
  optimistic_timeout: Timeout in seconds to wait for command completion. Operation is not killed. Max
746
751
  is 600 seconds.
@@ -897,6 +902,7 @@ class DevboxesResource(SyncAPIResource):
897
902
  )
898
903
 
899
904
  @typing_extensions.deprecated("deprecated")
905
+ # Use execute, executeAsync, or executeAndAwaitCompletion instead
900
906
  def execute_sync(
901
907
  self,
902
908
  id: str,
@@ -915,6 +921,9 @@ class DevboxesResource(SyncAPIResource):
915
921
  Execute a bash command in the Devbox shell, await the command completion and
916
922
  return the output.
917
923
 
924
+ .. deprecated::
925
+ Use execute, executeAsync, or executeAndAwaitCompletion instead.
926
+
918
927
  Args:
919
928
  command: The command to execute via the Devbox shell. By default, commands are run from
920
929
  the user home directory unless shell_name is specified. If shell_name is
@@ -1629,6 +1638,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1629
1638
  file_mounts: Optional[Dict[str, str]] | Omit = omit,
1630
1639
  launch_parameters: Optional[LaunchParameters] | Omit = omit,
1631
1640
  metadata: Optional[Dict[str, str]] | Omit = omit,
1641
+ mounts: Optional[Iterable[Mount]] | Omit = omit,
1632
1642
  name: Optional[str] | Omit = omit,
1633
1643
  repo_connection_id: Optional[str] | Omit = omit,
1634
1644
  secrets: Optional[Dict[str, str]] | Omit = omit,
@@ -1672,6 +1682,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1672
1682
 
1673
1683
  metadata: User defined metadata to attach to the devbox for organization.
1674
1684
 
1685
+ mounts: A list of file system mounts to be included in the Devbox.
1686
+
1675
1687
  name: (Optional) A user specified name to give the Devbox.
1676
1688
 
1677
1689
  repo_connection_id: Repository connection id the devbox should source its base image from.
@@ -1706,6 +1718,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
1706
1718
  "file_mounts": file_mounts,
1707
1719
  "launch_parameters": launch_parameters,
1708
1720
  "metadata": metadata,
1721
+ "mounts": mounts,
1709
1722
  "name": name,
1710
1723
  "repo_connection_id": repo_connection_id,
1711
1724
  "secrets": secrets,
@@ -2161,7 +2174,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2161
2174
  id: str,
2162
2175
  *,
2163
2176
  command: str,
2164
- command_id: str,
2177
+ command_id: str = str(uuid7()),
2165
2178
  optimistic_timeout: Optional[int] | Omit = omit,
2166
2179
  shell_name: Optional[str] | Omit = omit,
2167
2180
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
@@ -2183,7 +2196,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2183
2196
  specified the command is run from the directory based on the recent state of the
2184
2197
  persistent shell.
2185
2198
 
2186
- command_id: The command ID for idempotency and tracking
2199
+ command_id: The command ID in UUIDv7 string format for idempotency and tracking
2187
2200
 
2188
2201
  optimistic_timeout: Timeout in seconds to wait for command completion. Operation is not killed. Max
2189
2202
  is 600 seconds.
@@ -2341,6 +2354,7 @@ class AsyncDevboxesResource(AsyncAPIResource):
2341
2354
  )
2342
2355
 
2343
2356
  @typing_extensions.deprecated("deprecated")
2357
+ # Use execute, executeAsync, or executeAndAwaitCompletion instead
2344
2358
  async def execute_sync(
2345
2359
  self,
2346
2360
  id: str,
@@ -2359,6 +2373,9 @@ class AsyncDevboxesResource(AsyncAPIResource):
2359
2373
  Execute a bash command in the Devbox shell, await the command completion and
2360
2374
  return the output.
2361
2375
 
2376
+ .. deprecated::
2377
+ Use execute, executeAsync, or executeAndAwaitCompletion instead.
2378
+
2362
2379
  Args:
2363
2380
  command: The command to execute via the Devbox shell. By default, commands are run from
2364
2381
  the user home directory unless shell_name is specified. If shell_name is
@@ -4,6 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  import typing_extensions
6
6
  from typing import Optional, cast
7
+ from typing_extensions import Literal
7
8
 
8
9
  import httpx
9
10
 
@@ -25,6 +26,7 @@ from ..._base_client import make_request_options
25
26
  from ...types.devboxes import (
26
27
  execution_kill_params,
27
28
  execution_retrieve_params,
29
+ execution_send_std_in_params,
28
30
  execution_execute_sync_params,
29
31
  execution_execute_async_params,
30
32
  execution_stream_stderr_updates_params,
@@ -332,6 +334,62 @@ class ExecutionsResource(SyncAPIResource):
332
334
  cast_to=DevboxAsyncExecutionDetailView,
333
335
  )
334
336
 
337
+ def send_std_in(
338
+ self,
339
+ execution_id: str,
340
+ *,
341
+ devbox_id: str,
342
+ signal: Optional[Literal["EOF", "INTERRUPT"]] | Omit = omit,
343
+ text: Optional[str] | Omit = omit,
344
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
345
+ # The extra values given here take precedence over values defined on the client or passed to this method.
346
+ extra_headers: Headers | None = None,
347
+ extra_query: Query | None = None,
348
+ extra_body: Body | None = None,
349
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
350
+ idempotency_key: str | None = None,
351
+ ) -> DevboxAsyncExecutionDetailView:
352
+ """
353
+ Send content to the Std In of a running execution.
354
+
355
+ Args:
356
+ signal: Signal to send to std in of the running execution.
357
+
358
+ text: Text to send to std in of the running execution.
359
+
360
+ extra_headers: Send extra headers
361
+
362
+ extra_query: Add additional query parameters to the request
363
+
364
+ extra_body: Add additional JSON properties to the request
365
+
366
+ timeout: Override the client-level default timeout for this request, in seconds
367
+
368
+ idempotency_key: Specify a custom idempotency key for this request
369
+ """
370
+ if not devbox_id:
371
+ raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
372
+ if not execution_id:
373
+ raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
374
+ return self._post(
375
+ f"/v1/devboxes/{devbox_id}/executions/{execution_id}/send_std_in",
376
+ body=maybe_transform(
377
+ {
378
+ "signal": signal,
379
+ "text": text,
380
+ },
381
+ execution_send_std_in_params.ExecutionSendStdInParams,
382
+ ),
383
+ options=make_request_options(
384
+ extra_headers=extra_headers,
385
+ extra_query=extra_query,
386
+ extra_body=extra_body,
387
+ timeout=timeout,
388
+ idempotency_key=idempotency_key,
389
+ ),
390
+ cast_to=DevboxAsyncExecutionDetailView,
391
+ )
392
+
335
393
  def stream_stderr_updates(
336
394
  self,
337
395
  execution_id: str,
@@ -785,6 +843,62 @@ class AsyncExecutionsResource(AsyncAPIResource):
785
843
  cast_to=DevboxAsyncExecutionDetailView,
786
844
  )
787
845
 
846
+ async def send_std_in(
847
+ self,
848
+ execution_id: str,
849
+ *,
850
+ devbox_id: str,
851
+ signal: Optional[Literal["EOF", "INTERRUPT"]] | Omit = omit,
852
+ text: Optional[str] | Omit = omit,
853
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
854
+ # The extra values given here take precedence over values defined on the client or passed to this method.
855
+ extra_headers: Headers | None = None,
856
+ extra_query: Query | None = None,
857
+ extra_body: Body | None = None,
858
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
859
+ idempotency_key: str | None = None,
860
+ ) -> DevboxAsyncExecutionDetailView:
861
+ """
862
+ Send content to the Std In of a running execution.
863
+
864
+ Args:
865
+ signal: Signal to send to std in of the running execution.
866
+
867
+ text: Text to send to std in of the running execution.
868
+
869
+ extra_headers: Send extra headers
870
+
871
+ extra_query: Add additional query parameters to the request
872
+
873
+ extra_body: Add additional JSON properties to the request
874
+
875
+ timeout: Override the client-level default timeout for this request, in seconds
876
+
877
+ idempotency_key: Specify a custom idempotency key for this request
878
+ """
879
+ if not devbox_id:
880
+ raise ValueError(f"Expected a non-empty value for `devbox_id` but received {devbox_id!r}")
881
+ if not execution_id:
882
+ raise ValueError(f"Expected a non-empty value for `execution_id` but received {execution_id!r}")
883
+ return await self._post(
884
+ f"/v1/devboxes/{devbox_id}/executions/{execution_id}/send_std_in",
885
+ body=await async_maybe_transform(
886
+ {
887
+ "signal": signal,
888
+ "text": text,
889
+ },
890
+ execution_send_std_in_params.ExecutionSendStdInParams,
891
+ ),
892
+ options=make_request_options(
893
+ extra_headers=extra_headers,
894
+ extra_query=extra_query,
895
+ extra_body=extra_body,
896
+ timeout=timeout,
897
+ idempotency_key=idempotency_key,
898
+ ),
899
+ cast_to=DevboxAsyncExecutionDetailView,
900
+ )
901
+
788
902
  async def stream_stderr_updates(
789
903
  self,
790
904
  execution_id: str,
@@ -973,6 +1087,9 @@ class ExecutionsResourceWithRawResponse:
973
1087
  self.kill = to_raw_response_wrapper(
974
1088
  executions.kill,
975
1089
  )
1090
+ self.send_std_in = to_raw_response_wrapper(
1091
+ executions.send_std_in,
1092
+ )
976
1093
  self.stream_stdout_updates = to_raw_response_wrapper(
977
1094
  executions.stream_stdout_updates,
978
1095
  )
@@ -999,6 +1116,9 @@ class AsyncExecutionsResourceWithRawResponse:
999
1116
  self.kill = async_to_raw_response_wrapper(
1000
1117
  executions.kill,
1001
1118
  )
1119
+ self.send_std_in = async_to_raw_response_wrapper(
1120
+ executions.send_std_in,
1121
+ )
1002
1122
  self.stream_stdout_updates = async_to_raw_response_wrapper(
1003
1123
  executions.stream_stdout_updates,
1004
1124
  )
@@ -1025,6 +1145,9 @@ class ExecutionsResourceWithStreamingResponse:
1025
1145
  self.kill = to_streamed_response_wrapper(
1026
1146
  executions.kill,
1027
1147
  )
1148
+ self.send_std_in = to_streamed_response_wrapper(
1149
+ executions.send_std_in,
1150
+ )
1028
1151
  self.stream_stdout_updates = to_streamed_response_wrapper(
1029
1152
  executions.stream_stdout_updates,
1030
1153
  )
@@ -1051,6 +1174,9 @@ class AsyncExecutionsResourceWithStreamingResponse:
1051
1174
  self.kill = async_to_streamed_response_wrapper(
1052
1175
  executions.kill,
1053
1176
  )
1177
+ self.send_std_in = async_to_streamed_response_wrapper(
1178
+ executions.send_std_in,
1179
+ )
1054
1180
  self.stream_stdout_updates = async_to_streamed_response_wrapper(
1055
1181
  executions.stream_stdout_updates,
1056
1182
  )
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import typing_extensions
5
6
  from typing import Optional
6
7
 
7
8
  import httpx
@@ -244,7 +245,6 @@ class RepositoriesResource(SyncAPIResource):
244
245
  self,
245
246
  id: str,
246
247
  *,
247
- blueprint_id: Optional[str] | Omit = omit,
248
248
  github_auth_token: Optional[str] | Omit = omit,
249
249
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
250
250
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -259,8 +259,6 @@ class RepositoriesResource(SyncAPIResource):
259
259
  repo's technical stack and developer environment requirements.
260
260
 
261
261
  Args:
262
- blueprint_id: ID of blueprint to use as base for resulting RepositoryVersion blueprint.
263
-
264
262
  github_auth_token: GitHub authentication token for accessing private repositories.
265
263
 
266
264
  extra_headers: Send extra headers
@@ -278,11 +276,7 @@ class RepositoriesResource(SyncAPIResource):
278
276
  return self._post(
279
277
  f"/v1/repositories/{id}/inspect",
280
278
  body=maybe_transform(
281
- {
282
- "blueprint_id": blueprint_id,
283
- "github_auth_token": github_auth_token,
284
- },
285
- repository_inspect_params.RepositoryInspectParams,
279
+ {"github_auth_token": github_auth_token}, repository_inspect_params.RepositoryInspectParams
286
280
  ),
287
281
  options=make_request_options(
288
282
  extra_headers=extra_headers,
@@ -328,6 +322,7 @@ class RepositoriesResource(SyncAPIResource):
328
322
  cast_to=RepositoryInspectionListView,
329
323
  )
330
324
 
325
+ @typing_extensions.deprecated("deprecated")
331
326
  def refresh(
332
327
  self,
333
328
  id: str,
@@ -382,6 +377,39 @@ class RepositoriesResource(SyncAPIResource):
382
377
  cast_to=object,
383
378
  )
384
379
 
380
+ def retrieve_inspection(
381
+ self,
382
+ id: str,
383
+ *,
384
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
385
+ # The extra values given here take precedence over values defined on the client or passed to this method.
386
+ extra_headers: Headers | None = None,
387
+ extra_query: Query | None = None,
388
+ extra_body: Body | None = None,
389
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
390
+ ) -> RepositoryInspectionDetails:
391
+ """
392
+ Get a repository inspection by id.
393
+
394
+ Args:
395
+ extra_headers: Send extra headers
396
+
397
+ extra_query: Add additional query parameters to the request
398
+
399
+ extra_body: Add additional JSON properties to the request
400
+
401
+ timeout: Override the client-level default timeout for this request, in seconds
402
+ """
403
+ if not id:
404
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
405
+ return self._get(
406
+ f"/v1/repositories/inspections/{id}",
407
+ options=make_request_options(
408
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
409
+ ),
410
+ cast_to=RepositoryInspectionDetails,
411
+ )
412
+
385
413
 
386
414
  class AsyncRepositoriesResource(AsyncAPIResource):
387
415
  @cached_property
@@ -596,7 +624,6 @@ class AsyncRepositoriesResource(AsyncAPIResource):
596
624
  self,
597
625
  id: str,
598
626
  *,
599
- blueprint_id: Optional[str] | Omit = omit,
600
627
  github_auth_token: Optional[str] | Omit = omit,
601
628
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
602
629
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -611,8 +638,6 @@ class AsyncRepositoriesResource(AsyncAPIResource):
611
638
  repo's technical stack and developer environment requirements.
612
639
 
613
640
  Args:
614
- blueprint_id: ID of blueprint to use as base for resulting RepositoryVersion blueprint.
615
-
616
641
  github_auth_token: GitHub authentication token for accessing private repositories.
617
642
 
618
643
  extra_headers: Send extra headers
@@ -630,11 +655,7 @@ class AsyncRepositoriesResource(AsyncAPIResource):
630
655
  return await self._post(
631
656
  f"/v1/repositories/{id}/inspect",
632
657
  body=await async_maybe_transform(
633
- {
634
- "blueprint_id": blueprint_id,
635
- "github_auth_token": github_auth_token,
636
- },
637
- repository_inspect_params.RepositoryInspectParams,
658
+ {"github_auth_token": github_auth_token}, repository_inspect_params.RepositoryInspectParams
638
659
  ),
639
660
  options=make_request_options(
640
661
  extra_headers=extra_headers,
@@ -680,6 +701,7 @@ class AsyncRepositoriesResource(AsyncAPIResource):
680
701
  cast_to=RepositoryInspectionListView,
681
702
  )
682
703
 
704
+ @typing_extensions.deprecated("deprecated")
683
705
  async def refresh(
684
706
  self,
685
707
  id: str,
@@ -734,6 +756,39 @@ class AsyncRepositoriesResource(AsyncAPIResource):
734
756
  cast_to=object,
735
757
  )
736
758
 
759
+ async def retrieve_inspection(
760
+ self,
761
+ id: str,
762
+ *,
763
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
764
+ # The extra values given here take precedence over values defined on the client or passed to this method.
765
+ extra_headers: Headers | None = None,
766
+ extra_query: Query | None = None,
767
+ extra_body: Body | None = None,
768
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
769
+ ) -> RepositoryInspectionDetails:
770
+ """
771
+ Get a repository inspection by id.
772
+
773
+ Args:
774
+ extra_headers: Send extra headers
775
+
776
+ extra_query: Add additional query parameters to the request
777
+
778
+ extra_body: Add additional JSON properties to the request
779
+
780
+ timeout: Override the client-level default timeout for this request, in seconds
781
+ """
782
+ if not id:
783
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
784
+ return await self._get(
785
+ f"/v1/repositories/inspections/{id}",
786
+ options=make_request_options(
787
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
788
+ ),
789
+ cast_to=RepositoryInspectionDetails,
790
+ )
791
+
737
792
 
738
793
  class RepositoriesResourceWithRawResponse:
739
794
  def __init__(self, repositories: RepositoriesResource) -> None:
@@ -757,8 +812,13 @@ class RepositoriesResourceWithRawResponse:
757
812
  self.list_inspections = to_raw_response_wrapper(
758
813
  repositories.list_inspections,
759
814
  )
760
- self.refresh = to_raw_response_wrapper(
761
- repositories.refresh,
815
+ self.refresh = ( # pyright: ignore[reportDeprecated]
816
+ to_raw_response_wrapper(
817
+ repositories.refresh, # pyright: ignore[reportDeprecated],
818
+ )
819
+ )
820
+ self.retrieve_inspection = to_raw_response_wrapper(
821
+ repositories.retrieve_inspection,
762
822
  )
763
823
 
764
824
 
@@ -784,8 +844,13 @@ class AsyncRepositoriesResourceWithRawResponse:
784
844
  self.list_inspections = async_to_raw_response_wrapper(
785
845
  repositories.list_inspections,
786
846
  )
787
- self.refresh = async_to_raw_response_wrapper(
788
- repositories.refresh,
847
+ self.refresh = ( # pyright: ignore[reportDeprecated]
848
+ async_to_raw_response_wrapper(
849
+ repositories.refresh, # pyright: ignore[reportDeprecated],
850
+ )
851
+ )
852
+ self.retrieve_inspection = async_to_raw_response_wrapper(
853
+ repositories.retrieve_inspection,
789
854
  )
790
855
 
791
856
 
@@ -811,8 +876,13 @@ class RepositoriesResourceWithStreamingResponse:
811
876
  self.list_inspections = to_streamed_response_wrapper(
812
877
  repositories.list_inspections,
813
878
  )
814
- self.refresh = to_streamed_response_wrapper(
815
- repositories.refresh,
879
+ self.refresh = ( # pyright: ignore[reportDeprecated]
880
+ to_streamed_response_wrapper(
881
+ repositories.refresh, # pyright: ignore[reportDeprecated],
882
+ )
883
+ )
884
+ self.retrieve_inspection = to_streamed_response_wrapper(
885
+ repositories.retrieve_inspection,
816
886
  )
817
887
 
818
888
 
@@ -838,6 +908,11 @@ class AsyncRepositoriesResourceWithStreamingResponse:
838
908
  self.list_inspections = async_to_streamed_response_wrapper(
839
909
  repositories.list_inspections,
840
910
  )
841
- self.refresh = async_to_streamed_response_wrapper(
842
- repositories.refresh,
911
+ self.refresh = ( # pyright: ignore[reportDeprecated]
912
+ async_to_streamed_response_wrapper(
913
+ repositories.refresh, # pyright: ignore[reportDeprecated],
914
+ )
915
+ )
916
+ self.retrieve_inspection = async_to_streamed_response_wrapper(
917
+ repositories.retrieve_inspection,
843
918
  )
@@ -3,10 +3,13 @@
3
3
  from __future__ import annotations
4
4
 
5
5
  from .shared import (
6
+ Mount as Mount,
6
7
  AfterIdle as AfterIdle,
7
8
  RunProfile as RunProfile,
8
9
  LaunchParameters as LaunchParameters,
9
10
  CodeMountParameters as CodeMountParameters,
11
+ AgentMountParameters as AgentMountParameters,
12
+ ObjectMountParameters as ObjectMountParameters,
10
13
  )
11
14
  from .devbox_view import DevboxView as DevboxView
12
15
  from .object_view import ObjectView as ObjectView
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  from typing import Dict, Iterable, Optional
6
6
  from typing_extensions import TypedDict
7
7
 
8
+ from .shared_params.mount import Mount
8
9
  from .shared_params.launch_parameters import LaunchParameters
9
10
  from .shared_params.code_mount_parameters import CodeMountParameters
10
11
 
@@ -49,6 +50,9 @@ class DevboxCreateParams(TypedDict, total=False):
49
50
  metadata: Optional[Dict[str, str]]
50
51
  """User defined metadata to attach to the devbox for organization."""
51
52
 
53
+ mounts: Optional[Iterable[Mount]]
54
+ """A list of file system mounts to be included in the Devbox."""
55
+
52
56
  name: Optional[str]
53
57
  """(Optional) A user specified name to give the Devbox."""
54
58