runloop-api-client 0.41.0__tar.gz → 0.42.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 (286) hide show
  1. runloop_api_client-0.42.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/CHANGELOG.md +8 -0
  3. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/api.md +20 -0
  5. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_client.py +9 -1
  7. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_version.py +1 -1
  8. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/__init__.py +14 -0
  9. runloop_api_client-0.42.0/src/runloop_api_client/resources/secrets.py +468 -0
  10. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/__init__.py +4 -0
  11. runloop_api_client-0.42.0/src/runloop_api_client/types/secret_create_params.py +23 -0
  12. runloop_api_client-0.42.0/src/runloop_api_client/types/secret_list_view.py +22 -0
  13. runloop_api_client-0.42.0/src/runloop_api_client/types/secret_update_params.py +16 -0
  14. runloop_api_client-0.42.0/src/runloop_api_client/types/secret_view.py +22 -0
  15. runloop_api_client-0.42.0/tests/api_resources/test_secrets.py +300 -0
  16. runloop_api_client-0.41.0/.release-please-manifest.json +0 -3
  17. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/.gitignore +0 -0
  18. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/CONTRIBUTING.md +0 -0
  19. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/LICENSE +0 -0
  20. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/README.md +0 -0
  21. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/SECURITY.md +0 -0
  22. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/bin/check-release-environment +0 -0
  23. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/bin/publish-pypi +0 -0
  24. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/examples/.keep +0 -0
  25. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/mypy.ini +0 -0
  26. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/noxfile.py +0 -0
  27. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/release-please-config.json +0 -0
  28. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/requirements-dev.lock +0 -0
  29. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/requirements.lock +0 -0
  30. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop/lib/.keep +0 -0
  31. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/__init__.py +0 -0
  32. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_base_client.py +0 -0
  33. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_compat.py +0 -0
  34. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_constants.py +0 -0
  35. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_exceptions.py +0 -0
  36. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_files.py +0 -0
  37. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_models.py +0 -0
  38. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_qs.py +0 -0
  39. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_resource.py +0 -0
  40. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_response.py +0 -0
  41. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_streaming.py +0 -0
  42. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_types.py +0 -0
  43. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  44. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  45. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  46. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  47. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  48. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  49. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  50. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  51. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  52. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  53. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/lib/.keep +0 -0
  54. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/lib/polling.py +0 -0
  55. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  56. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/pagination.py +0 -0
  57. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/py.typed +0 -0
  58. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  59. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  60. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  61. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  62. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  63. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  64. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  65. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  66. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  67. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  68. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  69. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  70. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/repositories.py +0 -0
  71. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  72. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/scenarios/runs.py +0 -0
  73. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/scenarios/scenarios.py +0 -0
  74. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  75. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  76. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  77. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  78. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  79. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  80. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  81. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  82. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  83. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  84. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  85. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  86. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  87. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  88. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  89. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  90. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  91. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  92. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  93. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  94. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  95. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  96. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  97. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  98. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  99. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  100. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  101. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  102. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  103. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  104. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  105. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  106. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  107. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  108. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  109. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  110. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  111. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  112. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  113. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  114. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  115. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  116. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  117. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  118. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  119. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  120. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  121. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  122. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  123. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  124. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  125. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  126. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  127. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  128. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  129. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  130. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  131. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  132. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  133. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  134. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  135. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  136. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  137. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  138. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  139. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
  140. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  141. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  142. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  143. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  144. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  145. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  146. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  147. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  148. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  149. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  150. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  151. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  152. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  153. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  154. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  155. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  156. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  157. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  158. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  159. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  160. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
  161. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  162. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  163. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  164. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  165. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  166. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
  167. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  168. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  169. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
  170. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  171. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  172. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  173. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  174. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  175. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  176. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  177. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  178. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  179. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  180. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  181. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  182. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  183. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  184. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  185. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  186. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  187. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  188. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  189. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  190. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  191. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  192. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  193. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  194. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  195. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  196. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
  197. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  198. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  199. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  200. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  201. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  202. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  203. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  204. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  205. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  206. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/input_context.py +0 -0
  207. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  208. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  209. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  210. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  211. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  212. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  213. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  214. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  215. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  216. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  217. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  218. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  219. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  220. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  221. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  222. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  223. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  224. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  225. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_update_params.py +0 -0
  226. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  227. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  228. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  229. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  230. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  231. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  232. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  233. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  234. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  235. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  236. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  237. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  238. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  239. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  240. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  241. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  242. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  243. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  244. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  245. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  246. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  247. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  248. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  249. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  250. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  251. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  252. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/__init__.py +0 -0
  253. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/__init__.py +0 -0
  254. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  255. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  256. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/__init__.py +0 -0
  257. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  258. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  259. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  260. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  261. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  262. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  263. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/scenarios/__init__.py +0 -0
  264. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  265. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  266. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/test_benchmarks.py +0 -0
  267. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/test_blueprints.py +0 -0
  268. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/test_devboxes.py +0 -0
  269. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/test_repositories.py +0 -0
  270. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/api_resources/test_scenarios.py +0 -0
  271. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/conftest.py +0 -0
  272. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/sample_file.txt +0 -0
  273. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_client.py +0 -0
  274. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_deepcopy.py +0 -0
  275. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_extract_files.py +0 -0
  276. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_files.py +0 -0
  277. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_models.py +0 -0
  278. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_qs.py +0 -0
  279. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_required_args.py +0 -0
  280. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_response.py +0 -0
  281. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_streaming.py +0 -0
  282. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_transform.py +0 -0
  283. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_utils/test_proxy.py +0 -0
  284. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/test_utils/test_typing.py +0 -0
  285. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/tests/utils.py +0 -0
  286. {runloop_api_client-0.41.0 → runloop_api_client-0.42.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.42.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.42.0 (2025-06-11)
4
+
5
+ Full Changelog: [v0.41.0...v0.42.0](https://github.com/runloopai/api-client-python/compare/v0.41.0...v0.42.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([6cdcab7](https://github.com/runloopai/api-client-python/commit/6cdcab70311f7344b28867e1bc0310370618dac8))
10
+
3
11
  ## 0.41.0 (2025-06-10)
4
12
 
5
13
  Full Changelog: [v0.40.0...v0.41.0](https://github.com/runloopai/api-client-python/compare/v0.40.0...v0.41.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.41.0
3
+ Version: 0.42.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
@@ -340,3 +340,23 @@ Methods:
340
340
  - <code title="post /v1/repositories/{id}/delete">client.repositories.<a href="./src/runloop_api_client/resources/repositories.py">delete</a>(id) -> object</code>
341
341
  - <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>
342
342
  - <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>
343
+
344
+ # Secrets
345
+
346
+ Types:
347
+
348
+ ```python
349
+ from runloop_api_client.types import (
350
+ SecretCreateParameters,
351
+ SecretListView,
352
+ SecretUpdateParameters,
353
+ SecretView,
354
+ )
355
+ ```
356
+
357
+ Methods:
358
+
359
+ - <code title="post /v1/secrets">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">create</a>(\*\*<a href="src/runloop_api_client/types/secret_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
360
+ - <code title="post /v1/secrets/{name}">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">update</a>(name, \*\*<a href="src/runloop_api_client/types/secret_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
361
+ - <code title="get /v1/secrets">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">list</a>() -> <a href="./src/runloop_api_client/types/secret_list_view.py">SecretListView</a></code>
362
+ - <code title="post /v1/secrets/{name}/delete">client.secrets.<a href="./src/runloop_api_client/resources/secrets.py">delete</a>(name) -> <a href="./src/runloop_api_client/types/secret_view.py">SecretView</a></code>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.41.0"
3
+ version = "0.42.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -21,7 +21,7 @@ from ._types import (
21
21
  )
22
22
  from ._utils import is_given, get_async_library
23
23
  from ._version import __version__
24
- from .resources import blueprints, repositories
24
+ from .resources import secrets, blueprints, repositories
25
25
  from ._streaming import Stream as Stream, AsyncStream as AsyncStream
26
26
  from ._exceptions import RunloopError, APIStatusError
27
27
  from ._base_client import (
@@ -42,6 +42,7 @@ class Runloop(SyncAPIClient):
42
42
  devboxes: devboxes.DevboxesResource
43
43
  scenarios: scenarios.ScenariosResource
44
44
  repositories: repositories.RepositoriesResource
45
+ secrets: secrets.SecretsResource
45
46
  with_raw_response: RunloopWithRawResponse
46
47
  with_streaming_response: RunloopWithStreamedResponse
47
48
 
@@ -106,6 +107,7 @@ class Runloop(SyncAPIClient):
106
107
  self.devboxes = devboxes.DevboxesResource(self)
107
108
  self.scenarios = scenarios.ScenariosResource(self)
108
109
  self.repositories = repositories.RepositoriesResource(self)
110
+ self.secrets = secrets.SecretsResource(self)
109
111
  self.with_raw_response = RunloopWithRawResponse(self)
110
112
  self.with_streaming_response = RunloopWithStreamedResponse(self)
111
113
 
@@ -220,6 +222,7 @@ class AsyncRunloop(AsyncAPIClient):
220
222
  devboxes: devboxes.AsyncDevboxesResource
221
223
  scenarios: scenarios.AsyncScenariosResource
222
224
  repositories: repositories.AsyncRepositoriesResource
225
+ secrets: secrets.AsyncSecretsResource
223
226
  with_raw_response: AsyncRunloopWithRawResponse
224
227
  with_streaming_response: AsyncRunloopWithStreamedResponse
225
228
 
@@ -284,6 +287,7 @@ class AsyncRunloop(AsyncAPIClient):
284
287
  self.devboxes = devboxes.AsyncDevboxesResource(self)
285
288
  self.scenarios = scenarios.AsyncScenariosResource(self)
286
289
  self.repositories = repositories.AsyncRepositoriesResource(self)
290
+ self.secrets = secrets.AsyncSecretsResource(self)
287
291
  self.with_raw_response = AsyncRunloopWithRawResponse(self)
288
292
  self.with_streaming_response = AsyncRunloopWithStreamedResponse(self)
289
293
 
@@ -399,6 +403,7 @@ class RunloopWithRawResponse:
399
403
  self.devboxes = devboxes.DevboxesResourceWithRawResponse(client.devboxes)
400
404
  self.scenarios = scenarios.ScenariosResourceWithRawResponse(client.scenarios)
401
405
  self.repositories = repositories.RepositoriesResourceWithRawResponse(client.repositories)
406
+ self.secrets = secrets.SecretsResourceWithRawResponse(client.secrets)
402
407
 
403
408
 
404
409
  class AsyncRunloopWithRawResponse:
@@ -408,6 +413,7 @@ class AsyncRunloopWithRawResponse:
408
413
  self.devboxes = devboxes.AsyncDevboxesResourceWithRawResponse(client.devboxes)
409
414
  self.scenarios = scenarios.AsyncScenariosResourceWithRawResponse(client.scenarios)
410
415
  self.repositories = repositories.AsyncRepositoriesResourceWithRawResponse(client.repositories)
416
+ self.secrets = secrets.AsyncSecretsResourceWithRawResponse(client.secrets)
411
417
 
412
418
 
413
419
  class RunloopWithStreamedResponse:
@@ -417,6 +423,7 @@ class RunloopWithStreamedResponse:
417
423
  self.devboxes = devboxes.DevboxesResourceWithStreamingResponse(client.devboxes)
418
424
  self.scenarios = scenarios.ScenariosResourceWithStreamingResponse(client.scenarios)
419
425
  self.repositories = repositories.RepositoriesResourceWithStreamingResponse(client.repositories)
426
+ self.secrets = secrets.SecretsResourceWithStreamingResponse(client.secrets)
420
427
 
421
428
 
422
429
  class AsyncRunloopWithStreamedResponse:
@@ -426,6 +433,7 @@ class AsyncRunloopWithStreamedResponse:
426
433
  self.devboxes = devboxes.AsyncDevboxesResourceWithStreamingResponse(client.devboxes)
427
434
  self.scenarios = scenarios.AsyncScenariosResourceWithStreamingResponse(client.scenarios)
428
435
  self.repositories = repositories.AsyncRepositoriesResourceWithStreamingResponse(client.repositories)
436
+ self.secrets = secrets.AsyncSecretsResourceWithStreamingResponse(client.secrets)
429
437
 
430
438
 
431
439
  Client = Runloop
@@ -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.41.0" # x-release-please-version
4
+ __version__ = "0.42.0" # x-release-please-version
@@ -1,5 +1,13 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
+ from .secrets import (
4
+ SecretsResource,
5
+ AsyncSecretsResource,
6
+ SecretsResourceWithRawResponse,
7
+ AsyncSecretsResourceWithRawResponse,
8
+ SecretsResourceWithStreamingResponse,
9
+ AsyncSecretsResourceWithStreamingResponse,
10
+ )
3
11
  from .devboxes import (
4
12
  DevboxesResource,
5
13
  AsyncDevboxesResource,
@@ -72,4 +80,10 @@ __all__ = [
72
80
  "AsyncRepositoriesResourceWithRawResponse",
73
81
  "RepositoriesResourceWithStreamingResponse",
74
82
  "AsyncRepositoriesResourceWithStreamingResponse",
83
+ "SecretsResource",
84
+ "AsyncSecretsResource",
85
+ "SecretsResourceWithRawResponse",
86
+ "AsyncSecretsResourceWithRawResponse",
87
+ "SecretsResourceWithStreamingResponse",
88
+ "AsyncSecretsResourceWithStreamingResponse",
75
89
  ]
@@ -0,0 +1,468 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..types import secret_create_params, secret_update_params
8
+ from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven
9
+ from .._utils import maybe_transform, async_maybe_transform
10
+ from .._compat import cached_property
11
+ from .._resource import SyncAPIResource, AsyncAPIResource
12
+ from .._response import (
13
+ to_raw_response_wrapper,
14
+ to_streamed_response_wrapper,
15
+ async_to_raw_response_wrapper,
16
+ async_to_streamed_response_wrapper,
17
+ )
18
+ from .._base_client import make_request_options
19
+ from ..types.secret_view import SecretView
20
+ from ..types.secret_list_view import SecretListView
21
+
22
+ __all__ = ["SecretsResource", "AsyncSecretsResource"]
23
+
24
+
25
+ class SecretsResource(SyncAPIResource):
26
+ @cached_property
27
+ def with_raw_response(self) -> SecretsResourceWithRawResponse:
28
+ """
29
+ This property can be used as a prefix for any HTTP method call to return
30
+ the raw response object instead of the parsed content.
31
+
32
+ For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
33
+ """
34
+ return SecretsResourceWithRawResponse(self)
35
+
36
+ @cached_property
37
+ def with_streaming_response(self) -> SecretsResourceWithStreamingResponse:
38
+ """
39
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
40
+
41
+ For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
42
+ """
43
+ return SecretsResourceWithStreamingResponse(self)
44
+
45
+ def create(
46
+ self,
47
+ *,
48
+ name: str,
49
+ value: str,
50
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
51
+ # The extra values given here take precedence over values defined on the client or passed to this method.
52
+ extra_headers: Headers | None = None,
53
+ extra_query: Query | None = None,
54
+ extra_body: Body | None = None,
55
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
56
+ idempotency_key: str | None = None,
57
+ ) -> SecretView:
58
+ """Create a new Secret with a globally unique name and value.
59
+
60
+ The Secret will be
61
+ encrypted at rest and made available as an environment variable in Devboxes.
62
+
63
+ Args:
64
+ name: The globally unique name for the Secret. Must be a valid environment variable
65
+ name (alphanumeric and underscores only). Example: 'DATABASE_PASSWORD'
66
+
67
+ value: The value to store for this Secret. This will be encrypted at rest and made
68
+ available as an environment variable in Devboxes. Example: 'my-secure-password'
69
+
70
+ extra_headers: Send extra headers
71
+
72
+ extra_query: Add additional query parameters to the request
73
+
74
+ extra_body: Add additional JSON properties to the request
75
+
76
+ timeout: Override the client-level default timeout for this request, in seconds
77
+
78
+ idempotency_key: Specify a custom idempotency key for this request
79
+ """
80
+ return self._post(
81
+ "/v1/secrets",
82
+ body=maybe_transform(
83
+ {
84
+ "name": name,
85
+ "value": value,
86
+ },
87
+ secret_create_params.SecretCreateParams,
88
+ ),
89
+ options=make_request_options(
90
+ extra_headers=extra_headers,
91
+ extra_query=extra_query,
92
+ extra_body=extra_body,
93
+ timeout=timeout,
94
+ idempotency_key=idempotency_key,
95
+ ),
96
+ cast_to=SecretView,
97
+ )
98
+
99
+ def update(
100
+ self,
101
+ name: str,
102
+ *,
103
+ value: str,
104
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
105
+ # The extra values given here take precedence over values defined on the client or passed to this method.
106
+ extra_headers: Headers | None = None,
107
+ extra_query: Query | None = None,
108
+ extra_body: Body | None = None,
109
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
110
+ idempotency_key: str | None = None,
111
+ ) -> SecretView:
112
+ """Update the value of an existing Secret by name.
113
+
114
+ The new value will be encrypted
115
+ at rest.
116
+
117
+ Args:
118
+ value: The new value for the Secret. This will replace the existing value and be
119
+ encrypted at rest. Example: 'my-updated-secure-password'
120
+
121
+ extra_headers: Send extra headers
122
+
123
+ extra_query: Add additional query parameters to the request
124
+
125
+ extra_body: Add additional JSON properties to the request
126
+
127
+ timeout: Override the client-level default timeout for this request, in seconds
128
+
129
+ idempotency_key: Specify a custom idempotency key for this request
130
+ """
131
+ if not name:
132
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
133
+ return self._post(
134
+ f"/v1/secrets/{name}",
135
+ body=maybe_transform({"value": value}, secret_update_params.SecretUpdateParams),
136
+ options=make_request_options(
137
+ extra_headers=extra_headers,
138
+ extra_query=extra_query,
139
+ extra_body=extra_body,
140
+ timeout=timeout,
141
+ idempotency_key=idempotency_key,
142
+ ),
143
+ cast_to=SecretView,
144
+ )
145
+
146
+ def list(
147
+ self,
148
+ *,
149
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
150
+ # The extra values given here take precedence over values defined on the client or passed to this method.
151
+ extra_headers: Headers | None = None,
152
+ extra_query: Query | None = None,
153
+ extra_body: Body | None = None,
154
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
155
+ ) -> SecretListView:
156
+ """List all Secrets for the authenticated account.
157
+
158
+ Secret values are not included
159
+ for security reasons.
160
+ """
161
+ return self._get(
162
+ "/v1/secrets",
163
+ options=make_request_options(
164
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
165
+ ),
166
+ cast_to=SecretListView,
167
+ )
168
+
169
+ def delete(
170
+ self,
171
+ name: str,
172
+ *,
173
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
174
+ # The extra values given here take precedence over values defined on the client or passed to this method.
175
+ extra_headers: Headers | None = None,
176
+ extra_query: Query | None = None,
177
+ extra_body: Body | None = None,
178
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
179
+ idempotency_key: str | None = None,
180
+ ) -> SecretView:
181
+ """Delete an existing Secret by name.
182
+
183
+ This action is irreversible and will remove
184
+ the Secret from all Devboxes.
185
+
186
+ Args:
187
+ extra_headers: Send extra headers
188
+
189
+ extra_query: Add additional query parameters to the request
190
+
191
+ extra_body: Add additional JSON properties to the request
192
+
193
+ timeout: Override the client-level default timeout for this request, in seconds
194
+
195
+ idempotency_key: Specify a custom idempotency key for this request
196
+ """
197
+ if not name:
198
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
199
+ return self._post(
200
+ f"/v1/secrets/{name}/delete",
201
+ options=make_request_options(
202
+ extra_headers=extra_headers,
203
+ extra_query=extra_query,
204
+ extra_body=extra_body,
205
+ timeout=timeout,
206
+ idempotency_key=idempotency_key,
207
+ ),
208
+ cast_to=SecretView,
209
+ )
210
+
211
+
212
+ class AsyncSecretsResource(AsyncAPIResource):
213
+ @cached_property
214
+ def with_raw_response(self) -> AsyncSecretsResourceWithRawResponse:
215
+ """
216
+ This property can be used as a prefix for any HTTP method call to return
217
+ the raw response object instead of the parsed content.
218
+
219
+ For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
220
+ """
221
+ return AsyncSecretsResourceWithRawResponse(self)
222
+
223
+ @cached_property
224
+ def with_streaming_response(self) -> AsyncSecretsResourceWithStreamingResponse:
225
+ """
226
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
227
+
228
+ For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
229
+ """
230
+ return AsyncSecretsResourceWithStreamingResponse(self)
231
+
232
+ async def create(
233
+ self,
234
+ *,
235
+ name: str,
236
+ value: str,
237
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
238
+ # The extra values given here take precedence over values defined on the client or passed to this method.
239
+ extra_headers: Headers | None = None,
240
+ extra_query: Query | None = None,
241
+ extra_body: Body | None = None,
242
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
243
+ idempotency_key: str | None = None,
244
+ ) -> SecretView:
245
+ """Create a new Secret with a globally unique name and value.
246
+
247
+ The Secret will be
248
+ encrypted at rest and made available as an environment variable in Devboxes.
249
+
250
+ Args:
251
+ name: The globally unique name for the Secret. Must be a valid environment variable
252
+ name (alphanumeric and underscores only). Example: 'DATABASE_PASSWORD'
253
+
254
+ value: The value to store for this Secret. This will be encrypted at rest and made
255
+ available as an environment variable in Devboxes. Example: 'my-secure-password'
256
+
257
+ extra_headers: Send extra headers
258
+
259
+ extra_query: Add additional query parameters to the request
260
+
261
+ extra_body: Add additional JSON properties to the request
262
+
263
+ timeout: Override the client-level default timeout for this request, in seconds
264
+
265
+ idempotency_key: Specify a custom idempotency key for this request
266
+ """
267
+ return await self._post(
268
+ "/v1/secrets",
269
+ body=await async_maybe_transform(
270
+ {
271
+ "name": name,
272
+ "value": value,
273
+ },
274
+ secret_create_params.SecretCreateParams,
275
+ ),
276
+ options=make_request_options(
277
+ extra_headers=extra_headers,
278
+ extra_query=extra_query,
279
+ extra_body=extra_body,
280
+ timeout=timeout,
281
+ idempotency_key=idempotency_key,
282
+ ),
283
+ cast_to=SecretView,
284
+ )
285
+
286
+ async def update(
287
+ self,
288
+ name: str,
289
+ *,
290
+ value: str,
291
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
292
+ # The extra values given here take precedence over values defined on the client or passed to this method.
293
+ extra_headers: Headers | None = None,
294
+ extra_query: Query | None = None,
295
+ extra_body: Body | None = None,
296
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
297
+ idempotency_key: str | None = None,
298
+ ) -> SecretView:
299
+ """Update the value of an existing Secret by name.
300
+
301
+ The new value will be encrypted
302
+ at rest.
303
+
304
+ Args:
305
+ value: The new value for the Secret. This will replace the existing value and be
306
+ encrypted at rest. Example: 'my-updated-secure-password'
307
+
308
+ extra_headers: Send extra headers
309
+
310
+ extra_query: Add additional query parameters to the request
311
+
312
+ extra_body: Add additional JSON properties to the request
313
+
314
+ timeout: Override the client-level default timeout for this request, in seconds
315
+
316
+ idempotency_key: Specify a custom idempotency key for this request
317
+ """
318
+ if not name:
319
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
320
+ return await self._post(
321
+ f"/v1/secrets/{name}",
322
+ body=await async_maybe_transform({"value": value}, secret_update_params.SecretUpdateParams),
323
+ options=make_request_options(
324
+ extra_headers=extra_headers,
325
+ extra_query=extra_query,
326
+ extra_body=extra_body,
327
+ timeout=timeout,
328
+ idempotency_key=idempotency_key,
329
+ ),
330
+ cast_to=SecretView,
331
+ )
332
+
333
+ async def list(
334
+ self,
335
+ *,
336
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
337
+ # The extra values given here take precedence over values defined on the client or passed to this method.
338
+ extra_headers: Headers | None = None,
339
+ extra_query: Query | None = None,
340
+ extra_body: Body | None = None,
341
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
342
+ ) -> SecretListView:
343
+ """List all Secrets for the authenticated account.
344
+
345
+ Secret values are not included
346
+ for security reasons.
347
+ """
348
+ return await self._get(
349
+ "/v1/secrets",
350
+ options=make_request_options(
351
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
352
+ ),
353
+ cast_to=SecretListView,
354
+ )
355
+
356
+ async def delete(
357
+ self,
358
+ name: str,
359
+ *,
360
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
361
+ # The extra values given here take precedence over values defined on the client or passed to this method.
362
+ extra_headers: Headers | None = None,
363
+ extra_query: Query | None = None,
364
+ extra_body: Body | None = None,
365
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
366
+ idempotency_key: str | None = None,
367
+ ) -> SecretView:
368
+ """Delete an existing Secret by name.
369
+
370
+ This action is irreversible and will remove
371
+ the Secret from all Devboxes.
372
+
373
+ Args:
374
+ extra_headers: Send extra headers
375
+
376
+ extra_query: Add additional query parameters to the request
377
+
378
+ extra_body: Add additional JSON properties to the request
379
+
380
+ timeout: Override the client-level default timeout for this request, in seconds
381
+
382
+ idempotency_key: Specify a custom idempotency key for this request
383
+ """
384
+ if not name:
385
+ raise ValueError(f"Expected a non-empty value for `name` but received {name!r}")
386
+ return await self._post(
387
+ f"/v1/secrets/{name}/delete",
388
+ options=make_request_options(
389
+ extra_headers=extra_headers,
390
+ extra_query=extra_query,
391
+ extra_body=extra_body,
392
+ timeout=timeout,
393
+ idempotency_key=idempotency_key,
394
+ ),
395
+ cast_to=SecretView,
396
+ )
397
+
398
+
399
+ class SecretsResourceWithRawResponse:
400
+ def __init__(self, secrets: SecretsResource) -> None:
401
+ self._secrets = secrets
402
+
403
+ self.create = to_raw_response_wrapper(
404
+ secrets.create,
405
+ )
406
+ self.update = to_raw_response_wrapper(
407
+ secrets.update,
408
+ )
409
+ self.list = to_raw_response_wrapper(
410
+ secrets.list,
411
+ )
412
+ self.delete = to_raw_response_wrapper(
413
+ secrets.delete,
414
+ )
415
+
416
+
417
+ class AsyncSecretsResourceWithRawResponse:
418
+ def __init__(self, secrets: AsyncSecretsResource) -> None:
419
+ self._secrets = secrets
420
+
421
+ self.create = async_to_raw_response_wrapper(
422
+ secrets.create,
423
+ )
424
+ self.update = async_to_raw_response_wrapper(
425
+ secrets.update,
426
+ )
427
+ self.list = async_to_raw_response_wrapper(
428
+ secrets.list,
429
+ )
430
+ self.delete = async_to_raw_response_wrapper(
431
+ secrets.delete,
432
+ )
433
+
434
+
435
+ class SecretsResourceWithStreamingResponse:
436
+ def __init__(self, secrets: SecretsResource) -> None:
437
+ self._secrets = secrets
438
+
439
+ self.create = to_streamed_response_wrapper(
440
+ secrets.create,
441
+ )
442
+ self.update = to_streamed_response_wrapper(
443
+ secrets.update,
444
+ )
445
+ self.list = to_streamed_response_wrapper(
446
+ secrets.list,
447
+ )
448
+ self.delete = to_streamed_response_wrapper(
449
+ secrets.delete,
450
+ )
451
+
452
+
453
+ class AsyncSecretsResourceWithStreamingResponse:
454
+ def __init__(self, secrets: AsyncSecretsResource) -> None:
455
+ self._secrets = secrets
456
+
457
+ self.create = async_to_streamed_response_wrapper(
458
+ secrets.create,
459
+ )
460
+ self.update = async_to_streamed_response_wrapper(
461
+ secrets.update,
462
+ )
463
+ self.list = async_to_streamed_response_wrapper(
464
+ secrets.list,
465
+ )
466
+ self.delete = async_to_streamed_response_wrapper(
467
+ secrets.delete,
468
+ )
@@ -8,6 +8,7 @@ from .shared import (
8
8
  CodeMountParameters as CodeMountParameters,
9
9
  )
10
10
  from .devbox_view import DevboxView as DevboxView
11
+ from .secret_view import SecretView as SecretView
11
12
  from .input_context import InputContext as InputContext
12
13
  from .scenario_view import ScenarioView as ScenarioView
13
14
  from .benchmark_view import BenchmarkView as BenchmarkView
@@ -15,6 +16,7 @@ from .blueprint_view import BlueprintView as BlueprintView
15
16
  from .devbox_list_view import DevboxListView as DevboxListView
16
17
  from .scoring_contract import ScoringContract as ScoringContract
17
18
  from .scoring_function import ScoringFunction as ScoringFunction
19
+ from .secret_list_view import SecretListView as SecretListView
18
20
  from .scenario_run_view import ScenarioRunView as ScenarioRunView
19
21
  from .benchmark_run_view import BenchmarkRunView as BenchmarkRunView
20
22
  from .devbox_list_params import DevboxListParams as DevboxListParams
@@ -27,6 +29,8 @@ from .devbox_snapshot_view import DevboxSnapshotView as DevboxSnapshotView
27
29
  from .devbox_update_params import DevboxUpdateParams as DevboxUpdateParams
28
30
  from .scenario_environment import ScenarioEnvironment as ScenarioEnvironment
29
31
  from .scenario_list_params import ScenarioListParams as ScenarioListParams
32
+ from .secret_create_params import SecretCreateParams as SecretCreateParams
33
+ from .secret_update_params import SecretUpdateParams as SecretUpdateParams
30
34
  from .benchmark_list_params import BenchmarkListParams as BenchmarkListParams
31
35
  from .blueprint_list_params import BlueprintListParams as BlueprintListParams
32
36
  from .blueprint_preview_view import BlueprintPreviewView as BlueprintPreviewView
@@ -0,0 +1,23 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing_extensions import Required, TypedDict
6
+
7
+ __all__ = ["SecretCreateParams"]
8
+
9
+
10
+ class SecretCreateParams(TypedDict, total=False):
11
+ name: Required[str]
12
+ """The globally unique name for the Secret.
13
+
14
+ Must be a valid environment variable name (alphanumeric and underscores only).
15
+ Example: 'DATABASE_PASSWORD'
16
+ """
17
+
18
+ value: Required[str]
19
+ """The value to store for this Secret.
20
+
21
+ This will be encrypted at rest and made available as an environment variable in
22
+ Devboxes. Example: 'my-secure-password'
23
+ """