arbi 0.18.0__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 (165) hide show
  1. arbi/__init__.py +92 -0
  2. arbi/_base_client.py +2124 -0
  3. arbi/_client.py +442 -0
  4. arbi/_compat.py +219 -0
  5. arbi/_constants.py +14 -0
  6. arbi/_exceptions.py +108 -0
  7. arbi/_files.py +123 -0
  8. arbi/_models.py +872 -0
  9. arbi/_qs.py +150 -0
  10. arbi/_resource.py +43 -0
  11. arbi/_response.py +830 -0
  12. arbi/_streaming.py +333 -0
  13. arbi/_types.py +270 -0
  14. arbi/_utils/__init__.py +64 -0
  15. arbi/_utils/_compat.py +45 -0
  16. arbi/_utils/_datetime_parse.py +136 -0
  17. arbi/_utils/_logs.py +25 -0
  18. arbi/_utils/_proxy.py +65 -0
  19. arbi/_utils/_reflection.py +42 -0
  20. arbi/_utils/_resources_proxy.py +24 -0
  21. arbi/_utils/_streams.py +12 -0
  22. arbi/_utils/_sync.py +58 -0
  23. arbi/_utils/_transform.py +457 -0
  24. arbi/_utils/_typing.py +156 -0
  25. arbi/_utils/_utils.py +421 -0
  26. arbi/_version.py +4 -0
  27. arbi/lib/.keep +4 -0
  28. arbi/py.typed +0 -0
  29. arbi/resources/__init__.py +19 -0
  30. arbi/resources/api/__init__.py +145 -0
  31. arbi/resources/api/api.py +422 -0
  32. arbi/resources/api/assistant.py +312 -0
  33. arbi/resources/api/configs.py +533 -0
  34. arbi/resources/api/conversation/__init__.py +33 -0
  35. arbi/resources/api/conversation/conversation.py +648 -0
  36. arbi/resources/api/conversation/user.py +270 -0
  37. arbi/resources/api/document/__init__.py +33 -0
  38. arbi/resources/api/document/doctag.py +516 -0
  39. arbi/resources/api/document/document.py +929 -0
  40. arbi/resources/api/health.py +253 -0
  41. arbi/resources/api/notifications.py +478 -0
  42. arbi/resources/api/tag.py +409 -0
  43. arbi/resources/api/user/__init__.py +61 -0
  44. arbi/resources/api/user/contacts.py +322 -0
  45. arbi/resources/api/user/settings.py +283 -0
  46. arbi/resources/api/user/subscription.py +230 -0
  47. arbi/resources/api/user/user.py +943 -0
  48. arbi/resources/api/workspace.py +1198 -0
  49. arbi/types/__init__.py +8 -0
  50. arbi/types/api/__init__.py +94 -0
  51. arbi/types/api/assistant_query_params.py +95 -0
  52. arbi/types/api/assistant_retrieve_params.py +95 -0
  53. arbi/types/api/chunker_config_param.py +9 -0
  54. arbi/types/api/config_create_params.py +227 -0
  55. arbi/types/api/config_create_response.py +17 -0
  56. arbi/types/api/config_delete_response.py +11 -0
  57. arbi/types/api/config_get_versions_response.py +19 -0
  58. arbi/types/api/config_retrieve_response.py +234 -0
  59. arbi/types/api/conversation/__init__.py +8 -0
  60. arbi/types/api/conversation/user_add_params.py +11 -0
  61. arbi/types/api/conversation/user_add_response.py +11 -0
  62. arbi/types/api/conversation/user_remove_params.py +11 -0
  63. arbi/types/api/conversation/user_remove_response.py +11 -0
  64. arbi/types/api/conversation_delete_message_response.py +11 -0
  65. arbi/types/api/conversation_delete_response.py +11 -0
  66. arbi/types/api/conversation_retrieve_message_response.py +105 -0
  67. arbi/types/api/conversation_retrieve_threads_response.py +124 -0
  68. arbi/types/api/conversation_share_response.py +11 -0
  69. arbi/types/api/conversation_update_title_params.py +16 -0
  70. arbi/types/api/conversation_update_title_response.py +13 -0
  71. arbi/types/api/doc_response.py +66 -0
  72. arbi/types/api/document/__init__.py +11 -0
  73. arbi/types/api/document/doc_tag_response.py +40 -0
  74. arbi/types/api/document/doctag_create_params.py +35 -0
  75. arbi/types/api/document/doctag_create_response.py +10 -0
  76. arbi/types/api/document/doctag_delete_params.py +15 -0
  77. arbi/types/api/document/doctag_generate_params.py +22 -0
  78. arbi/types/api/document/doctag_generate_response.py +20 -0
  79. arbi/types/api/document/doctag_update_params.py +35 -0
  80. arbi/types/api/document_date_extractor_llm_config.py +29 -0
  81. arbi/types/api/document_date_extractor_llm_config_param.py +28 -0
  82. arbi/types/api/document_delete_params.py +13 -0
  83. arbi/types/api/document_get_parsed_response.py +26 -0
  84. arbi/types/api/document_retrieve_params.py +16 -0
  85. arbi/types/api/document_retrieve_response.py +10 -0
  86. arbi/types/api/document_update_params.py +42 -0
  87. arbi/types/api/document_update_response.py +10 -0
  88. arbi/types/api/document_upload_from_url_params.py +26 -0
  89. arbi/types/api/document_upload_from_url_response.py +16 -0
  90. arbi/types/api/document_upload_params.py +26 -0
  91. arbi/types/api/document_upload_response.py +16 -0
  92. arbi/types/api/embedder_config.py +30 -0
  93. arbi/types/api/embedder_config_param.py +29 -0
  94. arbi/types/api/health_check_models_response.py +21 -0
  95. arbi/types/api/health_get_models_response.py +19 -0
  96. arbi/types/api/health_retrieve_status_response.py +49 -0
  97. arbi/types/api/model_citation_config.py +20 -0
  98. arbi/types/api/model_citation_config_param.py +20 -0
  99. arbi/types/api/notification_create_params.py +20 -0
  100. arbi/types/api/notification_create_response.py +47 -0
  101. arbi/types/api/notification_delete_params.py +13 -0
  102. arbi/types/api/notification_get_schemas_response.py +197 -0
  103. arbi/types/api/notification_list_response.py +47 -0
  104. arbi/types/api/notification_update_params.py +27 -0
  105. arbi/types/api/notification_update_response.py +47 -0
  106. arbi/types/api/parser_config_param.py +9 -0
  107. arbi/types/api/query_llm_config.py +30 -0
  108. arbi/types/api/query_llm_config_param.py +29 -0
  109. arbi/types/api/reranker_config.py +21 -0
  110. arbi/types/api/reranker_config_param.py +20 -0
  111. arbi/types/api/retriever_config.py +39 -0
  112. arbi/types/api/retriever_config_param.py +38 -0
  113. arbi/types/api/tag_create_params.py +49 -0
  114. arbi/types/api/tag_create_response.py +57 -0
  115. arbi/types/api/tag_delete_response.py +9 -0
  116. arbi/types/api/tag_update_params.py +22 -0
  117. arbi/types/api/tag_update_response.py +57 -0
  118. arbi/types/api/title_llm_config.py +29 -0
  119. arbi/types/api/title_llm_config_param.py +28 -0
  120. arbi/types/api/user/__init__.py +13 -0
  121. arbi/types/api/user/contact_create_params.py +13 -0
  122. arbi/types/api/user/contact_create_response.py +30 -0
  123. arbi/types/api/user/contact_delete_params.py +13 -0
  124. arbi/types/api/user/contact_list_response.py +30 -0
  125. arbi/types/api/user/setting_retrieve_response.py +89 -0
  126. arbi/types/api/user/setting_update_params.py +60 -0
  127. arbi/types/api/user/subscription_create_params.py +13 -0
  128. arbi/types/api/user/subscription_create_response.py +11 -0
  129. arbi/types/api/user/subscription_retrieve_response.py +48 -0
  130. arbi/types/api/user_change_password_params.py +18 -0
  131. arbi/types/api/user_change_password_response.py +11 -0
  132. arbi/types/api/user_check_sso_status_params.py +20 -0
  133. arbi/types/api/user_check_sso_status_response.py +25 -0
  134. arbi/types/api/user_list_products_response.py +37 -0
  135. arbi/types/api/user_list_workspaces_response.py +10 -0
  136. arbi/types/api/user_login_params.py +18 -0
  137. arbi/types/api/user_login_response.py +23 -0
  138. arbi/types/api/user_logout_response.py +9 -0
  139. arbi/types/api/user_register_params.py +22 -0
  140. arbi/types/api/user_response.py +26 -0
  141. arbi/types/api/user_verify_email_params.py +11 -0
  142. arbi/types/api/user_verify_email_response.py +9 -0
  143. arbi/types/api/workspace_copy_params.py +21 -0
  144. arbi/types/api/workspace_copy_response.py +25 -0
  145. arbi/types/api/workspace_create_protected_params.py +16 -0
  146. arbi/types/api/workspace_delete_response.py +9 -0
  147. arbi/types/api/workspace_get_conversations_response.py +30 -0
  148. arbi/types/api/workspace_get_documents_response.py +10 -0
  149. arbi/types/api/workspace_get_stats_response.py +17 -0
  150. arbi/types/api/workspace_get_tags_response.py +60 -0
  151. arbi/types/api/workspace_get_users_response.py +10 -0
  152. arbi/types/api/workspace_remove_user_params.py +11 -0
  153. arbi/types/api/workspace_remove_user_response.py +11 -0
  154. arbi/types/api/workspace_response.py +41 -0
  155. arbi/types/api/workspace_share_params.py +15 -0
  156. arbi/types/api/workspace_share_response.py +13 -0
  157. arbi/types/api/workspace_update_params.py +20 -0
  158. arbi/types/chunk.py +12 -0
  159. arbi/types/chunk_metadata.py +31 -0
  160. arbi/types/chunk_metadata_param.py +32 -0
  161. arbi/types/chunk_param.py +15 -0
  162. arbi-0.18.0.dist-info/METADATA +410 -0
  163. arbi-0.18.0.dist-info/RECORD +165 -0
  164. arbi-0.18.0.dist-info/WHEEL +4 -0
  165. arbi-0.18.0.dist-info/licenses/LICENSE +201 -0
@@ -0,0 +1,533 @@
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 Any, Optional, cast
6
+
7
+ import httpx
8
+
9
+ from ..._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
10
+ from ..._utils import maybe_transform, async_maybe_transform
11
+ from ..._compat import cached_property
12
+ from ..._resource import SyncAPIResource, AsyncAPIResource
13
+ from ..._response import (
14
+ to_raw_response_wrapper,
15
+ to_streamed_response_wrapper,
16
+ async_to_raw_response_wrapper,
17
+ async_to_streamed_response_wrapper,
18
+ )
19
+ from ...types.api import (
20
+ config_create_params,
21
+ )
22
+ from ..._base_client import make_request_options
23
+ from ...types.api.parser_config_param import ParserConfigParam
24
+ from ...types.api.chunker_config_param import ChunkerConfigParam
25
+ from ...types.api.embedder_config_param import EmbedderConfigParam
26
+ from ...types.api.reranker_config_param import RerankerConfigParam
27
+ from ...types.api.config_create_response import ConfigCreateResponse
28
+ from ...types.api.config_delete_response import ConfigDeleteResponse
29
+ from ...types.api.query_llm_config_param import QueryLlmConfigParam
30
+ from ...types.api.retriever_config_param import RetrieverConfigParam
31
+ from ...types.api.title_llm_config_param import TitleLlmConfigParam
32
+ from ...types.api.config_retrieve_response import ConfigRetrieveResponse
33
+ from ...types.api.model_citation_config_param import ModelCitationConfigParam
34
+ from ...types.api.config_get_versions_response import ConfigGetVersionsResponse
35
+ from ...types.api.document_date_extractor_llm_config_param import DocumentDateExtractorLlmConfigParam
36
+
37
+ __all__ = ["ConfigsResource", "AsyncConfigsResource"]
38
+
39
+
40
+ class ConfigsResource(SyncAPIResource):
41
+ @cached_property
42
+ def with_raw_response(self) -> ConfigsResourceWithRawResponse:
43
+ """
44
+ This property can be used as a prefix for any HTTP method call to return
45
+ the raw response object instead of the parsed content.
46
+
47
+ For more information, see https://www.github.com/arbitrationcity/arbi-python#accessing-raw-response-data-eg-headers
48
+ """
49
+ return ConfigsResourceWithRawResponse(self)
50
+
51
+ @cached_property
52
+ def with_streaming_response(self) -> ConfigsResourceWithStreamingResponse:
53
+ """
54
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
55
+
56
+ For more information, see https://www.github.com/arbitrationcity/arbi-python#with_streaming_response
57
+ """
58
+ return ConfigsResourceWithStreamingResponse(self)
59
+
60
+ def create(
61
+ self,
62
+ *,
63
+ agent_llm: Optional[config_create_params.AgentLlm] | Omit = omit,
64
+ agents: Optional[config_create_params.Agents] | Omit = omit,
65
+ chunker: Optional[ChunkerConfigParam] | Omit = omit,
66
+ doctag_llm: Optional[config_create_params.DoctagLlm] | Omit = omit,
67
+ document_date_extractor_llm: Optional[DocumentDateExtractorLlmConfigParam] | Omit = omit,
68
+ document_summary_extractor_llm: Optional[config_create_params.DocumentSummaryExtractorLlm] | Omit = omit,
69
+ embedder: Optional[EmbedderConfigParam] | Omit = omit,
70
+ evaluator_llm: Optional[config_create_params.EvaluatorLlm] | Omit = omit,
71
+ keyword_embedder: Optional[config_create_params.KeywordEmbedder] | Omit = omit,
72
+ model_citation: Optional[ModelCitationConfigParam] | Omit = omit,
73
+ parent_message_ext_id: Optional[str] | Omit = omit,
74
+ parser: Optional[ParserConfigParam] | Omit = omit,
75
+ query_llm: Optional[QueryLlmConfigParam] | Omit = omit,
76
+ reranker: Optional[RerankerConfigParam] | Omit = omit,
77
+ retriever: Optional[RetrieverConfigParam] | Omit = omit,
78
+ title: str | Omit = omit,
79
+ title_llm: Optional[TitleLlmConfigParam] | Omit = omit,
80
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
81
+ # The extra values given here take precedence over values defined on the client or passed to this method.
82
+ extra_headers: Headers | None = None,
83
+ extra_query: Query | None = None,
84
+ extra_body: Body | None = None,
85
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
86
+ ) -> ConfigCreateResponse:
87
+ """
88
+ Save a new configuration.
89
+
90
+ Args:
91
+ doctag_llm: Configuration for DoctagLLM - extracts information from documents based on tag
92
+ instructions.
93
+
94
+ keyword_embedder: Configuration for keyword embedder with BM25 scoring.
95
+
96
+ extra_headers: Send extra headers
97
+
98
+ extra_query: Add additional query parameters to the request
99
+
100
+ extra_body: Add additional JSON properties to the request
101
+
102
+ timeout: Override the client-level default timeout for this request, in seconds
103
+ """
104
+ return self._post(
105
+ "/api/configs/",
106
+ body=maybe_transform(
107
+ {
108
+ "agent_llm": agent_llm,
109
+ "agents": agents,
110
+ "chunker": chunker,
111
+ "doctag_llm": doctag_llm,
112
+ "document_date_extractor_llm": document_date_extractor_llm,
113
+ "document_summary_extractor_llm": document_summary_extractor_llm,
114
+ "embedder": embedder,
115
+ "evaluator_llm": evaluator_llm,
116
+ "keyword_embedder": keyword_embedder,
117
+ "model_citation": model_citation,
118
+ "parent_message_ext_id": parent_message_ext_id,
119
+ "parser": parser,
120
+ "query_llm": query_llm,
121
+ "reranker": reranker,
122
+ "retriever": retriever,
123
+ "title": title,
124
+ "title_llm": title_llm,
125
+ },
126
+ config_create_params.ConfigCreateParams,
127
+ ),
128
+ options=make_request_options(
129
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
130
+ ),
131
+ cast_to=ConfigCreateResponse,
132
+ )
133
+
134
+ def retrieve(
135
+ self,
136
+ config_ext_id: str,
137
+ *,
138
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
139
+ # The extra values given here take precedence over values defined on the client or passed to this method.
140
+ extra_headers: Headers | None = None,
141
+ extra_query: Query | None = None,
142
+ extra_body: Body | None = None,
143
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
144
+ ) -> ConfigRetrieveResponse:
145
+ """
146
+ Read configurations from database to be displayed in the UI
147
+
148
+ Args:
149
+ config_ext_id: Config name: 'cfg-XXXXXXXX' or 'default' for system default
150
+
151
+ extra_headers: Send extra headers
152
+
153
+ extra_query: Add additional query parameters to the request
154
+
155
+ extra_body: Add additional JSON properties to the request
156
+
157
+ timeout: Override the client-level default timeout for this request, in seconds
158
+ """
159
+ if not config_ext_id:
160
+ raise ValueError(f"Expected a non-empty value for `config_ext_id` but received {config_ext_id!r}")
161
+ return cast(
162
+ ConfigRetrieveResponse,
163
+ self._get(
164
+ f"/api/configs/{config_ext_id}",
165
+ options=make_request_options(
166
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
167
+ ),
168
+ cast_to=cast(
169
+ Any, ConfigRetrieveResponse
170
+ ), # Union types cannot be passed in as arguments in the type system
171
+ ),
172
+ )
173
+
174
+ def delete(
175
+ self,
176
+ config_ext_id: str,
177
+ *,
178
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
179
+ # The extra values given here take precedence over values defined on the client or passed to this method.
180
+ extra_headers: Headers | None = None,
181
+ extra_query: Query | None = None,
182
+ extra_body: Body | None = None,
183
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
184
+ ) -> ConfigDeleteResponse:
185
+ """
186
+ Delete a specific configuration from database
187
+
188
+ Args:
189
+ extra_headers: Send extra headers
190
+
191
+ extra_query: Add additional query parameters to the request
192
+
193
+ extra_body: Add additional JSON properties to the request
194
+
195
+ timeout: Override the client-level default timeout for this request, in seconds
196
+ """
197
+ if not config_ext_id:
198
+ raise ValueError(f"Expected a non-empty value for `config_ext_id` but received {config_ext_id!r}")
199
+ return self._delete(
200
+ f"/api/configs/{config_ext_id}",
201
+ options=make_request_options(
202
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
203
+ ),
204
+ cast_to=ConfigDeleteResponse,
205
+ )
206
+
207
+ def get_schema(
208
+ self,
209
+ *,
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
+ ) -> object:
217
+ """Return the JSON schema for all config models"""
218
+ return self._get(
219
+ "/api/configs/schema",
220
+ options=make_request_options(
221
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
222
+ ),
223
+ cast_to=object,
224
+ )
225
+
226
+ def get_versions(
227
+ self,
228
+ *,
229
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
230
+ # The extra values given here take precedence over values defined on the client or passed to this method.
231
+ extra_headers: Headers | None = None,
232
+ extra_query: Query | None = None,
233
+ extra_body: Body | None = None,
234
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
235
+ ) -> ConfigGetVersionsResponse:
236
+ """Returns a list of available configuration versions for the current user"""
237
+ return self._get(
238
+ "/api/configs/versions",
239
+ options=make_request_options(
240
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
241
+ ),
242
+ cast_to=ConfigGetVersionsResponse,
243
+ )
244
+
245
+
246
+ class AsyncConfigsResource(AsyncAPIResource):
247
+ @cached_property
248
+ def with_raw_response(self) -> AsyncConfigsResourceWithRawResponse:
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/arbitrationcity/arbi-python#accessing-raw-response-data-eg-headers
254
+ """
255
+ return AsyncConfigsResourceWithRawResponse(self)
256
+
257
+ @cached_property
258
+ def with_streaming_response(self) -> AsyncConfigsResourceWithStreamingResponse:
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/arbitrationcity/arbi-python#with_streaming_response
263
+ """
264
+ return AsyncConfigsResourceWithStreamingResponse(self)
265
+
266
+ async def create(
267
+ self,
268
+ *,
269
+ agent_llm: Optional[config_create_params.AgentLlm] | Omit = omit,
270
+ agents: Optional[config_create_params.Agents] | Omit = omit,
271
+ chunker: Optional[ChunkerConfigParam] | Omit = omit,
272
+ doctag_llm: Optional[config_create_params.DoctagLlm] | Omit = omit,
273
+ document_date_extractor_llm: Optional[DocumentDateExtractorLlmConfigParam] | Omit = omit,
274
+ document_summary_extractor_llm: Optional[config_create_params.DocumentSummaryExtractorLlm] | Omit = omit,
275
+ embedder: Optional[EmbedderConfigParam] | Omit = omit,
276
+ evaluator_llm: Optional[config_create_params.EvaluatorLlm] | Omit = omit,
277
+ keyword_embedder: Optional[config_create_params.KeywordEmbedder] | Omit = omit,
278
+ model_citation: Optional[ModelCitationConfigParam] | Omit = omit,
279
+ parent_message_ext_id: Optional[str] | Omit = omit,
280
+ parser: Optional[ParserConfigParam] | Omit = omit,
281
+ query_llm: Optional[QueryLlmConfigParam] | Omit = omit,
282
+ reranker: Optional[RerankerConfigParam] | Omit = omit,
283
+ retriever: Optional[RetrieverConfigParam] | Omit = omit,
284
+ title: str | Omit = omit,
285
+ title_llm: Optional[TitleLlmConfigParam] | Omit = omit,
286
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
287
+ # The extra values given here take precedence over values defined on the client or passed to this method.
288
+ extra_headers: Headers | None = None,
289
+ extra_query: Query | None = None,
290
+ extra_body: Body | None = None,
291
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
292
+ ) -> ConfigCreateResponse:
293
+ """
294
+ Save a new configuration.
295
+
296
+ Args:
297
+ doctag_llm: Configuration for DoctagLLM - extracts information from documents based on tag
298
+ instructions.
299
+
300
+ keyword_embedder: Configuration for keyword embedder with BM25 scoring.
301
+
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
+ return await self._post(
311
+ "/api/configs/",
312
+ body=await async_maybe_transform(
313
+ {
314
+ "agent_llm": agent_llm,
315
+ "agents": agents,
316
+ "chunker": chunker,
317
+ "doctag_llm": doctag_llm,
318
+ "document_date_extractor_llm": document_date_extractor_llm,
319
+ "document_summary_extractor_llm": document_summary_extractor_llm,
320
+ "embedder": embedder,
321
+ "evaluator_llm": evaluator_llm,
322
+ "keyword_embedder": keyword_embedder,
323
+ "model_citation": model_citation,
324
+ "parent_message_ext_id": parent_message_ext_id,
325
+ "parser": parser,
326
+ "query_llm": query_llm,
327
+ "reranker": reranker,
328
+ "retriever": retriever,
329
+ "title": title,
330
+ "title_llm": title_llm,
331
+ },
332
+ config_create_params.ConfigCreateParams,
333
+ ),
334
+ options=make_request_options(
335
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
336
+ ),
337
+ cast_to=ConfigCreateResponse,
338
+ )
339
+
340
+ async def retrieve(
341
+ self,
342
+ config_ext_id: str,
343
+ *,
344
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
345
+ # The extra values given here take precedence over values defined on the client or passed to this method.
346
+ extra_headers: Headers | None = None,
347
+ extra_query: Query | None = None,
348
+ extra_body: Body | None = None,
349
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
350
+ ) -> ConfigRetrieveResponse:
351
+ """
352
+ Read configurations from database to be displayed in the UI
353
+
354
+ Args:
355
+ config_ext_id: Config name: 'cfg-XXXXXXXX' or 'default' for system default
356
+
357
+ extra_headers: Send extra headers
358
+
359
+ extra_query: Add additional query parameters to the request
360
+
361
+ extra_body: Add additional JSON properties to the request
362
+
363
+ timeout: Override the client-level default timeout for this request, in seconds
364
+ """
365
+ if not config_ext_id:
366
+ raise ValueError(f"Expected a non-empty value for `config_ext_id` but received {config_ext_id!r}")
367
+ return cast(
368
+ ConfigRetrieveResponse,
369
+ await self._get(
370
+ f"/api/configs/{config_ext_id}",
371
+ options=make_request_options(
372
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
373
+ ),
374
+ cast_to=cast(
375
+ Any, ConfigRetrieveResponse
376
+ ), # Union types cannot be passed in as arguments in the type system
377
+ ),
378
+ )
379
+
380
+ async def delete(
381
+ self,
382
+ config_ext_id: str,
383
+ *,
384
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
385
+ # The extra values given here take precedence over values defined on the client or passed to this method.
386
+ extra_headers: Headers | None = None,
387
+ extra_query: Query | None = None,
388
+ extra_body: Body | None = None,
389
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
390
+ ) -> ConfigDeleteResponse:
391
+ """
392
+ Delete a specific configuration from database
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 config_ext_id:
404
+ raise ValueError(f"Expected a non-empty value for `config_ext_id` but received {config_ext_id!r}")
405
+ return await self._delete(
406
+ f"/api/configs/{config_ext_id}",
407
+ options=make_request_options(
408
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
409
+ ),
410
+ cast_to=ConfigDeleteResponse,
411
+ )
412
+
413
+ async def get_schema(
414
+ self,
415
+ *,
416
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
417
+ # The extra values given here take precedence over values defined on the client or passed to this method.
418
+ extra_headers: Headers | None = None,
419
+ extra_query: Query | None = None,
420
+ extra_body: Body | None = None,
421
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
422
+ ) -> object:
423
+ """Return the JSON schema for all config models"""
424
+ return await self._get(
425
+ "/api/configs/schema",
426
+ options=make_request_options(
427
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
428
+ ),
429
+ cast_to=object,
430
+ )
431
+
432
+ async def get_versions(
433
+ self,
434
+ *,
435
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
436
+ # The extra values given here take precedence over values defined on the client or passed to this method.
437
+ extra_headers: Headers | None = None,
438
+ extra_query: Query | None = None,
439
+ extra_body: Body | None = None,
440
+ timeout: float | httpx.Timeout | None | NotGiven = not_given,
441
+ ) -> ConfigGetVersionsResponse:
442
+ """Returns a list of available configuration versions for the current user"""
443
+ return await self._get(
444
+ "/api/configs/versions",
445
+ options=make_request_options(
446
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
447
+ ),
448
+ cast_to=ConfigGetVersionsResponse,
449
+ )
450
+
451
+
452
+ class ConfigsResourceWithRawResponse:
453
+ def __init__(self, configs: ConfigsResource) -> None:
454
+ self._configs = configs
455
+
456
+ self.create = to_raw_response_wrapper(
457
+ configs.create,
458
+ )
459
+ self.retrieve = to_raw_response_wrapper(
460
+ configs.retrieve,
461
+ )
462
+ self.delete = to_raw_response_wrapper(
463
+ configs.delete,
464
+ )
465
+ self.get_schema = to_raw_response_wrapper(
466
+ configs.get_schema,
467
+ )
468
+ self.get_versions = to_raw_response_wrapper(
469
+ configs.get_versions,
470
+ )
471
+
472
+
473
+ class AsyncConfigsResourceWithRawResponse:
474
+ def __init__(self, configs: AsyncConfigsResource) -> None:
475
+ self._configs = configs
476
+
477
+ self.create = async_to_raw_response_wrapper(
478
+ configs.create,
479
+ )
480
+ self.retrieve = async_to_raw_response_wrapper(
481
+ configs.retrieve,
482
+ )
483
+ self.delete = async_to_raw_response_wrapper(
484
+ configs.delete,
485
+ )
486
+ self.get_schema = async_to_raw_response_wrapper(
487
+ configs.get_schema,
488
+ )
489
+ self.get_versions = async_to_raw_response_wrapper(
490
+ configs.get_versions,
491
+ )
492
+
493
+
494
+ class ConfigsResourceWithStreamingResponse:
495
+ def __init__(self, configs: ConfigsResource) -> None:
496
+ self._configs = configs
497
+
498
+ self.create = to_streamed_response_wrapper(
499
+ configs.create,
500
+ )
501
+ self.retrieve = to_streamed_response_wrapper(
502
+ configs.retrieve,
503
+ )
504
+ self.delete = to_streamed_response_wrapper(
505
+ configs.delete,
506
+ )
507
+ self.get_schema = to_streamed_response_wrapper(
508
+ configs.get_schema,
509
+ )
510
+ self.get_versions = to_streamed_response_wrapper(
511
+ configs.get_versions,
512
+ )
513
+
514
+
515
+ class AsyncConfigsResourceWithStreamingResponse:
516
+ def __init__(self, configs: AsyncConfigsResource) -> None:
517
+ self._configs = configs
518
+
519
+ self.create = async_to_streamed_response_wrapper(
520
+ configs.create,
521
+ )
522
+ self.retrieve = async_to_streamed_response_wrapper(
523
+ configs.retrieve,
524
+ )
525
+ self.delete = async_to_streamed_response_wrapper(
526
+ configs.delete,
527
+ )
528
+ self.get_schema = async_to_streamed_response_wrapper(
529
+ configs.get_schema,
530
+ )
531
+ self.get_versions = async_to_streamed_response_wrapper(
532
+ configs.get_versions,
533
+ )
@@ -0,0 +1,33 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from .user import (
4
+ UserResource,
5
+ AsyncUserResource,
6
+ UserResourceWithRawResponse,
7
+ AsyncUserResourceWithRawResponse,
8
+ UserResourceWithStreamingResponse,
9
+ AsyncUserResourceWithStreamingResponse,
10
+ )
11
+ from .conversation import (
12
+ ConversationResource,
13
+ AsyncConversationResource,
14
+ ConversationResourceWithRawResponse,
15
+ AsyncConversationResourceWithRawResponse,
16
+ ConversationResourceWithStreamingResponse,
17
+ AsyncConversationResourceWithStreamingResponse,
18
+ )
19
+
20
+ __all__ = [
21
+ "UserResource",
22
+ "AsyncUserResource",
23
+ "UserResourceWithRawResponse",
24
+ "AsyncUserResourceWithRawResponse",
25
+ "UserResourceWithStreamingResponse",
26
+ "AsyncUserResourceWithStreamingResponse",
27
+ "ConversationResource",
28
+ "AsyncConversationResource",
29
+ "ConversationResourceWithRawResponse",
30
+ "AsyncConversationResourceWithRawResponse",
31
+ "ConversationResourceWithStreamingResponse",
32
+ "AsyncConversationResourceWithStreamingResponse",
33
+ ]