runloop-api-client 0.18.0__tar.gz → 0.20.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 (261) hide show
  1. runloop_api_client-0.20.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/CHANGELOG.md +24 -0
  3. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/api.md +24 -0
  5. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/pyproject.toml +2 -2
  6. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/requirements-dev.lock +1 -1
  7. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_constants.py +1 -1
  8. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_models.py +1 -1
  9. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_version.py +1 -1
  10. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/pagination.py +59 -0
  11. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +112 -11
  12. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/blueprints.py +229 -0
  13. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/scenarios/__init__.py +14 -0
  14. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/scenarios/runs.py +286 -0
  15. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/scenarios/scenarios.py +241 -2
  16. runloop_api_client-0.20.0/src/runloop_api_client/resources/scenarios/scorers.py +632 -0
  17. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/__init__.py +2 -0
  18. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -6
  19. runloop_api_client-0.20.0/src/runloop_api_client/types/benchmark_list_public_params.py +15 -0
  20. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_run_view.py +4 -1
  21. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/input_context.py +4 -0
  22. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/input_context_param.py +4 -0
  23. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_list_params.py +1 -1
  24. runloop_api_client-0.20.0/src/runloop_api_client/types/scenario_list_public_params.py +18 -0
  25. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/__init__.py +14 -0
  26. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_create_params.py +18 -0
  27. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_create_response.py +17 -0
  28. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_list_params.py +15 -0
  29. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_list_response.py +17 -0
  30. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_retrieve_response.py +17 -0
  31. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_update_params.py +18 -0
  32. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_update_response.py +17 -0
  33. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_validate_params.py +17 -0
  34. runloop_api_client-0.20.0/src/runloop_api_client/types/scenarios/scorer_validate_response.py +23 -0
  35. runloop_api_client-0.20.0/tests/api_resources/scenarios/test_scorers.py +441 -0
  36. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/test_benchmarks.py +66 -2
  37. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/test_scenarios.py +78 -4
  38. runloop_api_client-0.18.0/.release-please-manifest.json +0 -3
  39. runloop_api_client-0.18.0/src/runloop_api_client/types/scenarios/__init__.py +0 -5
  40. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/.gitignore +0 -0
  41. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/CONTRIBUTING.md +0 -0
  42. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/LICENSE +0 -0
  43. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/README.md +0 -0
  44. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/SECURITY.md +0 -0
  45. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/bin/check-release-environment +0 -0
  46. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/bin/publish-pypi +0 -0
  47. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/examples/.keep +0 -0
  48. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/mypy.ini +0 -0
  49. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/noxfile.py +0 -0
  50. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/release-please-config.json +0 -0
  51. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/requirements.lock +0 -0
  52. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop/lib/.keep +0 -0
  53. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/__init__.py +0 -0
  54. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_base_client.py +0 -0
  55. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_client.py +0 -0
  56. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_compat.py +0 -0
  57. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_exceptions.py +0 -0
  58. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_files.py +0 -0
  59. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_qs.py +0 -0
  60. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_resource.py +0 -0
  61. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_response.py +0 -0
  62. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_streaming.py +0 -0
  63. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_types.py +0 -0
  64. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  65. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  66. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  67. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  68. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  69. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  70. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  71. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  72. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  73. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/lib/.keep +0 -0
  74. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/lib/polling.py +0 -0
  75. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  76. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/py.typed +0 -0
  77. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/__init__.py +0 -0
  78. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  79. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/benchmarks/runs.py +0 -0
  80. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  81. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  82. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  83. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/devboxes.py +3 -3
  84. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  85. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  86. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  87. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/resources/repositories.py +0 -0
  88. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  89. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_list_view.py +0 -0
  90. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  91. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  92. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  93. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  94. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  95. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  96. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  97. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  98. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  99. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  100. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  101. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  102. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  103. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  104. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  105. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  106. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  107. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  108. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  109. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  110. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  111. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  112. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  113. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  114. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  115. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  116. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  117. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  118. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  119. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  120. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  121. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  122. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  123. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  124. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  125. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  126. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  127. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  128. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  129. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  130. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  131. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  132. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  133. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  134. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  135. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  136. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  137. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  138. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  139. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  140. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  141. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  142. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  143. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  144. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  145. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  146. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  147. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  148. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  149. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  150. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  151. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  152. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  153. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  154. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  155. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  156. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  157. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  158. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  159. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  160. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  161. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  162. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  163. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  164. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  165. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  166. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  167. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  168. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  169. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  170. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  171. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  172. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  173. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  174. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  175. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  176. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  177. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  178. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  179. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  180. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  181. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  182. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  183. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  184. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  185. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  186. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  187. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  188. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  189. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  190. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  191. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  192. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  193. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  194. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  195. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  196. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  197. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  198. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  199. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  200. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  201. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  202. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  203. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  204. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  205. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  206. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  207. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
  208. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
  209. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  210. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  211. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  212. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_list_view.py +0 -0
  213. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  214. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  215. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  216. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  217. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  218. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  219. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  220. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  221. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  222. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  223. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  224. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  225. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  226. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  227. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  228. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  229. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  230. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  231. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  232. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/__init__.py +0 -0
  233. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/__init__.py +0 -0
  234. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  235. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/benchmarks/test_runs.py +0 -0
  236. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/__init__.py +0 -0
  237. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  238. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  239. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  240. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  241. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  242. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/scenarios/__init__.py +0 -0
  243. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/scenarios/test_runs.py +0 -0
  244. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/test_blueprints.py +0 -0
  245. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/test_devboxes.py +0 -0
  246. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/api_resources/test_repositories.py +0 -0
  247. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/conftest.py +0 -0
  248. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/sample_file.txt +0 -0
  249. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_client.py +0 -0
  250. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_deepcopy.py +0 -0
  251. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_extract_files.py +0 -0
  252. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_files.py +0 -0
  253. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_models.py +0 -0
  254. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_qs.py +0 -0
  255. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_required_args.py +0 -0
  256. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_response.py +0 -0
  257. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_streaming.py +0 -0
  258. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_transform.py +0 -0
  259. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_utils/test_proxy.py +0 -0
  260. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/test_utils/test_typing.py +0 -0
  261. {runloop_api_client-0.18.0 → runloop_api_client-0.20.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.20.0"
3
+ }
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.20.0 (2025-02-04)
4
+
5
+ Full Changelog: [v0.19.0...v0.20.0](https://github.com/runloopai/api-client-python/compare/v0.19.0...v0.20.0)
6
+
7
+ ### Features
8
+
9
+ * add helpers for blueprint and scenario run creation ([b00a7c1](https://github.com/runloopai/api-client-python/commit/b00a7c1b935db7c919d79ed10c135bf5ed2a9b4f))
10
+ * **api:** api update ([#526](https://github.com/runloopai/api-client-python/issues/526)) ([be26ed7](https://github.com/runloopai/api-client-python/commit/be26ed7c82017d9bff67c9920c078808f8a675e3))
11
+
12
+
13
+ ### Chores
14
+
15
+ * **internal:** bummp ruff dependency ([#525](https://github.com/runloopai/api-client-python/issues/525)) ([84051db](https://github.com/runloopai/api-client-python/commit/84051db83a6347f28ee4891be52f5eee7fa9d02a))
16
+ * **internal:** change default timeout to an int ([#524](https://github.com/runloopai/api-client-python/issues/524)) ([a15ccaa](https://github.com/runloopai/api-client-python/commit/a15ccaa45f69331d57be0144a16ba3b1df387245))
17
+
18
+ ## 0.19.0 (2025-02-03)
19
+
20
+ Full Changelog: [v0.18.0...v0.19.0](https://github.com/runloopai/api-client-python/compare/v0.18.0...v0.19.0)
21
+
22
+ ### Features
23
+
24
+ * add helper methods for scenarios ([551fcfc](https://github.com/runloopai/api-client-python/commit/551fcfc1dc5b8b67c0c6179d49c3eef2c0a38676))
25
+ * **api:** api update ([#520](https://github.com/runloopai/api-client-python/issues/520)) ([750b4ba](https://github.com/runloopai/api-client-python/commit/750b4ba51cc0c848258113af8bf882ceb679bf9e))
26
+
3
27
  ## 0.18.0 (2025-02-01)
4
28
 
5
29
  Full Changelog: [v0.17.0...v0.18.0](https://github.com/runloopai/api-client-python/compare/v0.17.0...v0.18.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runloop_api_client
3
- Version: 0.18.0
3
+ Version: 0.20.0
4
4
  Summary: The official Python library for the runloop API
5
5
  Project-URL: Homepage, https://github.com/runloopai/api-client-python
6
6
  Project-URL: Repository, https://github.com/runloopai/api-client-python
@@ -24,6 +24,7 @@ Methods:
24
24
  - <code title="post /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">create</a>(\*\*<a href="src/runloop_api_client/types/benchmark_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
25
25
  - <code title="get /v1/benchmarks/{id}">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_view.py">BenchmarkView</a></code>
26
26
  - <code title="get /v1/benchmarks">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
27
+ - <code title="get /v1/benchmarks/list_public">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/benchmark_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_view.py">SyncBenchmarksCursorIDPage[BenchmarkView]</a></code>
27
28
  - <code title="post /v1/benchmarks/start_run">client.benchmarks.<a href="./src/runloop_api_client/resources/benchmarks/benchmarks.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/benchmark_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
28
29
 
29
30
  ## Runs
@@ -261,6 +262,7 @@ Methods:
261
262
  - <code title="post /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenario_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
262
263
  - <code title="get /v1/scenarios/{id}">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_view.py">ScenarioView</a></code>
263
264
  - <code title="get /v1/scenarios">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
265
+ - <code title="get /v1/scenarios/list_public">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">list_public</a>(\*\*<a href="src/runloop_api_client/types/scenario_list_public_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_view.py">SyncScenariosCursorIDPage[ScenarioView]</a></code>
264
266
  - <code title="post /v1/scenarios/start_run">client.scenarios.<a href="./src/runloop_api_client/resources/scenarios/scenarios.py">start_run</a>(\*\*<a href="src/runloop_api_client/types/scenario_start_run_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
265
267
 
266
268
  ## Runs
@@ -272,6 +274,28 @@ Methods:
272
274
  - <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>
273
275
  - <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>
274
276
 
277
+ ## Scorers
278
+
279
+ Types:
280
+
281
+ ```python
282
+ from runloop_api_client.types.scenarios import (
283
+ ScorerCreateResponse,
284
+ ScorerRetrieveResponse,
285
+ ScorerUpdateResponse,
286
+ ScorerListResponse,
287
+ ScorerValidateResponse,
288
+ )
289
+ ```
290
+
291
+ Methods:
292
+
293
+ - <code title="post /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">create</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_create_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_create_response.py">ScorerCreateResponse</a></code>
294
+ - <code title="get /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenarios/scorer_retrieve_response.py">ScorerRetrieveResponse</a></code>
295
+ - <code title="post /v1/scenarios/scorers/{id}">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">update</a>(id, \*\*<a href="src/runloop_api_client/types/scenarios/scorer_update_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_update_response.py">ScorerUpdateResponse</a></code>
296
+ - <code title="get /v1/scenarios/scorers">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">list</a>(\*\*<a href="src/runloop_api_client/types/scenarios/scorer_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_list_response.py">SyncScenarioScorersCursorIDPage[ScorerListResponse]</a></code>
297
+ - <code title="post /v1/scenarios/scorers/{id}/validate">client.scenarios.scorers.<a href="./src/runloop_api_client/resources/scenarios/scorers.py">validate</a>(id, \*\*<a href="src/runloop_api_client/types/scenarios/scorer_validate_params.py">params</a>) -> <a href="./src/runloop_api_client/types/scenarios/scorer_validate_response.py">ScorerValidateResponse</a></code>
298
+
275
299
  # Repositories
276
300
 
277
301
  Types:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.18.0"
3
+ version = "0.20.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -177,7 +177,7 @@ select = [
177
177
  "T201",
178
178
  "T203",
179
179
  # misuse of typing.TYPE_CHECKING
180
- "TCH004",
180
+ "TC004",
181
181
  # import rules
182
182
  "TID251",
183
183
  ]
@@ -79,7 +79,7 @@ pytz==2023.3.post1
79
79
  # via dirty-equals
80
80
  respx==0.22.0
81
81
  rich==13.7.1
82
- ruff==0.6.9
82
+ ruff==0.9.4
83
83
  setuptools==68.2.2
84
84
  # via nodeenv
85
85
  six==1.16.0
@@ -6,7 +6,7 @@ RAW_RESPONSE_HEADER = "X-Stainless-Raw-Response"
6
6
  OVERRIDE_CAST_TO_HEADER = "____stainless_override_cast_to"
7
7
 
8
8
  # default timeout is 1 minute
9
- DEFAULT_TIMEOUT = httpx.Timeout(timeout=60.0, connect=5.0)
9
+ DEFAULT_TIMEOUT = httpx.Timeout(timeout=60, connect=5.0)
10
10
  DEFAULT_MAX_RETRIES = 2
11
11
  DEFAULT_CONNECTION_LIMITS = httpx.Limits(max_connections=100, max_keepalive_connections=20)
12
12
 
@@ -172,7 +172,7 @@ class BaseModel(pydantic.BaseModel):
172
172
  @override
173
173
  def __str__(self) -> str:
174
174
  # mypy complains about an invalid self arg
175
- return f'{self.__repr_name__()}({self.__repr_str__(", ")})' # type: ignore[misc]
175
+ return f"{self.__repr_name__()}({self.__repr_str__(', ')})" # type: ignore[misc]
176
176
 
177
177
  # Override the 'construct' method in a way that supports recursive parsing without validation.
178
178
  # Based on https://github.com/samuelcolvin/pydantic/issues/1168#issuecomment-817742836.
@@ -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.18.0" # x-release-please-version
4
+ __version__ = "0.20.0" # x-release-please-version
@@ -22,6 +22,8 @@ __all__ = [
22
22
  "AsyncScenariosCursorIDPage",
23
23
  "SyncScenarioRunsCursorIDPage",
24
24
  "AsyncScenarioRunsCursorIDPage",
25
+ "SyncScenarioScorersCursorIDPage",
26
+ "AsyncScenarioScorersCursorIDPage",
25
27
  ]
26
28
 
27
29
  _T = TypeVar("_T")
@@ -67,6 +69,11 @@ class ScenarioRunsCursorIDPageItem(Protocol):
67
69
  id: str
68
70
 
69
71
 
72
+ @runtime_checkable
73
+ class ScenarioScorersCursorIDPageItem(Protocol):
74
+ id: str
75
+
76
+
70
77
  class SyncBlueprintsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
71
78
  blueprints: List[_T]
72
79
  has_more: Optional[bool] = None
@@ -481,3 +488,55 @@ class AsyncScenarioRunsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]
481
488
  return None
482
489
 
483
490
  return PageInfo(params={"starting_after": item.id})
491
+
492
+
493
+ class SyncScenarioScorersCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
494
+ scorers: List[_T]
495
+ has_more: Optional[bool] = None
496
+ total_count: Optional[int] = None
497
+
498
+ @override
499
+ def _get_page_items(self) -> List[_T]:
500
+ scorers = self.scorers
501
+ if not scorers:
502
+ return []
503
+ return scorers
504
+
505
+ @override
506
+ def next_page_info(self) -> Optional[PageInfo]:
507
+ scorers = self.scorers
508
+ if not scorers:
509
+ return None
510
+
511
+ item = cast(Any, scorers[-1])
512
+ if not isinstance(item, ScenarioScorersCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
513
+ # TODO emit warning log
514
+ return None
515
+
516
+ return PageInfo(params={"starting_after": item.id})
517
+
518
+
519
+ class AsyncScenarioScorersCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
520
+ scorers: List[_T]
521
+ has_more: Optional[bool] = None
522
+ total_count: Optional[int] = None
523
+
524
+ @override
525
+ def _get_page_items(self) -> List[_T]:
526
+ scorers = self.scorers
527
+ if not scorers:
528
+ return []
529
+ return scorers
530
+
531
+ @override
532
+ def next_page_info(self) -> Optional[PageInfo]:
533
+ scorers = self.scorers
534
+ if not scorers:
535
+ return None
536
+
537
+ item = cast(Any, scorers[-1])
538
+ if not isinstance(item, ScenarioScorersCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
539
+ # TODO emit warning log
540
+ return None
541
+
542
+ return PageInfo(params={"starting_after": item.id})
@@ -14,7 +14,12 @@ from .runs import (
14
14
  RunsResourceWithStreamingResponse,
15
15
  AsyncRunsResourceWithStreamingResponse,
16
16
  )
17
- from ...types import benchmark_list_params, benchmark_create_params, benchmark_start_run_params
17
+ from ...types import (
18
+ benchmark_list_params,
19
+ benchmark_create_params,
20
+ benchmark_start_run_params,
21
+ benchmark_list_public_params,
22
+ )
18
23
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
19
24
  from ..._utils import (
20
25
  maybe_transform,
@@ -147,7 +152,6 @@ class BenchmarksResource(SyncAPIResource):
147
152
  self,
148
153
  *,
149
154
  limit: int | NotGiven = NOT_GIVEN,
150
- public: bool | NotGiven = NOT_GIVEN,
151
155
  starting_after: str | NotGiven = NOT_GIVEN,
152
156
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
153
157
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -162,9 +166,6 @@ class BenchmarksResource(SyncAPIResource):
162
166
  Args:
163
167
  limit: The limit of items to return. Default is 20.
164
168
 
165
- public: List public benchmarks, e.g. SWE-bench. Defaults to false, i.e. only
166
- user-defined benchmarks are listed.
167
-
168
169
  starting_after: Load the next page of data starting after the item with the given ID.
169
170
 
170
171
  extra_headers: Send extra headers
@@ -186,7 +187,6 @@ class BenchmarksResource(SyncAPIResource):
186
187
  query=maybe_transform(
187
188
  {
188
189
  "limit": limit,
189
- "public": public,
190
190
  "starting_after": starting_after,
191
191
  },
192
192
  benchmark_list_params.BenchmarkListParams,
@@ -195,6 +195,53 @@ class BenchmarksResource(SyncAPIResource):
195
195
  model=BenchmarkView,
196
196
  )
197
197
 
198
+ def list_public(
199
+ self,
200
+ *,
201
+ limit: int | NotGiven = NOT_GIVEN,
202
+ starting_after: str | NotGiven = NOT_GIVEN,
203
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
204
+ # The extra values given here take precedence over values defined on the client or passed to this method.
205
+ extra_headers: Headers | None = None,
206
+ extra_query: Query | None = None,
207
+ extra_body: Body | None = None,
208
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
209
+ ) -> SyncBenchmarksCursorIDPage[BenchmarkView]:
210
+ """
211
+ List all public benchmarks matching filter.
212
+
213
+ Args:
214
+ limit: The limit of items to return. Default is 20.
215
+
216
+ starting_after: Load the next page of data starting after the item with the given ID.
217
+
218
+ extra_headers: Send extra headers
219
+
220
+ extra_query: Add additional query parameters to the request
221
+
222
+ extra_body: Add additional JSON properties to the request
223
+
224
+ timeout: Override the client-level default timeout for this request, in seconds
225
+ """
226
+ return self._get_api_list(
227
+ "/v1/benchmarks/list_public",
228
+ page=SyncBenchmarksCursorIDPage[BenchmarkView],
229
+ options=make_request_options(
230
+ extra_headers=extra_headers,
231
+ extra_query=extra_query,
232
+ extra_body=extra_body,
233
+ timeout=timeout,
234
+ query=maybe_transform(
235
+ {
236
+ "limit": limit,
237
+ "starting_after": starting_after,
238
+ },
239
+ benchmark_list_public_params.BenchmarkListPublicParams,
240
+ ),
241
+ ),
242
+ model=BenchmarkView,
243
+ )
244
+
198
245
  def start_run(
199
246
  self,
200
247
  *,
@@ -357,7 +404,6 @@ class AsyncBenchmarksResource(AsyncAPIResource):
357
404
  self,
358
405
  *,
359
406
  limit: int | NotGiven = NOT_GIVEN,
360
- public: bool | NotGiven = NOT_GIVEN,
361
407
  starting_after: str | NotGiven = NOT_GIVEN,
362
408
  # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
363
409
  # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -372,9 +418,6 @@ class AsyncBenchmarksResource(AsyncAPIResource):
372
418
  Args:
373
419
  limit: The limit of items to return. Default is 20.
374
420
 
375
- public: List public benchmarks, e.g. SWE-bench. Defaults to false, i.e. only
376
- user-defined benchmarks are listed.
377
-
378
421
  starting_after: Load the next page of data starting after the item with the given ID.
379
422
 
380
423
  extra_headers: Send extra headers
@@ -396,7 +439,6 @@ class AsyncBenchmarksResource(AsyncAPIResource):
396
439
  query=maybe_transform(
397
440
  {
398
441
  "limit": limit,
399
- "public": public,
400
442
  "starting_after": starting_after,
401
443
  },
402
444
  benchmark_list_params.BenchmarkListParams,
@@ -405,6 +447,53 @@ class AsyncBenchmarksResource(AsyncAPIResource):
405
447
  model=BenchmarkView,
406
448
  )
407
449
 
450
+ def list_public(
451
+ self,
452
+ *,
453
+ limit: int | NotGiven = NOT_GIVEN,
454
+ starting_after: str | NotGiven = NOT_GIVEN,
455
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
456
+ # The extra values given here take precedence over values defined on the client or passed to this method.
457
+ extra_headers: Headers | None = None,
458
+ extra_query: Query | None = None,
459
+ extra_body: Body | None = None,
460
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
461
+ ) -> AsyncPaginator[BenchmarkView, AsyncBenchmarksCursorIDPage[BenchmarkView]]:
462
+ """
463
+ List all public benchmarks matching filter.
464
+
465
+ Args:
466
+ limit: The limit of items to return. Default is 20.
467
+
468
+ starting_after: Load the next page of data starting after the item with the given ID.
469
+
470
+ extra_headers: Send extra headers
471
+
472
+ extra_query: Add additional query parameters to the request
473
+
474
+ extra_body: Add additional JSON properties to the request
475
+
476
+ timeout: Override the client-level default timeout for this request, in seconds
477
+ """
478
+ return self._get_api_list(
479
+ "/v1/benchmarks/list_public",
480
+ page=AsyncBenchmarksCursorIDPage[BenchmarkView],
481
+ options=make_request_options(
482
+ extra_headers=extra_headers,
483
+ extra_query=extra_query,
484
+ extra_body=extra_body,
485
+ timeout=timeout,
486
+ query=maybe_transform(
487
+ {
488
+ "limit": limit,
489
+ "starting_after": starting_after,
490
+ },
491
+ benchmark_list_public_params.BenchmarkListPublicParams,
492
+ ),
493
+ ),
494
+ model=BenchmarkView,
495
+ )
496
+
408
497
  async def start_run(
409
498
  self,
410
499
  *,
@@ -469,6 +558,9 @@ class BenchmarksResourceWithRawResponse:
469
558
  self.list = to_raw_response_wrapper(
470
559
  benchmarks.list,
471
560
  )
561
+ self.list_public = to_raw_response_wrapper(
562
+ benchmarks.list_public,
563
+ )
472
564
  self.start_run = to_raw_response_wrapper(
473
565
  benchmarks.start_run,
474
566
  )
@@ -491,6 +583,9 @@ class AsyncBenchmarksResourceWithRawResponse:
491
583
  self.list = async_to_raw_response_wrapper(
492
584
  benchmarks.list,
493
585
  )
586
+ self.list_public = async_to_raw_response_wrapper(
587
+ benchmarks.list_public,
588
+ )
494
589
  self.start_run = async_to_raw_response_wrapper(
495
590
  benchmarks.start_run,
496
591
  )
@@ -513,6 +608,9 @@ class BenchmarksResourceWithStreamingResponse:
513
608
  self.list = to_streamed_response_wrapper(
514
609
  benchmarks.list,
515
610
  )
611
+ self.list_public = to_streamed_response_wrapper(
612
+ benchmarks.list_public,
613
+ )
516
614
  self.start_run = to_streamed_response_wrapper(
517
615
  benchmarks.start_run,
518
616
  )
@@ -535,6 +633,9 @@ class AsyncBenchmarksResourceWithStreamingResponse:
535
633
  self.list = async_to_streamed_response_wrapper(
536
634
  benchmarks.list,
537
635
  )
636
+ self.list_public = async_to_streamed_response_wrapper(
637
+ benchmarks.list_public,
638
+ )
538
639
  self.start_run = async_to_streamed_response_wrapper(
539
640
  benchmarks.start_run,
540
641
  )