runloop-api-client 0.44.0__tar.gz → 0.46.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 (288) hide show
  1. runloop_api_client-0.46.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/CHANGELOG.md +34 -0
  3. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/PKG-INFO +4 -4
  4. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/README.md +3 -3
  5. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/api.md +3 -0
  6. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/bin/check-release-environment +1 -1
  7. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/pyproject.toml +1 -1
  8. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_constants.py +4 -4
  9. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_version.py +1 -1
  10. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/devboxes.py +16 -0
  11. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/executions.py +6 -1
  12. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/scenarios/runs.py +108 -0
  13. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/scenarios/scenarios.py +6 -4
  14. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/__init__.py +2 -0
  15. runloop_api_client-0.46.0/src/runloop_api_client/types/input_context_update_param.py +16 -0
  16. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_update_params.py +4 -4
  17. runloop_api_client-0.46.0/src/runloop_api_client/types/scoring_contract_update_param.py +15 -0
  18. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_function.py +3 -0
  19. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_function_param.py +3 -0
  20. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/scenarios/test_runs.py +120 -0
  21. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_client.py +6 -4
  22. runloop_api_client-0.44.0/.release-please-manifest.json +0 -3
  23. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/.gitignore +0 -0
  24. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/CONTRIBUTING.md +0 -0
  25. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/LICENSE +0 -0
  26. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/SECURITY.md +0 -0
  27. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/bin/publish-pypi +0 -0
  28. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/examples/.keep +0 -0
  29. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/mypy.ini +0 -0
  30. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/noxfile.py +0 -0
  31. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/release-please-config.json +0 -0
  32. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/requirements-dev.lock +0 -0
  33. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/requirements.lock +0 -0
  34. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop/lib/.keep +0 -0
  35. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/__init__.py +0 -0
  36. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_base_client.py +0 -0
  37. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_client.py +0 -0
  38. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_compat.py +0 -0
  39. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_exceptions.py +0 -0
  40. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_files.py +0 -0
  41. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_models.py +0 -0
  42. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_qs.py +0 -0
  43. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_resource.py +0 -0
  44. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_response.py +0 -0
  45. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_streaming.py +0 -0
  46. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_types.py +0 -0
  47. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  48. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  49. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  50. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  51. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_resources_proxy.py +0 -0
  52. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  53. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  54. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  55. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  56. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  57. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/lib/.keep +0 -0
  58. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/lib/polling.py +0 -0
  59. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  60. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/pagination.py +0 -0
  61. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/py.typed +0 -0
  62. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/__init__.py +0 -0
  63. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  64. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +0 -0
  65. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  66. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  67. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  68. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  69. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  70. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/disk_snapshots.py +0 -0
  71. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  72. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  73. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/repositories.py +0 -0
  74. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  75. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/scenarios/scorers.py +0 -0
  76. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/resources/secrets.py +0 -0
  77. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  78. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_definitions_params.py +0 -0
  79. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  80. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_list_public_params.py +0 -0
  81. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  82. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  83. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  84. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_update_params.py +0 -0
  85. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  86. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  87. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  88. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/benchmarks/run_list_scenario_runs_params.py +0 -0
  89. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  90. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  91. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  92. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  93. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  94. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  95. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  96. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  97. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  98. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  99. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  100. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  101. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  102. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  103. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  104. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  105. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  106. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  107. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  108. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  109. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  110. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  111. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  112. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_snapshot_disk_async_params.py +0 -0
  113. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  114. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  115. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  116. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  117. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_update_params.py +0 -0
  118. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  119. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  120. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  121. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  122. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  123. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  124. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  125. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  126. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  127. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  128. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  129. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  130. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  131. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  132. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  133. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  134. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  135. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/browser_create_params.py +0 -0
  136. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  137. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  138. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  139. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  140. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  141. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_actions_response.py +0 -0
  142. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  143. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  144. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  145. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  146. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  147. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  148. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  149. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  150. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  151. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  152. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  153. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +0 -0
  154. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  155. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  156. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  157. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  158. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  159. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/disk_snapshot_list_params.py +0 -0
  160. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/disk_snapshot_update_params.py +0 -0
  161. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  162. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/document_symbol_response.py +0 -0
  163. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  164. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  165. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  166. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  167. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  168. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/file_definition_response.py +0 -0
  169. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  170. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  171. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/formatting_response.py +0 -0
  172. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  173. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  174. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  175. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  176. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  177. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  178. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  179. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  180. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  181. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  182. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  183. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  184. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  185. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  186. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  187. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  188. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  189. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  190. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  191. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  192. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  193. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  194. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  195. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  196. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  197. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  198. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/references_response.py +0 -0
  199. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  200. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  201. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  202. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  203. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  204. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  205. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  206. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  207. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  208. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/input_context.py +0 -0
  209. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  210. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  211. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  212. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  213. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_inspection_details.py +0 -0
  214. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_inspection_list_view.py +0 -0
  215. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  216. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_manifest_view.py +0 -0
  217. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/repository_refresh_params.py +0 -0
  218. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  219. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_definition_list_view.py +0 -0
  220. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  221. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  222. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_list_params.py +0 -0
  223. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_list_public_params.py +0 -0
  224. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  225. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  226. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  227. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  228. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  229. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  230. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_create_params.py +0 -0
  231. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_create_response.py +0 -0
  232. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_list_params.py +0 -0
  233. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_list_response.py +0 -0
  234. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +0 -0
  235. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_update_params.py +0 -0
  236. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_update_response.py +0 -0
  237. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_validate_params.py +0 -0
  238. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scenarios/scorer_validate_response.py +0 -0
  239. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  240. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  241. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  242. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  243. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/secret_create_params.py +0 -0
  244. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/secret_list_view.py +0 -0
  245. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/secret_update_params.py +0 -0
  246. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/secret_view.py +0 -0
  247. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  248. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  249. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  250. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  251. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  252. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  253. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  254. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  255. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/__init__.py +0 -0
  256. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/__init__.py +0 -0
  257. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  258. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  259. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/__init__.py +0 -0
  260. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  261. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  262. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_disk_snapshots.py +0 -0
  263. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  264. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  265. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  266. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/scenarios/__init__.py +0 -0
  267. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/scenarios/test_scorers.py +0 -0
  268. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_benchmarks.py +0 -0
  269. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_blueprints.py +0 -0
  270. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_devboxes.py +0 -0
  271. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_repositories.py +0 -0
  272. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_scenarios.py +2 -2
  273. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/api_resources/test_secrets.py +0 -0
  274. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/conftest.py +0 -0
  275. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/sample_file.txt +0 -0
  276. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_deepcopy.py +0 -0
  277. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_extract_files.py +0 -0
  278. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_files.py +0 -0
  279. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_models.py +0 -0
  280. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_qs.py +0 -0
  281. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_required_args.py +0 -0
  282. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_response.py +0 -0
  283. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_streaming.py +0 -0
  284. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_transform.py +0 -0
  285. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_utils/test_proxy.py +0 -0
  286. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/test_utils/test_typing.py +0 -0
  287. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/tests/utils.py +0 -0
  288. {runloop_api_client-0.44.0 → runloop_api_client-0.46.0}/uv.lock +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.46.0"
3
+ }
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.46.0 (2025-07-01)
4
+
5
+ Full Changelog: [v0.45.0...v0.46.0](https://github.com/runloopai/api-client-python/compare/v0.45.0...v0.46.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([f8b3493](https://github.com/runloopai/api-client-python/commit/f8b3493a584b10a91fe1e7d543fe4c0de406cf7d))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * **ci:** correct conditional ([2005e4f](https://github.com/runloopai/api-client-python/commit/2005e4ff9ca9bcb569ef4798bd490e036ad1afd5))
15
+ * **ci:** release-doctor — report correct token name ([41a600a](https://github.com/runloopai/api-client-python/commit/41a600aeceb84b5c32a7d771acc6acd1cca97b8e))
16
+
17
+
18
+ ### Chores
19
+
20
+ * **ci:** only run for pushes and fork pull requests ([c914e94](https://github.com/runloopai/api-client-python/commit/c914e94ea65e9d4180810cc3b816f4ab4a2a8e22))
21
+
22
+ ## 0.45.0 (2025-06-24)
23
+
24
+ Full Changelog: [v0.44.0...v0.45.0](https://github.com/runloopai/api-client-python/compare/v0.44.0...v0.45.0)
25
+
26
+ ### Features
27
+
28
+ * **api:** api update ([382b901](https://github.com/runloopai/api-client-python/commit/382b9018d26ce11e12d7143a84b80147be63ac2e))
29
+ * **api:** api update ([3f896cf](https://github.com/runloopai/api-client-python/commit/3f896cf907ef15fc2f0d01f681844eef0bca9479))
30
+ * **api:** api update ([9bb3abf](https://github.com/runloopai/api-client-python/commit/9bb3abf4b274d9e75940cc859eafd0f4f37027b8))
31
+
32
+
33
+ ### Chores
34
+
35
+ * **tests:** skip some failing tests on the latest python versions ([27007c0](https://github.com/runloopai/api-client-python/commit/27007c0a1500e80cc9ac93cb634021a7cfb569e6))
36
+
3
37
  ## 0.44.0 (2025-06-21)
4
38
 
5
39
  Full Changelog: [v0.43.0...v0.44.0](https://github.com/runloopai/api-client-python/compare/v0.43.0...v0.44.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: runloop_api_client
3
- Version: 0.44.0
3
+ Version: 0.46.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
@@ -279,7 +279,7 @@ Error codes are as follows:
279
279
 
280
280
  ### Retries
281
281
 
282
- Certain errors are automatically retried 0 times by default, with a short exponential backoff.
282
+ Certain errors are automatically retried 3 times by default, with a short exponential backoff.
283
283
  Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
284
284
  429 Rate Limit, and >=500 Internal errors are all retried by default.
285
285
 
@@ -300,7 +300,7 @@ client.with_options(max_retries=5).devboxes.create()
300
300
 
301
301
  ### Timeouts
302
302
 
303
- By default requests time out after 1 minute. You can configure this with a `timeout` option,
303
+ By default requests time out after 30 seconds. You can configure this with a `timeout` option,
304
304
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
305
305
 
306
306
  ```python
@@ -308,7 +308,7 @@ from runloop_api_client import Runloop
308
308
 
309
309
  # Configure the default for all requests:
310
310
  client = Runloop(
311
- # 20 seconds (default is 1 minute)
311
+ # 20 seconds (default is 30 seconds)
312
312
  timeout=20.0,
313
313
  )
314
314
 
@@ -245,7 +245,7 @@ Error codes are as follows:
245
245
 
246
246
  ### Retries
247
247
 
248
- Certain errors are automatically retried 0 times by default, with a short exponential backoff.
248
+ Certain errors are automatically retried 3 times by default, with a short exponential backoff.
249
249
  Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict,
250
250
  429 Rate Limit, and >=500 Internal errors are all retried by default.
251
251
 
@@ -266,7 +266,7 @@ client.with_options(max_retries=5).devboxes.create()
266
266
 
267
267
  ### Timeouts
268
268
 
269
- By default requests time out after 1 minute. You can configure this with a `timeout` option,
269
+ By default requests time out after 30 seconds. You can configure this with a `timeout` option,
270
270
  which accepts a float or an [`httpx.Timeout`](https://www.python-httpx.org/advanced/timeouts/#fine-tuning-the-configuration) object:
271
271
 
272
272
  ```python
@@ -274,7 +274,7 @@ from runloop_api_client import Runloop
274
274
 
275
275
  # Configure the default for all requests:
276
276
  client = Runloop(
277
- # 20 seconds (default is 1 minute)
277
+ # 20 seconds (default is 30 seconds)
278
278
  timeout=20.0,
279
279
  )
280
280
 
@@ -264,6 +264,7 @@ Types:
264
264
  ```python
265
265
  from runloop_api_client.types import (
266
266
  InputContext,
267
+ InputContextUpdate,
267
268
  ScenarioCreateParameters,
268
269
  ScenarioEnvironment,
269
270
  ScenarioRunListView,
@@ -272,6 +273,7 @@ from runloop_api_client.types import (
272
273
  ScenarioView,
273
274
  ScoringContract,
274
275
  ScoringContractResultView,
276
+ ScoringContractUpdate,
275
277
  ScoringFunction,
276
278
  ScoringFunctionResultView,
277
279
  StartScenarioRunParameters,
@@ -295,6 +297,7 @@ Methods:
295
297
  - <code title="get /v1/scenarios/runs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">SyncBenchmarkRunsCursorIDPage[ScenarioRunView]</a></code>
296
298
  - <code title="post /v1/scenarios/runs/{id}/cancel">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">cancel</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
297
299
  - <code title="post /v1/scenarios/runs/{id}/complete">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
300
+ - <code title="post /v1/scenarios/runs/{id}/download_logs">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">download_logs</a>(id) -> BinaryAPIResponse</code>
298
301
  - <code title="post /v1/scenarios/runs/{id}/score">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">score</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
299
302
 
300
303
  ## Scorers
@@ -3,7 +3,7 @@
3
3
  errors=()
4
4
 
5
5
  if [ -z "${PYPI_TOKEN}" ]; then
6
- errors+=("The RUNLOOP_PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.")
6
+ errors+=("The PYPI_TOKEN secret has not been set. Please set it in either this repository's secrets or your organization secrets.")
7
7
  fi
8
8
 
9
9
  lenErrors=${#errors[@]}
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.44.0"
3
+ version = "0.46.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -5,10 +5,10 @@ import httpx
5
5
  RAW_RESPONSE_HEADER = "X-Stainless-Raw-Response"
6
6
  OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to"
7
7
 
8
- # default timeout is 1 minute
9
- DEFAULT_TIMEOUT = httpx.Timeout(timeout=60, connect=5.0)
10
- DEFAULT_MAX_RETRIES = 0
8
+ # default timeout is 30 seconds
9
+ DEFAULT_TIMEOUT = httpx.Timeout(timeout=30, connect=5.0)
10
+ DEFAULT_MAX_RETRIES = 3
11
11
  DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20)
12
12
 
13
13
  INITIAL_RETRY_DELAY = 1.0
14
- MAX_RETRY_DELAY = 10.0
14
+ MAX_RETRY_DELAY = 15.0
@@ -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.44.0" # x-release-please-version
4
+ __version__ = "0.46.0" # x-release-please-version
@@ -691,6 +691,8 @@ class DevboxesResource(SyncAPIResource):
691
691
  """
692
692
  if not id:
693
693
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
694
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
695
+ timeout = 600
694
696
  extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
695
697
  return self._post(
696
698
  f"/v1/devboxes/{id}/download_file",
@@ -962,6 +964,8 @@ class DevboxesResource(SyncAPIResource):
962
964
  """
963
965
  if not id:
964
966
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
967
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
968
+ timeout = 600
965
969
  extra_headers = {"Accept": "text/plain", **(extra_headers or {})}
966
970
  return self._post(
967
971
  f"/v1/devboxes/{id}/read_file_contents",
@@ -1297,6 +1301,8 @@ class DevboxesResource(SyncAPIResource):
1297
1301
  """
1298
1302
  if not id:
1299
1303
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1304
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
1305
+ timeout = 600
1300
1306
  body = deepcopy_minimal(
1301
1307
  {
1302
1308
  "path": path,
@@ -1359,6 +1365,8 @@ class DevboxesResource(SyncAPIResource):
1359
1365
  """
1360
1366
  if not id:
1361
1367
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1368
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
1369
+ timeout = 600
1362
1370
  return self._post(
1363
1371
  f"/v1/devboxes/{id}/write_file_contents",
1364
1372
  body=maybe_transform(
@@ -1954,6 +1962,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
1954
1962
  """
1955
1963
  if not id:
1956
1964
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
1965
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
1966
+ timeout = 600
1957
1967
  extra_headers = {"Accept": "application/octet-stream", **(extra_headers or {})}
1958
1968
  return await self._post(
1959
1969
  f"/v1/devboxes/{id}/download_file",
@@ -2225,6 +2235,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2225
2235
  """
2226
2236
  if not id:
2227
2237
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2238
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
2239
+ timeout = 600
2228
2240
  extra_headers = {"Accept": "text/plain", **(extra_headers or {})}
2229
2241
  return await self._post(
2230
2242
  f"/v1/devboxes/{id}/read_file_contents",
@@ -2560,6 +2572,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2560
2572
  """
2561
2573
  if not id:
2562
2574
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2575
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
2576
+ timeout = 600
2563
2577
  body = deepcopy_minimal(
2564
2578
  {
2565
2579
  "path": path,
@@ -2622,6 +2636,8 @@ class AsyncDevboxesResource(AsyncAPIResource):
2622
2636
  """
2623
2637
  if not id:
2624
2638
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
2639
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
2640
+ timeout = 600
2625
2641
  return await self._post(
2626
2642
  f"/v1/devboxes/{id}/write_file_contents",
2627
2643
  body=await async_maybe_transform(
@@ -7,7 +7,7 @@ from typing import Optional
7
7
  import httpx
8
8
 
9
9
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
10
- from ..._utils import maybe_transform, async_maybe_transform
10
+ from ..._utils import is_given, maybe_transform, async_maybe_transform
11
11
  from ..._compat import cached_property
12
12
  from ..._resource import SyncAPIResource, AsyncAPIResource
13
13
  from ..._response import (
@@ -17,6 +17,7 @@ from ..._response import (
17
17
  async_to_streamed_response_wrapper,
18
18
  )
19
19
  from ...lib.polling import PollingConfig, poll_until
20
+ from ..._constants import DEFAULT_TIMEOUT
20
21
  from ..._base_client import make_request_options
21
22
  from ...types.devboxes import execution_retrieve_params, execution_execute_sync_params, execution_execute_async_params
22
23
  from ...lib.polling_async import async_poll_until
@@ -235,6 +236,8 @@ class ExecutionsResource(SyncAPIResource):
235
236
  """
236
237
  if not id:
237
238
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
239
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
240
+ timeout = 600
238
241
  return self._post(
239
242
  f"/v1/devboxes/{id}/execute_sync",
240
243
  body=maybe_transform(
@@ -510,6 +513,8 @@ class AsyncExecutionsResource(AsyncAPIResource):
510
513
  """
511
514
  if not id:
512
515
  raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
516
+ if not is_given(timeout) and self._client.timeout == DEFAULT_TIMEOUT:
517
+ timeout = 600
513
518
  return await self._post(
514
519
  f"/v1/devboxes/{id}/execute_sync",
515
520
  body=await async_maybe_transform(
@@ -9,10 +9,18 @@ from ..._utils import maybe_transform
9
9
  from ..._compat import cached_property
10
10
  from ..._resource import SyncAPIResource, AsyncAPIResource
11
11
  from ..._response import (
12
+ BinaryAPIResponse,
13
+ AsyncBinaryAPIResponse,
14
+ StreamedBinaryAPIResponse,
15
+ AsyncStreamedBinaryAPIResponse,
12
16
  to_raw_response_wrapper,
13
17
  to_streamed_response_wrapper,
14
18
  async_to_raw_response_wrapper,
19
+ to_custom_raw_response_wrapper,
15
20
  async_to_streamed_response_wrapper,
21
+ to_custom_streamed_response_wrapper,
22
+ async_to_custom_raw_response_wrapper,
23
+ async_to_custom_streamed_response_wrapper,
16
24
  )
17
25
  from ...pagination import SyncBenchmarkRunsCursorIDPage, AsyncBenchmarkRunsCursorIDPage
18
26
  from ..._exceptions import RunloopError
@@ -213,6 +221,48 @@ class RunsResource(SyncAPIResource):
213
221
  cast_to=ScenarioRunView,
214
222
  )
215
223
 
224
+ def download_logs(
225
+ self,
226
+ id: str,
227
+ *,
228
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
229
+ # The extra values given here take precedence over values defined on the client or passed to this method.
230
+ extra_headers: Headers | None = None,
231
+ extra_query: Query | None = None,
232
+ extra_body: Body | None = None,
233
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
234
+ idempotency_key: str | None = None,
235
+ ) -> BinaryAPIResponse:
236
+ """
237
+ Download a zip file containing all logs for a Scenario run from the associated
238
+ devbox.
239
+
240
+ Args:
241
+ extra_headers: Send extra headers
242
+
243
+ extra_query: Add additional query parameters to the request
244
+
245
+ extra_body: Add additional JSON properties to the request
246
+
247
+ timeout: Override the client-level default timeout for this request, in seconds
248
+
249
+ idempotency_key: Specify a custom idempotency key for this request
250
+ """
251
+ if not id:
252
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
253
+ extra_headers = {"Accept": "application/zip", **(extra_headers or {})}
254
+ return self._post(
255
+ f"/v1/scenarios/runs/{id}/download_logs",
256
+ options=make_request_options(
257
+ extra_headers=extra_headers,
258
+ extra_query=extra_query,
259
+ extra_body=extra_body,
260
+ timeout=timeout,
261
+ idempotency_key=idempotency_key,
262
+ ),
263
+ cast_to=BinaryAPIResponse,
264
+ )
265
+
216
266
  def score(
217
267
  self,
218
268
  id: str,
@@ -583,6 +633,48 @@ class AsyncRunsResource(AsyncAPIResource):
583
633
  cast_to=ScenarioRunView,
584
634
  )
585
635
 
636
+ async def download_logs(
637
+ self,
638
+ id: str,
639
+ *,
640
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
641
+ # The extra values given here take precedence over values defined on the client or passed to this method.
642
+ extra_headers: Headers | None = None,
643
+ extra_query: Query | None = None,
644
+ extra_body: Body | None = None,
645
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
646
+ idempotency_key: str | None = None,
647
+ ) -> AsyncBinaryAPIResponse:
648
+ """
649
+ Download a zip file containing all logs for a Scenario run from the associated
650
+ devbox.
651
+
652
+ Args:
653
+ extra_headers: Send extra headers
654
+
655
+ extra_query: Add additional query parameters to the request
656
+
657
+ extra_body: Add additional JSON properties to the request
658
+
659
+ timeout: Override the client-level default timeout for this request, in seconds
660
+
661
+ idempotency_key: Specify a custom idempotency key for this request
662
+ """
663
+ if not id:
664
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
665
+ extra_headers = {"Accept": "application/zip", **(extra_headers or {})}
666
+ return await self._post(
667
+ f"/v1/scenarios/runs/{id}/download_logs",
668
+ options=make_request_options(
669
+ extra_headers=extra_headers,
670
+ extra_query=extra_query,
671
+ extra_body=extra_body,
672
+ timeout=timeout,
673
+ idempotency_key=idempotency_key,
674
+ ),
675
+ cast_to=AsyncBinaryAPIResponse,
676
+ )
677
+
586
678
  async def score(
587
679
  self,
588
680
  id: str,
@@ -782,6 +874,10 @@ class RunsResourceWithRawResponse:
782
874
  self.complete = to_raw_response_wrapper(
783
875
  runs.complete,
784
876
  )
877
+ self.download_logs = to_custom_raw_response_wrapper(
878
+ runs.download_logs,
879
+ BinaryAPIResponse,
880
+ )
785
881
  self.score = to_raw_response_wrapper(
786
882
  runs.score,
787
883
  )
@@ -803,6 +899,10 @@ class AsyncRunsResourceWithRawResponse:
803
899
  self.complete = async_to_raw_response_wrapper(
804
900
  runs.complete,
805
901
  )
902
+ self.download_logs = async_to_custom_raw_response_wrapper(
903
+ runs.download_logs,
904
+ AsyncBinaryAPIResponse,
905
+ )
806
906
  self.score = async_to_raw_response_wrapper(
807
907
  runs.score,
808
908
  )
@@ -824,6 +924,10 @@ class RunsResourceWithStreamingResponse:
824
924
  self.complete = to_streamed_response_wrapper(
825
925
  runs.complete,
826
926
  )
927
+ self.download_logs = to_custom_streamed_response_wrapper(
928
+ runs.download_logs,
929
+ StreamedBinaryAPIResponse,
930
+ )
827
931
  self.score = to_streamed_response_wrapper(
828
932
  runs.score,
829
933
  )
@@ -845,6 +949,10 @@ class AsyncRunsResourceWithStreamingResponse:
845
949
  self.complete = async_to_streamed_response_wrapper(
846
950
  runs.complete,
847
951
  )
952
+ self.download_logs = async_to_custom_streamed_response_wrapper(
953
+ runs.download_logs,
954
+ AsyncStreamedBinaryAPIResponse,
955
+ )
848
956
  self.score = async_to_streamed_response_wrapper(
849
957
  runs.score,
850
958
  )
@@ -46,7 +46,9 @@ from ...types.scenario_view import ScenarioView
46
46
  from ...types.scenario_run_view import ScenarioRunView
47
47
  from ...types.input_context_param import InputContextParam
48
48
  from ...types.scoring_contract_param import ScoringContractParam
49
+ from ...types.input_context_update_param import InputContextUpdateParam
49
50
  from ...types.scenario_environment_param import ScenarioEnvironmentParam
51
+ from ...types.scoring_contract_update_param import ScoringContractUpdateParam
50
52
 
51
53
  __all__ = ["ScenariosResource", "AsyncScenariosResource"]
52
54
 
@@ -186,11 +188,11 @@ class ScenariosResource(SyncAPIResource):
186
188
  id: str,
187
189
  *,
188
190
  environment_parameters: Optional[ScenarioEnvironmentParam] | NotGiven = NOT_GIVEN,
189
- input_context: Optional[InputContextParam] | NotGiven = NOT_GIVEN,
191
+ input_context: Optional[InputContextUpdateParam] | NotGiven = NOT_GIVEN,
190
192
  metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
191
193
  name: Optional[str] | NotGiven = NOT_GIVEN,
192
194
  reference_output: Optional[str] | NotGiven = NOT_GIVEN,
193
- scoring_contract: Optional[ScoringContractParam] | NotGiven = NOT_GIVEN,
195
+ scoring_contract: Optional[ScoringContractUpdateParam] | NotGiven = NOT_GIVEN,
194
196
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
195
197
  # The extra values given here take precedence over values defined on the client or passed to this method.
196
198
  extra_headers: Headers | None = None,
@@ -613,11 +615,11 @@ class AsyncScenariosResource(AsyncAPIResource):
613
615
  id: str,
614
616
  *,
615
617
  environment_parameters: Optional[ScenarioEnvironmentParam] | NotGiven = NOT_GIVEN,
616
- input_context: Optional[InputContextParam] | NotGiven = NOT_GIVEN,
618
+ input_context: Optional[InputContextUpdateParam] | NotGiven = NOT_GIVEN,
617
619
  metadata: Optional[Dict[str, str]] | NotGiven = NOT_GIVEN,
618
620
  name: Optional[str] | NotGiven = NOT_GIVEN,
619
621
  reference_output: Optional[str] | NotGiven = NOT_GIVEN,
620
- scoring_contract: Optional[ScoringContractParam] | NotGiven = NOT_GIVEN,
622
+ scoring_contract: Optional[ScoringContractUpdateParam] | NotGiven = NOT_GIVEN,
621
623
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
622
624
  # The extra values given here take precedence over values defined on the client or passed to this method.
623
625
  extra_headers: Headers | None = None,
@@ -54,6 +54,7 @@ from .scenario_start_run_params import ScenarioStartRunParams as ScenarioStartRu
54
54
  from .benchmark_start_run_params import BenchmarkStartRunParams as BenchmarkStartRunParams
55
55
  from .blueprint_build_parameters import BlueprintBuildParameters as BlueprintBuildParameters
56
56
  from .devbox_execute_sync_params import DevboxExecuteSyncParams as DevboxExecuteSyncParams
57
+ from .input_context_update_param import InputContextUpdateParam as InputContextUpdateParam
57
58
  from .repository_connection_view import RepositoryConnectionView as RepositoryConnectionView
58
59
  from .scenario_environment_param import ScenarioEnvironmentParam as ScenarioEnvironmentParam
59
60
  from .devbox_create_tunnel_params import DevboxCreateTunnelParams as DevboxCreateTunnelParams
@@ -69,6 +70,7 @@ from .scoring_contract_result_view import ScoringContractResultView as ScoringCo
69
70
  from .scoring_function_result_view import ScoringFunctionResultView as ScoringFunctionResultView
70
71
  from .repository_inspection_details import RepositoryInspectionDetails as RepositoryInspectionDetails
71
72
  from .scenario_definition_list_view import ScenarioDefinitionListView as ScenarioDefinitionListView
73
+ from .scoring_contract_update_param import ScoringContractUpdateParam as ScoringContractUpdateParam
72
74
  from .blueprint_build_logs_list_view import BlueprintBuildLogsListView as BlueprintBuildLogsListView
73
75
  from .devbox_create_ssh_key_response import DevboxCreateSSHKeyResponse as DevboxCreateSSHKeyResponse
74
76
  from .repository_connection_list_view import RepositoryConnectionListView as RepositoryConnectionListView
@@ -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__ = ["InputContextUpdateParam"]
9
+
10
+
11
+ class InputContextUpdateParam(TypedDict, total=False):
12
+ additional_context: Optional[object]
13
+ """Additional JSON structured input context."""
14
+
15
+ problem_statement: Optional[str]
16
+ """The problem statement for the Scenario."""
@@ -5,9 +5,9 @@ from __future__ import annotations
5
5
  from typing import Dict, Optional
6
6
  from typing_extensions import TypedDict
7
7
 
8
- from .input_context_param import InputContextParam
9
- from .scoring_contract_param import ScoringContractParam
8
+ from .input_context_update_param import InputContextUpdateParam
10
9
  from .scenario_environment_param import ScenarioEnvironmentParam
10
+ from .scoring_contract_update_param import ScoringContractUpdateParam
11
11
 
12
12
  __all__ = ["ScenarioUpdateParams"]
13
13
 
@@ -16,7 +16,7 @@ class ScenarioUpdateParams(TypedDict, total=False):
16
16
  environment_parameters: Optional[ScenarioEnvironmentParam]
17
17
  """The Environment in which the Scenario will run."""
18
18
 
19
- input_context: Optional[InputContextParam]
19
+ input_context: Optional[InputContextUpdateParam]
20
20
  """The input context for the Scenario."""
21
21
 
22
22
  metadata: Optional[Dict[str, str]]
@@ -32,5 +32,5 @@ class ScenarioUpdateParams(TypedDict, total=False):
32
32
  apply to the environment.
33
33
  """
34
34
 
35
- scoring_contract: Optional[ScoringContractParam]
35
+ scoring_contract: Optional[ScoringContractUpdateParam]
36
36
  """The scoring contract for the Scenario."""
@@ -0,0 +1,15 @@
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 Iterable, Optional
6
+ from typing_extensions import TypedDict
7
+
8
+ from .scoring_function_param import ScoringFunctionParam
9
+
10
+ __all__ = ["ScoringContractUpdateParam"]
11
+
12
+
13
+ class ScoringContractUpdateParam(TypedDict, total=False):
14
+ scoring_function_parameters: Optional[Iterable[ScoringFunctionParam]]
15
+ """A list of scoring functions used to evaluate the Scenario."""
@@ -74,6 +74,9 @@ class ScorerPythonScriptScoringFunction(BaseModel):
74
74
 
75
75
  type: Literal["python_script_scorer"]
76
76
 
77
+ python_version_constraint: Optional[str] = None
78
+ """Python version to run scoring. Default is "==3.12.10" """
79
+
77
80
  requirements_contents: Optional[str] = None
78
81
  """Package dependencies to be installed.
79
82
 
@@ -73,6 +73,9 @@ class ScorerPythonScriptScoringFunction(TypedDict, total=False):
73
73
 
74
74
  type: Required[Literal["python_script_scorer"]]
75
75
 
76
+ python_version_constraint: Optional[str]
77
+ """Python version to run scoring. Default is "==3.12.10" """
78
+
76
79
  requirements_contents: str
77
80
  """Package dependencies to be installed.
78
81