c63a5cfe-b235-4fbe-8bbb-82a9e02a482a-python 0.1.0a3__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/METADATA +396 -0
  2. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/RECORD +190 -0
  3. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/WHEEL +4 -0
  4. c63a5cfe_b235_4fbe_8bbb_82a9e02a482a_python-0.1.0a3.dist-info/licenses/LICENSE +201 -0
  5. digitalocean_genai_sdk/__init__.py +99 -0
  6. digitalocean_genai_sdk/_base_client.py +1949 -0
  7. digitalocean_genai_sdk/_client.py +795 -0
  8. digitalocean_genai_sdk/_compat.py +219 -0
  9. digitalocean_genai_sdk/_constants.py +14 -0
  10. digitalocean_genai_sdk/_exceptions.py +108 -0
  11. digitalocean_genai_sdk/_files.py +123 -0
  12. digitalocean_genai_sdk/_models.py +805 -0
  13. digitalocean_genai_sdk/_qs.py +150 -0
  14. digitalocean_genai_sdk/_resource.py +43 -0
  15. digitalocean_genai_sdk/_response.py +832 -0
  16. digitalocean_genai_sdk/_streaming.py +333 -0
  17. digitalocean_genai_sdk/_types.py +219 -0
  18. digitalocean_genai_sdk/_utils/__init__.py +57 -0
  19. digitalocean_genai_sdk/_utils/_logs.py +25 -0
  20. digitalocean_genai_sdk/_utils/_proxy.py +65 -0
  21. digitalocean_genai_sdk/_utils/_reflection.py +42 -0
  22. digitalocean_genai_sdk/_utils/_resources_proxy.py +24 -0
  23. digitalocean_genai_sdk/_utils/_streams.py +12 -0
  24. digitalocean_genai_sdk/_utils/_sync.py +86 -0
  25. digitalocean_genai_sdk/_utils/_transform.py +447 -0
  26. digitalocean_genai_sdk/_utils/_typing.py +151 -0
  27. digitalocean_genai_sdk/_utils/_utils.py +422 -0
  28. digitalocean_genai_sdk/_version.py +4 -0
  29. digitalocean_genai_sdk/lib/.keep +4 -0
  30. digitalocean_genai_sdk/py.typed +0 -0
  31. digitalocean_genai_sdk/resources/__init__.py +145 -0
  32. digitalocean_genai_sdk/resources/agents/__init__.py +89 -0
  33. digitalocean_genai_sdk/resources/agents/agents.py +965 -0
  34. digitalocean_genai_sdk/resources/agents/api_keys.py +581 -0
  35. digitalocean_genai_sdk/resources/agents/child_agents.py +508 -0
  36. digitalocean_genai_sdk/resources/agents/functions.py +421 -0
  37. digitalocean_genai_sdk/resources/agents/knowledge_bases.py +346 -0
  38. digitalocean_genai_sdk/resources/agents/versions.py +298 -0
  39. digitalocean_genai_sdk/resources/api_keys/__init__.py +19 -0
  40. digitalocean_genai_sdk/resources/api_keys/api_keys.py +275 -0
  41. digitalocean_genai_sdk/resources/api_keys/api_keys_.py +529 -0
  42. digitalocean_genai_sdk/resources/auth/__init__.py +33 -0
  43. digitalocean_genai_sdk/resources/auth/agents/__init__.py +33 -0
  44. digitalocean_genai_sdk/resources/auth/agents/agents.py +102 -0
  45. digitalocean_genai_sdk/resources/auth/agents/token.py +173 -0
  46. digitalocean_genai_sdk/resources/auth/auth.py +102 -0
  47. digitalocean_genai_sdk/resources/chat.py +381 -0
  48. digitalocean_genai_sdk/resources/embeddings.py +201 -0
  49. digitalocean_genai_sdk/resources/indexing_jobs.py +543 -0
  50. digitalocean_genai_sdk/resources/knowledge_bases/__init__.py +33 -0
  51. digitalocean_genai_sdk/resources/knowledge_bases/data_sources.py +410 -0
  52. digitalocean_genai_sdk/resources/knowledge_bases/knowledge_bases.py +667 -0
  53. digitalocean_genai_sdk/resources/models.py +222 -0
  54. digitalocean_genai_sdk/resources/providers/__init__.py +47 -0
  55. digitalocean_genai_sdk/resources/providers/anthropic/__init__.py +33 -0
  56. digitalocean_genai_sdk/resources/providers/anthropic/anthropic.py +102 -0
  57. digitalocean_genai_sdk/resources/providers/anthropic/keys.py +662 -0
  58. digitalocean_genai_sdk/resources/providers/openai/__init__.py +33 -0
  59. digitalocean_genai_sdk/resources/providers/openai/keys.py +658 -0
  60. digitalocean_genai_sdk/resources/providers/openai/openai.py +102 -0
  61. digitalocean_genai_sdk/resources/providers/providers.py +134 -0
  62. digitalocean_genai_sdk/resources/regions.py +191 -0
  63. digitalocean_genai_sdk/types/__init__.py +57 -0
  64. digitalocean_genai_sdk/types/agent_create_params.py +39 -0
  65. digitalocean_genai_sdk/types/agent_create_response.py +16 -0
  66. digitalocean_genai_sdk/types/agent_delete_response.py +16 -0
  67. digitalocean_genai_sdk/types/agent_list_params.py +18 -0
  68. digitalocean_genai_sdk/types/agent_list_response.py +198 -0
  69. digitalocean_genai_sdk/types/agent_retrieve_response.py +16 -0
  70. digitalocean_genai_sdk/types/agent_update_params.py +65 -0
  71. digitalocean_genai_sdk/types/agent_update_response.py +16 -0
  72. digitalocean_genai_sdk/types/agent_update_status_params.py +16 -0
  73. digitalocean_genai_sdk/types/agent_update_status_response.py +16 -0
  74. digitalocean_genai_sdk/types/agents/__init__.py +31 -0
  75. digitalocean_genai_sdk/types/agents/api_key_create_params.py +15 -0
  76. digitalocean_genai_sdk/types/agents/api_key_create_response.py +12 -0
  77. digitalocean_genai_sdk/types/agents/api_key_delete_response.py +12 -0
  78. digitalocean_genai_sdk/types/agents/api_key_list_params.py +15 -0
  79. digitalocean_genai_sdk/types/agents/api_key_list_response.py +18 -0
  80. digitalocean_genai_sdk/types/agents/api_key_regenerate_response.py +12 -0
  81. digitalocean_genai_sdk/types/agents/api_key_update_params.py +19 -0
  82. digitalocean_genai_sdk/types/agents/api_key_update_response.py +12 -0
  83. digitalocean_genai_sdk/types/agents/api_link_knowledge_base_output.py +16 -0
  84. digitalocean_genai_sdk/types/agents/api_links.py +21 -0
  85. digitalocean_genai_sdk/types/agents/api_meta.py +15 -0
  86. digitalocean_genai_sdk/types/agents/child_agent_add_params.py +22 -0
  87. digitalocean_genai_sdk/types/agents/child_agent_add_response.py +14 -0
  88. digitalocean_genai_sdk/types/agents/child_agent_delete_response.py +13 -0
  89. digitalocean_genai_sdk/types/agents/child_agent_update_params.py +24 -0
  90. digitalocean_genai_sdk/types/agents/child_agent_update_response.py +18 -0
  91. digitalocean_genai_sdk/types/agents/child_agent_view_response.py +16 -0
  92. digitalocean_genai_sdk/types/agents/function_create_params.py +25 -0
  93. digitalocean_genai_sdk/types/agents/function_create_response.py +16 -0
  94. digitalocean_genai_sdk/types/agents/function_delete_response.py +16 -0
  95. digitalocean_genai_sdk/types/agents/function_update_params.py +29 -0
  96. digitalocean_genai_sdk/types/agents/function_update_response.py +16 -0
  97. digitalocean_genai_sdk/types/agents/knowledge_base_detach_response.py +16 -0
  98. digitalocean_genai_sdk/types/agents/version_list_params.py +15 -0
  99. digitalocean_genai_sdk/types/agents/version_list_response.py +118 -0
  100. digitalocean_genai_sdk/types/agents/version_update_params.py +15 -0
  101. digitalocean_genai_sdk/types/agents/version_update_response.py +30 -0
  102. digitalocean_genai_sdk/types/api_agent.py +263 -0
  103. digitalocean_genai_sdk/types/api_agent_api_key_info.py +22 -0
  104. digitalocean_genai_sdk/types/api_agreement.py +17 -0
  105. digitalocean_genai_sdk/types/api_anthropic_api_key_info.py +22 -0
  106. digitalocean_genai_sdk/types/api_deployment_visibility.py +9 -0
  107. digitalocean_genai_sdk/types/api_indexing_job.py +43 -0
  108. digitalocean_genai_sdk/types/api_key_list_params.py +42 -0
  109. digitalocean_genai_sdk/types/api_key_list_response.py +42 -0
  110. digitalocean_genai_sdk/types/api_keys/__init__.py +13 -0
  111. digitalocean_genai_sdk/types/api_keys/api_key_create_params.py +11 -0
  112. digitalocean_genai_sdk/types/api_keys/api_key_create_response.py +12 -0
  113. digitalocean_genai_sdk/types/api_keys/api_key_delete_response.py +12 -0
  114. digitalocean_genai_sdk/types/api_keys/api_key_list_params.py +15 -0
  115. digitalocean_genai_sdk/types/api_keys/api_key_list_response.py +18 -0
  116. digitalocean_genai_sdk/types/api_keys/api_key_update_params.py +15 -0
  117. digitalocean_genai_sdk/types/api_keys/api_key_update_regenerate_response.py +12 -0
  118. digitalocean_genai_sdk/types/api_keys/api_key_update_response.py +12 -0
  119. digitalocean_genai_sdk/types/api_keys/api_model_api_key_info.py +22 -0
  120. digitalocean_genai_sdk/types/api_knowledge_base.py +37 -0
  121. digitalocean_genai_sdk/types/api_model.py +57 -0
  122. digitalocean_genai_sdk/types/api_model_version.py +15 -0
  123. digitalocean_genai_sdk/types/api_openai_api_key_info.py +25 -0
  124. digitalocean_genai_sdk/types/api_retrieval_method.py +13 -0
  125. digitalocean_genai_sdk/types/auth/__init__.py +3 -0
  126. digitalocean_genai_sdk/types/auth/agents/__init__.py +6 -0
  127. digitalocean_genai_sdk/types/auth/agents/token_create_params.py +13 -0
  128. digitalocean_genai_sdk/types/auth/agents/token_create_response.py +13 -0
  129. digitalocean_genai_sdk/types/chat_completion_request_message_content_part_text_param.py +15 -0
  130. digitalocean_genai_sdk/types/chat_completion_token_logprob.py +57 -0
  131. digitalocean_genai_sdk/types/chat_create_completion_params.py +208 -0
  132. digitalocean_genai_sdk/types/chat_create_completion_response.py +81 -0
  133. digitalocean_genai_sdk/types/embedding_create_params.py +28 -0
  134. digitalocean_genai_sdk/types/embedding_create_response.py +41 -0
  135. digitalocean_genai_sdk/types/indexing_job_create_params.py +14 -0
  136. digitalocean_genai_sdk/types/indexing_job_create_response.py +12 -0
  137. digitalocean_genai_sdk/types/indexing_job_list_params.py +15 -0
  138. digitalocean_genai_sdk/types/indexing_job_list_response.py +18 -0
  139. digitalocean_genai_sdk/types/indexing_job_retrieve_data_sources_response.py +52 -0
  140. digitalocean_genai_sdk/types/indexing_job_retrieve_response.py +12 -0
  141. digitalocean_genai_sdk/types/indexing_job_update_cancel_params.py +14 -0
  142. digitalocean_genai_sdk/types/indexing_job_update_cancel_response.py +12 -0
  143. digitalocean_genai_sdk/types/knowledge_base_create_params.py +64 -0
  144. digitalocean_genai_sdk/types/knowledge_base_create_response.py +12 -0
  145. digitalocean_genai_sdk/types/knowledge_base_delete_response.py +11 -0
  146. digitalocean_genai_sdk/types/knowledge_base_list_params.py +15 -0
  147. digitalocean_genai_sdk/types/knowledge_base_list_response.py +18 -0
  148. digitalocean_genai_sdk/types/knowledge_base_retrieve_response.py +30 -0
  149. digitalocean_genai_sdk/types/knowledge_base_update_params.py +27 -0
  150. digitalocean_genai_sdk/types/knowledge_base_update_response.py +12 -0
  151. digitalocean_genai_sdk/types/knowledge_bases/__init__.py +16 -0
  152. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source.py +15 -0
  153. digitalocean_genai_sdk/types/knowledge_bases/api_file_upload_data_source_param.py +15 -0
  154. digitalocean_genai_sdk/types/knowledge_bases/api_knowledge_base_data_source.py +35 -0
  155. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source.py +15 -0
  156. digitalocean_genai_sdk/types/knowledge_bases/api_spaces_data_source_param.py +15 -0
  157. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source.py +26 -0
  158. digitalocean_genai_sdk/types/knowledge_bases/api_web_crawler_data_source_param.py +25 -0
  159. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_params.py +33 -0
  160. digitalocean_genai_sdk/types/knowledge_bases/data_source_create_response.py +12 -0
  161. digitalocean_genai_sdk/types/knowledge_bases/data_source_delete_response.py +13 -0
  162. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_params.py +15 -0
  163. digitalocean_genai_sdk/types/knowledge_bases/data_source_list_response.py +18 -0
  164. digitalocean_genai_sdk/types/model.py +21 -0
  165. digitalocean_genai_sdk/types/model_list_response.py +15 -0
  166. digitalocean_genai_sdk/types/providers/__init__.py +3 -0
  167. digitalocean_genai_sdk/types/providers/anthropic/__init__.py +14 -0
  168. digitalocean_genai_sdk/types/providers/anthropic/key_create_params.py +13 -0
  169. digitalocean_genai_sdk/types/providers/anthropic/key_create_response.py +12 -0
  170. digitalocean_genai_sdk/types/providers/anthropic/key_delete_response.py +12 -0
  171. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_params.py +15 -0
  172. digitalocean_genai_sdk/types/providers/anthropic/key_list_agents_response.py +22 -0
  173. digitalocean_genai_sdk/types/providers/anthropic/key_list_params.py +15 -0
  174. digitalocean_genai_sdk/types/providers/anthropic/key_list_response.py +18 -0
  175. digitalocean_genai_sdk/types/providers/anthropic/key_retrieve_response.py +12 -0
  176. digitalocean_genai_sdk/types/providers/anthropic/key_update_params.py +17 -0
  177. digitalocean_genai_sdk/types/providers/anthropic/key_update_response.py +12 -0
  178. digitalocean_genai_sdk/types/providers/openai/__init__.py +14 -0
  179. digitalocean_genai_sdk/types/providers/openai/key_create_params.py +13 -0
  180. digitalocean_genai_sdk/types/providers/openai/key_create_response.py +12 -0
  181. digitalocean_genai_sdk/types/providers/openai/key_delete_response.py +12 -0
  182. digitalocean_genai_sdk/types/providers/openai/key_list_params.py +15 -0
  183. digitalocean_genai_sdk/types/providers/openai/key_list_response.py +18 -0
  184. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_params.py +15 -0
  185. digitalocean_genai_sdk/types/providers/openai/key_retrieve_agents_response.py +22 -0
  186. digitalocean_genai_sdk/types/providers/openai/key_retrieve_response.py +12 -0
  187. digitalocean_genai_sdk/types/providers/openai/key_update_params.py +17 -0
  188. digitalocean_genai_sdk/types/providers/openai/key_update_response.py +12 -0
  189. digitalocean_genai_sdk/types/region_list_params.py +15 -0
  190. digitalocean_genai_sdk/types/region_list_response.py +23 -0
@@ -0,0 +1,581 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
8
+ from ..._utils import maybe_transform, async_maybe_transform
9
+ from ..._compat import cached_property
10
+ from ..._resource import SyncAPIResource, AsyncAPIResource
11
+ from ..._response import (
12
+ to_raw_response_wrapper,
13
+ to_streamed_response_wrapper,
14
+ async_to_raw_response_wrapper,
15
+ async_to_streamed_response_wrapper,
16
+ )
17
+ from ..._base_client import make_request_options
18
+ from ...types.agents import api_key_list_params, api_key_create_params, api_key_update_params
19
+ from ...types.agents.api_key_list_response import APIKeyListResponse
20
+ from ...types.agents.api_key_create_response import APIKeyCreateResponse
21
+ from ...types.agents.api_key_delete_response import APIKeyDeleteResponse
22
+ from ...types.agents.api_key_update_response import APIKeyUpdateResponse
23
+ from ...types.agents.api_key_regenerate_response import APIKeyRegenerateResponse
24
+
25
+ __all__ = ["APIKeysResource", "AsyncAPIKeysResource"]
26
+
27
+
28
+ class APIKeysResource(SyncAPIResource):
29
+ @cached_property
30
+ def with_raw_response(self) -> APIKeysResourceWithRawResponse:
31
+ """
32
+ This property can be used as a prefix for any HTTP method call to return
33
+ the raw response object instead of the parsed content.
34
+
35
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
36
+ """
37
+ return APIKeysResourceWithRawResponse(self)
38
+
39
+ @cached_property
40
+ def with_streaming_response(self) -> APIKeysResourceWithStreamingResponse:
41
+ """
42
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
43
+
44
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
45
+ """
46
+ return APIKeysResourceWithStreamingResponse(self)
47
+
48
+ def create(
49
+ self,
50
+ path_agent_uuid: str,
51
+ *,
52
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
53
+ name: str | NotGiven = NOT_GIVEN,
54
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
55
+ # The extra values given here take precedence over values defined on the client or passed to this method.
56
+ extra_headers: Headers | None = None,
57
+ extra_query: Query | None = None,
58
+ extra_body: Body | None = None,
59
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
60
+ ) -> APIKeyCreateResponse:
61
+ """
62
+ To create an agent API key, send a POST request to
63
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys`.
64
+
65
+ Args:
66
+ extra_headers: Send extra headers
67
+
68
+ extra_query: Add additional query parameters to the request
69
+
70
+ extra_body: Add additional JSON properties to the request
71
+
72
+ timeout: Override the client-level default timeout for this request, in seconds
73
+ """
74
+ if not path_agent_uuid:
75
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
76
+ return self._post(
77
+ f"/v2/genai/agents/{path_agent_uuid}/api_keys",
78
+ body=maybe_transform(
79
+ {
80
+ "body_agent_uuid": body_agent_uuid,
81
+ "name": name,
82
+ },
83
+ api_key_create_params.APIKeyCreateParams,
84
+ ),
85
+ options=make_request_options(
86
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
87
+ ),
88
+ cast_to=APIKeyCreateResponse,
89
+ )
90
+
91
+ def update(
92
+ self,
93
+ path_api_key_uuid: str,
94
+ *,
95
+ path_agent_uuid: str,
96
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
97
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
98
+ name: str | NotGiven = NOT_GIVEN,
99
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
100
+ # The extra values given here take precedence over values defined on the client or passed to this method.
101
+ extra_headers: Headers | None = None,
102
+ extra_query: Query | None = None,
103
+ extra_body: Body | None = None,
104
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
105
+ ) -> APIKeyUpdateResponse:
106
+ """
107
+ To update an agent API key, send a PUT request to
108
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`.
109
+
110
+ Args:
111
+ extra_headers: Send extra headers
112
+
113
+ extra_query: Add additional query parameters to the request
114
+
115
+ extra_body: Add additional JSON properties to the request
116
+
117
+ timeout: Override the client-level default timeout for this request, in seconds
118
+ """
119
+ if not path_agent_uuid:
120
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
121
+ if not path_api_key_uuid:
122
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
123
+ return self._put(
124
+ f"/v2/genai/agents/{path_agent_uuid}/api_keys/{path_api_key_uuid}",
125
+ body=maybe_transform(
126
+ {
127
+ "body_agent_uuid": body_agent_uuid,
128
+ "body_api_key_uuid": body_api_key_uuid,
129
+ "name": name,
130
+ },
131
+ api_key_update_params.APIKeyUpdateParams,
132
+ ),
133
+ options=make_request_options(
134
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
135
+ ),
136
+ cast_to=APIKeyUpdateResponse,
137
+ )
138
+
139
+ def list(
140
+ self,
141
+ agent_uuid: str,
142
+ *,
143
+ page: int | NotGiven = NOT_GIVEN,
144
+ per_page: int | NotGiven = NOT_GIVEN,
145
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
146
+ # The extra values given here take precedence over values defined on the client or passed to this method.
147
+ extra_headers: Headers | None = None,
148
+ extra_query: Query | None = None,
149
+ extra_body: Body | None = None,
150
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
151
+ ) -> APIKeyListResponse:
152
+ """
153
+ To list all agent API keys, send a GET request to
154
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys`.
155
+
156
+ Args:
157
+ page: page number.
158
+
159
+ per_page: items per page.
160
+
161
+ extra_headers: Send extra headers
162
+
163
+ extra_query: Add additional query parameters to the request
164
+
165
+ extra_body: Add additional JSON properties to the request
166
+
167
+ timeout: Override the client-level default timeout for this request, in seconds
168
+ """
169
+ if not agent_uuid:
170
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
171
+ return self._get(
172
+ f"/v2/genai/agents/{agent_uuid}/api_keys",
173
+ options=make_request_options(
174
+ extra_headers=extra_headers,
175
+ extra_query=extra_query,
176
+ extra_body=extra_body,
177
+ timeout=timeout,
178
+ query=maybe_transform(
179
+ {
180
+ "page": page,
181
+ "per_page": per_page,
182
+ },
183
+ api_key_list_params.APIKeyListParams,
184
+ ),
185
+ ),
186
+ cast_to=APIKeyListResponse,
187
+ )
188
+
189
+ def delete(
190
+ self,
191
+ api_key_uuid: str,
192
+ *,
193
+ agent_uuid: str,
194
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
195
+ # The extra values given here take precedence over values defined on the client or passed to this method.
196
+ extra_headers: Headers | None = None,
197
+ extra_query: Query | None = None,
198
+ extra_body: Body | None = None,
199
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
200
+ ) -> APIKeyDeleteResponse:
201
+ """
202
+ To delete an API key for an agent, send a DELETE request to
203
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`.
204
+
205
+ Args:
206
+ extra_headers: Send extra headers
207
+
208
+ extra_query: Add additional query parameters to the request
209
+
210
+ extra_body: Add additional JSON properties to the request
211
+
212
+ timeout: Override the client-level default timeout for this request, in seconds
213
+ """
214
+ if not agent_uuid:
215
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
216
+ if not api_key_uuid:
217
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
218
+ return self._delete(
219
+ f"/v2/genai/agents/{agent_uuid}/api_keys/{api_key_uuid}",
220
+ options=make_request_options(
221
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
222
+ ),
223
+ cast_to=APIKeyDeleteResponse,
224
+ )
225
+
226
+ def regenerate(
227
+ self,
228
+ api_key_uuid: str,
229
+ *,
230
+ agent_uuid: str,
231
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
232
+ # The extra values given here take precedence over values defined on the client or passed to this method.
233
+ extra_headers: Headers | None = None,
234
+ extra_query: Query | None = None,
235
+ extra_body: Body | None = None,
236
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
237
+ ) -> APIKeyRegenerateResponse:
238
+ """
239
+ To regenerate an agent API key, send a PUT request to
240
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate`.
241
+
242
+ Args:
243
+ extra_headers: Send extra headers
244
+
245
+ extra_query: Add additional query parameters to the request
246
+
247
+ extra_body: Add additional JSON properties to the request
248
+
249
+ timeout: Override the client-level default timeout for this request, in seconds
250
+ """
251
+ if not agent_uuid:
252
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
253
+ if not api_key_uuid:
254
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
255
+ return self._put(
256
+ f"/v2/genai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate",
257
+ options=make_request_options(
258
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
259
+ ),
260
+ cast_to=APIKeyRegenerateResponse,
261
+ )
262
+
263
+
264
+ class AsyncAPIKeysResource(AsyncAPIResource):
265
+ @cached_property
266
+ def with_raw_response(self) -> AsyncAPIKeysResourceWithRawResponse:
267
+ """
268
+ This property can be used as a prefix for any HTTP method call to return
269
+ the raw response object instead of the parsed content.
270
+
271
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
272
+ """
273
+ return AsyncAPIKeysResourceWithRawResponse(self)
274
+
275
+ @cached_property
276
+ def with_streaming_response(self) -> AsyncAPIKeysResourceWithStreamingResponse:
277
+ """
278
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
279
+
280
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
281
+ """
282
+ return AsyncAPIKeysResourceWithStreamingResponse(self)
283
+
284
+ async def create(
285
+ self,
286
+ path_agent_uuid: str,
287
+ *,
288
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
289
+ name: str | NotGiven = NOT_GIVEN,
290
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
291
+ # The extra values given here take precedence over values defined on the client or passed to this method.
292
+ extra_headers: Headers | None = None,
293
+ extra_query: Query | None = None,
294
+ extra_body: Body | None = None,
295
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
296
+ ) -> APIKeyCreateResponse:
297
+ """
298
+ To create an agent API key, send a POST request to
299
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys`.
300
+
301
+ Args:
302
+ extra_headers: Send extra headers
303
+
304
+ extra_query: Add additional query parameters to the request
305
+
306
+ extra_body: Add additional JSON properties to the request
307
+
308
+ timeout: Override the client-level default timeout for this request, in seconds
309
+ """
310
+ if not path_agent_uuid:
311
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
312
+ return await self._post(
313
+ f"/v2/genai/agents/{path_agent_uuid}/api_keys",
314
+ body=await async_maybe_transform(
315
+ {
316
+ "body_agent_uuid": body_agent_uuid,
317
+ "name": name,
318
+ },
319
+ api_key_create_params.APIKeyCreateParams,
320
+ ),
321
+ options=make_request_options(
322
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
323
+ ),
324
+ cast_to=APIKeyCreateResponse,
325
+ )
326
+
327
+ async def update(
328
+ self,
329
+ path_api_key_uuid: str,
330
+ *,
331
+ path_agent_uuid: str,
332
+ body_agent_uuid: str | NotGiven = NOT_GIVEN,
333
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
334
+ name: str | NotGiven = NOT_GIVEN,
335
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
336
+ # The extra values given here take precedence over values defined on the client or passed to this method.
337
+ extra_headers: Headers | None = None,
338
+ extra_query: Query | None = None,
339
+ extra_body: Body | None = None,
340
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
341
+ ) -> APIKeyUpdateResponse:
342
+ """
343
+ To update an agent API key, send a PUT request to
344
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`.
345
+
346
+ Args:
347
+ extra_headers: Send extra headers
348
+
349
+ extra_query: Add additional query parameters to the request
350
+
351
+ extra_body: Add additional JSON properties to the request
352
+
353
+ timeout: Override the client-level default timeout for this request, in seconds
354
+ """
355
+ if not path_agent_uuid:
356
+ raise ValueError(f"Expected a non-empty value for `path_agent_uuid` but received {path_agent_uuid!r}")
357
+ if not path_api_key_uuid:
358
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
359
+ return await self._put(
360
+ f"/v2/genai/agents/{path_agent_uuid}/api_keys/{path_api_key_uuid}",
361
+ body=await async_maybe_transform(
362
+ {
363
+ "body_agent_uuid": body_agent_uuid,
364
+ "body_api_key_uuid": body_api_key_uuid,
365
+ "name": name,
366
+ },
367
+ api_key_update_params.APIKeyUpdateParams,
368
+ ),
369
+ options=make_request_options(
370
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
371
+ ),
372
+ cast_to=APIKeyUpdateResponse,
373
+ )
374
+
375
+ async def list(
376
+ self,
377
+ agent_uuid: str,
378
+ *,
379
+ page: int | NotGiven = NOT_GIVEN,
380
+ per_page: int | NotGiven = NOT_GIVEN,
381
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
382
+ # The extra values given here take precedence over values defined on the client or passed to this method.
383
+ extra_headers: Headers | None = None,
384
+ extra_query: Query | None = None,
385
+ extra_body: Body | None = None,
386
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
387
+ ) -> APIKeyListResponse:
388
+ """
389
+ To list all agent API keys, send a GET request to
390
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys`.
391
+
392
+ Args:
393
+ page: page number.
394
+
395
+ per_page: items per page.
396
+
397
+ extra_headers: Send extra headers
398
+
399
+ extra_query: Add additional query parameters to the request
400
+
401
+ extra_body: Add additional JSON properties to the request
402
+
403
+ timeout: Override the client-level default timeout for this request, in seconds
404
+ """
405
+ if not agent_uuid:
406
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
407
+ return await self._get(
408
+ f"/v2/genai/agents/{agent_uuid}/api_keys",
409
+ options=make_request_options(
410
+ extra_headers=extra_headers,
411
+ extra_query=extra_query,
412
+ extra_body=extra_body,
413
+ timeout=timeout,
414
+ query=await async_maybe_transform(
415
+ {
416
+ "page": page,
417
+ "per_page": per_page,
418
+ },
419
+ api_key_list_params.APIKeyListParams,
420
+ ),
421
+ ),
422
+ cast_to=APIKeyListResponse,
423
+ )
424
+
425
+ async def delete(
426
+ self,
427
+ api_key_uuid: str,
428
+ *,
429
+ agent_uuid: str,
430
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
431
+ # The extra values given here take precedence over values defined on the client or passed to this method.
432
+ extra_headers: Headers | None = None,
433
+ extra_query: Query | None = None,
434
+ extra_body: Body | None = None,
435
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
436
+ ) -> APIKeyDeleteResponse:
437
+ """
438
+ To delete an API key for an agent, send a DELETE request to
439
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}`.
440
+
441
+ Args:
442
+ extra_headers: Send extra headers
443
+
444
+ extra_query: Add additional query parameters to the request
445
+
446
+ extra_body: Add additional JSON properties to the request
447
+
448
+ timeout: Override the client-level default timeout for this request, in seconds
449
+ """
450
+ if not agent_uuid:
451
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
452
+ if not api_key_uuid:
453
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
454
+ return await self._delete(
455
+ f"/v2/genai/agents/{agent_uuid}/api_keys/{api_key_uuid}",
456
+ options=make_request_options(
457
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
458
+ ),
459
+ cast_to=APIKeyDeleteResponse,
460
+ )
461
+
462
+ async def regenerate(
463
+ self,
464
+ api_key_uuid: str,
465
+ *,
466
+ agent_uuid: str,
467
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
468
+ # The extra values given here take precedence over values defined on the client or passed to this method.
469
+ extra_headers: Headers | None = None,
470
+ extra_query: Query | None = None,
471
+ extra_body: Body | None = None,
472
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
473
+ ) -> APIKeyRegenerateResponse:
474
+ """
475
+ To regenerate an agent API key, send a PUT request to
476
+ `/v2/gen-ai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate`.
477
+
478
+ Args:
479
+ extra_headers: Send extra headers
480
+
481
+ extra_query: Add additional query parameters to the request
482
+
483
+ extra_body: Add additional JSON properties to the request
484
+
485
+ timeout: Override the client-level default timeout for this request, in seconds
486
+ """
487
+ if not agent_uuid:
488
+ raise ValueError(f"Expected a non-empty value for `agent_uuid` but received {agent_uuid!r}")
489
+ if not api_key_uuid:
490
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
491
+ return await self._put(
492
+ f"/v2/genai/agents/{agent_uuid}/api_keys/{api_key_uuid}/regenerate",
493
+ options=make_request_options(
494
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
495
+ ),
496
+ cast_to=APIKeyRegenerateResponse,
497
+ )
498
+
499
+
500
+ class APIKeysResourceWithRawResponse:
501
+ def __init__(self, api_keys: APIKeysResource) -> None:
502
+ self._api_keys = api_keys
503
+
504
+ self.create = to_raw_response_wrapper(
505
+ api_keys.create,
506
+ )
507
+ self.update = to_raw_response_wrapper(
508
+ api_keys.update,
509
+ )
510
+ self.list = to_raw_response_wrapper(
511
+ api_keys.list,
512
+ )
513
+ self.delete = to_raw_response_wrapper(
514
+ api_keys.delete,
515
+ )
516
+ self.regenerate = to_raw_response_wrapper(
517
+ api_keys.regenerate,
518
+ )
519
+
520
+
521
+ class AsyncAPIKeysResourceWithRawResponse:
522
+ def __init__(self, api_keys: AsyncAPIKeysResource) -> None:
523
+ self._api_keys = api_keys
524
+
525
+ self.create = async_to_raw_response_wrapper(
526
+ api_keys.create,
527
+ )
528
+ self.update = async_to_raw_response_wrapper(
529
+ api_keys.update,
530
+ )
531
+ self.list = async_to_raw_response_wrapper(
532
+ api_keys.list,
533
+ )
534
+ self.delete = async_to_raw_response_wrapper(
535
+ api_keys.delete,
536
+ )
537
+ self.regenerate = async_to_raw_response_wrapper(
538
+ api_keys.regenerate,
539
+ )
540
+
541
+
542
+ class APIKeysResourceWithStreamingResponse:
543
+ def __init__(self, api_keys: APIKeysResource) -> None:
544
+ self._api_keys = api_keys
545
+
546
+ self.create = to_streamed_response_wrapper(
547
+ api_keys.create,
548
+ )
549
+ self.update = to_streamed_response_wrapper(
550
+ api_keys.update,
551
+ )
552
+ self.list = to_streamed_response_wrapper(
553
+ api_keys.list,
554
+ )
555
+ self.delete = to_streamed_response_wrapper(
556
+ api_keys.delete,
557
+ )
558
+ self.regenerate = to_streamed_response_wrapper(
559
+ api_keys.regenerate,
560
+ )
561
+
562
+
563
+ class AsyncAPIKeysResourceWithStreamingResponse:
564
+ def __init__(self, api_keys: AsyncAPIKeysResource) -> None:
565
+ self._api_keys = api_keys
566
+
567
+ self.create = async_to_streamed_response_wrapper(
568
+ api_keys.create,
569
+ )
570
+ self.update = async_to_streamed_response_wrapper(
571
+ api_keys.update,
572
+ )
573
+ self.list = async_to_streamed_response_wrapper(
574
+ api_keys.list,
575
+ )
576
+ self.delete = async_to_streamed_response_wrapper(
577
+ api_keys.delete,
578
+ )
579
+ self.regenerate = async_to_streamed_response_wrapper(
580
+ api_keys.regenerate,
581
+ )