runloop-api-client 0.17.0__tar.gz → 0.18.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 (247) hide show
  1. runloop_api_client-0.18.0/.release-please-manifest.json +3 -0
  2. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/CHANGELOG.md +8 -0
  3. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/PKG-INFO +1 -1
  4. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/api.md +4 -4
  5. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/pyproject.toml +1 -1
  6. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_version.py +1 -1
  7. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/pagination.py +236 -0
  8. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/benchmarks/benchmarks.py +12 -10
  9. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/benchmarks/runs.py +13 -14
  10. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/scenarios/runs.py +13 -14
  11. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/scenarios/scenarios.py +20 -10
  12. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_list_params.py +3 -0
  13. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/benchmarks/test_runs.py +10 -9
  14. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/scenarios/test_runs.py +10 -9
  15. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/test_benchmarks.py +9 -9
  16. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/test_scenarios.py +11 -9
  17. runloop_api_client-0.17.0/.release-please-manifest.json +0 -3
  18. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/.gitignore +0 -0
  19. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/CONTRIBUTING.md +0 -0
  20. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/LICENSE +0 -0
  21. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/README.md +0 -0
  22. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/SECURITY.md +0 -0
  23. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/bin/check-release-environment +0 -0
  24. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/bin/publish-pypi +0 -0
  25. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/examples/.keep +0 -0
  26. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/mypy.ini +0 -0
  27. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/noxfile.py +0 -0
  28. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/release-please-config.json +0 -0
  29. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/requirements-dev.lock +0 -0
  30. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/requirements.lock +0 -0
  31. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop/lib/.keep +0 -0
  32. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/__init__.py +0 -0
  33. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_base_client.py +0 -0
  34. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_client.py +0 -0
  35. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_compat.py +0 -0
  36. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_constants.py +0 -0
  37. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_exceptions.py +0 -0
  38. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_files.py +0 -0
  39. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_models.py +0 -0
  40. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_qs.py +0 -0
  41. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_resource.py +0 -0
  42. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_response.py +0 -0
  43. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_streaming.py +0 -0
  44. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_types.py +0 -0
  45. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/__init__.py +0 -0
  46. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_logs.py +0 -0
  47. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_proxy.py +0 -0
  48. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_reflection.py +0 -0
  49. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_streams.py +0 -0
  50. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_sync.py +0 -0
  51. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_transform.py +0 -0
  52. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_typing.py +0 -0
  53. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/_utils/_utils.py +0 -0
  54. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/lib/.keep +0 -0
  55. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/lib/polling.py +0 -0
  56. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/lib/polling_async.py +0 -0
  57. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/py.typed +0 -0
  58. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/__init__.py +0 -0
  59. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/benchmarks/__init__.py +0 -0
  60. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/blueprints.py +0 -0
  61. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/__init__.py +0 -0
  62. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/browsers.py +0 -0
  63. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/computers.py +0 -0
  64. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/devboxes.py +0 -0
  65. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/executions.py +0 -0
  66. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/logs.py +0 -0
  67. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/devboxes/lsp.py +0 -0
  68. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/repositories.py +0 -0
  69. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/resources/scenarios/__init__.py +0 -0
  70. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/__init__.py +0 -0
  71. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_create_params.py +0 -0
  72. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_list_params.py +0 -0
  73. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_list_view.py +0 -0
  74. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_run_list_view.py +0 -0
  75. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_run_view.py +0 -0
  76. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_start_run_params.py +0 -0
  77. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmark_view.py +0 -0
  78. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmarks/__init__.py +0 -0
  79. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/benchmarks/run_list_params.py +0 -0
  80. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_build_log.py +0 -0
  81. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_build_logs_list_view.py +0 -0
  82. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_build_parameters.py +0 -0
  83. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_create_params.py +0 -0
  84. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_list_params.py +0 -0
  85. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_list_view.py +0 -0
  86. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_preview_params.py +0 -0
  87. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_preview_view.py +0 -0
  88. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/blueprint_view.py +0 -0
  89. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_async_execution_detail_view.py +0 -0
  90. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_create_params.py +0 -0
  91. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_create_ssh_key_response.py +0 -0
  92. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_create_tunnel_params.py +0 -0
  93. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_download_file_params.py +0 -0
  94. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_execute_async_params.py +0 -0
  95. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_execute_sync_params.py +0 -0
  96. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_execution_detail_view.py +0 -0
  97. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_list_disk_snapshots_params.py +0 -0
  98. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_list_params.py +0 -0
  99. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_list_view.py +0 -0
  100. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_read_file_contents_params.py +0 -0
  101. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_read_file_contents_response.py +0 -0
  102. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_remove_tunnel_params.py +0 -0
  103. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_snapshot_disk_params.py +0 -0
  104. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_snapshot_list_view.py +0 -0
  105. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_snapshot_view.py +0 -0
  106. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_tunnel_view.py +0 -0
  107. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_upload_file_params.py +0 -0
  108. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_view.py +0 -0
  109. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devbox_write_file_contents_params.py +0 -0
  110. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/__init__.py +0 -0
  111. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_code_action.py +0 -0
  112. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_command.py +0 -0
  113. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_command_param.py +0 -0
  114. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_diagnostic.py +0 -0
  115. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_diagnostic_param.py +0 -0
  116. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_location.py +0 -0
  117. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_markup_content.py +0 -0
  118. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_parameter_information.py +0 -0
  119. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_range.py +0 -0
  120. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_range_param.py +0 -0
  121. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_signature.py +0 -0
  122. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_workspace_edit.py +0 -0
  123. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/base_workspace_edit_param.py +0 -0
  124. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/browser_view.py +0 -0
  125. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_action_application_result.py +0 -0
  126. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_action_context_param.py +0 -0
  127. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_action_kind.py +0 -0
  128. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_action_trigger_kind.py +0 -0
  129. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_description_param.py +0 -0
  130. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/code_segment_info_response.py +0 -0
  131. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_create_params.py +0 -0
  132. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +0 -0
  133. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +0 -0
  134. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +0 -0
  135. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +0 -0
  136. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_params.py +0 -0
  137. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_screen_interaction_response.py +0 -0
  138. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/computer_view.py +0 -0
  139. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/devbox_logs_list_view.py +0 -0
  140. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/diagnostic_param.py +0 -0
  141. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/diagnostic_related_information_param.py +0 -0
  142. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/diagnostic_severity.py +0 -0
  143. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/diagnostic_tag.py +0 -0
  144. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/diagnostics_response.py +0 -0
  145. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/document_symbol.py +0 -0
  146. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/document_uri.py +0 -0
  147. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/execution_execute_async_params.py +0 -0
  148. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/execution_execute_sync_params.py +0 -0
  149. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/execution_retrieve_params.py +0 -0
  150. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/file_contents_response.py +0 -0
  151. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/file_path.py +0 -0
  152. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/file_uri.py +0 -0
  153. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/health_status_response.py +0 -0
  154. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/integer.py +0 -0
  155. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/l_sp_any_param.py +0 -0
  156. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/location_param.py +0 -0
  157. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/log_list_params.py +0 -0
  158. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_apply_code_action_params.py +0 -0
  159. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_code_actions_params.py +0 -0
  160. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_diagnostics_params.py +0 -0
  161. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_document_symbols_params.py +0 -0
  162. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_file_definition_params.py +0 -0
  163. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_file_params.py +0 -0
  164. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_files_response.py +0 -0
  165. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_formatting_params.py +0 -0
  166. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_params.py +0 -0
  167. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_get_code_actions_for_diagnostic_response.py +0 -0
  168. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_get_code_segment_info_params.py +0 -0
  169. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_get_signature_help_params.py +0 -0
  170. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_references_params.py +0 -0
  171. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_params.py +0 -0
  172. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/lsp_set_watch_directory_response.py +0 -0
  173. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/position.py +0 -0
  174. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/position_param.py +0 -0
  175. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/range.py +0 -0
  176. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/range_param.py +0 -0
  177. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array.py +0 -0
  178. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/record_string_text_edit_array_param.py +0 -0
  179. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/signature_help_response.py +0 -0
  180. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/symbol_kind.py +0 -0
  181. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/symbol_tag.py +0 -0
  182. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/symbol_type.py +0 -0
  183. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/text_edit.py +0 -0
  184. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/text_edit_param.py +0 -0
  185. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/u_ri.py +0 -0
  186. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/uinteger.py +0 -0
  187. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/devboxes/watched_file_response.py +0 -0
  188. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/input_context.py +0 -0
  189. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/input_context_param.py +0 -0
  190. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_connection_list_view.py +0 -0
  191. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_connection_view.py +0 -0
  192. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_create_params.py +0 -0
  193. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_list_params.py +0 -0
  194. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_version_details.py +0 -0
  195. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/repository_version_list_view.py +0 -0
  196. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_create_params.py +0 -0
  197. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_environment.py +0 -0
  198. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_environment_param.py +0 -0
  199. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_list_view.py +0 -0
  200. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_run_list_view.py +0 -0
  201. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_run_view.py +0 -0
  202. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_start_run_params.py +0 -0
  203. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenario_view.py +0 -0
  204. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenarios/__init__.py +0 -0
  205. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scenarios/run_list_params.py +0 -0
  206. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_contract.py +0 -0
  207. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_contract_param.py +0 -0
  208. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_contract_result_view.py +0 -0
  209. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_function.py +0 -0
  210. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_function_param.py +0 -0
  211. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/scoring_function_result_view.py +0 -0
  212. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared/__init__.py +0 -0
  213. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared/after_idle.py +0 -0
  214. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared/code_mount_parameters.py +0 -0
  215. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared/launch_parameters.py +0 -0
  216. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared_params/__init__.py +0 -0
  217. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared_params/after_idle.py +0 -0
  218. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared_params/code_mount_parameters.py +0 -0
  219. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/src/runloop_api_client/types/shared_params/launch_parameters.py +0 -0
  220. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/__init__.py +0 -0
  221. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/__init__.py +0 -0
  222. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/benchmarks/__init__.py +0 -0
  223. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/__init__.py +0 -0
  224. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/test_browsers.py +0 -0
  225. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/test_computers.py +0 -0
  226. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/test_executions.py +0 -0
  227. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/test_logs.py +0 -0
  228. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/devboxes/test_lsp.py +0 -0
  229. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/scenarios/__init__.py +0 -0
  230. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/test_blueprints.py +0 -0
  231. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/test_devboxes.py +0 -0
  232. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/api_resources/test_repositories.py +0 -0
  233. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/conftest.py +0 -0
  234. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/sample_file.txt +0 -0
  235. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_client.py +0 -0
  236. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_deepcopy.py +0 -0
  237. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_extract_files.py +0 -0
  238. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_files.py +0 -0
  239. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_models.py +0 -0
  240. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_qs.py +0 -0
  241. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_required_args.py +0 -0
  242. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_response.py +0 -0
  243. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_streaming.py +0 -0
  244. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_transform.py +0 -0
  245. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_utils/test_proxy.py +0 -0
  246. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/test_utils/test_typing.py +0 -0
  247. {runloop_api_client-0.17.0 → runloop_api_client-0.18.0}/tests/utils.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.18.0"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.18.0 (2025-02-01)
4
+
5
+ Full Changelog: [v0.17.0...v0.18.0](https://github.com/runloopai/api-client-python/compare/v0.17.0...v0.18.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([#515](https://github.com/runloopai/api-client-python/issues/515)) ([1c68520](https://github.com/runloopai/api-client-python/commit/1c68520b90822af7d035acbf8b366a0c6492ec87))
10
+
3
11
  ## 0.17.0 (2025-01-31)
4
12
 
5
13
  Full Changelog: [v0.16.0...v0.17.0](https://github.com/runloopai/api-client-python/compare/v0.16.0...v0.17.0)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runloop_api_client
3
- Version: 0.17.0
3
+ Version: 0.18.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
@@ -23,7 +23,7 @@ Methods:
23
23
 
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
- - <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_list_view.py">BenchmarkListView</a></code>
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
27
  - <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
28
 
29
29
  ## Runs
@@ -31,7 +31,7 @@ Methods:
31
31
  Methods:
32
32
 
33
33
  - <code title="get /v1/benchmarks/runs/{id}">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
34
- - <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_list_view.py">BenchmarkRunListView</a></code>
34
+ - <code title="get /v1/benchmarks/runs">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">list</a>(\*\*<a href="src/runloop_api_client/types/benchmarks/run_list_params.py">params</a>) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]</a></code>
35
35
  - <code title="post /v1/benchmarks/runs/{id}/complete">client.benchmarks.runs.<a href="./src/runloop_api_client/resources/benchmarks/runs.py">complete</a>(id) -> <a href="./src/runloop_api_client/types/benchmark_run_view.py">BenchmarkRunView</a></code>
36
36
 
37
37
  # Blueprints
@@ -260,7 +260,7 @@ Methods:
260
260
 
261
261
  - <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
262
  - <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
- - <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_list_view.py">ScenarioListView</a></code>
263
+ - <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>
264
264
  - <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
265
 
266
266
  ## Runs
@@ -268,7 +268,7 @@ Methods:
268
268
  Methods:
269
269
 
270
270
  - <code title="get /v1/scenarios/runs/{id}">client.scenarios.runs.<a href="./src/runloop_api_client/resources/scenarios/runs.py">retrieve</a>(id) -> <a href="./src/runloop_api_client/types/scenario_run_view.py">ScenarioRunView</a></code>
271
- - <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_list_view.py">ScenarioRunListView</a></code>
271
+ - <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>
272
272
  - <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
273
  - <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
274
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "runloop_api_client"
3
- version = "0.17.0"
3
+ version = "0.18.0"
4
4
  description = "The official Python library for the runloop API"
5
5
  dynamic = ["readme"]
6
6
  license = "MIT"
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "runloop_api_client"
4
- __version__ = "0.17.0" # x-release-please-version
4
+ __version__ = "0.18.0" # x-release-please-version
@@ -14,6 +14,14 @@ __all__ = [
14
14
  "AsyncRepositoriesCursorIDPage",
15
15
  "SyncDiskSnapshotsCursorIDPage",
16
16
  "AsyncDiskSnapshotsCursorIDPage",
17
+ "SyncBenchmarksCursorIDPage",
18
+ "AsyncBenchmarksCursorIDPage",
19
+ "SyncBenchmarkRunsCursorIDPage",
20
+ "AsyncBenchmarkRunsCursorIDPage",
21
+ "SyncScenariosCursorIDPage",
22
+ "AsyncScenariosCursorIDPage",
23
+ "SyncScenarioRunsCursorIDPage",
24
+ "AsyncScenarioRunsCursorIDPage",
17
25
  ]
18
26
 
19
27
  _T = TypeVar("_T")
@@ -39,6 +47,26 @@ class DiskSnapshotsCursorIDPageItem(Protocol):
39
47
  id: str
40
48
 
41
49
 
50
+ @runtime_checkable
51
+ class BenchmarksCursorIDPageItem(Protocol):
52
+ id: str
53
+
54
+
55
+ @runtime_checkable
56
+ class BenchmarkRunsCursorIDPageItem(Protocol):
57
+ id: str
58
+
59
+
60
+ @runtime_checkable
61
+ class ScenariosCursorIDPageItem(Protocol):
62
+ id: str
63
+
64
+
65
+ @runtime_checkable
66
+ class ScenarioRunsCursorIDPageItem(Protocol):
67
+ id: str
68
+
69
+
42
70
  class SyncBlueprintsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
43
71
  blueprints: List[_T]
44
72
  has_more: Optional[bool] = None
@@ -245,3 +273,211 @@ class AsyncDiskSnapshotsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T
245
273
  return None
246
274
 
247
275
  return PageInfo(params={"starting_after": item.id})
276
+
277
+
278
+ class SyncBenchmarksCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
279
+ benchmarks: List[_T]
280
+ has_more: Optional[bool] = None
281
+ total_count: Optional[int] = None
282
+
283
+ @override
284
+ def _get_page_items(self) -> List[_T]:
285
+ benchmarks = self.benchmarks
286
+ if not benchmarks:
287
+ return []
288
+ return benchmarks
289
+
290
+ @override
291
+ def next_page_info(self) -> Optional[PageInfo]:
292
+ benchmarks = self.benchmarks
293
+ if not benchmarks:
294
+ return None
295
+
296
+ item = cast(Any, benchmarks[-1])
297
+ if not isinstance(item, BenchmarksCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
298
+ # TODO emit warning log
299
+ return None
300
+
301
+ return PageInfo(params={"starting_after": item.id})
302
+
303
+
304
+ class AsyncBenchmarksCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
305
+ benchmarks: List[_T]
306
+ has_more: Optional[bool] = None
307
+ total_count: Optional[int] = None
308
+
309
+ @override
310
+ def _get_page_items(self) -> List[_T]:
311
+ benchmarks = self.benchmarks
312
+ if not benchmarks:
313
+ return []
314
+ return benchmarks
315
+
316
+ @override
317
+ def next_page_info(self) -> Optional[PageInfo]:
318
+ benchmarks = self.benchmarks
319
+ if not benchmarks:
320
+ return None
321
+
322
+ item = cast(Any, benchmarks[-1])
323
+ if not isinstance(item, BenchmarksCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
324
+ # TODO emit warning log
325
+ return None
326
+
327
+ return PageInfo(params={"starting_after": item.id})
328
+
329
+
330
+ class SyncBenchmarkRunsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
331
+ runs: List[_T]
332
+ has_more: Optional[bool] = None
333
+ total_count: Optional[int] = None
334
+
335
+ @override
336
+ def _get_page_items(self) -> List[_T]:
337
+ runs = self.runs
338
+ if not runs:
339
+ return []
340
+ return runs
341
+
342
+ @override
343
+ def next_page_info(self) -> Optional[PageInfo]:
344
+ runs = self.runs
345
+ if not runs:
346
+ return None
347
+
348
+ item = cast(Any, runs[-1])
349
+ if not isinstance(item, BenchmarkRunsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
350
+ # TODO emit warning log
351
+ return None
352
+
353
+ return PageInfo(params={"starting_after": item.id})
354
+
355
+
356
+ class AsyncBenchmarkRunsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
357
+ runs: List[_T]
358
+ has_more: Optional[bool] = None
359
+ total_count: Optional[int] = None
360
+
361
+ @override
362
+ def _get_page_items(self) -> List[_T]:
363
+ runs = self.runs
364
+ if not runs:
365
+ return []
366
+ return runs
367
+
368
+ @override
369
+ def next_page_info(self) -> Optional[PageInfo]:
370
+ runs = self.runs
371
+ if not runs:
372
+ return None
373
+
374
+ item = cast(Any, runs[-1])
375
+ if not isinstance(item, BenchmarkRunsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
376
+ # TODO emit warning log
377
+ return None
378
+
379
+ return PageInfo(params={"starting_after": item.id})
380
+
381
+
382
+ class SyncScenariosCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
383
+ scenarios: List[_T]
384
+ has_more: Optional[bool] = None
385
+ total_count: Optional[int] = None
386
+
387
+ @override
388
+ def _get_page_items(self) -> List[_T]:
389
+ scenarios = self.scenarios
390
+ if not scenarios:
391
+ return []
392
+ return scenarios
393
+
394
+ @override
395
+ def next_page_info(self) -> Optional[PageInfo]:
396
+ scenarios = self.scenarios
397
+ if not scenarios:
398
+ return None
399
+
400
+ item = cast(Any, scenarios[-1])
401
+ if not isinstance(item, ScenariosCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
402
+ # TODO emit warning log
403
+ return None
404
+
405
+ return PageInfo(params={"starting_after": item.id})
406
+
407
+
408
+ class AsyncScenariosCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
409
+ scenarios: List[_T]
410
+ has_more: Optional[bool] = None
411
+ total_count: Optional[int] = None
412
+
413
+ @override
414
+ def _get_page_items(self) -> List[_T]:
415
+ scenarios = self.scenarios
416
+ if not scenarios:
417
+ return []
418
+ return scenarios
419
+
420
+ @override
421
+ def next_page_info(self) -> Optional[PageInfo]:
422
+ scenarios = self.scenarios
423
+ if not scenarios:
424
+ return None
425
+
426
+ item = cast(Any, scenarios[-1])
427
+ if not isinstance(item, ScenariosCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
428
+ # TODO emit warning log
429
+ return None
430
+
431
+ return PageInfo(params={"starting_after": item.id})
432
+
433
+
434
+ class SyncScenarioRunsCursorIDPage(BaseSyncPage[_T], BasePage[_T], Generic[_T]):
435
+ runs: List[_T]
436
+ has_more: Optional[bool] = None
437
+ total_count: Optional[int] = None
438
+
439
+ @override
440
+ def _get_page_items(self) -> List[_T]:
441
+ runs = self.runs
442
+ if not runs:
443
+ return []
444
+ return runs
445
+
446
+ @override
447
+ def next_page_info(self) -> Optional[PageInfo]:
448
+ runs = self.runs
449
+ if not runs:
450
+ return None
451
+
452
+ item = cast(Any, runs[-1])
453
+ if not isinstance(item, ScenarioRunsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
454
+ # TODO emit warning log
455
+ return None
456
+
457
+ return PageInfo(params={"starting_after": item.id})
458
+
459
+
460
+ class AsyncScenarioRunsCursorIDPage(BaseAsyncPage[_T], BasePage[_T], Generic[_T]):
461
+ runs: List[_T]
462
+ has_more: Optional[bool] = None
463
+ total_count: Optional[int] = None
464
+
465
+ @override
466
+ def _get_page_items(self) -> List[_T]:
467
+ runs = self.runs
468
+ if not runs:
469
+ return []
470
+ return runs
471
+
472
+ @override
473
+ def next_page_info(self) -> Optional[PageInfo]:
474
+ runs = self.runs
475
+ if not runs:
476
+ return None
477
+
478
+ item = cast(Any, runs[-1])
479
+ if not isinstance(item, ScenarioRunsCursorIDPageItem) or item.id is None: # pyright: ignore[reportUnnecessaryComparison]
480
+ # TODO emit warning log
481
+ return None
482
+
483
+ return PageInfo(params={"starting_after": item.id})
@@ -28,10 +28,10 @@ from ..._response import (
28
28
  async_to_raw_response_wrapper,
29
29
  async_to_streamed_response_wrapper,
30
30
  )
31
- from ..._base_client import make_request_options
31
+ from ...pagination import SyncBenchmarksCursorIDPage, AsyncBenchmarksCursorIDPage
32
+ from ..._base_client import AsyncPaginator, make_request_options
32
33
  from ...types.benchmark_view import BenchmarkView
33
34
  from ...types.benchmark_run_view import BenchmarkRunView
34
- from ...types.benchmark_list_view import BenchmarkListView
35
35
 
36
36
  __all__ = ["BenchmarksResource", "AsyncBenchmarksResource"]
37
37
 
@@ -155,7 +155,7 @@ class BenchmarksResource(SyncAPIResource):
155
155
  extra_query: Query | None = None,
156
156
  extra_body: Body | None = None,
157
157
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
158
- ) -> BenchmarkListView:
158
+ ) -> SyncBenchmarksCursorIDPage[BenchmarkView]:
159
159
  """
160
160
  List all Benchmarks matching filter.
161
161
 
@@ -175,8 +175,9 @@ class BenchmarksResource(SyncAPIResource):
175
175
 
176
176
  timeout: Override the client-level default timeout for this request, in seconds
177
177
  """
178
- return self._get(
178
+ return self._get_api_list(
179
179
  "/v1/benchmarks",
180
+ page=SyncBenchmarksCursorIDPage[BenchmarkView],
180
181
  options=make_request_options(
181
182
  extra_headers=extra_headers,
182
183
  extra_query=extra_query,
@@ -191,7 +192,7 @@ class BenchmarksResource(SyncAPIResource):
191
192
  benchmark_list_params.BenchmarkListParams,
192
193
  ),
193
194
  ),
194
- cast_to=BenchmarkListView,
195
+ model=BenchmarkView,
195
196
  )
196
197
 
197
198
  def start_run(
@@ -352,7 +353,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
352
353
  cast_to=BenchmarkView,
353
354
  )
354
355
 
355
- async def list(
356
+ def list(
356
357
  self,
357
358
  *,
358
359
  limit: int | NotGiven = NOT_GIVEN,
@@ -364,7 +365,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
364
365
  extra_query: Query | None = None,
365
366
  extra_body: Body | None = None,
366
367
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
367
- ) -> BenchmarkListView:
368
+ ) -> AsyncPaginator[BenchmarkView, AsyncBenchmarksCursorIDPage[BenchmarkView]]:
368
369
  """
369
370
  List all Benchmarks matching filter.
370
371
 
@@ -384,14 +385,15 @@ class AsyncBenchmarksResource(AsyncAPIResource):
384
385
 
385
386
  timeout: Override the client-level default timeout for this request, in seconds
386
387
  """
387
- return await self._get(
388
+ return self._get_api_list(
388
389
  "/v1/benchmarks",
390
+ page=AsyncBenchmarksCursorIDPage[BenchmarkView],
389
391
  options=make_request_options(
390
392
  extra_headers=extra_headers,
391
393
  extra_query=extra_query,
392
394
  extra_body=extra_body,
393
395
  timeout=timeout,
394
- query=await async_maybe_transform(
396
+ query=maybe_transform(
395
397
  {
396
398
  "limit": limit,
397
399
  "public": public,
@@ -400,7 +402,7 @@ class AsyncBenchmarksResource(AsyncAPIResource):
400
402
  benchmark_list_params.BenchmarkListParams,
401
403
  ),
402
404
  ),
403
- cast_to=BenchmarkListView,
405
+ model=BenchmarkView,
404
406
  )
405
407
 
406
408
  async def start_run(
@@ -5,10 +5,7 @@ from __future__ import annotations
5
5
  import httpx
6
6
 
7
7
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
- from ..._utils import (
9
- maybe_transform,
10
- async_maybe_transform,
11
- )
8
+ from ..._utils import maybe_transform
12
9
  from ..._compat import cached_property
13
10
  from ..._resource import SyncAPIResource, AsyncAPIResource
14
11
  from ..._response import (
@@ -17,10 +14,10 @@ from ..._response import (
17
14
  async_to_raw_response_wrapper,
18
15
  async_to_streamed_response_wrapper,
19
16
  )
20
- from ..._base_client import make_request_options
17
+ from ...pagination import SyncBenchmarkRunsCursorIDPage, AsyncBenchmarkRunsCursorIDPage
18
+ from ..._base_client import AsyncPaginator, make_request_options
21
19
  from ...types.benchmarks import run_list_params
22
20
  from ...types.benchmark_run_view import BenchmarkRunView
23
- from ...types.benchmark_run_list_view import BenchmarkRunListView
24
21
 
25
22
  __all__ = ["RunsResource", "AsyncRunsResource"]
26
23
 
@@ -90,7 +87,7 @@ class RunsResource(SyncAPIResource):
90
87
  extra_query: Query | None = None,
91
88
  extra_body: Body | None = None,
92
89
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
93
- ) -> BenchmarkRunListView:
90
+ ) -> SyncBenchmarkRunsCursorIDPage[BenchmarkRunView]:
94
91
  """
95
92
  List all BenchmarkRuns matching filter.
96
93
 
@@ -109,8 +106,9 @@ class RunsResource(SyncAPIResource):
109
106
 
110
107
  timeout: Override the client-level default timeout for this request, in seconds
111
108
  """
112
- return self._get(
109
+ return self._get_api_list(
113
110
  "/v1/benchmarks/runs",
111
+ page=SyncBenchmarkRunsCursorIDPage[BenchmarkRunView],
114
112
  options=make_request_options(
115
113
  extra_headers=extra_headers,
116
114
  extra_query=extra_query,
@@ -125,7 +123,7 @@ class RunsResource(SyncAPIResource):
125
123
  run_list_params.RunListParams,
126
124
  ),
127
125
  ),
128
- cast_to=BenchmarkRunListView,
126
+ model=BenchmarkRunView,
129
127
  )
130
128
 
131
129
  def complete(
@@ -222,7 +220,7 @@ class AsyncRunsResource(AsyncAPIResource):
222
220
  cast_to=BenchmarkRunView,
223
221
  )
224
222
 
225
- async def list(
223
+ def list(
226
224
  self,
227
225
  *,
228
226
  benchmark_id: str | NotGiven = NOT_GIVEN,
@@ -234,7 +232,7 @@ class AsyncRunsResource(AsyncAPIResource):
234
232
  extra_query: Query | None = None,
235
233
  extra_body: Body | None = None,
236
234
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
237
- ) -> BenchmarkRunListView:
235
+ ) -> AsyncPaginator[BenchmarkRunView, AsyncBenchmarkRunsCursorIDPage[BenchmarkRunView]]:
238
236
  """
239
237
  List all BenchmarkRuns matching filter.
240
238
 
@@ -253,14 +251,15 @@ class AsyncRunsResource(AsyncAPIResource):
253
251
 
254
252
  timeout: Override the client-level default timeout for this request, in seconds
255
253
  """
256
- return await self._get(
254
+ return self._get_api_list(
257
255
  "/v1/benchmarks/runs",
256
+ page=AsyncBenchmarkRunsCursorIDPage[BenchmarkRunView],
258
257
  options=make_request_options(
259
258
  extra_headers=extra_headers,
260
259
  extra_query=extra_query,
261
260
  extra_body=extra_body,
262
261
  timeout=timeout,
263
- query=await async_maybe_transform(
262
+ query=maybe_transform(
264
263
  {
265
264
  "benchmark_id": benchmark_id,
266
265
  "limit": limit,
@@ -269,7 +268,7 @@ class AsyncRunsResource(AsyncAPIResource):
269
268
  run_list_params.RunListParams,
270
269
  ),
271
270
  ),
272
- cast_to=BenchmarkRunListView,
271
+ model=BenchmarkRunView,
273
272
  )
274
273
 
275
274
  async def complete(
@@ -5,10 +5,7 @@ from __future__ import annotations
5
5
  import httpx
6
6
 
7
7
  from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
- from ..._utils import (
9
- maybe_transform,
10
- async_maybe_transform,
11
- )
8
+ from ..._utils import maybe_transform
12
9
  from ..._compat import cached_property
13
10
  from ..._resource import SyncAPIResource, AsyncAPIResource
14
11
  from ..._response import (
@@ -17,10 +14,10 @@ from ..._response import (
17
14
  async_to_raw_response_wrapper,
18
15
  async_to_streamed_response_wrapper,
19
16
  )
20
- from ..._base_client import make_request_options
17
+ from ...pagination import SyncBenchmarkRunsCursorIDPage, AsyncBenchmarkRunsCursorIDPage
18
+ from ..._base_client import AsyncPaginator, make_request_options
21
19
  from ...types.scenarios import run_list_params
22
20
  from ...types.scenario_run_view import ScenarioRunView
23
- from ...types.scenario_run_list_view import ScenarioRunListView
24
21
 
25
22
  __all__ = ["RunsResource", "AsyncRunsResource"]
26
23
 
@@ -90,7 +87,7 @@ class RunsResource(SyncAPIResource):
90
87
  extra_query: Query | None = None,
91
88
  extra_body: Body | None = None,
92
89
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
93
- ) -> ScenarioRunListView:
90
+ ) -> SyncBenchmarkRunsCursorIDPage[ScenarioRunView]:
94
91
  """
95
92
  List all ScenarioRuns matching filter.
96
93
 
@@ -109,8 +106,9 @@ class RunsResource(SyncAPIResource):
109
106
 
110
107
  timeout: Override the client-level default timeout for this request, in seconds
111
108
  """
112
- return self._get(
109
+ return self._get_api_list(
113
110
  "/v1/scenarios/runs",
111
+ page=SyncBenchmarkRunsCursorIDPage[ScenarioRunView],
114
112
  options=make_request_options(
115
113
  extra_headers=extra_headers,
116
114
  extra_query=extra_query,
@@ -125,7 +123,7 @@ class RunsResource(SyncAPIResource):
125
123
  run_list_params.RunListParams,
126
124
  ),
127
125
  ),
128
- cast_to=ScenarioRunListView,
126
+ model=ScenarioRunView,
129
127
  )
130
128
 
131
129
  def complete(
@@ -262,7 +260,7 @@ class AsyncRunsResource(AsyncAPIResource):
262
260
  cast_to=ScenarioRunView,
263
261
  )
264
262
 
265
- async def list(
263
+ def list(
266
264
  self,
267
265
  *,
268
266
  limit: int | NotGiven = NOT_GIVEN,
@@ -274,7 +272,7 @@ class AsyncRunsResource(AsyncAPIResource):
274
272
  extra_query: Query | None = None,
275
273
  extra_body: Body | None = None,
276
274
  timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
277
- ) -> ScenarioRunListView:
275
+ ) -> AsyncPaginator[ScenarioRunView, AsyncBenchmarkRunsCursorIDPage[ScenarioRunView]]:
278
276
  """
279
277
  List all ScenarioRuns matching filter.
280
278
 
@@ -293,14 +291,15 @@ class AsyncRunsResource(AsyncAPIResource):
293
291
 
294
292
  timeout: Override the client-level default timeout for this request, in seconds
295
293
  """
296
- return await self._get(
294
+ return self._get_api_list(
297
295
  "/v1/scenarios/runs",
296
+ page=AsyncBenchmarkRunsCursorIDPage[ScenarioRunView],
298
297
  options=make_request_options(
299
298
  extra_headers=extra_headers,
300
299
  extra_query=extra_query,
301
300
  extra_body=extra_body,
302
301
  timeout=timeout,
303
- query=await async_maybe_transform(
302
+ query=maybe_transform(
304
303
  {
305
304
  "limit": limit,
306
305
  "scenario_id": scenario_id,
@@ -309,7 +308,7 @@ class AsyncRunsResource(AsyncAPIResource):
309
308
  run_list_params.RunListParams,
310
309
  ),
311
310
  ),
312
- cast_to=ScenarioRunListView,
311
+ model=ScenarioRunView,
313
312
  )
314
313
 
315
314
  async def complete(