simpleapps-com-augur-api 0.8.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- augur_api/__init__.py +43 -0
- augur_api/client.py +453 -0
- augur_api/core/__init__.py +40 -0
- augur_api/core/config.py +75 -0
- augur_api/core/errors.py +173 -0
- augur_api/core/http_client.py +426 -0
- augur_api/core/schemas.py +105 -0
- augur_api/py.typed +0 -0
- augur_api/services/__init__.py +13 -0
- augur_api/services/agr_info/__init__.py +47 -0
- augur_api/services/agr_info/client.py +326 -0
- augur_api/services/agr_info/schemas.py +123 -0
- augur_api/services/agr_site/__init__.py +79 -0
- augur_api/services/agr_site/client.py +384 -0
- augur_api/services/agr_site/schemas.py +268 -0
- augur_api/services/agr_work/__init__.py +7 -0
- augur_api/services/agr_work/client.py +32 -0
- augur_api/services/agr_work/schemas.py +11 -0
- augur_api/services/avalara/__init__.py +17 -0
- augur_api/services/avalara/client.py +64 -0
- augur_api/services/avalara/schemas.py +34 -0
- augur_api/services/base.py +54 -0
- augur_api/services/basecamp2/__init__.py +65 -0
- augur_api/services/basecamp2/client.py +568 -0
- augur_api/services/basecamp2/schemas.py +227 -0
- augur_api/services/brand_folder/__init__.py +31 -0
- augur_api/services/brand_folder/client.py +206 -0
- augur_api/services/brand_folder/schemas.py +133 -0
- augur_api/services/commerce/__init__.py +56 -0
- augur_api/services/commerce/client.py +298 -0
- augur_api/services/commerce/schemas.py +167 -0
- augur_api/services/customers/__init__.py +69 -0
- augur_api/services/customers/client.py +437 -0
- augur_api/services/customers/schemas.py +273 -0
- augur_api/services/gregorovich/__init__.py +31 -0
- augur_api/services/gregorovich/client.py +151 -0
- augur_api/services/gregorovich/schemas.py +42 -0
- augur_api/services/items/__init__.py +302 -0
- augur_api/services/items/client.py +1223 -0
- augur_api/services/items/schemas.py +722 -0
- augur_api/services/joomla/__init__.py +59 -0
- augur_api/services/joomla/client.py +333 -0
- augur_api/services/joomla/schemas.py +286 -0
- augur_api/services/legacy/__init__.py +66 -0
- augur_api/services/legacy/client.py +391 -0
- augur_api/services/legacy/schemas.py +115 -0
- augur_api/services/logistics/__init__.py +34 -0
- augur_api/services/logistics/client.py +116 -0
- augur_api/services/logistics/schemas.py +65 -0
- augur_api/services/nexus/__init__.py +89 -0
- augur_api/services/nexus/client.py +589 -0
- augur_api/services/nexus/schemas.py +171 -0
- augur_api/services/open_search/__init__.py +58 -0
- augur_api/services/open_search/client.py +285 -0
- augur_api/services/open_search/schemas.py +146 -0
- augur_api/services/orders/__init__.py +51 -0
- augur_api/services/orders/client.py +299 -0
- augur_api/services/orders/schemas.py +195 -0
- augur_api/services/p21_apis/__init__.py +83 -0
- augur_api/services/p21_apis/client.py +420 -0
- augur_api/services/p21_apis/schemas.py +130 -0
- augur_api/services/p21_core/__init__.py +29 -0
- augur_api/services/p21_core/client.py +395 -0
- augur_api/services/p21_core/schemas.py +221 -0
- augur_api/services/p21_pim/__init__.py +51 -0
- augur_api/services/p21_pim/client.py +319 -0
- augur_api/services/p21_pim/schemas.py +128 -0
- augur_api/services/p21_sism/__init__.py +60 -0
- augur_api/services/p21_sism/client.py +334 -0
- augur_api/services/p21_sism/schemas.py +92 -0
- augur_api/services/payments/__init__.py +97 -0
- augur_api/services/payments/client.py +508 -0
- augur_api/services/payments/schemas.py +166 -0
- augur_api/services/pricing/__init__.py +43 -0
- augur_api/services/pricing/client.py +175 -0
- augur_api/services/pricing/schemas.py +146 -0
- augur_api/services/resource.py +141 -0
- augur_api/services/shipping/__init__.py +17 -0
- augur_api/services/shipping/client.py +68 -0
- augur_api/services/shipping/schemas.py +38 -0
- augur_api/services/slack/__init__.py +23 -0
- augur_api/services/slack/client.py +74 -0
- augur_api/services/slack/schemas.py +35 -0
- augur_api/services/smarty_streets/__init__.py +19 -0
- augur_api/services/smarty_streets/client.py +82 -0
- augur_api/services/smarty_streets/schemas.py +32 -0
- augur_api/services/ups/__init__.py +17 -0
- augur_api/services/ups/client.py +72 -0
- augur_api/services/ups/schemas.py +41 -0
- augur_api/services/vmi/__init__.py +157 -0
- augur_api/services/vmi/client.py +586 -0
- augur_api/services/vmi/schemas.py +285 -0
- simpleapps_com_augur_api-0.8.10.dist-info/METADATA +177 -0
- simpleapps_com_augur_api-0.8.10.dist-info/RECORD +96 -0
- simpleapps_com_augur_api-0.8.10.dist-info/WHEEL +4 -0
- simpleapps_com_augur_api-0.8.10.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,384 @@
|
|
|
1
|
+
"""AGR Site service client for site content management."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING, Any, List
|
|
6
|
+
|
|
7
|
+
from augur_api.core.schemas import BaseResponse
|
|
8
|
+
from augur_api.services.agr_site.schemas import (
|
|
9
|
+
ContextGetParams,
|
|
10
|
+
ContextResponse,
|
|
11
|
+
FyxerTranscript,
|
|
12
|
+
FyxerTranscriptListParams,
|
|
13
|
+
GeoCodesPostalCodes,
|
|
14
|
+
GeoCodesPostalCodesListParams,
|
|
15
|
+
MetaFilesRobotsResponse,
|
|
16
|
+
NotificationResponse,
|
|
17
|
+
OpenSearchEmbeddingParams,
|
|
18
|
+
OpenSearchEmbeddingResponse,
|
|
19
|
+
Setting,
|
|
20
|
+
SettingListParams,
|
|
21
|
+
TrainingConv,
|
|
22
|
+
TrainingConvListParams,
|
|
23
|
+
TrainingMsg,
|
|
24
|
+
TrainingMsgListParams,
|
|
25
|
+
TrainingSet,
|
|
26
|
+
TrainingSetListParams,
|
|
27
|
+
)
|
|
28
|
+
from augur_api.services.base import BaseServiceClient
|
|
29
|
+
from augur_api.services.resource import BaseResource
|
|
30
|
+
|
|
31
|
+
if TYPE_CHECKING:
|
|
32
|
+
from augur_api.core.http_client import HTTPClient
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
class ContextResource(BaseResource):
|
|
36
|
+
"""Resource for /context endpoints."""
|
|
37
|
+
|
|
38
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
39
|
+
"""Initialize the resource."""
|
|
40
|
+
super().__init__(http, "/context")
|
|
41
|
+
|
|
42
|
+
def get(
|
|
43
|
+
self, site_id: str, params: ContextGetParams | None = None
|
|
44
|
+
) -> BaseResponse[ContextResponse]:
|
|
45
|
+
"""Get context for a site."""
|
|
46
|
+
response = self._get(f"/{site_id}", params=params)
|
|
47
|
+
return BaseResponse[ContextResponse].model_validate(response)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
class SettingsResource(BaseResource):
|
|
51
|
+
"""Resource for /settings endpoints."""
|
|
52
|
+
|
|
53
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
54
|
+
"""Initialize the resource."""
|
|
55
|
+
super().__init__(http, "/settings")
|
|
56
|
+
|
|
57
|
+
def list(self, params: SettingListParams | None = None) -> BaseResponse[List[Setting]]:
|
|
58
|
+
"""List settings."""
|
|
59
|
+
response = self._get(params=params)
|
|
60
|
+
return BaseResponse[List[Setting]].model_validate(response)
|
|
61
|
+
|
|
62
|
+
def get(self, settings_uid: int) -> BaseResponse[Setting]:
|
|
63
|
+
"""Get setting by UID."""
|
|
64
|
+
response = self._get(f"/{settings_uid}")
|
|
65
|
+
return BaseResponse[Setting].model_validate(response)
|
|
66
|
+
|
|
67
|
+
def create(self, data: Any) -> BaseResponse[Setting]:
|
|
68
|
+
"""Create a new setting."""
|
|
69
|
+
response = self._post(data=data)
|
|
70
|
+
return BaseResponse[Setting].model_validate(response)
|
|
71
|
+
|
|
72
|
+
def update(self, settings_uid: int, data: Any) -> BaseResponse[Setting]:
|
|
73
|
+
"""Update a setting."""
|
|
74
|
+
response = self._put(f"/{settings_uid}", data=data)
|
|
75
|
+
return BaseResponse[Setting].model_validate(response)
|
|
76
|
+
|
|
77
|
+
def delete(self, settings_uid: int) -> BaseResponse[bool]:
|
|
78
|
+
"""Delete a setting."""
|
|
79
|
+
response = self._delete(f"/{settings_uid}")
|
|
80
|
+
return BaseResponse[bool].model_validate(response)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
class FyxerTranscriptResource(BaseResource):
|
|
84
|
+
"""Resource for /fyxer-transcript endpoints."""
|
|
85
|
+
|
|
86
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
87
|
+
"""Initialize the resource."""
|
|
88
|
+
super().__init__(http, "/fyxer-transcript")
|
|
89
|
+
|
|
90
|
+
def list(
|
|
91
|
+
self, params: FyxerTranscriptListParams | None = None
|
|
92
|
+
) -> BaseResponse[List[FyxerTranscript]]:
|
|
93
|
+
"""List Fyxer transcripts."""
|
|
94
|
+
response = self._get(params=params)
|
|
95
|
+
return BaseResponse[List[FyxerTranscript]].model_validate(response)
|
|
96
|
+
|
|
97
|
+
def get(self, fyxer_transcript_hdr_uid: int) -> BaseResponse[FyxerTranscript]:
|
|
98
|
+
"""Get Fyxer transcript by UID."""
|
|
99
|
+
response = self._get(f"/{fyxer_transcript_hdr_uid}")
|
|
100
|
+
return BaseResponse[FyxerTranscript].model_validate(response)
|
|
101
|
+
|
|
102
|
+
def create(self, data: Any) -> BaseResponse[FyxerTranscript]:
|
|
103
|
+
"""Create a new Fyxer transcript."""
|
|
104
|
+
response = self._post(data=data)
|
|
105
|
+
return BaseResponse[FyxerTranscript].model_validate(response)
|
|
106
|
+
|
|
107
|
+
def update(self, fyxer_transcript_hdr_uid: int, data: Any) -> BaseResponse[FyxerTranscript]:
|
|
108
|
+
"""Update a Fyxer transcript."""
|
|
109
|
+
response = self._put(f"/{fyxer_transcript_hdr_uid}", data=data)
|
|
110
|
+
return BaseResponse[FyxerTranscript].model_validate(response)
|
|
111
|
+
|
|
112
|
+
def delete(self, fyxer_transcript_hdr_uid: int) -> BaseResponse[bool]:
|
|
113
|
+
"""Delete a Fyxer transcript."""
|
|
114
|
+
response = self._delete(f"/{fyxer_transcript_hdr_uid}")
|
|
115
|
+
return BaseResponse[bool].model_validate(response)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
class TrainingResource(BaseResource):
|
|
119
|
+
"""Resource for /training endpoints."""
|
|
120
|
+
|
|
121
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
122
|
+
"""Initialize the resource."""
|
|
123
|
+
super().__init__(http, "/training")
|
|
124
|
+
|
|
125
|
+
# Training Sets
|
|
126
|
+
def list(self, params: TrainingSetListParams | None = None) -> BaseResponse[List[TrainingSet]]:
|
|
127
|
+
"""List training sets."""
|
|
128
|
+
response = self._get(params=params)
|
|
129
|
+
return BaseResponse[List[TrainingSet]].model_validate(response)
|
|
130
|
+
|
|
131
|
+
def get(self, training_set_uid: int) -> BaseResponse[TrainingSet]:
|
|
132
|
+
"""Get training set by UID."""
|
|
133
|
+
response = self._get(f"/{training_set_uid}")
|
|
134
|
+
return BaseResponse[TrainingSet].model_validate(response)
|
|
135
|
+
|
|
136
|
+
def create(self, data: Any) -> BaseResponse[TrainingSet]:
|
|
137
|
+
"""Create a new training set."""
|
|
138
|
+
response = self._post(data=data)
|
|
139
|
+
return BaseResponse[TrainingSet].model_validate(response)
|
|
140
|
+
|
|
141
|
+
def update(self, training_set_uid: int, data: Any) -> BaseResponse[TrainingSet]:
|
|
142
|
+
"""Update a training set."""
|
|
143
|
+
response = self._put(f"/{training_set_uid}", data=data)
|
|
144
|
+
return BaseResponse[TrainingSet].model_validate(response)
|
|
145
|
+
|
|
146
|
+
def delete(self, training_set_uid: int) -> BaseResponse[bool]:
|
|
147
|
+
"""Delete a training set."""
|
|
148
|
+
response = self._delete(f"/{training_set_uid}")
|
|
149
|
+
return BaseResponse[bool].model_validate(response)
|
|
150
|
+
|
|
151
|
+
# Training Conversations
|
|
152
|
+
def list_conversations(
|
|
153
|
+
self, training_set_uid: int, params: TrainingConvListParams | None = None
|
|
154
|
+
) -> BaseResponse[List[TrainingConv]]:
|
|
155
|
+
"""List training conversations."""
|
|
156
|
+
response = self._get(f"/{training_set_uid}/conversations", params=params)
|
|
157
|
+
return BaseResponse[List[TrainingConv]].model_validate(response)
|
|
158
|
+
|
|
159
|
+
def get_conversation(
|
|
160
|
+
self, training_set_uid: int, training_conv_uid: int
|
|
161
|
+
) -> BaseResponse[TrainingConv]:
|
|
162
|
+
"""Get training conversation."""
|
|
163
|
+
response = self._get(f"/{training_set_uid}/conversations/{training_conv_uid}")
|
|
164
|
+
return BaseResponse[TrainingConv].model_validate(response)
|
|
165
|
+
|
|
166
|
+
def create_conversation(self, training_set_uid: int, data: Any) -> BaseResponse[TrainingConv]:
|
|
167
|
+
"""Create a training conversation."""
|
|
168
|
+
response = self._post(f"/{training_set_uid}/conversations", data=data)
|
|
169
|
+
return BaseResponse[TrainingConv].model_validate(response)
|
|
170
|
+
|
|
171
|
+
def update_conversation(
|
|
172
|
+
self, training_set_uid: int, training_conv_uid: int, data: Any
|
|
173
|
+
) -> BaseResponse[TrainingConv]:
|
|
174
|
+
"""Update a training conversation."""
|
|
175
|
+
response = self._put(f"/{training_set_uid}/conversations/{training_conv_uid}", data=data)
|
|
176
|
+
return BaseResponse[TrainingConv].model_validate(response)
|
|
177
|
+
|
|
178
|
+
def delete_conversation(
|
|
179
|
+
self, training_set_uid: int, training_conv_uid: int
|
|
180
|
+
) -> BaseResponse[bool]:
|
|
181
|
+
"""Delete a training conversation."""
|
|
182
|
+
response = self._delete(f"/{training_set_uid}/conversations/{training_conv_uid}")
|
|
183
|
+
return BaseResponse[bool].model_validate(response)
|
|
184
|
+
|
|
185
|
+
# Training Messages
|
|
186
|
+
def list_messages(
|
|
187
|
+
self,
|
|
188
|
+
training_set_uid: int,
|
|
189
|
+
training_conv_uid: int,
|
|
190
|
+
params: TrainingMsgListParams | None = None,
|
|
191
|
+
) -> BaseResponse[List[TrainingMsg]]:
|
|
192
|
+
"""List training messages."""
|
|
193
|
+
response = self._get(
|
|
194
|
+
f"/{training_set_uid}/conversations/{training_conv_uid}/messages", params=params
|
|
195
|
+
)
|
|
196
|
+
return BaseResponse[List[TrainingMsg]].model_validate(response)
|
|
197
|
+
|
|
198
|
+
def get_message(
|
|
199
|
+
self, training_set_uid: int, training_conv_uid: int, training_msg_uid: int
|
|
200
|
+
) -> BaseResponse[TrainingMsg]:
|
|
201
|
+
"""Get training message."""
|
|
202
|
+
response = self._get(
|
|
203
|
+
f"/{training_set_uid}/conversations/{training_conv_uid}/messages/{training_msg_uid}"
|
|
204
|
+
)
|
|
205
|
+
return BaseResponse[TrainingMsg].model_validate(response)
|
|
206
|
+
|
|
207
|
+
def create_message(
|
|
208
|
+
self, training_set_uid: int, training_conv_uid: int, data: Any
|
|
209
|
+
) -> BaseResponse[TrainingMsg]:
|
|
210
|
+
"""Create a training message."""
|
|
211
|
+
response = self._post(
|
|
212
|
+
f"/{training_set_uid}/conversations/{training_conv_uid}/messages", data=data
|
|
213
|
+
)
|
|
214
|
+
return BaseResponse[TrainingMsg].model_validate(response)
|
|
215
|
+
|
|
216
|
+
def update_message(
|
|
217
|
+
self,
|
|
218
|
+
training_set_uid: int,
|
|
219
|
+
training_conv_uid: int,
|
|
220
|
+
training_msg_uid: int,
|
|
221
|
+
data: Any,
|
|
222
|
+
) -> BaseResponse[TrainingMsg]:
|
|
223
|
+
"""Update a training message."""
|
|
224
|
+
response = self._put(
|
|
225
|
+
f"/{training_set_uid}/conversations/{training_conv_uid}/messages/{training_msg_uid}",
|
|
226
|
+
data=data,
|
|
227
|
+
)
|
|
228
|
+
return BaseResponse[TrainingMsg].model_validate(response)
|
|
229
|
+
|
|
230
|
+
def delete_message(
|
|
231
|
+
self, training_set_uid: int, training_conv_uid: int, training_msg_uid: int
|
|
232
|
+
) -> BaseResponse[bool]:
|
|
233
|
+
"""Delete a training message."""
|
|
234
|
+
response = self._delete(
|
|
235
|
+
f"/{training_set_uid}/conversations/{training_conv_uid}/messages/{training_msg_uid}"
|
|
236
|
+
)
|
|
237
|
+
return BaseResponse[bool].model_validate(response)
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class GeoCodesPostalCodesResource(BaseResource):
|
|
241
|
+
"""Resource for /geo-codes-postal-codes endpoints."""
|
|
242
|
+
|
|
243
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
244
|
+
"""Initialize the resource."""
|
|
245
|
+
super().__init__(http, "/geo-codes-postal-codes")
|
|
246
|
+
|
|
247
|
+
def list(
|
|
248
|
+
self, params: GeoCodesPostalCodesListParams | None = None
|
|
249
|
+
) -> BaseResponse[List[GeoCodesPostalCodes]]:
|
|
250
|
+
"""List geo codes."""
|
|
251
|
+
response = self._get(params=params)
|
|
252
|
+
return BaseResponse[List[GeoCodesPostalCodes]].model_validate(response)
|
|
253
|
+
|
|
254
|
+
def get(self, geo_codes_postal_codes_uid: int) -> BaseResponse[GeoCodesPostalCodes]:
|
|
255
|
+
"""Get geo code by UID."""
|
|
256
|
+
response = self._get(f"/{geo_codes_postal_codes_uid}")
|
|
257
|
+
return BaseResponse[GeoCodesPostalCodes].model_validate(response)
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
class NotificationsResource(BaseResource):
|
|
261
|
+
"""Resource for /notifications endpoints."""
|
|
262
|
+
|
|
263
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
264
|
+
"""Initialize the resource."""
|
|
265
|
+
super().__init__(http, "/notifications")
|
|
266
|
+
|
|
267
|
+
def create(self, data: Any) -> BaseResponse[NotificationResponse]:
|
|
268
|
+
"""Create a notification."""
|
|
269
|
+
response = self._post(data=data)
|
|
270
|
+
return BaseResponse[NotificationResponse].model_validate(response)
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
class OpenSearchResource(BaseResource):
|
|
274
|
+
"""Resource for /open-search endpoints."""
|
|
275
|
+
|
|
276
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
277
|
+
"""Initialize the resource."""
|
|
278
|
+
super().__init__(http, "/open-search")
|
|
279
|
+
|
|
280
|
+
def get_embedding(
|
|
281
|
+
self, params: OpenSearchEmbeddingParams
|
|
282
|
+
) -> BaseResponse[OpenSearchEmbeddingResponse]:
|
|
283
|
+
"""Get embedding for text."""
|
|
284
|
+
response = self._get("/embedding", params=params)
|
|
285
|
+
return BaseResponse[OpenSearchEmbeddingResponse].model_validate(response)
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
class MetaFilesResource(BaseResource):
|
|
289
|
+
"""Resource for /meta-files endpoints."""
|
|
290
|
+
|
|
291
|
+
def __init__(self, http: HTTPClient) -> None:
|
|
292
|
+
"""Initialize the resource."""
|
|
293
|
+
super().__init__(http, "/meta-files")
|
|
294
|
+
|
|
295
|
+
def get_robots(self) -> BaseResponse[MetaFilesRobotsResponse]:
|
|
296
|
+
"""Get robots.txt content."""
|
|
297
|
+
response = self._get("/robots")
|
|
298
|
+
return BaseResponse[MetaFilesRobotsResponse].model_validate(response)
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
class AgrSiteClient(BaseServiceClient):
|
|
302
|
+
"""Client for the AGR Site service.
|
|
303
|
+
|
|
304
|
+
Provides access to site content management endpoints including:
|
|
305
|
+
- Context (context)
|
|
306
|
+
- Health check (health_check)
|
|
307
|
+
- Ping (ping)
|
|
308
|
+
- Whoami (whoami)
|
|
309
|
+
- Settings (settings)
|
|
310
|
+
- Fyxer transcripts (fyxer_transcript)
|
|
311
|
+
- Training data (training)
|
|
312
|
+
- Geo codes (geo_codes_postal_codes)
|
|
313
|
+
- Notifications (notifications)
|
|
314
|
+
- OpenSearch (open_search)
|
|
315
|
+
- Meta files (meta_files)
|
|
316
|
+
"""
|
|
317
|
+
|
|
318
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
319
|
+
"""Initialize the AGR Site client."""
|
|
320
|
+
super().__init__(http_client)
|
|
321
|
+
self._context: ContextResource | None = None
|
|
322
|
+
self._settings: SettingsResource | None = None
|
|
323
|
+
self._fyxer_transcript: FyxerTranscriptResource | None = None
|
|
324
|
+
self._training: TrainingResource | None = None
|
|
325
|
+
self._geo_codes_postal_codes: GeoCodesPostalCodesResource | None = None
|
|
326
|
+
self._notifications: NotificationsResource | None = None
|
|
327
|
+
self._open_search: OpenSearchResource | None = None
|
|
328
|
+
self._meta_files: MetaFilesResource | None = None
|
|
329
|
+
|
|
330
|
+
@property
|
|
331
|
+
def context(self) -> ContextResource:
|
|
332
|
+
"""Access context endpoints."""
|
|
333
|
+
if self._context is None:
|
|
334
|
+
self._context = ContextResource(self._http)
|
|
335
|
+
return self._context
|
|
336
|
+
|
|
337
|
+
@property
|
|
338
|
+
def settings(self) -> SettingsResource:
|
|
339
|
+
"""Access settings endpoints."""
|
|
340
|
+
if self._settings is None:
|
|
341
|
+
self._settings = SettingsResource(self._http)
|
|
342
|
+
return self._settings
|
|
343
|
+
|
|
344
|
+
@property
|
|
345
|
+
def fyxer_transcript(self) -> FyxerTranscriptResource:
|
|
346
|
+
"""Access Fyxer transcript endpoints."""
|
|
347
|
+
if self._fyxer_transcript is None:
|
|
348
|
+
self._fyxer_transcript = FyxerTranscriptResource(self._http)
|
|
349
|
+
return self._fyxer_transcript
|
|
350
|
+
|
|
351
|
+
@property
|
|
352
|
+
def training(self) -> TrainingResource:
|
|
353
|
+
"""Access training endpoints."""
|
|
354
|
+
if self._training is None:
|
|
355
|
+
self._training = TrainingResource(self._http)
|
|
356
|
+
return self._training
|
|
357
|
+
|
|
358
|
+
@property
|
|
359
|
+
def geo_codes_postal_codes(self) -> GeoCodesPostalCodesResource:
|
|
360
|
+
"""Access geo codes endpoints."""
|
|
361
|
+
if self._geo_codes_postal_codes is None:
|
|
362
|
+
self._geo_codes_postal_codes = GeoCodesPostalCodesResource(self._http)
|
|
363
|
+
return self._geo_codes_postal_codes
|
|
364
|
+
|
|
365
|
+
@property
|
|
366
|
+
def notifications(self) -> NotificationsResource:
|
|
367
|
+
"""Access notifications endpoints."""
|
|
368
|
+
if self._notifications is None:
|
|
369
|
+
self._notifications = NotificationsResource(self._http)
|
|
370
|
+
return self._notifications
|
|
371
|
+
|
|
372
|
+
@property
|
|
373
|
+
def open_search(self) -> OpenSearchResource:
|
|
374
|
+
"""Access OpenSearch endpoints."""
|
|
375
|
+
if self._open_search is None:
|
|
376
|
+
self._open_search = OpenSearchResource(self._http)
|
|
377
|
+
return self._open_search
|
|
378
|
+
|
|
379
|
+
@property
|
|
380
|
+
def meta_files(self) -> MetaFilesResource:
|
|
381
|
+
"""Access meta files endpoints."""
|
|
382
|
+
if self._meta_files is None:
|
|
383
|
+
self._meta_files = MetaFilesResource(self._http)
|
|
384
|
+
return self._meta_files
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"""Schemas for the AGR Site service."""
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel
|
|
4
|
+
|
|
5
|
+
from augur_api.core.schemas import CamelCaseModel, EdgeCacheParams
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
# Context
|
|
9
|
+
class ContextGetParams(EdgeCacheParams):
|
|
10
|
+
"""Parameters for getting context."""
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ContextResponse(CamelCaseModel):
|
|
14
|
+
"""Context response data."""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# Health Check
|
|
18
|
+
class HealthCheckData(CamelCaseModel):
|
|
19
|
+
"""Health check response data."""
|
|
20
|
+
|
|
21
|
+
site_hash: str | None = None
|
|
22
|
+
site_id: str | None = None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# Ping
|
|
26
|
+
class PingResponse(CamelCaseModel):
|
|
27
|
+
"""Ping response data."""
|
|
28
|
+
|
|
29
|
+
pong: bool | None = None
|
|
30
|
+
timestamp: str | None = None
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# Whoami
|
|
34
|
+
class WhoamiResponse(CamelCaseModel):
|
|
35
|
+
"""Whoami response data."""
|
|
36
|
+
|
|
37
|
+
site_id: str | None = None
|
|
38
|
+
user_id: int | None = None
|
|
39
|
+
contact_id: int | None = None
|
|
40
|
+
customer_id: int | None = None
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
# Settings
|
|
44
|
+
class SettingListParams(EdgeCacheParams):
|
|
45
|
+
"""Parameters for listing settings."""
|
|
46
|
+
|
|
47
|
+
limit: int | None = None
|
|
48
|
+
offset: int | None = None
|
|
49
|
+
service_name: str | None = None
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
class Setting(CamelCaseModel):
|
|
53
|
+
"""Setting entity."""
|
|
54
|
+
|
|
55
|
+
settings_uid: int | None = None
|
|
56
|
+
service_name: str | None = None
|
|
57
|
+
setting_key: str | None = None
|
|
58
|
+
setting_value: str | None = None
|
|
59
|
+
created_at: str | None = None
|
|
60
|
+
updated_at: str | None = None
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
class SettingCreateParams(BaseModel):
|
|
64
|
+
"""Parameters for creating a setting."""
|
|
65
|
+
|
|
66
|
+
service_name: str | None = None
|
|
67
|
+
setting_key: str | None = None
|
|
68
|
+
setting_value: str | None = None
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
class SettingUpdateParams(BaseModel):
|
|
72
|
+
"""Parameters for updating a setting."""
|
|
73
|
+
|
|
74
|
+
setting_value: str | None = None
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# Fyxer Transcript
|
|
78
|
+
class FyxerTranscriptListParams(EdgeCacheParams):
|
|
79
|
+
"""Parameters for listing Fyxer transcripts."""
|
|
80
|
+
|
|
81
|
+
limit: int | None = None
|
|
82
|
+
offset: int | None = None
|
|
83
|
+
order_by: str | None = None
|
|
84
|
+
q: str | None = None
|
|
85
|
+
status_cd: int | None = None
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
class FyxerTranscript(CamelCaseModel):
|
|
89
|
+
"""Fyxer transcript entity."""
|
|
90
|
+
|
|
91
|
+
fyxer_transcript_hdr_uid: int | None = None
|
|
92
|
+
link: str | None = None
|
|
93
|
+
title: str | None = None
|
|
94
|
+
status_cd: int | None = None
|
|
95
|
+
created_at: str | None = None
|
|
96
|
+
updated_at: str | None = None
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
class FyxerTranscriptCreateParams(BaseModel):
|
|
100
|
+
"""Parameters for creating a Fyxer transcript."""
|
|
101
|
+
|
|
102
|
+
link: str
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
class FyxerTranscriptUpdateParams(BaseModel):
|
|
106
|
+
"""Parameters for updating a Fyxer transcript."""
|
|
107
|
+
|
|
108
|
+
title: str | None = None
|
|
109
|
+
status_cd: int | None = None
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# Training Set
|
|
113
|
+
class TrainingSetListParams(EdgeCacheParams):
|
|
114
|
+
"""Parameters for listing training sets."""
|
|
115
|
+
|
|
116
|
+
limit: int | None = None
|
|
117
|
+
offset: int | None = None
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class TrainingSet(CamelCaseModel):
|
|
121
|
+
"""Training set entity."""
|
|
122
|
+
|
|
123
|
+
training_set_uid: int | None = None
|
|
124
|
+
name: str | None = None
|
|
125
|
+
description: str | None = None
|
|
126
|
+
status_cd: int | None = None
|
|
127
|
+
created_at: str | None = None
|
|
128
|
+
updated_at: str | None = None
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
class TrainingSetCreateParams(BaseModel):
|
|
132
|
+
"""Parameters for creating a training set."""
|
|
133
|
+
|
|
134
|
+
name: str | None = None
|
|
135
|
+
description: str | None = None
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
class TrainingSetUpdateParams(BaseModel):
|
|
139
|
+
"""Parameters for updating a training set."""
|
|
140
|
+
|
|
141
|
+
name: str | None = None
|
|
142
|
+
description: str | None = None
|
|
143
|
+
status_cd: int | None = None
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
# Training Conversation
|
|
147
|
+
class TrainingConvListParams(EdgeCacheParams):
|
|
148
|
+
"""Parameters for listing training conversations."""
|
|
149
|
+
|
|
150
|
+
limit: int | None = None
|
|
151
|
+
offset: int | None = None
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
class TrainingConv(CamelCaseModel):
|
|
155
|
+
"""Training conversation entity."""
|
|
156
|
+
|
|
157
|
+
training_conv_uid: int | None = None
|
|
158
|
+
training_set_uid: int | None = None
|
|
159
|
+
title: str | None = None
|
|
160
|
+
status_cd: int | None = None
|
|
161
|
+
created_at: str | None = None
|
|
162
|
+
updated_at: str | None = None
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
class TrainingConvCreateParams(BaseModel):
|
|
166
|
+
"""Parameters for creating a training conversation."""
|
|
167
|
+
|
|
168
|
+
title: str | None = None
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
class TrainingConvUpdateParams(BaseModel):
|
|
172
|
+
"""Parameters for updating a training conversation."""
|
|
173
|
+
|
|
174
|
+
title: str | None = None
|
|
175
|
+
status_cd: int | None = None
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
# Training Message
|
|
179
|
+
class TrainingMsgListParams(EdgeCacheParams):
|
|
180
|
+
"""Parameters for listing training messages."""
|
|
181
|
+
|
|
182
|
+
limit: int | None = None
|
|
183
|
+
offset: int | None = None
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
class TrainingMsg(CamelCaseModel):
|
|
187
|
+
"""Training message entity."""
|
|
188
|
+
|
|
189
|
+
training_msg_uid: int | None = None
|
|
190
|
+
training_conv_uid: int | None = None
|
|
191
|
+
role: str | None = None
|
|
192
|
+
content: str | None = None
|
|
193
|
+
created_at: str | None = None
|
|
194
|
+
updated_at: str | None = None
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
class TrainingMsgCreateParams(BaseModel):
|
|
198
|
+
"""Parameters for creating a training message."""
|
|
199
|
+
|
|
200
|
+
role: str | None = None
|
|
201
|
+
content: str | None = None
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
class TrainingMsgUpdateParams(BaseModel):
|
|
205
|
+
"""Parameters for updating a training message."""
|
|
206
|
+
|
|
207
|
+
role: str | None = None
|
|
208
|
+
content: str | None = None
|
|
209
|
+
|
|
210
|
+
|
|
211
|
+
# Geo Codes Postal Codes
|
|
212
|
+
class GeoCodesPostalCodesListParams(EdgeCacheParams):
|
|
213
|
+
"""Parameters for listing geo codes."""
|
|
214
|
+
|
|
215
|
+
limit: int | None = None
|
|
216
|
+
offset: int | None = None
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
class GeoCodesPostalCodes(CamelCaseModel):
|
|
220
|
+
"""Geo codes postal codes entity."""
|
|
221
|
+
|
|
222
|
+
geo_codes_postal_codes_uid: int | None = None
|
|
223
|
+
postal_code: str | None = None
|
|
224
|
+
city: str | None = None
|
|
225
|
+
state: str | None = None
|
|
226
|
+
country: str | None = None
|
|
227
|
+
latitude: float | None = None
|
|
228
|
+
longitude: float | None = None
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
# Notifications
|
|
232
|
+
class NotificationCreateParams(BaseModel):
|
|
233
|
+
"""Parameters for creating a notification."""
|
|
234
|
+
|
|
235
|
+
message: str | None = None
|
|
236
|
+
recipient: str | None = None
|
|
237
|
+
notification_type: str | None = None
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
class NotificationResponse(CamelCaseModel):
|
|
241
|
+
"""Notification response."""
|
|
242
|
+
|
|
243
|
+
success: bool | None = None
|
|
244
|
+
message: str | None = None
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
# Open Search Embedding
|
|
248
|
+
class OpenSearchEmbeddingParams(EdgeCacheParams):
|
|
249
|
+
"""Parameters for OpenSearch embedding."""
|
|
250
|
+
|
|
251
|
+
q: str
|
|
252
|
+
model: str | None = None
|
|
253
|
+
dimensions: int | None = None
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
class OpenSearchEmbeddingResponse(CamelCaseModel):
|
|
257
|
+
"""OpenSearch embedding response."""
|
|
258
|
+
|
|
259
|
+
embedding: list[float] | None = None
|
|
260
|
+
model: str | None = None
|
|
261
|
+
dimensions: int | None = None
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
# Meta Files
|
|
265
|
+
class MetaFilesRobotsResponse(CamelCaseModel):
|
|
266
|
+
"""Meta files robots response."""
|
|
267
|
+
|
|
268
|
+
content: str | None = None
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"""AGR Work service client."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
from augur_api.services.base import BaseServiceClient
|
|
8
|
+
|
|
9
|
+
if TYPE_CHECKING:
|
|
10
|
+
from augur_api.core.http_client import HTTPClient
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AgrWorkClient(BaseServiceClient):
|
|
14
|
+
"""Client for the AGR Work service.
|
|
15
|
+
|
|
16
|
+
Provides access to work/task management endpoints.
|
|
17
|
+
Inherits health_check() method from BaseServiceClient.
|
|
18
|
+
|
|
19
|
+
Example:
|
|
20
|
+
>>> from augur_api import AugurAPI
|
|
21
|
+
>>> api = AugurAPI(token="...", site_id="...")
|
|
22
|
+
>>> health = api.agr_work.health_check()
|
|
23
|
+
>>> print(health.status)
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
def __init__(self, http_client: HTTPClient) -> None:
|
|
27
|
+
"""Initialize the AGR Work client.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
http_client: HTTP client for making requests.
|
|
31
|
+
"""
|
|
32
|
+
super().__init__(http_client)
|