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