agenta 0.48.9__py3-none-any.whl → 0.48.10__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 (295) 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/types.py +28 -1
  285. {agenta-0.48.9.dist-info → agenta-0.48.10.dist-info}/METADATA +1 -1
  286. agenta-0.48.10.dist-info/RECORD +362 -0
  287. agenta/client/backend/containers/types/__init__.py +0 -5
  288. agenta/client/backend/containers/types/container_templates_response.py +0 -6
  289. agenta/client/backend/types/image.py +0 -25
  290. agenta/client/backend/types/provider_kind.py +0 -21
  291. agenta/client/backend/types/template.py +0 -23
  292. agenta/client/backend/types/template_image_info.py +0 -29
  293. agenta/client/backend/types/variant_action.py +0 -22
  294. agenta-0.48.9.dist-info/RECORD +0 -255
  295. {agenta-0.48.9.dist-info → agenta-0.48.10.dist-info}/WHEEL +0 -0
@@ -0,0 +1,364 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.jsonable_encoder import jsonable_encoder
10
+ from ..core.pydantic_utilities import parse_obj_as
11
+ from ..core.request_options import RequestOptions
12
+ from ..errors.unprocessable_entity_error import UnprocessableEntityError
13
+ from ..types.http_validation_error import HttpValidationError
14
+ from ..types.list_api_keys_response import ListApiKeysResponse
15
+
16
+
17
+ class RawApiKeysClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._client_wrapper = client_wrapper
20
+
21
+ def list_api_keys(
22
+ self, *, request_options: typing.Optional[RequestOptions] = None
23
+ ) -> HttpResponse[typing.List[ListApiKeysResponse]]:
24
+ """
25
+ List all API keys associated with the authenticated user.
26
+
27
+ Args:
28
+ request (Request): The incoming request object.
29
+
30
+ Returns:
31
+ List[ListAPIKeysResponse]: A list of API Keys associated with the user.
32
+
33
+ Parameters
34
+ ----------
35
+ request_options : typing.Optional[RequestOptions]
36
+ Request-specific configuration.
37
+
38
+ Returns
39
+ -------
40
+ HttpResponse[typing.List[ListApiKeysResponse]]
41
+ Successful Response
42
+ """
43
+ _response = self._client_wrapper.httpx_client.request(
44
+ "keys",
45
+ method="GET",
46
+ request_options=request_options,
47
+ )
48
+ try:
49
+ if 200 <= _response.status_code < 300:
50
+ _data = typing.cast(
51
+ typing.List[ListApiKeysResponse],
52
+ parse_obj_as(
53
+ type_=typing.List[ListApiKeysResponse], # type: ignore
54
+ object_=_response.json(),
55
+ ),
56
+ )
57
+ return HttpResponse(response=_response, data=_data)
58
+ _response_json = _response.json()
59
+ except JSONDecodeError:
60
+ raise ApiError(
61
+ status_code=_response.status_code,
62
+ headers=dict(_response.headers),
63
+ body=_response.text,
64
+ )
65
+ raise ApiError(
66
+ status_code=_response.status_code,
67
+ headers=dict(_response.headers),
68
+ body=_response_json,
69
+ )
70
+
71
+ def create_api_key(
72
+ self, *, request_options: typing.Optional[RequestOptions] = None
73
+ ) -> HttpResponse[str]:
74
+ """
75
+ Creates an API key for a user.
76
+
77
+ Args:
78
+ request (Request): The request object containing the user ID in the request state.
79
+
80
+ Returns:
81
+ str: The created API key.
82
+
83
+ Parameters
84
+ ----------
85
+ request_options : typing.Optional[RequestOptions]
86
+ Request-specific configuration.
87
+
88
+ Returns
89
+ -------
90
+ HttpResponse[str]
91
+ Successful Response
92
+ """
93
+ _response = self._client_wrapper.httpx_client.request(
94
+ "keys",
95
+ method="POST",
96
+ request_options=request_options,
97
+ )
98
+ try:
99
+ if 200 <= _response.status_code < 300:
100
+ _data = typing.cast(
101
+ str,
102
+ parse_obj_as(
103
+ type_=str, # type: ignore
104
+ object_=_response.json(),
105
+ ),
106
+ )
107
+ return HttpResponse(response=_response, data=_data)
108
+ _response_json = _response.json()
109
+ except JSONDecodeError:
110
+ raise ApiError(
111
+ status_code=_response.status_code,
112
+ headers=dict(_response.headers),
113
+ body=_response.text,
114
+ )
115
+ raise ApiError(
116
+ status_code=_response.status_code,
117
+ headers=dict(_response.headers),
118
+ body=_response_json,
119
+ )
120
+
121
+ def delete_api_key(
122
+ self,
123
+ key_prefix: str,
124
+ *,
125
+ request_options: typing.Optional[RequestOptions] = None,
126
+ ) -> HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
127
+ """
128
+ Delete an API key with the given key prefix for the authenticated user.
129
+
130
+ Args:
131
+ key_prefix (str): The prefix of the API key to be deleted.
132
+ request (Request): The incoming request object.
133
+
134
+ Returns:
135
+ dict: A dictionary containing a success message upon successful deletion.
136
+
137
+ Raises:
138
+ HTTPException: If the API key is not found or does not belong to the user.
139
+
140
+ Parameters
141
+ ----------
142
+ key_prefix : str
143
+
144
+ request_options : typing.Optional[RequestOptions]
145
+ Request-specific configuration.
146
+
147
+ Returns
148
+ -------
149
+ HttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
150
+ Successful Response
151
+ """
152
+ _response = self._client_wrapper.httpx_client.request(
153
+ f"keys/{jsonable_encoder(key_prefix)}",
154
+ method="DELETE",
155
+ request_options=request_options,
156
+ )
157
+ try:
158
+ if 200 <= _response.status_code < 300:
159
+ _data = typing.cast(
160
+ typing.Dict[str, typing.Optional[typing.Any]],
161
+ parse_obj_as(
162
+ type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
163
+ object_=_response.json(),
164
+ ),
165
+ )
166
+ return HttpResponse(response=_response, data=_data)
167
+ if _response.status_code == 422:
168
+ raise UnprocessableEntityError(
169
+ headers=dict(_response.headers),
170
+ body=typing.cast(
171
+ HttpValidationError,
172
+ parse_obj_as(
173
+ type_=HttpValidationError, # type: ignore
174
+ object_=_response.json(),
175
+ ),
176
+ ),
177
+ )
178
+ _response_json = _response.json()
179
+ except JSONDecodeError:
180
+ raise ApiError(
181
+ status_code=_response.status_code,
182
+ headers=dict(_response.headers),
183
+ body=_response.text,
184
+ )
185
+ raise ApiError(
186
+ status_code=_response.status_code,
187
+ headers=dict(_response.headers),
188
+ body=_response_json,
189
+ )
190
+
191
+
192
+ class AsyncRawApiKeysClient:
193
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
194
+ self._client_wrapper = client_wrapper
195
+
196
+ async def list_api_keys(
197
+ self, *, request_options: typing.Optional[RequestOptions] = None
198
+ ) -> AsyncHttpResponse[typing.List[ListApiKeysResponse]]:
199
+ """
200
+ List all API keys associated with the authenticated user.
201
+
202
+ Args:
203
+ request (Request): The incoming request object.
204
+
205
+ Returns:
206
+ List[ListAPIKeysResponse]: A list of API Keys associated with the user.
207
+
208
+ Parameters
209
+ ----------
210
+ request_options : typing.Optional[RequestOptions]
211
+ Request-specific configuration.
212
+
213
+ Returns
214
+ -------
215
+ AsyncHttpResponse[typing.List[ListApiKeysResponse]]
216
+ Successful Response
217
+ """
218
+ _response = await self._client_wrapper.httpx_client.request(
219
+ "keys",
220
+ method="GET",
221
+ request_options=request_options,
222
+ )
223
+ try:
224
+ if 200 <= _response.status_code < 300:
225
+ _data = typing.cast(
226
+ typing.List[ListApiKeysResponse],
227
+ parse_obj_as(
228
+ type_=typing.List[ListApiKeysResponse], # type: ignore
229
+ object_=_response.json(),
230
+ ),
231
+ )
232
+ return AsyncHttpResponse(response=_response, data=_data)
233
+ _response_json = _response.json()
234
+ except JSONDecodeError:
235
+ raise ApiError(
236
+ status_code=_response.status_code,
237
+ headers=dict(_response.headers),
238
+ body=_response.text,
239
+ )
240
+ raise ApiError(
241
+ status_code=_response.status_code,
242
+ headers=dict(_response.headers),
243
+ body=_response_json,
244
+ )
245
+
246
+ async def create_api_key(
247
+ self, *, request_options: typing.Optional[RequestOptions] = None
248
+ ) -> AsyncHttpResponse[str]:
249
+ """
250
+ Creates an API key for a user.
251
+
252
+ Args:
253
+ request (Request): The request object containing the user ID in the request state.
254
+
255
+ Returns:
256
+ str: The created API key.
257
+
258
+ Parameters
259
+ ----------
260
+ request_options : typing.Optional[RequestOptions]
261
+ Request-specific configuration.
262
+
263
+ Returns
264
+ -------
265
+ AsyncHttpResponse[str]
266
+ Successful Response
267
+ """
268
+ _response = await self._client_wrapper.httpx_client.request(
269
+ "keys",
270
+ method="POST",
271
+ request_options=request_options,
272
+ )
273
+ try:
274
+ if 200 <= _response.status_code < 300:
275
+ _data = typing.cast(
276
+ str,
277
+ parse_obj_as(
278
+ type_=str, # type: ignore
279
+ object_=_response.json(),
280
+ ),
281
+ )
282
+ return AsyncHttpResponse(response=_response, data=_data)
283
+ _response_json = _response.json()
284
+ except JSONDecodeError:
285
+ raise ApiError(
286
+ status_code=_response.status_code,
287
+ headers=dict(_response.headers),
288
+ body=_response.text,
289
+ )
290
+ raise ApiError(
291
+ status_code=_response.status_code,
292
+ headers=dict(_response.headers),
293
+ body=_response_json,
294
+ )
295
+
296
+ async def delete_api_key(
297
+ self,
298
+ key_prefix: str,
299
+ *,
300
+ request_options: typing.Optional[RequestOptions] = None,
301
+ ) -> AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]:
302
+ """
303
+ Delete an API key with the given key prefix for the authenticated user.
304
+
305
+ Args:
306
+ key_prefix (str): The prefix of the API key to be deleted.
307
+ request (Request): The incoming request object.
308
+
309
+ Returns:
310
+ dict: A dictionary containing a success message upon successful deletion.
311
+
312
+ Raises:
313
+ HTTPException: If the API key is not found or does not belong to the user.
314
+
315
+ Parameters
316
+ ----------
317
+ key_prefix : str
318
+
319
+ request_options : typing.Optional[RequestOptions]
320
+ Request-specific configuration.
321
+
322
+ Returns
323
+ -------
324
+ AsyncHttpResponse[typing.Dict[str, typing.Optional[typing.Any]]]
325
+ Successful Response
326
+ """
327
+ _response = await self._client_wrapper.httpx_client.request(
328
+ f"keys/{jsonable_encoder(key_prefix)}",
329
+ method="DELETE",
330
+ request_options=request_options,
331
+ )
332
+ try:
333
+ if 200 <= _response.status_code < 300:
334
+ _data = typing.cast(
335
+ typing.Dict[str, typing.Optional[typing.Any]],
336
+ parse_obj_as(
337
+ type_=typing.Dict[str, typing.Optional[typing.Any]], # type: ignore
338
+ object_=_response.json(),
339
+ ),
340
+ )
341
+ return AsyncHttpResponse(response=_response, data=_data)
342
+ if _response.status_code == 422:
343
+ raise UnprocessableEntityError(
344
+ headers=dict(_response.headers),
345
+ body=typing.cast(
346
+ HttpValidationError,
347
+ parse_obj_as(
348
+ type_=HttpValidationError, # type: ignore
349
+ object_=_response.json(),
350
+ ),
351
+ ),
352
+ )
353
+ _response_json = _response.json()
354
+ except JSONDecodeError:
355
+ raise ApiError(
356
+ status_code=_response.status_code,
357
+ headers=dict(_response.headers),
358
+ body=_response.text,
359
+ )
360
+ raise ApiError(
361
+ status_code=_response.status_code,
362
+ headers=dict(_response.headers),
363
+ body=_response_json,
364
+ )
@@ -1 +1,3 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file