runloop_api_client 0.61.0__tar.gz → 0.62.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 (250) hide show
  1. runloop_api_client-0.62.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/CHANGELOG.md +10 -0
  3. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/api.md +4 -0
  5. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/blueprints.py +152 -0
  8. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/repositories.py +127 -1
  9. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/__init__.py +5 -0
  10. runloop_api_client-0.62.0/src/runloop_api_client/types/blueprint_create_from_inspection_params.py +36 -0
  11. runloop_api_client-0.62.0/src/runloop_api_client/types/inspection_source_param.py +16 -0
  12. runloop_api_client-0.62.0/src/runloop_api_client/types/repository_inspect_params.py +16 -0
  13. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_blueprints.py +134 -0
  14. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_repositories.py +95 -0
  15. runloop_api_client-0.61.0/.release-please-manifest.json +0 -3
  16. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/.gitignore +0 -0
  17. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/CONTRIBUTING.md +0 -0
  18. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/LICENSE +0 -0
  19. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/README.md +0 -0
  20. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/SECURITY.md +0 -0
  21. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/bin/check-release-environment +0 -0
  22. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/bin/publish-pypi +0 -0
  23. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/examples/.keep +0 -0
  24. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/release-please-config.json +0 -0
  25. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/requirements-dev.lock +0 -0
  26. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop/lib/.keep +0 -0
  27. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/__init__.py +0 -0
  28. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_base_client.py +0 -0
  29. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_client.py +0 -0
  30. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_compat.py +0 -0
  31. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_constants.py +0 -0
  32. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_exceptions.py +0 -0
  33. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_files.py +0 -0
  34. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_models.py +0 -0
  35. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_qs.py +0 -0
  36. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_resource.py +0 -0
  37. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_response.py +0 -0
  38. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_streaming.py +0 -0
  39. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_types.py +0 -0
  40. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  41. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_compat.py +0 -0
  42. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_datetime_parse.py +0 -0
  43. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  44. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  45. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  46. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  47. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  48. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  49. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  50. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  51. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  52. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/lib/.keep +0 -0
  53. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/lib/polling.py +0 -0
  54. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  55. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/pagination.py +0 -0
  56. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/py.typed +0 -0
  57. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/__init__.py +0 -0
  58. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  59. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  60. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  61. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  62. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  63. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  64. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  65. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  66. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  67. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  68. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/objects.py +0 -0
  69. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  70. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  71. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  72. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  73. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/resources/secrets.py +0 -0
  74. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  75. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  76. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  77. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  78. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  79. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  80. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  81. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  82. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  83. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  84. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  85. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  86. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  87. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  88. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  89. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  90. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  91. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_list_public_params.py +0 -0
  92. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  93. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  94. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  95. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  96. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  97. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  98. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  99. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  100. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  101. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  102. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_execute_params.py +0 -0
  103. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  104. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  105. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  106. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  107. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  108. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  109. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  110. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  111. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  112. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  113. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  114. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  115. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  116. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  117. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  118. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  119. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_wait_for_command_params.py +0 -0
  120. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  121. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  122. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  123. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  124. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  125. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  126. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  127. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  128. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  129. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  130. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  131. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  132. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  133. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  134. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  135. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  136. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  137. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  138. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_kill_params.py +0 -0
  139. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  140. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +0 -0
  141. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +0 -0
  142. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/execution_update_chunk.py +0 -0
  143. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  144. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/input_context.py +0 -0
  145. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  146. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/input_context_update_param.py +0 -0
  147. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_create_params.py +0 -0
  148. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_download_params.py +0 -0
  149. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_download_url_view.py +0 -0
  150. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_list_params.py +0 -0
  151. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_list_public_params.py +0 -0
  152. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_list_view.py +0 -0
  153. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/object_view.py +0 -0
  154. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  155. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  156. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  157. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  158. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  159. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  160. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  161. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  162. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  163. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  164. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  165. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  166. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  167. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  168. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  169. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  170. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  171. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  172. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  173. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  174. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  175. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  176. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  177. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  178. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  179. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  180. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  181. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  182. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  183. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  184. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  185. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  186. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  187. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_contract_update_param.py +0 -0
  188. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  189. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  190. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  191. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  192. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/secret_list_params.py +0 -0
  193. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  194. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  195. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/secret_view.py +0 -0
  196. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  197. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  198. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  199. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  200. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared/run_profile.py +0 -0
  201. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  202. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  203. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  204. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  205. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/src/runloop_api_client/types/shared_params/run_profile.py +0 -0
  206. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/__init__.py +0 -0
  207. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/__init__.py +0 -0
  208. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  209. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  210. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/__init__.py +0 -0
  211. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  212. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  213. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  214. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  215. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  216. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/scenarios/__init__.py +0 -0
  217. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  218. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  219. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_benchmarks.py +0 -0
  220. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_devboxes.py +0 -0
  221. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_objects.py +0 -0
  222. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_scenarios.py +0 -0
  223. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/api_resources/test_secrets.py +0 -0
  224. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/conftest.py +0 -0
  225. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/sample_file.txt +0 -0
  226. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/README.md +0 -0
  227. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/__init__.py +0 -0
  228. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/conftest.py +0 -0
  229. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/test_blueprints.py +0 -0
  230. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/test_devboxes.py +0 -0
  231. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/test_executions.py +0 -0
  232. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/test_scenarios_benchmarks.py +0 -0
  233. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/test_snapshots.py +0 -0
  234. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/smoketests/utils.py +0 -0
  235. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_client.py +0 -0
  236. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_deepcopy.py +0 -0
  237. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_extract_files.py +0 -0
  238. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_files.py +0 -0
  239. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_models.py +0 -0
  240. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_polling.py +0 -0
  241. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_qs.py +0 -0
  242. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_required_args.py +0 -0
  243. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_response.py +0 -0
  244. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_streaming.py +0 -0
  245. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_transform.py +0 -0
  246. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_utils/test_datetime_parse.py +0 -0
  247. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_utils/test_proxy.py +0 -0
  248. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/test_utils/test_typing.py +0 -0
  249. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/tests/utils.py +0 -0
  250. {runloop_api_client-0.61.0 → runloop_api_client-0.62.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.62.0"
3
+ }
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.62.0 (2025-10-01)
4
+
5
+ Full Changelog: [v0.61.0...v0.62.0](https://github.com/runloopai/api-client-python/compare/v0.61.0...v0.62.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([a2ed6d7](https://github.com/runloopai/api-client-python/commit/a2ed6d7530f8ea05f600713163ac646989426a65))
10
+ * **api:** api update ([59b9486](https://github.com/runloopai/api-client-python/commit/59b9486f94c15ec76021ec98db3dad93225be663))
11
+ * **api:** api update ([8d62f4b](https://github.com/runloopai/api-client-python/commit/8d62f4b5018b52f3d813b8f6a1f3e5460b80e368))
12
+
3
13
  ## 0.61.0 (2025-09-29)
4
14
 
5
15
  Full Changelog: [v0.60.1...v0.61.0](https://github.com/runloopai/api-client-python/compare/v0.60.1...v0.61.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.61.0
3
+ Version: 0.62.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
@@ -45,12 +45,14 @@ Types:
45
45
 
46
46
  ```python
47
47
  from runloop_api_client.types import (
48
+ BlueprintBuildFromInspectionParameters,
48
49
  BlueprintBuildLog,
49
50
  BlueprintBuildLogsListView,
50
51
  BlueprintBuildParameters,
51
52
  BlueprintListView,
52
53
  BlueprintPreviewView,
53
54
  BlueprintView,
55
+ InspectionSource,
54
56
  )
55
57
  ```
56
58
 
@@ -61,6 +63,7 @@ Methods:
61
63
  - <code title="get /v1/blueprints/{id}">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
62
64
  - <code title="get /v1/blueprints">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
63
65
  - <code title="post /v1/blueprints/{id}/delete">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">delete</a>(id) -> object</code>
66
+ - <code title="post /v1/blueprints/create_from_inspection">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">create_from_inspection</a>(\*\*<a href="src/runloop_api_client/types/blueprint_create_from_inspection_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">BlueprintView</a></code>
64
67
  - <code title="get /v1/blueprints/list_public">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/blueprint_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_view.py">SyncBlueprintsCursorIDPage[BlueprintView]</a></code>
65
68
  - <code title="get /v1/blueprints/{id}/logs">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">logs</a>(id) -> <a href="./src/runloop_api_client/types/blueprint_build_logs_list_view.py">BlueprintBuildLogsListView</a></code>
66
69
  - <code title="post /v1/blueprints/preview">client.blueprints.<a href="./src/runloop_api_client/resources/blueprints.py">preview</a>(\*\*<a href="src/runloop_api_client/types/blueprint_preview_params.py">params</a>) -> <a href="./src/runloop_api_client/types/blueprint_preview_view.py">BlueprintPreviewView</a></code>
@@ -298,6 +301,7 @@ Methods:
298
301
  - <code title="get /v1/repositories/{id}">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">RepositoryConnectionView</a></code>
299
302
  - <code title="get /v1/repositories">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">list</a>(\*\*<a href="src/runloop_api_client/types/repository_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/repository_connection_view.py">SyncRepositoriesCursorIDPage[RepositoryConnectionView]</a></code>
300
303
  - <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> object</code>
304
+ - <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>
301
305
  - <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>
302
306
  - <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>
303
307
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.61.0"
3
+ version = "0.62.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -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.61.0" # x-release-please-version
4
+ __version__ = "0.62.0" # x-release-please-version
@@ -11,6 +11,7 @@ from ..types import (
11
11
  blueprint_create_params,
12
12
  blueprint_preview_params,
13
13
  blueprint_list_public_params,
14
+ blueprint_create_from_inspection_params,
14
15
  )
15
16
  from .._types import NOT_GIVEN, Body, Omit, Query, Headers, NotGiven, SequenceNotStr, omit, not_given
16
17
  from .._utils import maybe_transform, async_maybe_transform
@@ -29,6 +30,7 @@ from .._base_client import AsyncPaginator, make_request_options
29
30
  from ..lib.polling_async import async_poll_until
30
31
  from ..types.blueprint_view import BlueprintView
31
32
  from ..types.blueprint_preview_view import BlueprintPreviewView
33
+ from ..types.inspection_source_param import InspectionSourceParam
32
34
  from ..types.blueprint_build_logs_list_view import BlueprintBuildLogsListView
33
35
  from ..types.shared_params.launch_parameters import LaunchParameters
34
36
  from ..types.shared_params.code_mount_parameters import CodeMountParameters
@@ -394,6 +396,75 @@ class BlueprintsResource(SyncAPIResource):
394
396
  cast_to=object,
395
397
  )
396
398
 
399
+ def create_from_inspection(
400
+ self,
401
+ *,
402
+ inspection_source: InspectionSourceParam,
403
+ name: str,
404
+ file_mounts: Optional[Dict[str, str]] | Omit = omit,
405
+ launch_parameters: Optional[LaunchParameters] | Omit = omit,
406
+ metadata: Optional[Dict[str, str]] | Omit = omit,
407
+ system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
408
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
409
+ # The extra values given here take precedence over values defined on the client or passed to this method.
410
+ extra_headers: Headers | None = None,
411
+ extra_query: Query | None = None,
412
+ extra_body: Body | None = None,
413
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
414
+ idempotency_key: str | None = None,
415
+ ) -> BlueprintView:
416
+ """
417
+ Starts build of custom defined container Blueprint using a RepositoryConnection
418
+ Inspection as a source container specification.
419
+
420
+ Args:
421
+ inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
422
+ Dockerfile will be automatically created based on the RepositoryInspection
423
+ contents.
424
+
425
+ name: Name of the Blueprint.
426
+
427
+ file_mounts: (Optional) Map of paths and file contents to write before setup.
428
+
429
+ launch_parameters: Parameters to configure your Devbox at launch time.
430
+
431
+ metadata: (Optional) User defined metadata for the Blueprint.
432
+
433
+ system_setup_commands: A list of commands to run to set up your system.
434
+
435
+ extra_headers: Send extra headers
436
+
437
+ extra_query: Add additional query parameters to the request
438
+
439
+ extra_body: Add additional JSON properties to the request
440
+
441
+ timeout: Override the client-level default timeout for this request, in seconds
442
+
443
+ idempotency_key: Specify a custom idempotency key for this request
444
+ """
445
+ return self._post(
446
+ "/v1/blueprints/create_from_inspection",
447
+ body=maybe_transform(
448
+ {
449
+ "inspection_source": inspection_source,
450
+ "name": name,
451
+ "file_mounts": file_mounts,
452
+ "launch_parameters": launch_parameters,
453
+ "metadata": metadata,
454
+ "system_setup_commands": system_setup_commands,
455
+ },
456
+ blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
457
+ ),
458
+ options=make_request_options(
459
+ extra_headers=extra_headers,
460
+ extra_query=extra_query,
461
+ extra_body=extra_body,
462
+ timeout=timeout,
463
+ idempotency_key=idempotency_key,
464
+ ),
465
+ cast_to=BlueprintView,
466
+ )
467
+
397
468
  def list_public(
398
469
  self,
399
470
  *,
@@ -919,6 +990,75 @@ class AsyncBlueprintsResource(AsyncAPIResource):
919
990
  cast_to=object,
920
991
  )
921
992
 
993
+ async def create_from_inspection(
994
+ self,
995
+ *,
996
+ inspection_source: InspectionSourceParam,
997
+ name: str,
998
+ file_mounts: Optional[Dict[str, str]] | Omit = omit,
999
+ launch_parameters: Optional[LaunchParameters] | Omit = omit,
1000
+ metadata: Optional[Dict[str, str]] | Omit = omit,
1001
+ system_setup_commands: Optional[SequenceNotStr[str]] | Omit = omit,
1002
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1003
+ # The extra values given here take precedence over values defined on the client or passed to this method.
1004
+ extra_headers: Headers | None = None,
1005
+ extra_query: Query | None = None,
1006
+ extra_body: Body | None = None,
1007
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
1008
+ idempotency_key: str | None = None,
1009
+ ) -> BlueprintView:
1010
+ """
1011
+ Starts build of custom defined container Blueprint using a RepositoryConnection
1012
+ Inspection as a source container specification.
1013
+
1014
+ Args:
1015
+ inspection_source: (Optional) Use a RepositoryInspection a source of a Blueprint build. The
1016
+ Dockerfile will be automatically created based on the RepositoryInspection
1017
+ contents.
1018
+
1019
+ name: Name of the Blueprint.
1020
+
1021
+ file_mounts: (Optional) Map of paths and file contents to write before setup.
1022
+
1023
+ launch_parameters: Parameters to configure your Devbox at launch time.
1024
+
1025
+ metadata: (Optional) User defined metadata for the Blueprint.
1026
+
1027
+ system_setup_commands: A list of commands to run to set up your system.
1028
+
1029
+ extra_headers: Send extra headers
1030
+
1031
+ extra_query: Add additional query parameters to the request
1032
+
1033
+ extra_body: Add additional JSON properties to the request
1034
+
1035
+ timeout: Override the client-level default timeout for this request, in seconds
1036
+
1037
+ idempotency_key: Specify a custom idempotency key for this request
1038
+ """
1039
+ return await self._post(
1040
+ "/v1/blueprints/create_from_inspection",
1041
+ body=await async_maybe_transform(
1042
+ {
1043
+ "inspection_source": inspection_source,
1044
+ "name": name,
1045
+ "file_mounts": file_mounts,
1046
+ "launch_parameters": launch_parameters,
1047
+ "metadata": metadata,
1048
+ "system_setup_commands": system_setup_commands,
1049
+ },
1050
+ blueprint_create_from_inspection_params.BlueprintCreateFromInspectionParams,
1051
+ ),
1052
+ options=make_request_options(
1053
+ extra_headers=extra_headers,
1054
+ extra_query=extra_query,
1055
+ extra_body=extra_body,
1056
+ timeout=timeout,
1057
+ idempotency_key=idempotency_key,
1058
+ ),
1059
+ cast_to=BlueprintView,
1060
+ )
1061
+
922
1062
  def list_public(
923
1063
  self,
924
1064
  *,
@@ -1114,6 +1254,9 @@ class BlueprintsResourceWithRawResponse:
1114
1254
  self.delete = to_raw_response_wrapper(
1115
1255
  blueprints.delete,
1116
1256
  )
1257
+ self.create_from_inspection = to_raw_response_wrapper(
1258
+ blueprints.create_from_inspection,
1259
+ )
1117
1260
  self.list_public = to_raw_response_wrapper(
1118
1261
  blueprints.list_public,
1119
1262
  )
@@ -1141,6 +1284,9 @@ class AsyncBlueprintsResourceWithRawResponse:
1141
1284
  self.delete = async_to_raw_response_wrapper(
1142
1285
  blueprints.delete,
1143
1286
  )
1287
+ self.create_from_inspection = async_to_raw_response_wrapper(
1288
+ blueprints.create_from_inspection,
1289
+ )
1144
1290
  self.list_public = async_to_raw_response_wrapper(
1145
1291
  blueprints.list_public,
1146
1292
  )
@@ -1168,6 +1314,9 @@ class BlueprintsResourceWithStreamingResponse:
1168
1314
  self.delete = to_streamed_response_wrapper(
1169
1315
  blueprints.delete,
1170
1316
  )
1317
+ self.create_from_inspection = to_streamed_response_wrapper(
1318
+ blueprints.create_from_inspection,
1319
+ )
1171
1320
  self.list_public = to_streamed_response_wrapper(
1172
1321
  blueprints.list_public,
1173
1322
  )
@@ -1195,6 +1344,9 @@ class AsyncBlueprintsResourceWithStreamingResponse:
1195
1344
  self.delete = async_to_streamed_response_wrapper(
1196
1345
  blueprints.delete,
1197
1346
  )
1347
+ self.create_from_inspection = async_to_streamed_response_wrapper(
1348
+ blueprints.create_from_inspection,
1349
+ )
1198
1350
  self.list_public = async_to_streamed_response_wrapper(
1199
1351
  blueprints.list_public,
1200
1352
  )
@@ -6,7 +6,12 @@ from typing import Optional
6
6
 
7
7
  import httpx
8
8
 
9
- from ..types import repository_list_params, repository_create_params, repository_refresh_params
9
+ from ..types import (
10
+ repository_list_params,
11
+ repository_create_params,
12
+ repository_inspect_params,
13
+ repository_refresh_params,
14
+ )
10
15
  from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
11
16
  from .._utils import maybe_transform, async_maybe_transform
12
17
  from .._compat import cached_property
@@ -20,6 +25,7 @@ from .._response import (
20
25
  from ..pagination import SyncRepositoriesCursorIDPage, AsyncRepositoriesCursorIDPage
21
26
  from .._base_client import AsyncPaginator, make_request_options
22
27
  from ..types.repository_connection_view import RepositoryConnectionView
28
+ from ..types.repository_inspection_details import RepositoryInspectionDetails
23
29
  from ..types.repository_inspection_list_view import RepositoryInspectionListView
24
30
 
25
31
  __all__ = ["RepositoriesResource", "AsyncRepositoriesResource"]
@@ -234,6 +240,60 @@ class RepositoriesResource(SyncAPIResource):
234
240
  cast_to=object,
235
241
  )
236
242
 
243
+ def inspect(
244
+ self,
245
+ id: str,
246
+ *,
247
+ blueprint_id: Optional[str] | Omit = omit,
248
+ github_auth_token: Optional[str] | Omit = omit,
249
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
250
+ # The extra values given here take precedence over values defined on the client or passed to this method.
251
+ extra_headers: Headers | None = None,
252
+ extra_query: Query | None = None,
253
+ extra_body: Body | None = None,
254
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
255
+ idempotency_key: str | None = None,
256
+ ) -> RepositoryInspectionDetails:
257
+ """
258
+ Inspect a repository connection by inspecting the specified version including
259
+ repo's technical stack and developer environment requirements.
260
+
261
+ Args:
262
+ blueprint_id: ID of blueprint to use as base for resulting RepositoryVersion blueprint.
263
+
264
+ github_auth_token: GitHub authentication token for accessing private repositories.
265
+
266
+ extra_headers: Send extra headers
267
+
268
+ extra_query: Add additional query parameters to the request
269
+
270
+ extra_body: Add additional JSON properties to the request
271
+
272
+ timeout: Override the client-level default timeout for this request, in seconds
273
+
274
+ idempotency_key: Specify a custom idempotency key for this request
275
+ """
276
+ if not id:
277
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
278
+ return self._post(
279
+ f"/v1/repositories/{id}/inspect",
280
+ body=maybe_transform(
281
+ {
282
+ "blueprint_id": blueprint_id,
283
+ "github_auth_token": github_auth_token,
284
+ },
285
+ repository_inspect_params.RepositoryInspectParams,
286
+ ),
287
+ options=make_request_options(
288
+ extra_headers=extra_headers,
289
+ extra_query=extra_query,
290
+ extra_body=extra_body,
291
+ timeout=timeout,
292
+ idempotency_key=idempotency_key,
293
+ ),
294
+ cast_to=RepositoryInspectionDetails,
295
+ )
296
+
237
297
  def list_inspections(
238
298
  self,
239
299
  id: str,
@@ -532,6 +592,60 @@ class AsyncRepositoriesResource(AsyncAPIResource):
532
592
  cast_to=object,
533
593
  )
534
594
 
595
+ async def inspect(
596
+ self,
597
+ id: str,
598
+ *,
599
+ blueprint_id: Optional[str] | Omit = omit,
600
+ github_auth_token: Optional[str] | Omit = omit,
601
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
602
+ # The extra values given here take precedence over values defined on the client or passed to this method.
603
+ extra_headers: Headers | None = None,
604
+ extra_query: Query | None = None,
605
+ extra_body: Body | None = None,
606
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
607
+ idempotency_key: str | None = None,
608
+ ) -> RepositoryInspectionDetails:
609
+ """
610
+ Inspect a repository connection by inspecting the specified version including
611
+ repo's technical stack and developer environment requirements.
612
+
613
+ Args:
614
+ blueprint_id: ID of blueprint to use as base for resulting RepositoryVersion blueprint.
615
+
616
+ github_auth_token: GitHub authentication token for accessing private repositories.
617
+
618
+ extra_headers: Send extra headers
619
+
620
+ extra_query: Add additional query parameters to the request
621
+
622
+ extra_body: Add additional JSON properties to the request
623
+
624
+ timeout: Override the client-level default timeout for this request, in seconds
625
+
626
+ idempotency_key: Specify a custom idempotency key for this request
627
+ """
628
+ if not id:
629
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
630
+ return await self._post(
631
+ f"/v1/repositories/{id}/inspect",
632
+ body=await async_maybe_transform(
633
+ {
634
+ "blueprint_id": blueprint_id,
635
+ "github_auth_token": github_auth_token,
636
+ },
637
+ repository_inspect_params.RepositoryInspectParams,
638
+ ),
639
+ options=make_request_options(
640
+ extra_headers=extra_headers,
641
+ extra_query=extra_query,
642
+ extra_body=extra_body,
643
+ timeout=timeout,
644
+ idempotency_key=idempotency_key,
645
+ ),
646
+ cast_to=RepositoryInspectionDetails,
647
+ )
648
+
535
649
  async def list_inspections(
536
650
  self,
537
651
  id: str,
@@ -637,6 +751,9 @@ class RepositoriesResourceWithRawResponse:
637
751
  self.delete = to_raw_response_wrapper(
638
752
  repositories.delete,
639
753
  )
754
+ self.inspect = to_raw_response_wrapper(
755
+ repositories.inspect,
756
+ )
640
757
  self.list_inspections = to_raw_response_wrapper(
641
758
  repositories.list_inspections,
642
759
  )
@@ -661,6 +778,9 @@ class AsyncRepositoriesResourceWithRawResponse:
661
778
  self.delete = async_to_raw_response_wrapper(
662
779
  repositories.delete,
663
780
  )
781
+ self.inspect = async_to_raw_response_wrapper(
782
+ repositories.inspect,
783
+ )
664
784
  self.list_inspections = async_to_raw_response_wrapper(
665
785
  repositories.list_inspections,
666
786
  )
@@ -685,6 +805,9 @@ class RepositoriesResourceWithStreamingResponse:
685
805
  self.delete = to_streamed_response_wrapper(
686
806
  repositories.delete,
687
807
  )
808
+ self.inspect = to_streamed_response_wrapper(
809
+ repositories.inspect,
810
+ )
688
811
  self.list_inspections = to_streamed_response_wrapper(
689
812
  repositories.list_inspections,
690
813
  )
@@ -709,6 +832,9 @@ class AsyncRepositoriesResourceWithStreamingResponse:
709
832
  self.delete = async_to_streamed_response_wrapper(
710
833
  repositories.delete,
711
834
  )
835
+ self.inspect = async_to_streamed_response_wrapper(
836
+ repositories.inspect,
837
+ )
712
838
  self.list_inspections = async_to_streamed_response_wrapper(
713
839
  repositories.list_inspections,
714
840
  )
@@ -52,6 +52,7 @@ from .benchmark_create_params import BenchmarkCreateParams as BenchmarkCreatePar
52
52
  from .benchmark_run_list_view import BenchmarkRunListView as BenchmarkRunListView
53
53
  from .benchmark_update_params import BenchmarkUpdateParams as BenchmarkUpdateParams
54
54
  from .blueprint_create_params import BlueprintCreateParams as BlueprintCreateParams
55
+ from .inspection_source_param import InspectionSourceParam as InspectionSourceParam
55
56
  from .blueprint_preview_params import BlueprintPreviewParams as BlueprintPreviewParams
56
57
  from .object_download_url_view import ObjectDownloadURLView as ObjectDownloadURLView
57
58
  from .repository_create_params import RepositoryCreateParams as RepositoryCreateParams
@@ -59,6 +60,7 @@ from .repository_manifest_view import RepositoryManifestView as RepositoryManife
59
60
  from .devbox_snapshot_list_view import DevboxSnapshotListView as DevboxSnapshotListView
60
61
  from .devbox_upload_file_params import DevboxUploadFileParams as DevboxUploadFileParams
61
62
  from .object_list_public_params import ObjectListPublicParams as ObjectListPublicParams
63
+ from .repository_inspect_params import RepositoryInspectParams as RepositoryInspectParams
62
64
  from .repository_refresh_params import RepositoryRefreshParams as RepositoryRefreshParams
63
65
  from .scenario_start_run_params import ScenarioStartRunParams as ScenarioStartRunParams
64
66
  from .benchmark_start_run_params import BenchmarkStartRunParams as BenchmarkStartRunParams
@@ -93,3 +95,6 @@ from .devbox_snapshot_disk_async_params import DevboxSnapshotDiskAsyncParams as
93
95
  from .devbox_write_file_contents_params import DevboxWriteFileContentsParams as DevboxWriteFileContentsParams
94
96
  from .devbox_async_execution_detail_view import DevboxAsyncExecutionDetailView as DevboxAsyncExecutionDetailView
95
97
  from .devbox_read_file_contents_response import DevboxReadFileContentsResponse as DevboxReadFileContentsResponse
98
+ from .blueprint_create_from_inspection_params import (
99
+ BlueprintCreateFromInspectionParams as BlueprintCreateFromInspectionParams,
100
+ )
@@ -0,0 +1,36 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Dict, Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ from .._types import SequenceNotStr
9
+ from .inspection_source_param import InspectionSourceParam
10
+ from .shared_params.launch_parameters import LaunchParameters
11
+
12
+ __all__ = ["BlueprintCreateFromInspectionParams"]
13
+
14
+
15
+ class BlueprintCreateFromInspectionParams(TypedDict, total=False):
16
+ inspection_source: Required[InspectionSourceParam]
17
+ """(Optional) Use a RepositoryInspection a source of a Blueprint build.
18
+
19
+ The Dockerfile will be automatically created based on the RepositoryInspection
20
+ contents.
21
+ """
22
+
23
+ name: Required[str]
24
+ """Name of the Blueprint."""
25
+
26
+ file_mounts: Optional[Dict[str, str]]
27
+ """(Optional) Map of paths and file contents to write before setup."""
28
+
29
+ launch_parameters: Optional[LaunchParameters]
30
+ """Parameters to configure your Devbox at launch time."""
31
+
32
+ metadata: Optional[Dict[str, str]]
33
+ """(Optional) User defined metadata for the Blueprint."""
34
+
35
+ system_setup_commands: Optional[SequenceNotStr[str]]
36
+ """A list of commands to run to set up your system."""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import Required, TypedDict
7
+
8
+ __all__ = ["InspectionSourceParam"]
9
+
10
+
11
+ class InspectionSourceParam(TypedDict, total=False):
12
+ inspection_id: Required[str]
13
+ """The ID of a repository inspection."""
14
+
15
+ github_auth_token: Optional[str]
16
+ """GitHub authentication token for accessing private repositories."""
@@ -0,0 +1,16 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ __all__ = ["RepositoryInspectParams"]
9
+
10
+
11
+ class RepositoryInspectParams(TypedDict, total=False):
12
+ blueprint_id: Optional[str]
13
+ """ID of blueprint to use as base for resulting RepositoryVersion blueprint."""
14
+
15
+ github_auth_token: Optional[str]
16
+ """GitHub authentication token for accessing private repositories."""