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.
Files changed (96) hide show
  1. augur_api/__init__.py +43 -0
  2. augur_api/client.py +453 -0
  3. augur_api/core/__init__.py +40 -0
  4. augur_api/core/config.py +75 -0
  5. augur_api/core/errors.py +173 -0
  6. augur_api/core/http_client.py +426 -0
  7. augur_api/core/schemas.py +105 -0
  8. augur_api/py.typed +0 -0
  9. augur_api/services/__init__.py +13 -0
  10. augur_api/services/agr_info/__init__.py +47 -0
  11. augur_api/services/agr_info/client.py +326 -0
  12. augur_api/services/agr_info/schemas.py +123 -0
  13. augur_api/services/agr_site/__init__.py +79 -0
  14. augur_api/services/agr_site/client.py +384 -0
  15. augur_api/services/agr_site/schemas.py +268 -0
  16. augur_api/services/agr_work/__init__.py +7 -0
  17. augur_api/services/agr_work/client.py +32 -0
  18. augur_api/services/agr_work/schemas.py +11 -0
  19. augur_api/services/avalara/__init__.py +17 -0
  20. augur_api/services/avalara/client.py +64 -0
  21. augur_api/services/avalara/schemas.py +34 -0
  22. augur_api/services/base.py +54 -0
  23. augur_api/services/basecamp2/__init__.py +65 -0
  24. augur_api/services/basecamp2/client.py +568 -0
  25. augur_api/services/basecamp2/schemas.py +227 -0
  26. augur_api/services/brand_folder/__init__.py +31 -0
  27. augur_api/services/brand_folder/client.py +206 -0
  28. augur_api/services/brand_folder/schemas.py +133 -0
  29. augur_api/services/commerce/__init__.py +56 -0
  30. augur_api/services/commerce/client.py +298 -0
  31. augur_api/services/commerce/schemas.py +167 -0
  32. augur_api/services/customers/__init__.py +69 -0
  33. augur_api/services/customers/client.py +437 -0
  34. augur_api/services/customers/schemas.py +273 -0
  35. augur_api/services/gregorovich/__init__.py +31 -0
  36. augur_api/services/gregorovich/client.py +151 -0
  37. augur_api/services/gregorovich/schemas.py +42 -0
  38. augur_api/services/items/__init__.py +302 -0
  39. augur_api/services/items/client.py +1223 -0
  40. augur_api/services/items/schemas.py +722 -0
  41. augur_api/services/joomla/__init__.py +59 -0
  42. augur_api/services/joomla/client.py +333 -0
  43. augur_api/services/joomla/schemas.py +286 -0
  44. augur_api/services/legacy/__init__.py +66 -0
  45. augur_api/services/legacy/client.py +391 -0
  46. augur_api/services/legacy/schemas.py +115 -0
  47. augur_api/services/logistics/__init__.py +34 -0
  48. augur_api/services/logistics/client.py +116 -0
  49. augur_api/services/logistics/schemas.py +65 -0
  50. augur_api/services/nexus/__init__.py +89 -0
  51. augur_api/services/nexus/client.py +589 -0
  52. augur_api/services/nexus/schemas.py +171 -0
  53. augur_api/services/open_search/__init__.py +58 -0
  54. augur_api/services/open_search/client.py +285 -0
  55. augur_api/services/open_search/schemas.py +146 -0
  56. augur_api/services/orders/__init__.py +51 -0
  57. augur_api/services/orders/client.py +299 -0
  58. augur_api/services/orders/schemas.py +195 -0
  59. augur_api/services/p21_apis/__init__.py +83 -0
  60. augur_api/services/p21_apis/client.py +420 -0
  61. augur_api/services/p21_apis/schemas.py +130 -0
  62. augur_api/services/p21_core/__init__.py +29 -0
  63. augur_api/services/p21_core/client.py +395 -0
  64. augur_api/services/p21_core/schemas.py +221 -0
  65. augur_api/services/p21_pim/__init__.py +51 -0
  66. augur_api/services/p21_pim/client.py +319 -0
  67. augur_api/services/p21_pim/schemas.py +128 -0
  68. augur_api/services/p21_sism/__init__.py +60 -0
  69. augur_api/services/p21_sism/client.py +334 -0
  70. augur_api/services/p21_sism/schemas.py +92 -0
  71. augur_api/services/payments/__init__.py +97 -0
  72. augur_api/services/payments/client.py +508 -0
  73. augur_api/services/payments/schemas.py +166 -0
  74. augur_api/services/pricing/__init__.py +43 -0
  75. augur_api/services/pricing/client.py +175 -0
  76. augur_api/services/pricing/schemas.py +146 -0
  77. augur_api/services/resource.py +141 -0
  78. augur_api/services/shipping/__init__.py +17 -0
  79. augur_api/services/shipping/client.py +68 -0
  80. augur_api/services/shipping/schemas.py +38 -0
  81. augur_api/services/slack/__init__.py +23 -0
  82. augur_api/services/slack/client.py +74 -0
  83. augur_api/services/slack/schemas.py +35 -0
  84. augur_api/services/smarty_streets/__init__.py +19 -0
  85. augur_api/services/smarty_streets/client.py +82 -0
  86. augur_api/services/smarty_streets/schemas.py +32 -0
  87. augur_api/services/ups/__init__.py +17 -0
  88. augur_api/services/ups/client.py +72 -0
  89. augur_api/services/ups/schemas.py +41 -0
  90. augur_api/services/vmi/__init__.py +157 -0
  91. augur_api/services/vmi/client.py +586 -0
  92. augur_api/services/vmi/schemas.py +285 -0
  93. simpleapps_com_augur_api-0.8.10.dist-info/METADATA +177 -0
  94. simpleapps_com_augur_api-0.8.10.dist-info/RECORD +96 -0
  95. simpleapps_com_augur_api-0.8.10.dist-info/WHEEL +4 -0
  96. 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,7 @@
1
+ """AGR Work service exports."""
2
+
3
+ from augur_api.services.agr_work.client import AgrWorkClient
4
+
5
+ __all__ = [
6
+ "AgrWorkClient",
7
+ ]
@@ -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)
@@ -0,0 +1,11 @@
1
+ """Schemas for the AGR Work service."""
2
+
3
+ from augur_api.core.schemas import CamelCaseModel
4
+
5
+
6
+ # Health Check
7
+ class HealthCheckData(CamelCaseModel):
8
+ """Health check response data."""
9
+
10
+ site_hash: str | None = None
11
+ site_id: str | None = None