agenta 0.48.8__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 (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/decorators/tracing.py +2 -4
  285. agenta/sdk/tracing/processors.py +26 -39
  286. agenta/sdk/types.py +28 -1
  287. {agenta-0.48.8.dist-info → agenta-0.48.10.dist-info}/METADATA +1 -1
  288. agenta-0.48.10.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.8.dist-info/RECORD +0 -255
  297. {agenta-0.48.8.dist-info → agenta-0.48.10.dist-info}/WHEEL +0 -0
@@ -1,26 +1,21 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
3
  import typing
4
- from ..core.client_wrapper import SyncClientWrapper
5
- from ..types.user_request import UserRequest
6
- from ..types.organization_request import OrganizationRequest
7
- from ..types.workspace_request import WorkspaceRequest
8
- from ..types.project_request import ProjectRequest
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.request_options import RequestOptions
7
+ from ..types.account_request import AccountRequest
8
+ from ..types.account_response import AccountResponse
9
9
  from ..types.organization_membership_request import OrganizationMembershipRequest
10
- from ..types.workspace_membership_request import WorkspaceMembershipRequest
10
+ from ..types.organization_request import OrganizationRequest
11
+ from ..types.plan import Plan
11
12
  from ..types.project_membership_request import ProjectMembershipRequest
12
- from ..core.request_options import RequestOptions
13
+ from ..types.project_request import ProjectRequest
13
14
  from ..types.scopes_response_model import ScopesResponseModel
14
- from ..core.serialization import convert_and_respect_annotation_metadata
15
- from ..core.pydantic_utilities import parse_obj_as
16
- from ..errors.unprocessable_entity_error import UnprocessableEntityError
17
- from ..types.http_validation_error import HttpValidationError
18
- from json.decoder import JSONDecodeError
19
- from ..core.api_error import ApiError
20
- from ..types.legacy_user_request import LegacyUserRequest
21
- from ..types.legacy_scope_request import LegacyScopeRequest
22
- from ..types.account_response import AccountResponse
23
- from ..core.client_wrapper import AsyncClientWrapper
15
+ from ..types.user_request import UserRequest
16
+ from ..types.workspace_membership_request import WorkspaceMembershipRequest
17
+ from ..types.workspace_request import WorkspaceRequest
18
+ from .raw_client import AsyncRawAdminClient, RawAdminClient
24
19
 
25
20
  # this is used as the default value for optional parameters
26
21
  OMIT = typing.cast(typing.Any, ...)
@@ -28,7 +23,18 @@ OMIT = typing.cast(typing.Any, ...)
28
23
 
29
24
  class AdminClient:
30
25
  def __init__(self, *, client_wrapper: SyncClientWrapper):
31
- self._client_wrapper = client_wrapper
26
+ self._raw_client = RawAdminClient(client_wrapper=client_wrapper)
27
+
28
+ @property
29
+ def with_raw_response(self) -> RawAdminClient:
30
+ """
31
+ Retrieves a raw implementation of this client that returns raw responses.
32
+
33
+ Returns
34
+ -------
35
+ RawAdminClient
36
+ """
37
+ return self._raw_client
32
38
 
33
39
  def create_accounts(
34
40
  self,
@@ -83,7 +89,6 @@ class AdminClient:
83
89
 
84
90
  client = AgentaApi(
85
91
  api_key="YOUR_API_KEY",
86
- base_url="https://yourhost.com/path/to/api",
87
92
  )
88
93
  client.admin.create_accounts(
89
94
  users={
@@ -142,89 +147,28 @@ class AdminClient:
142
147
  },
143
148
  )
144
149
  """
145
- _response = self._client_wrapper.httpx_client.request(
146
- "admin/accounts",
147
- method="POST",
148
- json={
149
- "users": convert_and_respect_annotation_metadata(
150
- object_=users,
151
- annotation=typing.Dict[str, UserRequest],
152
- direction="write",
153
- ),
154
- "organizations": convert_and_respect_annotation_metadata(
155
- object_=organizations,
156
- annotation=typing.Dict[str, OrganizationRequest],
157
- direction="write",
158
- ),
159
- "workspaces": convert_and_respect_annotation_metadata(
160
- object_=workspaces,
161
- annotation=typing.Dict[str, WorkspaceRequest],
162
- direction="write",
163
- ),
164
- "projects": convert_and_respect_annotation_metadata(
165
- object_=projects,
166
- annotation=typing.Dict[str, ProjectRequest],
167
- direction="write",
168
- ),
169
- "organization_memberships": convert_and_respect_annotation_metadata(
170
- object_=organization_memberships,
171
- annotation=typing.Dict[str, OrganizationMembershipRequest],
172
- direction="write",
173
- ),
174
- "workspace_memberships": convert_and_respect_annotation_metadata(
175
- object_=workspace_memberships,
176
- annotation=typing.Dict[str, WorkspaceMembershipRequest],
177
- direction="write",
178
- ),
179
- "project_memberships": convert_and_respect_annotation_metadata(
180
- object_=project_memberships,
181
- annotation=typing.Dict[str, ProjectMembershipRequest],
182
- direction="write",
183
- ),
184
- },
185
- headers={
186
- "content-type": "application/json",
187
- },
150
+ _response = self._raw_client.create_accounts(
151
+ users=users,
152
+ organizations=organizations,
153
+ workspaces=workspaces,
154
+ projects=projects,
155
+ organization_memberships=organization_memberships,
156
+ workspace_memberships=workspace_memberships,
157
+ project_memberships=project_memberships,
188
158
  request_options=request_options,
189
- omit=OMIT,
190
- )
191
- try:
192
- if 200 <= _response.status_code < 300:
193
- return typing.cast(
194
- ScopesResponseModel,
195
- parse_obj_as(
196
- type_=ScopesResponseModel, # type: ignore
197
- object_=_response.json(),
198
- ),
199
- )
200
- if _response.status_code == 422:
201
- raise UnprocessableEntityError(
202
- typing.cast(
203
- HttpValidationError,
204
- parse_obj_as(
205
- type_=HttpValidationError, # type: ignore
206
- object_=_response.json(),
207
- ),
208
- )
209
- )
210
- _response_json = _response.json()
211
- except JSONDecodeError:
212
- raise ApiError(status_code=_response.status_code, body=_response.text)
213
- raise ApiError(status_code=_response.status_code, body=_response_json)
159
+ )
160
+ return _response.data
214
161
 
215
162
  def create_account(
216
163
  self,
217
164
  *,
218
- user: LegacyUserRequest,
219
- scope: LegacyScopeRequest,
165
+ request: typing.Optional[AccountRequest] = None,
220
166
  request_options: typing.Optional[RequestOptions] = None,
221
167
  ) -> AccountResponse:
222
168
  """
223
169
  Parameters
224
170
  ----------
225
- user : LegacyUserRequest
226
-
227
- scope : LegacyScopeRequest
171
+ request : typing.Optional[AccountRequest]
228
172
 
229
173
  request_options : typing.Optional[RequestOptions]
230
174
  Request-specific configuration.
@@ -236,67 +180,214 @@ class AdminClient:
236
180
 
237
181
  Examples
238
182
  --------
239
- from agenta import AgentaApi, LegacyScopeRequest, LegacyUserRequest
183
+ from agenta import AgentaApi
240
184
 
241
185
  client = AgentaApi(
242
186
  api_key="YOUR_API_KEY",
243
- base_url="https://yourhost.com/path/to/api",
244
- )
245
- client.admin.create_account(
246
- user=LegacyUserRequest(
247
- name="name",
248
- email="email",
249
- ),
250
- scope=LegacyScopeRequest(
251
- name="name",
252
- ),
253
- )
254
- """
255
- _response = self._client_wrapper.httpx_client.request(
256
- "admin/account",
257
- method="POST",
258
- json={
259
- "user": convert_and_respect_annotation_metadata(
260
- object_=user, annotation=LegacyUserRequest, direction="write"
261
- ),
262
- "scope": convert_and_respect_annotation_metadata(
263
- object_=scope, annotation=LegacyScopeRequest, direction="write"
264
- ),
265
- },
266
- headers={
267
- "content-type": "application/json",
268
- },
187
+ )
188
+ client.admin.create_account()
189
+ """
190
+ _response = self._raw_client.create_account(
191
+ request=request, request_options=request_options
192
+ )
193
+ return _response.data
194
+
195
+ def create_portal(
196
+ self,
197
+ *,
198
+ organization_id: str,
199
+ request_options: typing.Optional[RequestOptions] = None,
200
+ ) -> typing.Optional[typing.Any]:
201
+ """
202
+ Parameters
203
+ ----------
204
+ organization_id : str
205
+
206
+ request_options : typing.Optional[RequestOptions]
207
+ Request-specific configuration.
208
+
209
+ Returns
210
+ -------
211
+ typing.Optional[typing.Any]
212
+ Successful Response
213
+
214
+ Examples
215
+ --------
216
+ from agenta import AgentaApi
217
+
218
+ client = AgentaApi(
219
+ api_key="YOUR_API_KEY",
220
+ )
221
+ client.admin.create_portal(
222
+ organization_id="organization_id",
223
+ )
224
+ """
225
+ _response = self._raw_client.create_portal(
226
+ organization_id=organization_id, request_options=request_options
227
+ )
228
+ return _response.data
229
+
230
+ def create_checkout(
231
+ self,
232
+ *,
233
+ organization_id: str,
234
+ plan: Plan,
235
+ success_url: str,
236
+ request_options: typing.Optional[RequestOptions] = None,
237
+ ) -> typing.Optional[typing.Any]:
238
+ """
239
+ Parameters
240
+ ----------
241
+ organization_id : str
242
+
243
+ plan : Plan
244
+
245
+ success_url : str
246
+
247
+ request_options : typing.Optional[RequestOptions]
248
+ Request-specific configuration.
249
+
250
+ Returns
251
+ -------
252
+ typing.Optional[typing.Any]
253
+ Successful Response
254
+
255
+ Examples
256
+ --------
257
+ from agenta import AgentaApi
258
+
259
+ client = AgentaApi(
260
+ api_key="YOUR_API_KEY",
261
+ )
262
+ client.admin.create_checkout(
263
+ organization_id="organization_id",
264
+ plan="cloud_v0_hobby",
265
+ success_url="success_url",
266
+ )
267
+ """
268
+ _response = self._raw_client.create_checkout(
269
+ organization_id=organization_id,
270
+ plan=plan,
271
+ success_url=success_url,
269
272
  request_options=request_options,
270
- omit=OMIT,
271
- )
272
- try:
273
- if 200 <= _response.status_code < 300:
274
- return typing.cast(
275
- AccountResponse,
276
- parse_obj_as(
277
- type_=AccountResponse, # type: ignore
278
- object_=_response.json(),
279
- ),
280
- )
281
- if _response.status_code == 422:
282
- raise UnprocessableEntityError(
283
- typing.cast(
284
- HttpValidationError,
285
- parse_obj_as(
286
- type_=HttpValidationError, # type: ignore
287
- object_=_response.json(),
288
- ),
289
- )
290
- )
291
- _response_json = _response.json()
292
- except JSONDecodeError:
293
- raise ApiError(status_code=_response.status_code, body=_response.text)
294
- raise ApiError(status_code=_response.status_code, body=_response_json)
273
+ )
274
+ return _response.data
275
+
276
+ def switch_plans(
277
+ self,
278
+ *,
279
+ organization_id: str,
280
+ plan: Plan,
281
+ request_options: typing.Optional[RequestOptions] = None,
282
+ ) -> typing.Optional[typing.Any]:
283
+ """
284
+ Parameters
285
+ ----------
286
+ organization_id : str
287
+
288
+ plan : Plan
289
+
290
+ request_options : typing.Optional[RequestOptions]
291
+ Request-specific configuration.
292
+
293
+ Returns
294
+ -------
295
+ typing.Optional[typing.Any]
296
+ Successful Response
297
+
298
+ Examples
299
+ --------
300
+ from agenta import AgentaApi
301
+
302
+ client = AgentaApi(
303
+ api_key="YOUR_API_KEY",
304
+ )
305
+ client.admin.switch_plans(
306
+ organization_id="organization_id",
307
+ plan="cloud_v0_hobby",
308
+ )
309
+ """
310
+ _response = self._raw_client.switch_plans(
311
+ organization_id=organization_id, plan=plan, request_options=request_options
312
+ )
313
+ return _response.data
314
+
315
+ def cancel_subscription(
316
+ self,
317
+ *,
318
+ organization_id: str,
319
+ request_options: typing.Optional[RequestOptions] = None,
320
+ ) -> typing.Optional[typing.Any]:
321
+ """
322
+ Parameters
323
+ ----------
324
+ organization_id : str
325
+
326
+ request_options : typing.Optional[RequestOptions]
327
+ Request-specific configuration.
328
+
329
+ Returns
330
+ -------
331
+ typing.Optional[typing.Any]
332
+ Successful Response
333
+
334
+ Examples
335
+ --------
336
+ from agenta import AgentaApi
337
+
338
+ client = AgentaApi(
339
+ api_key="YOUR_API_KEY",
340
+ )
341
+ client.admin.cancel_subscription(
342
+ organization_id="organization_id",
343
+ )
344
+ """
345
+ _response = self._raw_client.cancel_subscription(
346
+ organization_id=organization_id, request_options=request_options
347
+ )
348
+ return _response.data
349
+
350
+ def report_usage(
351
+ self, *, request_options: typing.Optional[RequestOptions] = None
352
+ ) -> typing.Optional[typing.Any]:
353
+ """
354
+ Parameters
355
+ ----------
356
+ request_options : typing.Optional[RequestOptions]
357
+ Request-specific configuration.
358
+
359
+ Returns
360
+ -------
361
+ typing.Optional[typing.Any]
362
+ Successful Response
363
+
364
+ Examples
365
+ --------
366
+ from agenta import AgentaApi
367
+
368
+ client = AgentaApi(
369
+ api_key="YOUR_API_KEY",
370
+ )
371
+ client.admin.report_usage()
372
+ """
373
+ _response = self._raw_client.report_usage(request_options=request_options)
374
+ return _response.data
295
375
 
296
376
 
297
377
  class AsyncAdminClient:
298
378
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
299
- self._client_wrapper = client_wrapper
379
+ self._raw_client = AsyncRawAdminClient(client_wrapper=client_wrapper)
380
+
381
+ @property
382
+ def with_raw_response(self) -> AsyncRawAdminClient:
383
+ """
384
+ Retrieves a raw implementation of this client that returns raw responses.
385
+
386
+ Returns
387
+ -------
388
+ AsyncRawAdminClient
389
+ """
390
+ return self._raw_client
300
391
 
301
392
  async def create_accounts(
302
393
  self,
@@ -353,7 +444,6 @@ class AsyncAdminClient:
353
444
 
354
445
  client = AsyncAgentaApi(
355
446
  api_key="YOUR_API_KEY",
356
- base_url="https://yourhost.com/path/to/api",
357
447
  )
358
448
 
359
449
 
@@ -418,89 +508,28 @@ class AsyncAdminClient:
418
508
 
419
509
  asyncio.run(main())
420
510
  """
421
- _response = await self._client_wrapper.httpx_client.request(
422
- "admin/accounts",
423
- method="POST",
424
- json={
425
- "users": convert_and_respect_annotation_metadata(
426
- object_=users,
427
- annotation=typing.Dict[str, UserRequest],
428
- direction="write",
429
- ),
430
- "organizations": convert_and_respect_annotation_metadata(
431
- object_=organizations,
432
- annotation=typing.Dict[str, OrganizationRequest],
433
- direction="write",
434
- ),
435
- "workspaces": convert_and_respect_annotation_metadata(
436
- object_=workspaces,
437
- annotation=typing.Dict[str, WorkspaceRequest],
438
- direction="write",
439
- ),
440
- "projects": convert_and_respect_annotation_metadata(
441
- object_=projects,
442
- annotation=typing.Dict[str, ProjectRequest],
443
- direction="write",
444
- ),
445
- "organization_memberships": convert_and_respect_annotation_metadata(
446
- object_=organization_memberships,
447
- annotation=typing.Dict[str, OrganizationMembershipRequest],
448
- direction="write",
449
- ),
450
- "workspace_memberships": convert_and_respect_annotation_metadata(
451
- object_=workspace_memberships,
452
- annotation=typing.Dict[str, WorkspaceMembershipRequest],
453
- direction="write",
454
- ),
455
- "project_memberships": convert_and_respect_annotation_metadata(
456
- object_=project_memberships,
457
- annotation=typing.Dict[str, ProjectMembershipRequest],
458
- direction="write",
459
- ),
460
- },
461
- headers={
462
- "content-type": "application/json",
463
- },
511
+ _response = await self._raw_client.create_accounts(
512
+ users=users,
513
+ organizations=organizations,
514
+ workspaces=workspaces,
515
+ projects=projects,
516
+ organization_memberships=organization_memberships,
517
+ workspace_memberships=workspace_memberships,
518
+ project_memberships=project_memberships,
464
519
  request_options=request_options,
465
- omit=OMIT,
466
- )
467
- try:
468
- if 200 <= _response.status_code < 300:
469
- return typing.cast(
470
- ScopesResponseModel,
471
- parse_obj_as(
472
- type_=ScopesResponseModel, # type: ignore
473
- object_=_response.json(),
474
- ),
475
- )
476
- if _response.status_code == 422:
477
- raise UnprocessableEntityError(
478
- typing.cast(
479
- HttpValidationError,
480
- parse_obj_as(
481
- type_=HttpValidationError, # type: ignore
482
- object_=_response.json(),
483
- ),
484
- )
485
- )
486
- _response_json = _response.json()
487
- except JSONDecodeError:
488
- raise ApiError(status_code=_response.status_code, body=_response.text)
489
- raise ApiError(status_code=_response.status_code, body=_response_json)
520
+ )
521
+ return _response.data
490
522
 
491
523
  async def create_account(
492
524
  self,
493
525
  *,
494
- user: LegacyUserRequest,
495
- scope: LegacyScopeRequest,
526
+ request: typing.Optional[AccountRequest] = None,
496
527
  request_options: typing.Optional[RequestOptions] = None,
497
528
  ) -> AccountResponse:
498
529
  """
499
530
  Parameters
500
531
  ----------
501
- user : LegacyUserRequest
502
-
503
- scope : LegacyScopeRequest
532
+ request : typing.Optional[AccountRequest]
504
533
 
505
534
  request_options : typing.Optional[RequestOptions]
506
535
  Request-specific configuration.
@@ -514,65 +543,241 @@ class AsyncAdminClient:
514
543
  --------
515
544
  import asyncio
516
545
 
517
- from agenta import AsyncAgentaApi, LegacyScopeRequest, LegacyUserRequest
546
+ from agenta import AsyncAgentaApi
518
547
 
519
548
  client = AsyncAgentaApi(
520
549
  api_key="YOUR_API_KEY",
521
- base_url="https://yourhost.com/path/to/api",
522
550
  )
523
551
 
524
552
 
525
553
  async def main() -> None:
526
- await client.admin.create_account(
527
- user=LegacyUserRequest(
528
- name="name",
529
- email="email",
530
- ),
531
- scope=LegacyScopeRequest(
532
- name="name",
533
- ),
554
+ await client.admin.create_account()
555
+
556
+
557
+ asyncio.run(main())
558
+ """
559
+ _response = await self._raw_client.create_account(
560
+ request=request, request_options=request_options
561
+ )
562
+ return _response.data
563
+
564
+ async def create_portal(
565
+ self,
566
+ *,
567
+ organization_id: str,
568
+ request_options: typing.Optional[RequestOptions] = None,
569
+ ) -> typing.Optional[typing.Any]:
570
+ """
571
+ Parameters
572
+ ----------
573
+ organization_id : str
574
+
575
+ request_options : typing.Optional[RequestOptions]
576
+ Request-specific configuration.
577
+
578
+ Returns
579
+ -------
580
+ typing.Optional[typing.Any]
581
+ Successful Response
582
+
583
+ Examples
584
+ --------
585
+ import asyncio
586
+
587
+ from agenta import AsyncAgentaApi
588
+
589
+ client = AsyncAgentaApi(
590
+ api_key="YOUR_API_KEY",
591
+ )
592
+
593
+
594
+ async def main() -> None:
595
+ await client.admin.create_portal(
596
+ organization_id="organization_id",
534
597
  )
535
598
 
536
599
 
537
600
  asyncio.run(main())
538
601
  """
539
- _response = await self._client_wrapper.httpx_client.request(
540
- "admin/account",
541
- method="POST",
542
- json={
543
- "user": convert_and_respect_annotation_metadata(
544
- object_=user, annotation=LegacyUserRequest, direction="write"
545
- ),
546
- "scope": convert_and_respect_annotation_metadata(
547
- object_=scope, annotation=LegacyScopeRequest, direction="write"
548
- ),
549
- },
550
- headers={
551
- "content-type": "application/json",
552
- },
602
+ _response = await self._raw_client.create_portal(
603
+ organization_id=organization_id, request_options=request_options
604
+ )
605
+ return _response.data
606
+
607
+ async def create_checkout(
608
+ self,
609
+ *,
610
+ organization_id: str,
611
+ plan: Plan,
612
+ success_url: str,
613
+ request_options: typing.Optional[RequestOptions] = None,
614
+ ) -> typing.Optional[typing.Any]:
615
+ """
616
+ Parameters
617
+ ----------
618
+ organization_id : str
619
+
620
+ plan : Plan
621
+
622
+ success_url : str
623
+
624
+ request_options : typing.Optional[RequestOptions]
625
+ Request-specific configuration.
626
+
627
+ Returns
628
+ -------
629
+ typing.Optional[typing.Any]
630
+ Successful Response
631
+
632
+ Examples
633
+ --------
634
+ import asyncio
635
+
636
+ from agenta import AsyncAgentaApi
637
+
638
+ client = AsyncAgentaApi(
639
+ api_key="YOUR_API_KEY",
640
+ )
641
+
642
+
643
+ async def main() -> None:
644
+ await client.admin.create_checkout(
645
+ organization_id="organization_id",
646
+ plan="cloud_v0_hobby",
647
+ success_url="success_url",
648
+ )
649
+
650
+
651
+ asyncio.run(main())
652
+ """
653
+ _response = await self._raw_client.create_checkout(
654
+ organization_id=organization_id,
655
+ plan=plan,
656
+ success_url=success_url,
553
657
  request_options=request_options,
554
- omit=OMIT,
555
- )
556
- try:
557
- if 200 <= _response.status_code < 300:
558
- return typing.cast(
559
- AccountResponse,
560
- parse_obj_as(
561
- type_=AccountResponse, # type: ignore
562
- object_=_response.json(),
563
- ),
564
- )
565
- if _response.status_code == 422:
566
- raise UnprocessableEntityError(
567
- typing.cast(
568
- HttpValidationError,
569
- parse_obj_as(
570
- type_=HttpValidationError, # type: ignore
571
- object_=_response.json(),
572
- ),
573
- )
574
- )
575
- _response_json = _response.json()
576
- except JSONDecodeError:
577
- raise ApiError(status_code=_response.status_code, body=_response.text)
578
- raise ApiError(status_code=_response.status_code, body=_response_json)
658
+ )
659
+ return _response.data
660
+
661
+ async def switch_plans(
662
+ self,
663
+ *,
664
+ organization_id: str,
665
+ plan: Plan,
666
+ request_options: typing.Optional[RequestOptions] = None,
667
+ ) -> typing.Optional[typing.Any]:
668
+ """
669
+ Parameters
670
+ ----------
671
+ organization_id : str
672
+
673
+ plan : Plan
674
+
675
+ request_options : typing.Optional[RequestOptions]
676
+ Request-specific configuration.
677
+
678
+ Returns
679
+ -------
680
+ typing.Optional[typing.Any]
681
+ Successful Response
682
+
683
+ Examples
684
+ --------
685
+ import asyncio
686
+
687
+ from agenta import AsyncAgentaApi
688
+
689
+ client = AsyncAgentaApi(
690
+ api_key="YOUR_API_KEY",
691
+ )
692
+
693
+
694
+ async def main() -> None:
695
+ await client.admin.switch_plans(
696
+ organization_id="organization_id",
697
+ plan="cloud_v0_hobby",
698
+ )
699
+
700
+
701
+ asyncio.run(main())
702
+ """
703
+ _response = await self._raw_client.switch_plans(
704
+ organization_id=organization_id, plan=plan, request_options=request_options
705
+ )
706
+ return _response.data
707
+
708
+ async def cancel_subscription(
709
+ self,
710
+ *,
711
+ organization_id: str,
712
+ request_options: typing.Optional[RequestOptions] = None,
713
+ ) -> typing.Optional[typing.Any]:
714
+ """
715
+ Parameters
716
+ ----------
717
+ organization_id : str
718
+
719
+ request_options : typing.Optional[RequestOptions]
720
+ Request-specific configuration.
721
+
722
+ Returns
723
+ -------
724
+ typing.Optional[typing.Any]
725
+ Successful Response
726
+
727
+ Examples
728
+ --------
729
+ import asyncio
730
+
731
+ from agenta import AsyncAgentaApi
732
+
733
+ client = AsyncAgentaApi(
734
+ api_key="YOUR_API_KEY",
735
+ )
736
+
737
+
738
+ async def main() -> None:
739
+ await client.admin.cancel_subscription(
740
+ organization_id="organization_id",
741
+ )
742
+
743
+
744
+ asyncio.run(main())
745
+ """
746
+ _response = await self._raw_client.cancel_subscription(
747
+ organization_id=organization_id, request_options=request_options
748
+ )
749
+ return _response.data
750
+
751
+ async def report_usage(
752
+ self, *, request_options: typing.Optional[RequestOptions] = None
753
+ ) -> typing.Optional[typing.Any]:
754
+ """
755
+ Parameters
756
+ ----------
757
+ request_options : typing.Optional[RequestOptions]
758
+ Request-specific configuration.
759
+
760
+ Returns
761
+ -------
762
+ typing.Optional[typing.Any]
763
+ Successful Response
764
+
765
+ Examples
766
+ --------
767
+ import asyncio
768
+
769
+ from agenta import AsyncAgentaApi
770
+
771
+ client = AsyncAgentaApi(
772
+ api_key="YOUR_API_KEY",
773
+ )
774
+
775
+
776
+ async def main() -> None:
777
+ await client.admin.report_usage()
778
+
779
+
780
+ asyncio.run(main())
781
+ """
782
+ _response = await self._raw_client.report_usage(request_options=request_options)
783
+ return _response.data