runloop_api_client 1.5.1__py3-none-any.whl

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/__init__.py +95 -0
  2. runloop_api_client/_base_client.py +2127 -0
  3. runloop_api_client/_client.py +866 -0
  4. runloop_api_client/_compat.py +219 -0
  5. runloop_api_client/_constants.py +23 -0
  6. runloop_api_client/_exceptions.py +108 -0
  7. runloop_api_client/_files.py +123 -0
  8. runloop_api_client/_models.py +872 -0
  9. runloop_api_client/_qs.py +150 -0
  10. runloop_api_client/_resource.py +43 -0
  11. runloop_api_client/_response.py +832 -0
  12. runloop_api_client/_streaming.py +518 -0
  13. runloop_api_client/_types.py +270 -0
  14. runloop_api_client/_utils/__init__.py +65 -0
  15. runloop_api_client/_utils/_compat.py +45 -0
  16. runloop_api_client/_utils/_datetime_parse.py +136 -0
  17. runloop_api_client/_utils/_json.py +35 -0
  18. runloop_api_client/_utils/_logs.py +25 -0
  19. runloop_api_client/_utils/_proxy.py +65 -0
  20. runloop_api_client/_utils/_reflection.py +42 -0
  21. runloop_api_client/_utils/_resources_proxy.py +24 -0
  22. runloop_api_client/_utils/_streams.py +12 -0
  23. runloop_api_client/_utils/_sync.py +58 -0
  24. runloop_api_client/_utils/_transform.py +457 -0
  25. runloop_api_client/_utils/_typing.py +156 -0
  26. runloop_api_client/_utils/_utils.py +421 -0
  27. runloop_api_client/_utils/_validation.py +31 -0
  28. runloop_api_client/_version.py +4 -0
  29. runloop_api_client/lib/.keep +4 -0
  30. runloop_api_client/lib/__init__.py +3 -0
  31. runloop_api_client/lib/_ignore.py +496 -0
  32. runloop_api_client/lib/context_loader.py +78 -0
  33. runloop_api_client/lib/polling.py +75 -0
  34. runloop_api_client/lib/polling_async.py +60 -0
  35. runloop_api_client/pagination.py +986 -0
  36. runloop_api_client/py.typed +0 -0
  37. runloop_api_client/resources/__init__.py +173 -0
  38. runloop_api_client/resources/agents.py +431 -0
  39. runloop_api_client/resources/benchmark_jobs.py +394 -0
  40. runloop_api_client/resources/benchmark_runs.py +595 -0
  41. runloop_api_client/resources/benchmarks.py +1085 -0
  42. runloop_api_client/resources/blueprints.py +1563 -0
  43. runloop_api_client/resources/devboxes/__init__.py +89 -0
  44. runloop_api_client/resources/devboxes/browsers.py +267 -0
  45. runloop_api_client/resources/devboxes/computers.py +648 -0
  46. runloop_api_client/resources/devboxes/devboxes.py +3784 -0
  47. runloop_api_client/resources/devboxes/disk_snapshots.py +602 -0
  48. runloop_api_client/resources/devboxes/executions.py +1212 -0
  49. runloop_api_client/resources/devboxes/logs.py +197 -0
  50. runloop_api_client/resources/gateway_configs.py +658 -0
  51. runloop_api_client/resources/network_policies.py +680 -0
  52. runloop_api_client/resources/objects.py +870 -0
  53. runloop_api_client/resources/repositories.py +918 -0
  54. runloop_api_client/resources/scenarios/__init__.py +47 -0
  55. runloop_api_client/resources/scenarios/runs.py +973 -0
  56. runloop_api_client/resources/scenarios/scenarios.py +1101 -0
  57. runloop_api_client/resources/scenarios/scorers.py +629 -0
  58. runloop_api_client/resources/secrets.py +500 -0
  59. runloop_api_client/sdk/__init__.py +117 -0
  60. runloop_api_client/sdk/_helpers.py +49 -0
  61. runloop_api_client/sdk/_types.py +264 -0
  62. runloop_api_client/sdk/agent.py +70 -0
  63. runloop_api_client/sdk/async_.py +1036 -0
  64. runloop_api_client/sdk/async_agent.py +70 -0
  65. runloop_api_client/sdk/async_benchmark.py +169 -0
  66. runloop_api_client/sdk/async_benchmark_run.py +127 -0
  67. runloop_api_client/sdk/async_blueprint.py +104 -0
  68. runloop_api_client/sdk/async_devbox.py +797 -0
  69. runloop_api_client/sdk/async_execution.py +144 -0
  70. runloop_api_client/sdk/async_execution_result.py +175 -0
  71. runloop_api_client/sdk/async_network_policy.py +80 -0
  72. runloop_api_client/sdk/async_scenario.py +118 -0
  73. runloop_api_client/sdk/async_scenario_builder.py +480 -0
  74. runloop_api_client/sdk/async_scenario_run.py +242 -0
  75. runloop_api_client/sdk/async_scorer.py +77 -0
  76. runloop_api_client/sdk/async_snapshot.py +125 -0
  77. runloop_api_client/sdk/async_storage_object.py +188 -0
  78. runloop_api_client/sdk/benchmark.py +167 -0
  79. runloop_api_client/sdk/benchmark_run.py +127 -0
  80. runloop_api_client/sdk/blueprint.py +104 -0
  81. runloop_api_client/sdk/devbox.py +800 -0
  82. runloop_api_client/sdk/execution.py +132 -0
  83. runloop_api_client/sdk/execution_result.py +173 -0
  84. runloop_api_client/sdk/network_policy.py +80 -0
  85. runloop_api_client/sdk/scenario.py +118 -0
  86. runloop_api_client/sdk/scenario_builder.py +480 -0
  87. runloop_api_client/sdk/scenario_run.py +242 -0
  88. runloop_api_client/sdk/scorer.py +77 -0
  89. runloop_api_client/sdk/snapshot.py +125 -0
  90. runloop_api_client/sdk/storage_object.py +188 -0
  91. runloop_api_client/sdk/sync.py +1061 -0
  92. runloop_api_client/types/__init__.py +130 -0
  93. runloop_api_client/types/agent_create_params.py +21 -0
  94. runloop_api_client/types/agent_list_params.py +27 -0
  95. runloop_api_client/types/agent_list_view.py +24 -0
  96. runloop_api_client/types/agent_view.py +30 -0
  97. runloop_api_client/types/benchmark_create_params.py +40 -0
  98. runloop_api_client/types/benchmark_definitions_params.py +15 -0
  99. runloop_api_client/types/benchmark_job_create_params.py +220 -0
  100. runloop_api_client/types/benchmark_job_list_params.py +18 -0
  101. runloop_api_client/types/benchmark_job_list_view.py +19 -0
  102. runloop_api_client/types/benchmark_job_view.py +344 -0
  103. runloop_api_client/types/benchmark_list_params.py +18 -0
  104. runloop_api_client/types/benchmark_list_public_params.py +15 -0
  105. runloop_api_client/types/benchmark_run_list_params.py +21 -0
  106. runloop_api_client/types/benchmark_run_list_scenario_runs_params.py +18 -0
  107. runloop_api_client/types/benchmark_run_list_view.py +19 -0
  108. runloop_api_client/types/benchmark_run_view.py +58 -0
  109. runloop_api_client/types/benchmark_start_run_params.py +29 -0
  110. runloop_api_client/types/benchmark_update_params.py +42 -0
  111. runloop_api_client/types/benchmark_update_scenarios_params.py +18 -0
  112. runloop_api_client/types/benchmark_view.py +49 -0
  113. runloop_api_client/types/blueprint_build_log.py +16 -0
  114. runloop_api_client/types/blueprint_build_logs_list_view.py +16 -0
  115. runloop_api_client/types/blueprint_build_parameters.py +119 -0
  116. runloop_api_client/types/blueprint_create_from_inspection_params.py +49 -0
  117. runloop_api_client/types/blueprint_create_params.py +121 -0
  118. runloop_api_client/types/blueprint_list_params.py +21 -0
  119. runloop_api_client/types/blueprint_list_public_params.py +21 -0
  120. runloop_api_client/types/blueprint_list_view.py +19 -0
  121. runloop_api_client/types/blueprint_preview_params.py +121 -0
  122. runloop_api_client/types/blueprint_preview_view.py +10 -0
  123. runloop_api_client/types/blueprint_view.py +93 -0
  124. runloop_api_client/types/devbox_async_execution_detail_view.py +46 -0
  125. runloop_api_client/types/devbox_create_params.py +124 -0
  126. runloop_api_client/types/devbox_create_ssh_key_response.py +19 -0
  127. runloop_api_client/types/devbox_create_tunnel_params.py +12 -0
  128. runloop_api_client/types/devbox_download_file_params.py +15 -0
  129. runloop_api_client/types/devbox_enable_tunnel_params.py +13 -0
  130. runloop_api_client/types/devbox_execute_async_params.py +33 -0
  131. runloop_api_client/types/devbox_execute_params.py +37 -0
  132. runloop_api_client/types/devbox_execute_sync_params.py +31 -0
  133. runloop_api_client/types/devbox_execution_detail_view.py +24 -0
  134. runloop_api_client/types/devbox_list_disk_snapshots_params.py +32 -0
  135. runloop_api_client/types/devbox_list_params.py +20 -0
  136. runloop_api_client/types/devbox_list_view.py +19 -0
  137. runloop_api_client/types/devbox_read_file_contents_params.py +15 -0
  138. runloop_api_client/types/devbox_read_file_contents_response.py +7 -0
  139. runloop_api_client/types/devbox_remove_tunnel_params.py +12 -0
  140. runloop_api_client/types/devbox_send_std_in_result.py +16 -0
  141. runloop_api_client/types/devbox_snapshot_disk_async_params.py +19 -0
  142. runloop_api_client/types/devbox_snapshot_disk_params.py +19 -0
  143. runloop_api_client/types/devbox_snapshot_list_view.py +19 -0
  144. runloop_api_client/types/devbox_snapshot_view.py +30 -0
  145. runloop_api_client/types/devbox_tunnel_view.py +16 -0
  146. runloop_api_client/types/devbox_update_params.py +16 -0
  147. runloop_api_client/types/devbox_upload_file_params.py +19 -0
  148. runloop_api_client/types/devbox_view.py +121 -0
  149. runloop_api_client/types/devbox_wait_for_command_params.py +28 -0
  150. runloop_api_client/types/devbox_write_file_contents_params.py +18 -0
  151. runloop_api_client/types/devboxes/__init__.py +33 -0
  152. runloop_api_client/types/devboxes/browser_create_params.py +13 -0
  153. runloop_api_client/types/devboxes/browser_view.py +29 -0
  154. runloop_api_client/types/devboxes/computer_create_params.py +26 -0
  155. runloop_api_client/types/devboxes/computer_keyboard_interaction_params.py +16 -0
  156. runloop_api_client/types/devboxes/computer_keyboard_interaction_response.py +15 -0
  157. runloop_api_client/types/devboxes/computer_mouse_interaction_params.py +35 -0
  158. runloop_api_client/types/devboxes/computer_mouse_interaction_response.py +15 -0
  159. runloop_api_client/types/devboxes/computer_screen_interaction_params.py +12 -0
  160. runloop_api_client/types/devboxes/computer_screen_interaction_response.py +15 -0
  161. runloop_api_client/types/devboxes/computer_view.py +23 -0
  162. runloop_api_client/types/devboxes/devbox_logs_list_view.py +39 -0
  163. runloop_api_client/types/devboxes/devbox_snapshot_async_status_view.py +20 -0
  164. runloop_api_client/types/devboxes/disk_snapshot_list_params.py +32 -0
  165. runloop_api_client/types/devboxes/disk_snapshot_update_params.py +19 -0
  166. runloop_api_client/types/devboxes/execution_execute_async_params.py +31 -0
  167. runloop_api_client/types/devboxes/execution_execute_sync_params.py +31 -0
  168. runloop_api_client/types/devboxes/execution_kill_params.py +18 -0
  169. runloop_api_client/types/devboxes/execution_retrieve_params.py +14 -0
  170. runloop_api_client/types/devboxes/execution_send_std_in_params.py +18 -0
  171. runloop_api_client/types/devboxes/execution_stream_stderr_updates_params.py +17 -0
  172. runloop_api_client/types/devboxes/execution_stream_stdout_updates_params.py +17 -0
  173. runloop_api_client/types/devboxes/execution_update_chunk.py +15 -0
  174. runloop_api_client/types/devboxes/log_list_params.py +15 -0
  175. runloop_api_client/types/gateway_config_create_params.py +41 -0
  176. runloop_api_client/types/gateway_config_list_params.py +21 -0
  177. runloop_api_client/types/gateway_config_list_view.py +21 -0
  178. runloop_api_client/types/gateway_config_update_params.py +32 -0
  179. runloop_api_client/types/gateway_config_view.py +47 -0
  180. runloop_api_client/types/input_context.py +19 -0
  181. runloop_api_client/types/input_context_param.py +20 -0
  182. runloop_api_client/types/input_context_update_param.py +16 -0
  183. runloop_api_client/types/inspection_source_param.py +18 -0
  184. runloop_api_client/types/network_policy_create_params.py +40 -0
  185. runloop_api_client/types/network_policy_list_params.py +21 -0
  186. runloop_api_client/types/network_policy_list_view.py +21 -0
  187. runloop_api_client/types/network_policy_update_params.py +30 -0
  188. runloop_api_client/types/network_policy_view.py +52 -0
  189. runloop_api_client/types/object_create_params.py +30 -0
  190. runloop_api_client/types/object_download_params.py +12 -0
  191. runloop_api_client/types/object_download_url_view.py +12 -0
  192. runloop_api_client/types/object_list_params.py +27 -0
  193. runloop_api_client/types/object_list_public_params.py +27 -0
  194. runloop_api_client/types/object_list_view.py +24 -0
  195. runloop_api_client/types/object_view.py +36 -0
  196. runloop_api_client/types/repository_connection_list_view.py +19 -0
  197. runloop_api_client/types/repository_connection_view.py +18 -0
  198. runloop_api_client/types/repository_create_params.py +22 -0
  199. runloop_api_client/types/repository_inspect_params.py +13 -0
  200. runloop_api_client/types/repository_inspection_details.py +83 -0
  201. runloop_api_client/types/repository_inspection_list_view.py +13 -0
  202. runloop_api_client/types/repository_list_params.py +21 -0
  203. runloop_api_client/types/repository_manifest_view.py +174 -0
  204. runloop_api_client/types/repository_refresh_params.py +16 -0
  205. runloop_api_client/types/scenario_create_params.py +53 -0
  206. runloop_api_client/types/scenario_definition_list_view.py +19 -0
  207. runloop_api_client/types/scenario_environment.py +29 -0
  208. runloop_api_client/types/scenario_environment_param.py +31 -0
  209. runloop_api_client/types/scenario_list_params.py +24 -0
  210. runloop_api_client/types/scenario_list_public_params.py +18 -0
  211. runloop_api_client/types/scenario_run_list_view.py +19 -0
  212. runloop_api_client/types/scenario_run_view.py +55 -0
  213. runloop_api_client/types/scenario_start_run_params.py +30 -0
  214. runloop_api_client/types/scenario_update_params.py +49 -0
  215. runloop_api_client/types/scenario_view.py +61 -0
  216. runloop_api_client/types/scenarios/__init__.py +14 -0
  217. runloop_api_client/types/scenarios/run_list_params.py +27 -0
  218. runloop_api_client/types/scenarios/scorer_create_params.py +18 -0
  219. runloop_api_client/types/scenarios/scorer_create_response.py +18 -0
  220. runloop_api_client/types/scenarios/scorer_list_params.py +15 -0
  221. runloop_api_client/types/scenarios/scorer_list_response.py +18 -0
  222. runloop_api_client/types/scenarios/scorer_retrieve_response.py +18 -0
  223. runloop_api_client/types/scenarios/scorer_update_params.py +18 -0
  224. runloop_api_client/types/scenarios/scorer_update_response.py +18 -0
  225. runloop_api_client/types/scenarios/scorer_validate_params.py +17 -0
  226. runloop_api_client/types/scenarios/scorer_validate_response.py +23 -0
  227. runloop_api_client/types/scoring_contract.py +17 -0
  228. runloop_api_client/types/scoring_contract_param.py +19 -0
  229. runloop_api_client/types/scoring_contract_result_view.py +20 -0
  230. runloop_api_client/types/scoring_contract_update_param.py +15 -0
  231. runloop_api_client/types/scoring_function.py +157 -0
  232. runloop_api_client/types/scoring_function_param.py +153 -0
  233. runloop_api_client/types/scoring_function_result_view.py +25 -0
  234. runloop_api_client/types/secret_create_params.py +23 -0
  235. runloop_api_client/types/secret_list_params.py +12 -0
  236. runloop_api_client/types/secret_list_view.py +24 -0
  237. runloop_api_client/types/secret_update_params.py +16 -0
  238. runloop_api_client/types/secret_view.py +26 -0
  239. runloop_api_client/types/shared/__init__.py +10 -0
  240. runloop_api_client/types/shared/after_idle.py +15 -0
  241. runloop_api_client/types/shared/agent_mount.py +31 -0
  242. runloop_api_client/types/shared/agent_source.py +75 -0
  243. runloop_api_client/types/shared/code_mount_parameters.py +24 -0
  244. runloop_api_client/types/shared/launch_parameters.py +86 -0
  245. runloop_api_client/types/shared/mount.py +43 -0
  246. runloop_api_client/types/shared/object_mount.py +21 -0
  247. runloop_api_client/types/shared/run_profile.py +37 -0
  248. runloop_api_client/types/shared_params/__init__.py +10 -0
  249. runloop_api_client/types/shared_params/after_idle.py +15 -0
  250. runloop_api_client/types/shared_params/agent_mount.py +31 -0
  251. runloop_api_client/types/shared_params/agent_source.py +78 -0
  252. runloop_api_client/types/shared_params/code_mount_parameters.py +25 -0
  253. runloop_api_client/types/shared_params/launch_parameters.py +88 -0
  254. runloop_api_client/types/shared_params/mount.py +43 -0
  255. runloop_api_client/types/shared_params/object_mount.py +21 -0
  256. runloop_api_client/types/shared_params/run_profile.py +38 -0
  257. runloop_api_client/types/tunnel_view.py +34 -0
  258. runloop_api_client-1.5.1.dist-info/METADATA +522 -0
  259. runloop_api_client-1.5.1.dist-info/RECORD +261 -0
  260. runloop_api_client-1.5.1.dist-info/WHEEL +4 -0
  261. runloop_api_client-1.5.1.dist-info/licenses/LICENSE +7 -0
@@ -0,0 +1,629 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
8
+ from ..._utils import maybe_transform, async_maybe_transform
9
+ from ..._compat import cached_property
10
+ from ..._resource import SyncAPIResource, AsyncAPIResource
11
+ from ..._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ...pagination import SyncScenarioScorersCursorIDPage, AsyncScenarioScorersCursorIDPage
18
+ from ..._base_client import AsyncPaginator, make_request_options
19
+ from ...types.scenarios import scorer_list_params, scorer_create_params, scorer_update_params, scorer_validate_params
20
+ from ...types.scenario_environment_param import ScenarioEnvironmentParam
21
+ from ...types.scenarios.scorer_list_response import ScorerListResponse
22
+ from ...types.scenarios.scorer_create_response import ScorerCreateResponse
23
+ from ...types.scenarios.scorer_update_response import ScorerUpdateResponse
24
+ from ...types.scenarios.scorer_retrieve_response import ScorerRetrieveResponse
25
+ from ...types.scenarios.scorer_validate_response import ScorerValidateResponse
26
+
27
+ __all__ = ["ScorersResource", "AsyncScorersResource"]
28
+
29
+
30
+ class ScorersResource(SyncAPIResource):
31
+ @cached_property
32
+ def with_raw_response(self) -> ScorersResourceWithRawResponse:
33
+ """
34
+ This property can be used as a prefix for any HTTP method call to return
35
+ the raw response object instead of the parsed content.
36
+
37
+ For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
38
+ """
39
+ return ScorersResourceWithRawResponse(self)
40
+
41
+ @cached_property
42
+ def with_streaming_response(self) -> ScorersResourceWithStreamingResponse:
43
+ """
44
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
45
+
46
+ For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
47
+ """
48
+ return ScorersResourceWithStreamingResponse(self)
49
+
50
+ def create(
51
+ self,
52
+ *,
53
+ bash_script: str,
54
+ type: str,
55
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
56
+ # The extra values given here take precedence over values defined on the client or passed to this method.
57
+ extra_headers: Headers | None = None,
58
+ extra_query: Query | None = None,
59
+ extra_body: Body | None = None,
60
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
61
+ idempotency_key: str | None = None,
62
+ ) -> ScorerCreateResponse:
63
+ """
64
+ Create a custom scenario scorer.
65
+
66
+ Args:
67
+ bash_script: Bash script for the custom scorer taking context as a json object
68
+ $RL_SCORER_CONTEXT.
69
+
70
+ type: Name of the type of custom scorer.
71
+
72
+ extra_headers: Send extra headers
73
+
74
+ extra_query: Add additional query parameters to the request
75
+
76
+ extra_body: Add additional JSON properties to the request
77
+
78
+ timeout: Override the client-level default timeout for this request, in seconds
79
+
80
+ idempotency_key: Specify a custom idempotency key for this request
81
+ """
82
+ return self._post(
83
+ "/v1/scenarios/scorers",
84
+ body=maybe_transform(
85
+ {
86
+ "bash_script": bash_script,
87
+ "type": type,
88
+ },
89
+ scorer_create_params.ScorerCreateParams,
90
+ ),
91
+ options=make_request_options(
92
+ extra_headers=extra_headers,
93
+ extra_query=extra_query,
94
+ extra_body=extra_body,
95
+ timeout=timeout,
96
+ idempotency_key=idempotency_key,
97
+ ),
98
+ cast_to=ScorerCreateResponse,
99
+ )
100
+
101
+ def retrieve(
102
+ self,
103
+ id: str,
104
+ *,
105
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
106
+ # The extra values given here take precedence over values defined on the client or passed to this method.
107
+ extra_headers: Headers | None = None,
108
+ extra_query: Query | None = None,
109
+ extra_body: Body | None = None,
110
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
111
+ ) -> ScorerRetrieveResponse:
112
+ """
113
+ Retrieve Scenario Scorer.
114
+
115
+ Args:
116
+ extra_headers: Send extra headers
117
+
118
+ extra_query: Add additional query parameters to the request
119
+
120
+ extra_body: Add additional JSON properties to the request
121
+
122
+ timeout: Override the client-level default timeout for this request, in seconds
123
+ """
124
+ if not id:
125
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
126
+ return self._get(
127
+ f"/v1/scenarios/scorers/{id}",
128
+ options=make_request_options(
129
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
130
+ ),
131
+ cast_to=ScorerRetrieveResponse,
132
+ )
133
+
134
+ def update(
135
+ self,
136
+ id: str,
137
+ *,
138
+ bash_script: str,
139
+ type: str,
140
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
141
+ # The extra values given here take precedence over values defined on the client or passed to this method.
142
+ extra_headers: Headers | None = None,
143
+ extra_query: Query | None = None,
144
+ extra_body: Body | None = None,
145
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
146
+ idempotency_key: str | None = None,
147
+ ) -> ScorerUpdateResponse:
148
+ """
149
+ Update a scenario scorer.
150
+
151
+ Args:
152
+ bash_script: Bash script for the custom scorer taking context as a json object
153
+ $RL_SCORER_CONTEXT.
154
+
155
+ type: Name of the type of custom scorer.
156
+
157
+ extra_headers: Send extra headers
158
+
159
+ extra_query: Add additional query parameters to the request
160
+
161
+ extra_body: Add additional JSON properties to the request
162
+
163
+ timeout: Override the client-level default timeout for this request, in seconds
164
+
165
+ idempotency_key: Specify a custom idempotency key for this request
166
+ """
167
+ if not id:
168
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
169
+ return self._post(
170
+ f"/v1/scenarios/scorers/{id}",
171
+ body=maybe_transform(
172
+ {
173
+ "bash_script": bash_script,
174
+ "type": type,
175
+ },
176
+ scorer_update_params.ScorerUpdateParams,
177
+ ),
178
+ options=make_request_options(
179
+ extra_headers=extra_headers,
180
+ extra_query=extra_query,
181
+ extra_body=extra_body,
182
+ timeout=timeout,
183
+ idempotency_key=idempotency_key,
184
+ ),
185
+ cast_to=ScorerUpdateResponse,
186
+ )
187
+
188
+ def list(
189
+ self,
190
+ *,
191
+ limit: int | Omit = omit,
192
+ starting_after: str | Omit = omit,
193
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
194
+ # The extra values given here take precedence over values defined on the client or passed to this method.
195
+ extra_headers: Headers | None = None,
196
+ extra_query: Query | None = None,
197
+ extra_body: Body | None = None,
198
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
199
+ ) -> SyncScenarioScorersCursorIDPage[ScorerListResponse]:
200
+ """
201
+ List all Scenario Scorers matching filter.
202
+
203
+ Args:
204
+ limit: The limit of items to return. Default is 20. Max is 5000.
205
+
206
+ starting_after: Load the next page of data starting after the item with the given ID.
207
+
208
+ extra_headers: Send extra headers
209
+
210
+ extra_query: Add additional query parameters to the request
211
+
212
+ extra_body: Add additional JSON properties to the request
213
+
214
+ timeout: Override the client-level default timeout for this request, in seconds
215
+ """
216
+ return self._get_api_list(
217
+ "/v1/scenarios/scorers",
218
+ page=SyncScenarioScorersCursorIDPage[ScorerListResponse],
219
+ options=make_request_options(
220
+ extra_headers=extra_headers,
221
+ extra_query=extra_query,
222
+ extra_body=extra_body,
223
+ timeout=timeout,
224
+ query=maybe_transform(
225
+ {
226
+ "limit": limit,
227
+ "starting_after": starting_after,
228
+ },
229
+ scorer_list_params.ScorerListParams,
230
+ ),
231
+ ),
232
+ model=ScorerListResponse,
233
+ )
234
+
235
+ def validate(
236
+ self,
237
+ id: str,
238
+ *,
239
+ scoring_context: object,
240
+ environment_parameters: ScenarioEnvironmentParam | Omit = omit,
241
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
242
+ # The extra values given here take precedence over values defined on the client or passed to this method.
243
+ extra_headers: Headers | None = None,
244
+ extra_query: Query | None = None,
245
+ extra_body: Body | None = None,
246
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
247
+ idempotency_key: str | None = None,
248
+ ) -> ScorerValidateResponse:
249
+ """
250
+ Validate a scenario scorer.
251
+
252
+ Args:
253
+ scoring_context: Json context that gets passed to the custom scorer
254
+
255
+ environment_parameters: The Environment in which the Scenario will run.
256
+
257
+ extra_headers: Send extra headers
258
+
259
+ extra_query: Add additional query parameters to the request
260
+
261
+ extra_body: Add additional JSON properties to the request
262
+
263
+ timeout: Override the client-level default timeout for this request, in seconds
264
+
265
+ idempotency_key: Specify a custom idempotency key for this request
266
+ """
267
+ if not id:
268
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
269
+ return self._post(
270
+ f"/v1/scenarios/scorers/{id}/validate",
271
+ body=maybe_transform(
272
+ {
273
+ "scoring_context": scoring_context,
274
+ "environment_parameters": environment_parameters,
275
+ },
276
+ scorer_validate_params.ScorerValidateParams,
277
+ ),
278
+ options=make_request_options(
279
+ extra_headers=extra_headers,
280
+ extra_query=extra_query,
281
+ extra_body=extra_body,
282
+ timeout=timeout,
283
+ idempotency_key=idempotency_key,
284
+ ),
285
+ cast_to=ScorerValidateResponse,
286
+ )
287
+
288
+
289
+ class AsyncScorersResource(AsyncAPIResource):
290
+ @cached_property
291
+ def with_raw_response(self) -> AsyncScorersResourceWithRawResponse:
292
+ """
293
+ This property can be used as a prefix for any HTTP method call to return
294
+ the raw response object instead of the parsed content.
295
+
296
+ For more information, see https://www.github.com/runloopai/api-client-python#accessing-raw-response-data-eg-headers
297
+ """
298
+ return AsyncScorersResourceWithRawResponse(self)
299
+
300
+ @cached_property
301
+ def with_streaming_response(self) -> AsyncScorersResourceWithStreamingResponse:
302
+ """
303
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
304
+
305
+ For more information, see https://www.github.com/runloopai/api-client-python#with_streaming_response
306
+ """
307
+ return AsyncScorersResourceWithStreamingResponse(self)
308
+
309
+ async def create(
310
+ self,
311
+ *,
312
+ bash_script: str,
313
+ type: str,
314
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
315
+ # The extra values given here take precedence over values defined on the client or passed to this method.
316
+ extra_headers: Headers | None = None,
317
+ extra_query: Query | None = None,
318
+ extra_body: Body | None = None,
319
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
320
+ idempotency_key: str | None = None,
321
+ ) -> ScorerCreateResponse:
322
+ """
323
+ Create a custom scenario scorer.
324
+
325
+ Args:
326
+ bash_script: Bash script for the custom scorer taking context as a json object
327
+ $RL_SCORER_CONTEXT.
328
+
329
+ type: Name of the type of custom scorer.
330
+
331
+ extra_headers: Send extra headers
332
+
333
+ extra_query: Add additional query parameters to the request
334
+
335
+ extra_body: Add additional JSON properties to the request
336
+
337
+ timeout: Override the client-level default timeout for this request, in seconds
338
+
339
+ idempotency_key: Specify a custom idempotency key for this request
340
+ """
341
+ return await self._post(
342
+ "/v1/scenarios/scorers",
343
+ body=await async_maybe_transform(
344
+ {
345
+ "bash_script": bash_script,
346
+ "type": type,
347
+ },
348
+ scorer_create_params.ScorerCreateParams,
349
+ ),
350
+ options=make_request_options(
351
+ extra_headers=extra_headers,
352
+ extra_query=extra_query,
353
+ extra_body=extra_body,
354
+ timeout=timeout,
355
+ idempotency_key=idempotency_key,
356
+ ),
357
+ cast_to=ScorerCreateResponse,
358
+ )
359
+
360
+ async def retrieve(
361
+ self,
362
+ id: str,
363
+ *,
364
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
365
+ # The extra values given here take precedence over values defined on the client or passed to this method.
366
+ extra_headers: Headers | None = None,
367
+ extra_query: Query | None = None,
368
+ extra_body: Body | None = None,
369
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
370
+ ) -> ScorerRetrieveResponse:
371
+ """
372
+ Retrieve Scenario Scorer.
373
+
374
+ Args:
375
+ extra_headers: Send extra headers
376
+
377
+ extra_query: Add additional query parameters to the request
378
+
379
+ extra_body: Add additional JSON properties to the request
380
+
381
+ timeout: Override the client-level default timeout for this request, in seconds
382
+ """
383
+ if not id:
384
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
385
+ return await self._get(
386
+ f"/v1/scenarios/scorers/{id}",
387
+ options=make_request_options(
388
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
389
+ ),
390
+ cast_to=ScorerRetrieveResponse,
391
+ )
392
+
393
+ async def update(
394
+ self,
395
+ id: str,
396
+ *,
397
+ bash_script: str,
398
+ type: str,
399
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
400
+ # The extra values given here take precedence over values defined on the client or passed to this method.
401
+ extra_headers: Headers | None = None,
402
+ extra_query: Query | None = None,
403
+ extra_body: Body | None = None,
404
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
405
+ idempotency_key: str | None = None,
406
+ ) -> ScorerUpdateResponse:
407
+ """
408
+ Update a scenario scorer.
409
+
410
+ Args:
411
+ bash_script: Bash script for the custom scorer taking context as a json object
412
+ $RL_SCORER_CONTEXT.
413
+
414
+ type: Name of the type of custom scorer.
415
+
416
+ extra_headers: Send extra headers
417
+
418
+ extra_query: Add additional query parameters to the request
419
+
420
+ extra_body: Add additional JSON properties to the request
421
+
422
+ timeout: Override the client-level default timeout for this request, in seconds
423
+
424
+ idempotency_key: Specify a custom idempotency key for this request
425
+ """
426
+ if not id:
427
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
428
+ return await self._post(
429
+ f"/v1/scenarios/scorers/{id}",
430
+ body=await async_maybe_transform(
431
+ {
432
+ "bash_script": bash_script,
433
+ "type": type,
434
+ },
435
+ scorer_update_params.ScorerUpdateParams,
436
+ ),
437
+ options=make_request_options(
438
+ extra_headers=extra_headers,
439
+ extra_query=extra_query,
440
+ extra_body=extra_body,
441
+ timeout=timeout,
442
+ idempotency_key=idempotency_key,
443
+ ),
444
+ cast_to=ScorerUpdateResponse,
445
+ )
446
+
447
+ def list(
448
+ self,
449
+ *,
450
+ limit: int | Omit = omit,
451
+ starting_after: str | Omit = omit,
452
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
453
+ # The extra values given here take precedence over values defined on the client or passed to this method.
454
+ extra_headers: Headers | None = None,
455
+ extra_query: Query | None = None,
456
+ extra_body: Body | None = None,
457
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
458
+ ) -> AsyncPaginator[ScorerListResponse, AsyncScenarioScorersCursorIDPage[ScorerListResponse]]:
459
+ """
460
+ List all Scenario Scorers matching filter.
461
+
462
+ Args:
463
+ limit: The limit of items to return. Default is 20. Max is 5000.
464
+
465
+ starting_after: Load the next page of data starting after the item with the given ID.
466
+
467
+ extra_headers: Send extra headers
468
+
469
+ extra_query: Add additional query parameters to the request
470
+
471
+ extra_body: Add additional JSON properties to the request
472
+
473
+ timeout: Override the client-level default timeout for this request, in seconds
474
+ """
475
+ return self._get_api_list(
476
+ "/v1/scenarios/scorers",
477
+ page=AsyncScenarioScorersCursorIDPage[ScorerListResponse],
478
+ options=make_request_options(
479
+ extra_headers=extra_headers,
480
+ extra_query=extra_query,
481
+ extra_body=extra_body,
482
+ timeout=timeout,
483
+ query=maybe_transform(
484
+ {
485
+ "limit": limit,
486
+ "starting_after": starting_after,
487
+ },
488
+ scorer_list_params.ScorerListParams,
489
+ ),
490
+ ),
491
+ model=ScorerListResponse,
492
+ )
493
+
494
+ async def validate(
495
+ self,
496
+ id: str,
497
+ *,
498
+ scoring_context: object,
499
+ environment_parameters: ScenarioEnvironmentParam | Omit = omit,
500
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
501
+ # The extra values given here take precedence over values defined on the client or passed to this method.
502
+ extra_headers: Headers | None = None,
503
+ extra_query: Query | None = None,
504
+ extra_body: Body | None = None,
505
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
506
+ idempotency_key: str | None = None,
507
+ ) -> ScorerValidateResponse:
508
+ """
509
+ Validate a scenario scorer.
510
+
511
+ Args:
512
+ scoring_context: Json context that gets passed to the custom scorer
513
+
514
+ environment_parameters: The Environment in which the Scenario will run.
515
+
516
+ extra_headers: Send extra headers
517
+
518
+ extra_query: Add additional query parameters to the request
519
+
520
+ extra_body: Add additional JSON properties to the request
521
+
522
+ timeout: Override the client-level default timeout for this request, in seconds
523
+
524
+ idempotency_key: Specify a custom idempotency key for this request
525
+ """
526
+ if not id:
527
+ raise ValueError(f"Expected a non-empty value for `id` but received {id!r}")
528
+ return await self._post(
529
+ f"/v1/scenarios/scorers/{id}/validate",
530
+ body=await async_maybe_transform(
531
+ {
532
+ "scoring_context": scoring_context,
533
+ "environment_parameters": environment_parameters,
534
+ },
535
+ scorer_validate_params.ScorerValidateParams,
536
+ ),
537
+ options=make_request_options(
538
+ extra_headers=extra_headers,
539
+ extra_query=extra_query,
540
+ extra_body=extra_body,
541
+ timeout=timeout,
542
+ idempotency_key=idempotency_key,
543
+ ),
544
+ cast_to=ScorerValidateResponse,
545
+ )
546
+
547
+
548
+ class ScorersResourceWithRawResponse:
549
+ def __init__(self, scorers: ScorersResource) -> None:
550
+ self._scorers = scorers
551
+
552
+ self.create = to_raw_response_wrapper(
553
+ scorers.create,
554
+ )
555
+ self.retrieve = to_raw_response_wrapper(
556
+ scorers.retrieve,
557
+ )
558
+ self.update = to_raw_response_wrapper(
559
+ scorers.update,
560
+ )
561
+ self.list = to_raw_response_wrapper(
562
+ scorers.list,
563
+ )
564
+ self.validate = to_raw_response_wrapper(
565
+ scorers.validate,
566
+ )
567
+
568
+
569
+ class AsyncScorersResourceWithRawResponse:
570
+ def __init__(self, scorers: AsyncScorersResource) -> None:
571
+ self._scorers = scorers
572
+
573
+ self.create = async_to_raw_response_wrapper(
574
+ scorers.create,
575
+ )
576
+ self.retrieve = async_to_raw_response_wrapper(
577
+ scorers.retrieve,
578
+ )
579
+ self.update = async_to_raw_response_wrapper(
580
+ scorers.update,
581
+ )
582
+ self.list = async_to_raw_response_wrapper(
583
+ scorers.list,
584
+ )
585
+ self.validate = async_to_raw_response_wrapper(
586
+ scorers.validate,
587
+ )
588
+
589
+
590
+ class ScorersResourceWithStreamingResponse:
591
+ def __init__(self, scorers: ScorersResource) -> None:
592
+ self._scorers = scorers
593
+
594
+ self.create = to_streamed_response_wrapper(
595
+ scorers.create,
596
+ )
597
+ self.retrieve = to_streamed_response_wrapper(
598
+ scorers.retrieve,
599
+ )
600
+ self.update = to_streamed_response_wrapper(
601
+ scorers.update,
602
+ )
603
+ self.list = to_streamed_response_wrapper(
604
+ scorers.list,
605
+ )
606
+ self.validate = to_streamed_response_wrapper(
607
+ scorers.validate,
608
+ )
609
+
610
+
611
+ class AsyncScorersResourceWithStreamingResponse:
612
+ def __init__(self, scorers: AsyncScorersResource) -> None:
613
+ self._scorers = scorers
614
+
615
+ self.create = async_to_streamed_response_wrapper(
616
+ scorers.create,
617
+ )
618
+ self.retrieve = async_to_streamed_response_wrapper(
619
+ scorers.retrieve,
620
+ )
621
+ self.update = async_to_streamed_response_wrapper(
622
+ scorers.update,
623
+ )
624
+ self.list = async_to_streamed_response_wrapper(
625
+ scorers.list,
626
+ )
627
+ self.validate = async_to_streamed_response_wrapper(
628
+ scorers.validate,
629
+ )