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,529 @@
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.api_keys import api_key_list_params, api_key_create_params, api_key_update_params
19
+ from ...types.api_keys.api_key_list_response import APIKeyListResponse
20
+ from ...types.api_keys.api_key_create_response import APIKeyCreateResponse
21
+ from ...types.api_keys.api_key_delete_response import APIKeyDeleteResponse
22
+ from ...types.api_keys.api_key_update_response import APIKeyUpdateResponse
23
+ from ...types.api_keys.api_key_update_regenerate_response import APIKeyUpdateRegenerateResponse
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
+ *,
51
+ name: str | NotGiven = NOT_GIVEN,
52
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
53
+ # The extra values given here take precedence over values defined on the client or passed to this method.
54
+ extra_headers: Headers | None = None,
55
+ extra_query: Query | None = None,
56
+ extra_body: Body | None = None,
57
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
58
+ ) -> APIKeyCreateResponse:
59
+ """
60
+ To create a model API key, send a POST request to `/v2/gen-ai/models/api_keys`.
61
+
62
+ Args:
63
+ extra_headers: Send extra headers
64
+
65
+ extra_query: Add additional query parameters to the request
66
+
67
+ extra_body: Add additional JSON properties to the request
68
+
69
+ timeout: Override the client-level default timeout for this request, in seconds
70
+ """
71
+ return self._post(
72
+ "/v2/genai/models/api_keys",
73
+ body=maybe_transform({"name": name}, api_key_create_params.APIKeyCreateParams),
74
+ options=make_request_options(
75
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
76
+ ),
77
+ cast_to=APIKeyCreateResponse,
78
+ )
79
+
80
+ def update(
81
+ self,
82
+ path_api_key_uuid: str,
83
+ *,
84
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
85
+ name: str | NotGiven = NOT_GIVEN,
86
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
87
+ # The extra values given here take precedence over values defined on the client or passed to this method.
88
+ extra_headers: Headers | None = None,
89
+ extra_query: Query | None = None,
90
+ extra_body: Body | None = None,
91
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
92
+ ) -> APIKeyUpdateResponse:
93
+ """
94
+ To update a model API key, send a PUT request to
95
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}`.
96
+
97
+ Args:
98
+ extra_headers: Send extra headers
99
+
100
+ extra_query: Add additional query parameters to the request
101
+
102
+ extra_body: Add additional JSON properties to the request
103
+
104
+ timeout: Override the client-level default timeout for this request, in seconds
105
+ """
106
+ if not path_api_key_uuid:
107
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
108
+ return self._put(
109
+ f"/v2/genai/models/api_keys/{path_api_key_uuid}",
110
+ body=maybe_transform(
111
+ {
112
+ "body_api_key_uuid": body_api_key_uuid,
113
+ "name": name,
114
+ },
115
+ api_key_update_params.APIKeyUpdateParams,
116
+ ),
117
+ options=make_request_options(
118
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
119
+ ),
120
+ cast_to=APIKeyUpdateResponse,
121
+ )
122
+
123
+ def list(
124
+ self,
125
+ *,
126
+ page: int | NotGiven = NOT_GIVEN,
127
+ per_page: int | NotGiven = NOT_GIVEN,
128
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
129
+ # The extra values given here take precedence over values defined on the client or passed to this method.
130
+ extra_headers: Headers | None = None,
131
+ extra_query: Query | None = None,
132
+ extra_body: Body | None = None,
133
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
134
+ ) -> APIKeyListResponse:
135
+ """
136
+ To list all model API keys, send a GET request to `/v2/gen-ai/models/api_keys`.
137
+
138
+ Args:
139
+ page: page number.
140
+
141
+ per_page: items per page.
142
+
143
+ extra_headers: Send extra headers
144
+
145
+ extra_query: Add additional query parameters to the request
146
+
147
+ extra_body: Add additional JSON properties to the request
148
+
149
+ timeout: Override the client-level default timeout for this request, in seconds
150
+ """
151
+ return self._get(
152
+ "/v2/genai/models/api_keys",
153
+ options=make_request_options(
154
+ extra_headers=extra_headers,
155
+ extra_query=extra_query,
156
+ extra_body=extra_body,
157
+ timeout=timeout,
158
+ query=maybe_transform(
159
+ {
160
+ "page": page,
161
+ "per_page": per_page,
162
+ },
163
+ api_key_list_params.APIKeyListParams,
164
+ ),
165
+ ),
166
+ cast_to=APIKeyListResponse,
167
+ )
168
+
169
+ def delete(
170
+ self,
171
+ api_key_uuid: str,
172
+ *,
173
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
174
+ # The extra values given here take precedence over values defined on the client or passed to this method.
175
+ extra_headers: Headers | None = None,
176
+ extra_query: Query | None = None,
177
+ extra_body: Body | None = None,
178
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
179
+ ) -> APIKeyDeleteResponse:
180
+ """
181
+ To delete an API key for a model, send a DELETE request to
182
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}`.
183
+
184
+ Args:
185
+ extra_headers: Send extra headers
186
+
187
+ extra_query: Add additional query parameters to the request
188
+
189
+ extra_body: Add additional JSON properties to the request
190
+
191
+ timeout: Override the client-level default timeout for this request, in seconds
192
+ """
193
+ if not api_key_uuid:
194
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
195
+ return self._delete(
196
+ f"/v2/genai/models/api_keys/{api_key_uuid}",
197
+ options=make_request_options(
198
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
199
+ ),
200
+ cast_to=APIKeyDeleteResponse,
201
+ )
202
+
203
+ def update_regenerate(
204
+ self,
205
+ api_key_uuid: str,
206
+ *,
207
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
208
+ # The extra values given here take precedence over values defined on the client or passed to this method.
209
+ extra_headers: Headers | None = None,
210
+ extra_query: Query | None = None,
211
+ extra_body: Body | None = None,
212
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
213
+ ) -> APIKeyUpdateRegenerateResponse:
214
+ """
215
+ To regenerate a model API key, send a PUT request to
216
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate`.
217
+
218
+ Args:
219
+ extra_headers: Send extra headers
220
+
221
+ extra_query: Add additional query parameters to the request
222
+
223
+ extra_body: Add additional JSON properties to the request
224
+
225
+ timeout: Override the client-level default timeout for this request, in seconds
226
+ """
227
+ if not api_key_uuid:
228
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
229
+ return self._put(
230
+ f"/v2/genai/models/api_keys/{api_key_uuid}/regenerate",
231
+ options=make_request_options(
232
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
233
+ ),
234
+ cast_to=APIKeyUpdateRegenerateResponse,
235
+ )
236
+
237
+
238
+ class AsyncAPIKeysResource(AsyncAPIResource):
239
+ @cached_property
240
+ def with_raw_response(self) -> AsyncAPIKeysResourceWithRawResponse:
241
+ """
242
+ This property can be used as a prefix for any HTTP method call to return
243
+ the raw response object instead of the parsed content.
244
+
245
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
246
+ """
247
+ return AsyncAPIKeysResourceWithRawResponse(self)
248
+
249
+ @cached_property
250
+ def with_streaming_response(self) -> AsyncAPIKeysResourceWithStreamingResponse:
251
+ """
252
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
253
+
254
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
255
+ """
256
+ return AsyncAPIKeysResourceWithStreamingResponse(self)
257
+
258
+ async def create(
259
+ self,
260
+ *,
261
+ name: str | NotGiven = NOT_GIVEN,
262
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
263
+ # The extra values given here take precedence over values defined on the client or passed to this method.
264
+ extra_headers: Headers | None = None,
265
+ extra_query: Query | None = None,
266
+ extra_body: Body | None = None,
267
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
268
+ ) -> APIKeyCreateResponse:
269
+ """
270
+ To create a model API key, send a POST request to `/v2/gen-ai/models/api_keys`.
271
+
272
+ Args:
273
+ extra_headers: Send extra headers
274
+
275
+ extra_query: Add additional query parameters to the request
276
+
277
+ extra_body: Add additional JSON properties to the request
278
+
279
+ timeout: Override the client-level default timeout for this request, in seconds
280
+ """
281
+ return await self._post(
282
+ "/v2/genai/models/api_keys",
283
+ body=await async_maybe_transform({"name": name}, api_key_create_params.APIKeyCreateParams),
284
+ options=make_request_options(
285
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
286
+ ),
287
+ cast_to=APIKeyCreateResponse,
288
+ )
289
+
290
+ async def update(
291
+ self,
292
+ path_api_key_uuid: str,
293
+ *,
294
+ body_api_key_uuid: str | NotGiven = NOT_GIVEN,
295
+ name: str | NotGiven = NOT_GIVEN,
296
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
297
+ # The extra values given here take precedence over values defined on the client or passed to this method.
298
+ extra_headers: Headers | None = None,
299
+ extra_query: Query | None = None,
300
+ extra_body: Body | None = None,
301
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
302
+ ) -> APIKeyUpdateResponse:
303
+ """
304
+ To update a model API key, send a PUT request to
305
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}`.
306
+
307
+ Args:
308
+ extra_headers: Send extra headers
309
+
310
+ extra_query: Add additional query parameters to the request
311
+
312
+ extra_body: Add additional JSON properties to the request
313
+
314
+ timeout: Override the client-level default timeout for this request, in seconds
315
+ """
316
+ if not path_api_key_uuid:
317
+ raise ValueError(f"Expected a non-empty value for `path_api_key_uuid` but received {path_api_key_uuid!r}")
318
+ return await self._put(
319
+ f"/v2/genai/models/api_keys/{path_api_key_uuid}",
320
+ body=await async_maybe_transform(
321
+ {
322
+ "body_api_key_uuid": body_api_key_uuid,
323
+ "name": name,
324
+ },
325
+ api_key_update_params.APIKeyUpdateParams,
326
+ ),
327
+ options=make_request_options(
328
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
329
+ ),
330
+ cast_to=APIKeyUpdateResponse,
331
+ )
332
+
333
+ async def list(
334
+ self,
335
+ *,
336
+ page: int | NotGiven = NOT_GIVEN,
337
+ per_page: int | NotGiven = NOT_GIVEN,
338
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
339
+ # The extra values given here take precedence over values defined on the client or passed to this method.
340
+ extra_headers: Headers | None = None,
341
+ extra_query: Query | None = None,
342
+ extra_body: Body | None = None,
343
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
344
+ ) -> APIKeyListResponse:
345
+ """
346
+ To list all model API keys, send a GET request to `/v2/gen-ai/models/api_keys`.
347
+
348
+ Args:
349
+ page: page number.
350
+
351
+ per_page: items per page.
352
+
353
+ extra_headers: Send extra headers
354
+
355
+ extra_query: Add additional query parameters to the request
356
+
357
+ extra_body: Add additional JSON properties to the request
358
+
359
+ timeout: Override the client-level default timeout for this request, in seconds
360
+ """
361
+ return await self._get(
362
+ "/v2/genai/models/api_keys",
363
+ options=make_request_options(
364
+ extra_headers=extra_headers,
365
+ extra_query=extra_query,
366
+ extra_body=extra_body,
367
+ timeout=timeout,
368
+ query=await async_maybe_transform(
369
+ {
370
+ "page": page,
371
+ "per_page": per_page,
372
+ },
373
+ api_key_list_params.APIKeyListParams,
374
+ ),
375
+ ),
376
+ cast_to=APIKeyListResponse,
377
+ )
378
+
379
+ async def delete(
380
+ self,
381
+ api_key_uuid: str,
382
+ *,
383
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
384
+ # The extra values given here take precedence over values defined on the client or passed to this method.
385
+ extra_headers: Headers | None = None,
386
+ extra_query: Query | None = None,
387
+ extra_body: Body | None = None,
388
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
389
+ ) -> APIKeyDeleteResponse:
390
+ """
391
+ To delete an API key for a model, send a DELETE request to
392
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}`.
393
+
394
+ Args:
395
+ extra_headers: Send extra headers
396
+
397
+ extra_query: Add additional query parameters to the request
398
+
399
+ extra_body: Add additional JSON properties to the request
400
+
401
+ timeout: Override the client-level default timeout for this request, in seconds
402
+ """
403
+ if not api_key_uuid:
404
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
405
+ return await self._delete(
406
+ f"/v2/genai/models/api_keys/{api_key_uuid}",
407
+ options=make_request_options(
408
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
409
+ ),
410
+ cast_to=APIKeyDeleteResponse,
411
+ )
412
+
413
+ async def update_regenerate(
414
+ self,
415
+ api_key_uuid: str,
416
+ *,
417
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
418
+ # The extra values given here take precedence over values defined on the client or passed to this method.
419
+ extra_headers: Headers | None = None,
420
+ extra_query: Query | None = None,
421
+ extra_body: Body | None = None,
422
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
423
+ ) -> APIKeyUpdateRegenerateResponse:
424
+ """
425
+ To regenerate a model API key, send a PUT request to
426
+ `/v2/gen-ai/models/api_keys/{api_key_uuid}/regenerate`.
427
+
428
+ Args:
429
+ extra_headers: Send extra headers
430
+
431
+ extra_query: Add additional query parameters to the request
432
+
433
+ extra_body: Add additional JSON properties to the request
434
+
435
+ timeout: Override the client-level default timeout for this request, in seconds
436
+ """
437
+ if not api_key_uuid:
438
+ raise ValueError(f"Expected a non-empty value for `api_key_uuid` but received {api_key_uuid!r}")
439
+ return await self._put(
440
+ f"/v2/genai/models/api_keys/{api_key_uuid}/regenerate",
441
+ options=make_request_options(
442
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
443
+ ),
444
+ cast_to=APIKeyUpdateRegenerateResponse,
445
+ )
446
+
447
+
448
+ class APIKeysResourceWithRawResponse:
449
+ def __init__(self, api_keys: APIKeysResource) -> None:
450
+ self._api_keys = api_keys
451
+
452
+ self.create = to_raw_response_wrapper(
453
+ api_keys.create,
454
+ )
455
+ self.update = to_raw_response_wrapper(
456
+ api_keys.update,
457
+ )
458
+ self.list = to_raw_response_wrapper(
459
+ api_keys.list,
460
+ )
461
+ self.delete = to_raw_response_wrapper(
462
+ api_keys.delete,
463
+ )
464
+ self.update_regenerate = to_raw_response_wrapper(
465
+ api_keys.update_regenerate,
466
+ )
467
+
468
+
469
+ class AsyncAPIKeysResourceWithRawResponse:
470
+ def __init__(self, api_keys: AsyncAPIKeysResource) -> None:
471
+ self._api_keys = api_keys
472
+
473
+ self.create = async_to_raw_response_wrapper(
474
+ api_keys.create,
475
+ )
476
+ self.update = async_to_raw_response_wrapper(
477
+ api_keys.update,
478
+ )
479
+ self.list = async_to_raw_response_wrapper(
480
+ api_keys.list,
481
+ )
482
+ self.delete = async_to_raw_response_wrapper(
483
+ api_keys.delete,
484
+ )
485
+ self.update_regenerate = async_to_raw_response_wrapper(
486
+ api_keys.update_regenerate,
487
+ )
488
+
489
+
490
+ class APIKeysResourceWithStreamingResponse:
491
+ def __init__(self, api_keys: APIKeysResource) -> None:
492
+ self._api_keys = api_keys
493
+
494
+ self.create = to_streamed_response_wrapper(
495
+ api_keys.create,
496
+ )
497
+ self.update = to_streamed_response_wrapper(
498
+ api_keys.update,
499
+ )
500
+ self.list = to_streamed_response_wrapper(
501
+ api_keys.list,
502
+ )
503
+ self.delete = to_streamed_response_wrapper(
504
+ api_keys.delete,
505
+ )
506
+ self.update_regenerate = to_streamed_response_wrapper(
507
+ api_keys.update_regenerate,
508
+ )
509
+
510
+
511
+ class AsyncAPIKeysResourceWithStreamingResponse:
512
+ def __init__(self, api_keys: AsyncAPIKeysResource) -> None:
513
+ self._api_keys = api_keys
514
+
515
+ self.create = async_to_streamed_response_wrapper(
516
+ api_keys.create,
517
+ )
518
+ self.update = async_to_streamed_response_wrapper(
519
+ api_keys.update,
520
+ )
521
+ self.list = async_to_streamed_response_wrapper(
522
+ api_keys.list,
523
+ )
524
+ self.delete = async_to_streamed_response_wrapper(
525
+ api_keys.delete,
526
+ )
527
+ self.update_regenerate = async_to_streamed_response_wrapper(
528
+ api_keys.update_regenerate,
529
+ )
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .auth import (
4
+ AuthResource,
5
+ AsyncAuthResource,
6
+ AuthResourceWithRawResponse,
7
+ AsyncAuthResourceWithRawResponse,
8
+ AuthResourceWithStreamingResponse,
9
+ AsyncAuthResourceWithStreamingResponse,
10
+ )
11
+ from .agents import (
12
+ AgentsResource,
13
+ AsyncAgentsResource,
14
+ AgentsResourceWithRawResponse,
15
+ AsyncAgentsResourceWithRawResponse,
16
+ AgentsResourceWithStreamingResponse,
17
+ AsyncAgentsResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "AgentsResource",
22
+ "AsyncAgentsResource",
23
+ "AgentsResourceWithRawResponse",
24
+ "AsyncAgentsResourceWithRawResponse",
25
+ "AgentsResourceWithStreamingResponse",
26
+ "AsyncAgentsResourceWithStreamingResponse",
27
+ "AuthResource",
28
+ "AsyncAuthResource",
29
+ "AuthResourceWithRawResponse",
30
+ "AsyncAuthResourceWithRawResponse",
31
+ "AuthResourceWithStreamingResponse",
32
+ "AsyncAuthResourceWithStreamingResponse",
33
+ ]
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .token import (
4
+ TokenResource,
5
+ AsyncTokenResource,
6
+ TokenResourceWithRawResponse,
7
+ AsyncTokenResourceWithRawResponse,
8
+ TokenResourceWithStreamingResponse,
9
+ AsyncTokenResourceWithStreamingResponse,
10
+ )
11
+ from .agents import (
12
+ AgentsResource,
13
+ AsyncAgentsResource,
14
+ AgentsResourceWithRawResponse,
15
+ AsyncAgentsResourceWithRawResponse,
16
+ AgentsResourceWithStreamingResponse,
17
+ AsyncAgentsResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "TokenResource",
22
+ "AsyncTokenResource",
23
+ "TokenResourceWithRawResponse",
24
+ "AsyncTokenResourceWithRawResponse",
25
+ "TokenResourceWithStreamingResponse",
26
+ "AsyncTokenResourceWithStreamingResponse",
27
+ "AgentsResource",
28
+ "AsyncAgentsResource",
29
+ "AgentsResourceWithRawResponse",
30
+ "AsyncAgentsResourceWithRawResponse",
31
+ "AgentsResourceWithStreamingResponse",
32
+ "AsyncAgentsResourceWithStreamingResponse",
33
+ ]
@@ -0,0 +1,102 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ from .token import (
6
+ TokenResource,
7
+ AsyncTokenResource,
8
+ TokenResourceWithRawResponse,
9
+ AsyncTokenResourceWithRawResponse,
10
+ TokenResourceWithStreamingResponse,
11
+ AsyncTokenResourceWithStreamingResponse,
12
+ )
13
+ from ...._compat import cached_property
14
+ from ...._resource import SyncAPIResource, AsyncAPIResource
15
+
16
+ __all__ = ["AgentsResource", "AsyncAgentsResource"]
17
+
18
+
19
+ class AgentsResource(SyncAPIResource):
20
+ @cached_property
21
+ def token(self) -> TokenResource:
22
+ return TokenResource(self._client)
23
+
24
+ @cached_property
25
+ def with_raw_response(self) -> AgentsResourceWithRawResponse:
26
+ """
27
+ This property can be used as a prefix for any HTTP method call to return
28
+ the raw response object instead of the parsed content.
29
+
30
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
31
+ """
32
+ return AgentsResourceWithRawResponse(self)
33
+
34
+ @cached_property
35
+ def with_streaming_response(self) -> AgentsResourceWithStreamingResponse:
36
+ """
37
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
38
+
39
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
40
+ """
41
+ return AgentsResourceWithStreamingResponse(self)
42
+
43
+
44
+ class AsyncAgentsResource(AsyncAPIResource):
45
+ @cached_property
46
+ def token(self) -> AsyncTokenResource:
47
+ return AsyncTokenResource(self._client)
48
+
49
+ @cached_property
50
+ def with_raw_response(self) -> AsyncAgentsResourceWithRawResponse:
51
+ """
52
+ This property can be used as a prefix for any HTTP method call to return
53
+ the raw response object instead of the parsed content.
54
+
55
+ For more information, see https://www.github.com/digitalocean/genai-python#accessing-raw-response-data-eg-headers
56
+ """
57
+ return AsyncAgentsResourceWithRawResponse(self)
58
+
59
+ @cached_property
60
+ def with_streaming_response(self) -> AsyncAgentsResourceWithStreamingResponse:
61
+ """
62
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
63
+
64
+ For more information, see https://www.github.com/digitalocean/genai-python#with_streaming_response
65
+ """
66
+ return AsyncAgentsResourceWithStreamingResponse(self)
67
+
68
+
69
+ class AgentsResourceWithRawResponse:
70
+ def __init__(self, agents: AgentsResource) -> None:
71
+ self._agents = agents
72
+
73
+ @cached_property
74
+ def token(self) -> TokenResourceWithRawResponse:
75
+ return TokenResourceWithRawResponse(self._agents.token)
76
+
77
+
78
+ class AsyncAgentsResourceWithRawResponse:
79
+ def __init__(self, agents: AsyncAgentsResource) -> None:
80
+ self._agents = agents
81
+
82
+ @cached_property
83
+ def token(self) -> AsyncTokenResourceWithRawResponse:
84
+ return AsyncTokenResourceWithRawResponse(self._agents.token)
85
+
86
+
87
+ class AgentsResourceWithStreamingResponse:
88
+ def __init__(self, agents: AgentsResource) -> None:
89
+ self._agents = agents
90
+
91
+ @cached_property
92
+ def token(self) -> TokenResourceWithStreamingResponse:
93
+ return TokenResourceWithStreamingResponse(self._agents.token)
94
+
95
+
96
+ class AsyncAgentsResourceWithStreamingResponse:
97
+ def __init__(self, agents: AsyncAgentsResource) -> None:
98
+ self._agents = agents
99
+
100
+ @cached_property
101
+ def token(self) -> AsyncTokenResourceWithStreamingResponse:
102
+ return AsyncTokenResourceWithStreamingResponse(self._agents.token)