agenta 0.48.9__py3-none-any.whl → 0.49.0__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.

Potentially problematic release.


This version of agenta might be problematic. Click here for more details.

Files changed (297) hide show
  1. agenta/__init__.py +3 -2
  2. agenta/client/Readme.md +258 -80
  3. agenta/client/__init__.py +205 -29
  4. agenta/client/backend/__init__.py +461 -0
  5. agenta/client/backend/access_control/__init__.py +2 -0
  6. agenta/client/backend/access_control/client.py +53 -73
  7. agenta/client/backend/access_control/raw_client.py +180 -0
  8. agenta/client/backend/admin/__init__.py +2 -0
  9. agenta/client/backend/admin/client.py +473 -268
  10. agenta/client/backend/admin/raw_client.py +1017 -0
  11. agenta/client/backend/api_keys/__init__.py +2 -0
  12. agenta/client/backend/api_keys/client.py +43 -276
  13. agenta/client/backend/api_keys/raw_client.py +364 -0
  14. agenta/client/backend/apps/__init__.py +2 -0
  15. agenta/client/backend/apps/client.py +132 -895
  16. agenta/client/backend/apps/raw_client.py +1516 -0
  17. agenta/client/backend/bases/__init__.py +2 -0
  18. agenta/client/backend/bases/client.py +33 -73
  19. agenta/client/backend/bases/raw_client.py +179 -0
  20. agenta/client/backend/billing/__init__.py +3 -0
  21. agenta/client/backend/billing/client.py +564 -0
  22. agenta/client/backend/billing/raw_client.py +805 -0
  23. agenta/client/backend/client.py +1268 -0
  24. agenta/client/backend/configs/__init__.py +2 -0
  25. agenta/client/backend/configs/client.py +49 -361
  26. agenta/client/backend/configs/raw_client.py +402 -0
  27. agenta/client/backend/containers/__init__.py +1 -3
  28. agenta/client/backend/containers/client.py +25 -548
  29. agenta/client/backend/containers/raw_client.py +112 -0
  30. agenta/client/backend/core/__init__.py +5 -0
  31. agenta/client/backend/core/api_error.py +12 -6
  32. agenta/client/backend/core/client_wrapper.py +4 -4
  33. agenta/client/backend/core/file.py +1 -3
  34. agenta/client/backend/core/force_multipart.py +16 -0
  35. agenta/client/backend/core/http_client.py +78 -34
  36. agenta/client/backend/core/http_response.py +55 -0
  37. agenta/client/backend/core/jsonable_encoder.py +0 -1
  38. agenta/client/backend/core/pydantic_utilities.py +88 -113
  39. agenta/client/backend/core/serialization.py +9 -3
  40. agenta/client/backend/environment.py +7 -0
  41. agenta/client/backend/environments/__init__.py +2 -0
  42. agenta/client/backend/environments/client.py +43 -79
  43. agenta/client/backend/environments/raw_client.py +193 -0
  44. agenta/client/backend/errors/__init__.py +2 -0
  45. agenta/client/backend/errors/unprocessable_entity_error.py +8 -2
  46. agenta/client/backend/evals/__init__.py +3 -0
  47. agenta/client/backend/evals/client.py +1042 -0
  48. agenta/client/backend/evals/raw_client.py +1549 -0
  49. agenta/client/backend/evaluations/__init__.py +2 -0
  50. agenta/client/backend/evaluations/client.py +106 -590
  51. agenta/client/backend/evaluations/raw_client.py +1344 -0
  52. agenta/client/backend/evaluators/__init__.py +2 -0
  53. agenta/client/backend/evaluators/client.py +99 -516
  54. agenta/client/backend/evaluators/raw_client.py +1182 -0
  55. agenta/client/backend/human_evaluations/__init__.py +2 -0
  56. agenta/client/backend/human_evaluations/client.py +120 -680
  57. agenta/client/backend/human_evaluations/raw_client.py +1577 -0
  58. agenta/client/backend/observability/__init__.py +14 -2
  59. agenta/client/backend/observability/client.py +185 -341
  60. agenta/client/backend/observability/raw_client.py +943 -0
  61. agenta/client/backend/observability/types/__init__.py +10 -2
  62. agenta/client/backend/observability/types/{format.py → fetch_trace_by_id_request_trace_id.py} +1 -1
  63. agenta/client/backend/observability/types/fetch_trace_by_id_response.py +15 -0
  64. agenta/client/backend/observability/types/query_analytics_response.py +2 -1
  65. agenta/client/backend/observability/types/query_traces_response.py +7 -3
  66. agenta/client/backend/organization/__init__.py +2 -0
  67. agenta/client/backend/organization/client.py +105 -361
  68. agenta/client/backend/organization/raw_client.py +774 -0
  69. agenta/client/backend/raw_client.py +1432 -0
  70. agenta/client/backend/scopes/__init__.py +2 -0
  71. agenta/client/backend/scopes/client.py +31 -45
  72. agenta/client/backend/scopes/raw_client.py +105 -0
  73. agenta/client/backend/testsets/__init__.py +14 -0
  74. agenta/client/backend/testsets/client.py +1098 -653
  75. agenta/client/backend/testsets/raw_client.py +2348 -0
  76. agenta/client/backend/testsets/types/__init__.py +17 -0
  77. agenta/client/backend/testsets/types/create_testset_from_file_request_file_type.py +7 -0
  78. agenta/client/backend/testsets/types/fetch_testset_to_file_request_file_type.py +7 -0
  79. agenta/client/backend/testsets/types/update_testset_from_file_request_file_type.py +7 -0
  80. agenta/client/backend/tracing/__init__.py +7 -0
  81. agenta/client/backend/tracing/client.py +782 -0
  82. agenta/client/backend/tracing/raw_client.py +1223 -0
  83. agenta/client/backend/tracing/types/__init__.py +8 -0
  84. agenta/client/backend/{types/variant_action_enum.py → tracing/types/fetch_trace_request_trace_id.py} +1 -1
  85. agenta/client/backend/tracing/types/remove_trace_request_trace_id.py +5 -0
  86. agenta/client/backend/types/__init__.py +153 -26
  87. agenta/client/backend/types/account_request.py +24 -0
  88. agenta/client/backend/types/account_response.py +5 -7
  89. agenta/client/backend/types/agenta_node_dto.py +13 -13
  90. agenta/client/backend/types/agenta_node_dto_nodes_value.py +1 -0
  91. agenta/client/backend/types/agenta_nodes_response.py +14 -8
  92. agenta/client/backend/types/agenta_root_dto.py +16 -8
  93. agenta/client/backend/types/agenta_roots_response.py +16 -8
  94. agenta/client/backend/types/agenta_tree_dto.py +16 -8
  95. agenta/client/backend/types/agenta_trees_response.py +16 -8
  96. agenta/client/backend/types/aggregated_result.py +5 -7
  97. agenta/client/backend/types/aggregated_result_evaluator_config.py +1 -0
  98. agenta/client/backend/types/analytics_response.py +4 -6
  99. agenta/client/backend/types/annotation.py +50 -0
  100. agenta/client/backend/types/annotation_create.py +39 -0
  101. agenta/client/backend/types/annotation_edit.py +31 -0
  102. agenta/client/backend/types/annotation_kind.py +5 -0
  103. agenta/client/backend/types/{uri.py → annotation_link.py} +6 -7
  104. agenta/client/backend/types/{provider_key_dto.py → annotation_link_response.py} +6 -7
  105. agenta/client/backend/types/annotation_query.py +40 -0
  106. agenta/client/backend/types/annotation_query_request.py +20 -0
  107. agenta/client/backend/types/annotation_reference.py +21 -0
  108. agenta/client/backend/types/annotation_references.py +22 -0
  109. agenta/client/backend/types/{docker_env_vars.py → annotation_response.py} +6 -7
  110. agenta/client/backend/types/annotation_source.py +5 -0
  111. agenta/client/backend/types/annotations_response.py +24 -0
  112. agenta/client/backend/types/app.py +3 -5
  113. agenta/client/backend/types/app_variant_response.py +3 -6
  114. agenta/client/backend/types/app_variant_revision.py +5 -6
  115. agenta/client/backend/types/artifact.py +44 -0
  116. agenta/client/backend/types/base_output.py +3 -5
  117. agenta/client/backend/types/body_fetch_workflow_revision.py +21 -0
  118. agenta/client/backend/types/body_import_testset.py +3 -5
  119. agenta/client/backend/types/bucket_dto.py +4 -6
  120. agenta/client/backend/types/collect_status_response.py +3 -5
  121. agenta/client/backend/types/config_db.py +3 -5
  122. agenta/client/backend/types/config_dto.py +5 -7
  123. agenta/client/backend/types/config_response_model.py +5 -7
  124. agenta/client/backend/types/correct_answer.py +3 -5
  125. agenta/client/backend/types/create_app_output.py +3 -5
  126. agenta/client/backend/types/custom_model_settings_dto.py +3 -5
  127. agenta/client/backend/types/custom_provider_dto.py +6 -9
  128. agenta/client/backend/types/custom_provider_kind.py +5 -5
  129. agenta/client/backend/types/custom_provider_settings_dto.py +3 -5
  130. agenta/client/backend/types/data.py +2 -1
  131. agenta/client/backend/types/delete_evaluation.py +3 -5
  132. agenta/client/backend/types/environment_output.py +3 -5
  133. agenta/client/backend/types/environment_output_extended.py +4 -6
  134. agenta/client/backend/types/environment_revision.py +5 -5
  135. agenta/client/backend/types/error.py +3 -5
  136. agenta/client/backend/types/evaluation.py +6 -8
  137. agenta/client/backend/types/evaluation_scenario.py +5 -7
  138. agenta/client/backend/types/evaluation_scenario_input.py +3 -5
  139. agenta/client/backend/types/evaluation_scenario_output.py +4 -6
  140. agenta/client/backend/types/evaluation_scenario_result.py +4 -6
  141. agenta/client/backend/types/evaluator.py +31 -12
  142. agenta/client/backend/types/evaluator_config.py +3 -5
  143. agenta/client/backend/types/evaluator_flags.py +21 -0
  144. agenta/client/backend/types/evaluator_mapping_output_interface.py +3 -5
  145. agenta/client/backend/types/evaluator_output_interface.py +3 -5
  146. agenta/client/backend/types/evaluator_query.py +32 -0
  147. agenta/client/backend/types/evaluator_query_request.py +30 -0
  148. agenta/client/backend/types/evaluator_request.py +20 -0
  149. agenta/client/backend/types/evaluator_response.py +21 -0
  150. agenta/client/backend/types/evaluators_response.py +21 -0
  151. agenta/client/backend/types/exception_dto.py +3 -5
  152. agenta/client/backend/types/{o_tel_spans_response.py → extended_o_tel_tracing_response.py} +5 -7
  153. agenta/client/backend/types/focus.py +5 -0
  154. agenta/client/backend/types/format.py +5 -0
  155. agenta/client/backend/types/full_json_input.py +34 -0
  156. agenta/client/backend/types/full_json_output.py +29 -0
  157. agenta/client/backend/types/get_config_response.py +3 -5
  158. agenta/client/backend/types/{header_dto.py → header.py} +4 -6
  159. agenta/client/backend/types/http_validation_error.py +4 -6
  160. agenta/client/backend/types/human_evaluation.py +3 -5
  161. agenta/client/backend/types/human_evaluation_scenario.py +4 -6
  162. agenta/client/backend/types/human_evaluation_scenario_input.py +3 -5
  163. agenta/client/backend/types/human_evaluation_scenario_output.py +3 -5
  164. agenta/client/backend/types/invite_request.py +4 -6
  165. agenta/client/backend/types/legacy_analytics_response.py +4 -6
  166. agenta/client/backend/types/legacy_data_point.py +3 -5
  167. agenta/client/backend/types/legacy_evaluator.py +26 -0
  168. agenta/client/backend/types/legacy_scope_request.py +4 -6
  169. agenta/client/backend/types/legacy_scopes_response.py +3 -5
  170. agenta/client/backend/types/legacy_subscription_request.py +19 -0
  171. agenta/client/backend/types/legacy_user_request.py +5 -7
  172. agenta/client/backend/types/legacy_user_response.py +3 -5
  173. agenta/client/backend/types/lifecycle_dto.py +3 -5
  174. agenta/client/backend/types/link_dto.py +4 -6
  175. agenta/client/backend/types/list_api_keys_response.py +3 -5
  176. agenta/client/backend/types/llm_run_rate_limit.py +3 -5
  177. agenta/client/backend/types/meta_request.py +30 -0
  178. agenta/client/backend/types/metrics_dto.py +3 -5
  179. agenta/client/backend/types/new_testset.py +3 -5
  180. agenta/client/backend/types/node_dto.py +4 -6
  181. agenta/client/backend/types/o_tel_context_dto.py +3 -5
  182. agenta/client/backend/types/o_tel_event.py +35 -0
  183. agenta/client/backend/types/o_tel_event_dto.py +3 -5
  184. agenta/client/backend/types/o_tel_extra_dto.py +4 -6
  185. agenta/client/backend/types/o_tel_flat_span.py +56 -0
  186. agenta/client/backend/types/o_tel_flat_span_input_end_time.py +6 -0
  187. agenta/client/backend/types/o_tel_flat_span_input_start_time.py +6 -0
  188. agenta/client/backend/types/o_tel_flat_span_output_end_time.py +6 -0
  189. agenta/client/backend/types/o_tel_flat_span_output_start_time.py +6 -0
  190. agenta/client/backend/types/o_tel_link.py +34 -0
  191. agenta/client/backend/types/o_tel_link_dto.py +4 -6
  192. agenta/client/backend/types/o_tel_links_response.py +22 -0
  193. agenta/client/backend/types/o_tel_span.py +58 -0
  194. agenta/client/backend/types/o_tel_span_dto.py +8 -10
  195. agenta/client/backend/types/o_tel_span_input_end_time.py +6 -0
  196. agenta/client/backend/types/o_tel_span_input_spans_value.py +7 -0
  197. agenta/client/backend/types/o_tel_span_input_start_time.py +6 -0
  198. agenta/client/backend/types/o_tel_span_output_end_time.py +6 -0
  199. agenta/client/backend/types/o_tel_span_output_spans_value.py +30 -0
  200. agenta/client/backend/types/o_tel_span_output_start_time.py +6 -0
  201. agenta/client/backend/types/o_tel_spans_tree.py +22 -0
  202. agenta/client/backend/types/o_tel_spans_tree_input_spans_value.py +7 -0
  203. agenta/client/backend/types/o_tel_spans_tree_output_spans_value.py +5 -0
  204. agenta/client/backend/types/o_tel_status_code.py +1 -1
  205. agenta/client/backend/types/o_tel_tracing_data_response.py +22 -0
  206. agenta/client/backend/types/o_tel_tracing_request.py +22 -0
  207. agenta/client/backend/types/o_tel_tracing_response.py +27 -0
  208. agenta/client/backend/types/organization.py +3 -5
  209. agenta/client/backend/types/organization_details.py +3 -5
  210. agenta/client/backend/types/organization_membership_request.py +5 -7
  211. agenta/client/backend/types/organization_output.py +3 -5
  212. agenta/client/backend/types/organization_request.py +3 -5
  213. agenta/client/backend/types/parent_dto.py +3 -5
  214. agenta/client/backend/types/permission.py +11 -0
  215. agenta/client/backend/types/plan.py +14 -0
  216. agenta/client/backend/types/project_membership_request.py +5 -7
  217. agenta/client/backend/types/project_request.py +4 -6
  218. agenta/client/backend/types/project_scope.py +5 -7
  219. agenta/client/backend/types/projects_response.py +3 -5
  220. agenta/client/backend/types/recursive_types.py +23 -0
  221. agenta/client/backend/types/reference.py +18 -5
  222. agenta/client/backend/types/reference_dto.py +4 -5
  223. agenta/client/backend/types/reference_request_model.py +4 -5
  224. agenta/client/backend/types/result.py +4 -6
  225. agenta/client/backend/types/root_dto.py +3 -5
  226. agenta/client/backend/types/scopes_response_model.py +4 -6
  227. agenta/client/backend/types/secret_dto.py +5 -7
  228. agenta/client/backend/types/secret_response_dto.py +11 -11
  229. agenta/client/backend/types/simple_evaluation_output.py +4 -6
  230. agenta/client/backend/types/span_dto.py +18 -14
  231. agenta/client/backend/types/span_dto_nodes_value.py +1 -1
  232. agenta/client/backend/types/standard_provider_dto.py +5 -7
  233. agenta/client/backend/types/standard_provider_settings_dto.py +3 -5
  234. agenta/client/backend/types/status_dto.py +4 -6
  235. agenta/client/backend/types/tags_request.py +30 -0
  236. agenta/client/backend/types/test_set_output_response.py +5 -7
  237. agenta/client/backend/types/test_set_simple_response.py +3 -5
  238. agenta/client/backend/types/testcase_response.py +33 -0
  239. agenta/client/backend/types/testset.py +46 -0
  240. agenta/client/backend/types/testset_request.py +20 -0
  241. agenta/client/backend/types/testset_response.py +21 -0
  242. agenta/client/backend/types/testsets_response.py +21 -0
  243. agenta/client/backend/types/time_dto.py +3 -5
  244. agenta/client/backend/types/timestamp.py +6 -0
  245. agenta/client/backend/types/tree_dto.py +4 -6
  246. agenta/client/backend/types/update_app_output.py +3 -5
  247. agenta/client/backend/types/user_request.py +3 -5
  248. agenta/client/backend/types/validation_error.py +4 -6
  249. agenta/client/backend/types/workflow_artifact.py +45 -0
  250. agenta/client/backend/types/workflow_data.py +20 -0
  251. agenta/client/backend/types/workflow_flags.py +21 -0
  252. agenta/client/backend/types/workflow_request.py +20 -0
  253. agenta/client/backend/types/workflow_response.py +21 -0
  254. agenta/client/backend/types/workflow_revision.py +57 -0
  255. agenta/client/backend/types/workflow_revision_request.py +20 -0
  256. agenta/client/backend/types/workflow_revision_response.py +21 -0
  257. agenta/client/backend/types/workflow_revisions_response.py +21 -0
  258. agenta/client/backend/types/workflow_variant.py +48 -0
  259. agenta/client/backend/types/workflow_variant_request.py +20 -0
  260. agenta/client/backend/types/workflow_variant_response.py +21 -0
  261. agenta/client/backend/types/workflow_variants_response.py +21 -0
  262. agenta/client/backend/types/workflows_response.py +21 -0
  263. agenta/client/backend/types/workspace.py +3 -5
  264. agenta/client/backend/types/workspace_member_response.py +4 -6
  265. agenta/client/backend/types/workspace_membership_request.py +5 -7
  266. agenta/client/backend/types/workspace_permission.py +5 -7
  267. agenta/client/backend/types/workspace_request.py +4 -6
  268. agenta/client/backend/types/workspace_response.py +4 -6
  269. agenta/client/backend/variants/__init__.py +2 -0
  270. agenta/client/backend/variants/client.py +306 -1651
  271. agenta/client/backend/variants/raw_client.py +2482 -0
  272. agenta/client/backend/variants/types/__init__.py +2 -0
  273. agenta/client/backend/variants/types/add_variant_from_base_and_config_response.py +1 -0
  274. agenta/client/backend/vault/__init__.py +2 -0
  275. agenta/client/backend/vault/client.py +69 -323
  276. agenta/client/backend/vault/raw_client.py +616 -0
  277. agenta/client/backend/workflows/__init__.py +3 -0
  278. agenta/client/backend/workflows/client.py +2398 -0
  279. agenta/client/backend/workflows/raw_client.py +3639 -0
  280. agenta/client/backend/workspace/__init__.py +2 -0
  281. agenta/client/backend/workspace/client.py +46 -147
  282. agenta/client/backend/workspace/raw_client.py +376 -0
  283. agenta/client/types.py +4 -0
  284. agenta/sdk/litellm/mocks/__init__.py +144 -0
  285. agenta/sdk/middleware/auth.py +26 -25
  286. agenta/sdk/types.py +28 -1
  287. {agenta-0.48.9.dist-info → agenta-0.49.0.dist-info}/METADATA +1 -1
  288. agenta-0.49.0.dist-info/RECORD +362 -0
  289. agenta/client/backend/containers/types/__init__.py +0 -5
  290. agenta/client/backend/containers/types/container_templates_response.py +0 -6
  291. agenta/client/backend/types/image.py +0 -25
  292. agenta/client/backend/types/provider_kind.py +0 -21
  293. agenta/client/backend/types/template.py +0 -23
  294. agenta/client/backend/types/template_image_info.py +0 -29
  295. agenta/client/backend/types/variant_action.py +0 -22
  296. agenta-0.48.9.dist-info/RECORD +0 -255
  297. {agenta-0.48.9.dist-info → agenta-0.49.0.dist-info}/WHEEL +0 -0
@@ -1 +1,3 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
@@ -1,21 +1,27 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
- from ..core.client_wrapper import SyncClientWrapper
4
3
  import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
5
6
  from ..core.request_options import RequestOptions
6
7
  from ..types.list_api_keys_response import ListApiKeysResponse
7
- from ..core.pydantic_utilities import parse_obj_as
8
- from json.decoder import JSONDecodeError
9
- from ..core.api_error import ApiError
10
- from ..core.jsonable_encoder import jsonable_encoder
11
- from ..errors.unprocessable_entity_error import UnprocessableEntityError
12
- from ..types.http_validation_error import HttpValidationError
13
- from ..core.client_wrapper import AsyncClientWrapper
8
+ from .raw_client import AsyncRawApiKeysClient, RawApiKeysClient
14
9
 
15
10
 
16
11
  class ApiKeysClient:
17
12
  def __init__(self, *, client_wrapper: SyncClientWrapper):
18
- self._client_wrapper = client_wrapper
13
+ self._raw_client = RawApiKeysClient(client_wrapper=client_wrapper)
14
+
15
+ @property
16
+ def with_raw_response(self) -> RawApiKeysClient:
17
+ """
18
+ Retrieves a raw implementation of this client that returns raw responses.
19
+
20
+ Returns
21
+ -------
22
+ RawApiKeysClient
23
+ """
24
+ return self._raw_client
19
25
 
20
26
  def list_api_keys(
21
27
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -45,28 +51,11 @@ class ApiKeysClient:
45
51
 
46
52
  client = AgentaApi(
47
53
  api_key="YOUR_API_KEY",
48
- base_url="https://yourhost.com/path/to/api",
49
54
  )
50
55
  client.api_keys.list_api_keys()
51
56
  """
52
- _response = self._client_wrapper.httpx_client.request(
53
- "keys",
54
- method="GET",
55
- request_options=request_options,
56
- )
57
- try:
58
- if 200 <= _response.status_code < 300:
59
- return typing.cast(
60
- typing.List[ListApiKeysResponse],
61
- parse_obj_as(
62
- type_=typing.List[ListApiKeysResponse], # type: ignore
63
- object_=_response.json(),
64
- ),
65
- )
66
- _response_json = _response.json()
67
- except JSONDecodeError:
68
- raise ApiError(status_code=_response.status_code, body=_response.text)
69
- raise ApiError(status_code=_response.status_code, body=_response_json)
57
+ _response = self._raw_client.list_api_keys(request_options=request_options)
58
+ return _response.data
70
59
 
71
60
  def create_api_key(
72
61
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -96,34 +85,17 @@ class ApiKeysClient:
96
85
 
97
86
  client = AgentaApi(
98
87
  api_key="YOUR_API_KEY",
99
- base_url="https://yourhost.com/path/to/api",
100
88
  )
101
89
  client.api_keys.create_api_key()
102
90
  """
103
- _response = self._client_wrapper.httpx_client.request(
104
- "keys",
105
- method="POST",
106
- request_options=request_options,
107
- )
108
- try:
109
- if 200 <= _response.status_code < 300:
110
- return typing.cast(
111
- str,
112
- parse_obj_as(
113
- type_=str, # type: ignore
114
- object_=_response.json(),
115
- ),
116
- )
117
- _response_json = _response.json()
118
- except JSONDecodeError:
119
- raise ApiError(status_code=_response.status_code, body=_response.text)
120
- raise ApiError(status_code=_response.status_code, body=_response_json)
91
+ _response = self._raw_client.create_api_key(request_options=request_options)
92
+ return _response.data
121
93
 
122
94
  def delete_api_key(
123
95
  self,
124
96
  key_prefix: str,
125
97
  *,
126
- request_options: typing.Optional[RequestOptions] = None,
98
+ request_options: typing.Optional[RequestOptions] = None
127
99
  ) -> typing.Dict[str, typing.Optional[typing.Any]]:
128
100
  """
129
101
  Delete an API key with the given key prefix for the authenticated user.
@@ -156,109 +128,31 @@ class ApiKeysClient:
156
128
 
157
129
  client = AgentaApi(
158
130
  api_key="YOUR_API_KEY",
159
- base_url="https://yourhost.com/path/to/api",
160
131
  )
161
132
  client.api_keys.delete_api_key(
162
133
  key_prefix="key_prefix",
163
134
  )
164
135
  """
165
- _response = self._client_wrapper.httpx_client.request(
166
- f"keys/{jsonable_encoder(key_prefix)}",
167
- method="DELETE",
168
- request_options=request_options,
136
+ _response = self._raw_client.delete_api_key(
137
+ key_prefix, request_options=request_options
169
138
  )
170
- try:
171
- if 200 <= _response.status_code < 300:
172
- return typing.cast(
173
- typing.Dict[str, typing.Optional[typing.Any]],
174
- parse_obj_as(
175
- type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
176
- object_=_response.json(),
177
- ),
178
- )
179
- if _response.status_code == 422:
180
- raise UnprocessableEntityError(
181
- typing.cast(
182
- HttpValidationError,
183
- parse_obj_as(
184
- type_=HttpValidationError, # type: ignore
185
- object_=_response.json(),
186
- ),
187
- )
188
- )
189
- _response_json = _response.json()
190
- except JSONDecodeError:
191
- raise ApiError(status_code=_response.status_code, body=_response.text)
192
- raise ApiError(status_code=_response.status_code, body=_response_json)
193
-
194
- def validate_api_key(
195
- self,
196
- key_prefix: str,
197
- *,
198
- request_options: typing.Optional[RequestOptions] = None,
199
- ) -> bool:
200
- """
201
- This Function is called by the CLI and is used to validate an API key provided by a user in agenta init setup.
202
- Returns:
203
- bool: True. If the request reaches this point, the API key is valid.
139
+ return _response.data
204
140
 
205
- Parameters
206
- ----------
207
- key_prefix : str
208
141
 
209
- request_options : typing.Optional[RequestOptions]
210
- Request-specific configuration.
142
+ class AsyncApiKeysClient:
143
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
144
+ self._raw_client = AsyncRawApiKeysClient(client_wrapper=client_wrapper)
145
+
146
+ @property
147
+ def with_raw_response(self) -> AsyncRawApiKeysClient:
148
+ """
149
+ Retrieves a raw implementation of this client that returns raw responses.
211
150
 
212
151
  Returns
213
152
  -------
214
- bool
215
- Successful Response
216
-
217
- Examples
218
- --------
219
- from agenta import AgentaApi
220
-
221
- client = AgentaApi(
222
- api_key="YOUR_API_KEY",
223
- base_url="https://yourhost.com/path/to/api",
224
- )
225
- client.api_keys.validate_api_key(
226
- key_prefix="key_prefix",
227
- )
153
+ AsyncRawApiKeysClient
228
154
  """
229
- _response = self._client_wrapper.httpx_client.request(
230
- f"keys/{jsonable_encoder(key_prefix)}/validate",
231
- method="GET",
232
- request_options=request_options,
233
- )
234
- try:
235
- if 200 <= _response.status_code < 300:
236
- return typing.cast(
237
- bool,
238
- parse_obj_as(
239
- type_=bool, # type: ignore
240
- object_=_response.json(),
241
- ),
242
- )
243
- if _response.status_code == 422:
244
- raise UnprocessableEntityError(
245
- typing.cast(
246
- HttpValidationError,
247
- parse_obj_as(
248
- type_=HttpValidationError, # type: ignore
249
- object_=_response.json(),
250
- ),
251
- )
252
- )
253
- _response_json = _response.json()
254
- except JSONDecodeError:
255
- raise ApiError(status_code=_response.status_code, body=_response.text)
256
- raise ApiError(status_code=_response.status_code, body=_response_json)
257
-
258
-
259
- class AsyncApiKeysClient:
260
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
261
- self._client_wrapper = client_wrapper
155
+ return self._raw_client
262
156
 
263
157
  async def list_api_keys(
264
158
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -290,7 +184,6 @@ class AsyncApiKeysClient:
290
184
 
291
185
  client = AsyncAgentaApi(
292
186
  api_key="YOUR_API_KEY",
293
- base_url="https://yourhost.com/path/to/api",
294
187
  )
295
188
 
296
189
 
@@ -300,24 +193,10 @@ class AsyncApiKeysClient:
300
193
 
301
194
  asyncio.run(main())
302
195
  """
303
- _response = await self._client_wrapper.httpx_client.request(
304
- "keys",
305
- method="GET",
306
- request_options=request_options,
196
+ _response = await self._raw_client.list_api_keys(
197
+ request_options=request_options
307
198
  )
308
- try:
309
- if 200 <= _response.status_code < 300:
310
- return typing.cast(
311
- typing.List[ListApiKeysResponse],
312
- parse_obj_as(
313
- type_=typing.List[ListApiKeysResponse], # type: ignore
314
- object_=_response.json(),
315
- ),
316
- )
317
- _response_json = _response.json()
318
- except JSONDecodeError:
319
- raise ApiError(status_code=_response.status_code, body=_response.text)
320
- raise ApiError(status_code=_response.status_code, body=_response_json)
199
+ return _response.data
321
200
 
322
201
  async def create_api_key(
323
202
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -349,7 +228,6 @@ class AsyncApiKeysClient:
349
228
 
350
229
  client = AsyncAgentaApi(
351
230
  api_key="YOUR_API_KEY",
352
- base_url="https://yourhost.com/path/to/api",
353
231
  )
354
232
 
355
233
 
@@ -359,30 +237,16 @@ class AsyncApiKeysClient:
359
237
 
360
238
  asyncio.run(main())
361
239
  """
362
- _response = await self._client_wrapper.httpx_client.request(
363
- "keys",
364
- method="POST",
365
- request_options=request_options,
240
+ _response = await self._raw_client.create_api_key(
241
+ request_options=request_options
366
242
  )
367
- try:
368
- if 200 <= _response.status_code < 300:
369
- return typing.cast(
370
- str,
371
- parse_obj_as(
372
- type_=str, # type: ignore
373
- object_=_response.json(),
374
- ),
375
- )
376
- _response_json = _response.json()
377
- except JSONDecodeError:
378
- raise ApiError(status_code=_response.status_code, body=_response.text)
379
- raise ApiError(status_code=_response.status_code, body=_response_json)
243
+ return _response.data
380
244
 
381
245
  async def delete_api_key(
382
246
  self,
383
247
  key_prefix: str,
384
248
  *,
385
- request_options: typing.Optional[RequestOptions] = None,
249
+ request_options: typing.Optional[RequestOptions] = None
386
250
  ) -> typing.Dict[str, typing.Optional[typing.Any]]:
387
251
  """
388
252
  Delete an API key with the given key prefix for the authenticated user.
@@ -417,7 +281,6 @@ class AsyncApiKeysClient:
417
281
 
418
282
  client = AsyncAgentaApi(
419
283
  api_key="YOUR_API_KEY",
420
- base_url="https://yourhost.com/path/to/api",
421
284
  )
422
285
 
423
286
 
@@ -429,103 +292,7 @@ class AsyncApiKeysClient:
429
292
 
430
293
  asyncio.run(main())
431
294
  """
432
- _response = await self._client_wrapper.httpx_client.request(
433
- f"keys/{jsonable_encoder(key_prefix)}",
434
- method="DELETE",
435
- request_options=request_options,
436
- )
437
- try:
438
- if 200 <= _response.status_code < 300:
439
- return typing.cast(
440
- typing.Dict[str, typing.Optional[typing.Any]],
441
- parse_obj_as(
442
- type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
443
- object_=_response.json(),
444
- ),
445
- )
446
- if _response.status_code == 422:
447
- raise UnprocessableEntityError(
448
- typing.cast(
449
- HttpValidationError,
450
- parse_obj_as(
451
- type_=HttpValidationError, # type: ignore
452
- object_=_response.json(),
453
- ),
454
- )
455
- )
456
- _response_json = _response.json()
457
- except JSONDecodeError:
458
- raise ApiError(status_code=_response.status_code, body=_response.text)
459
- raise ApiError(status_code=_response.status_code, body=_response_json)
460
-
461
- async def validate_api_key(
462
- self,
463
- key_prefix: str,
464
- *,
465
- request_options: typing.Optional[RequestOptions] = None,
466
- ) -> bool:
467
- """
468
- This Function is called by the CLI and is used to validate an API key provided by a user in agenta init setup.
469
- Returns:
470
- bool: True. If the request reaches this point, the API key is valid.
471
-
472
- Parameters
473
- ----------
474
- key_prefix : str
475
-
476
- request_options : typing.Optional[RequestOptions]
477
- Request-specific configuration.
478
-
479
- Returns
480
- -------
481
- bool
482
- Successful Response
483
-
484
- Examples
485
- --------
486
- import asyncio
487
-
488
- from agenta import AsyncAgentaApi
489
-
490
- client = AsyncAgentaApi(
491
- api_key="YOUR_API_KEY",
492
- base_url="https://yourhost.com/path/to/api",
493
- )
494
-
495
-
496
- async def main() -> None:
497
- await client.api_keys.validate_api_key(
498
- key_prefix="key_prefix",
499
- )
500
-
501
-
502
- asyncio.run(main())
503
- """
504
- _response = await self._client_wrapper.httpx_client.request(
505
- f"keys/{jsonable_encoder(key_prefix)}/validate",
506
- method="GET",
507
- request_options=request_options,
295
+ _response = await self._raw_client.delete_api_key(
296
+ key_prefix, request_options=request_options
508
297
  )
509
- try:
510
- if 200 <= _response.status_code < 300:
511
- return typing.cast(
512
- bool,
513
- parse_obj_as(
514
- type_=bool, # type: ignore
515
- object_=_response.json(),
516
- ),
517
- )
518
- if _response.status_code == 422:
519
- raise UnprocessableEntityError(
520
- typing.cast(
521
- HttpValidationError,
522
- parse_obj_as(
523
- type_=HttpValidationError, # type: ignore
524
- object_=_response.json(),
525
- ),
526
- )
527
- )
528
- _response_json = _response.json()
529
- except JSONDecodeError:
530
- raise ApiError(status_code=_response.status_code, body=_response.text)
531
- raise ApiError(status_code=_response.status_code, body=_response_json)
298
+ return _response.data