fountain-life-service-clients 3.28.2__py3-none-any.whl → 3.29.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.
@@ -0,0 +1,258 @@
1
+ # This file was generated automatically. Do not edit it directly.
2
+ # generated by datamodel-codegen:
3
+ # filename: ai-template-service.json
4
+ from typing import List, NotRequired, TypedDict, Union, Unpack, cast
5
+ from urllib.parse import quote
6
+
7
+ from fountain_life_service_clients._base_client import (
8
+ AlphaConfig,
9
+ AlphaResponse,
10
+ BaseClient,
11
+ )
12
+
13
+
14
+ class ListTemplatesParams(TypedDict):
15
+ prefix: NotRequired[str]
16
+ pageSize: NotRequired[float]
17
+ nextPageToken: NotRequired[str]
18
+
19
+
20
+ class Items(TypedDict):
21
+ type: NotRequired[str]
22
+ path: str
23
+
24
+
25
+ class items(TypedDict):
26
+ type: NotRequired[str]
27
+ path: str
28
+ description: NotRequired[str]
29
+ id: str
30
+ accountId: str
31
+ createdAt: str
32
+ updatedAt: str
33
+ lastUpdatedBy: str
34
+
35
+
36
+ class Links(TypedDict):
37
+ next: NotRequired[str]
38
+
39
+
40
+ class ListTemplatesResponse(TypedDict):
41
+ items: List[Union[Items, items]]
42
+ links: Links
43
+
44
+
45
+ class CreateTemplateRequest1(TypedDict):
46
+ type: NotRequired[str]
47
+ path: str
48
+ description: NotRequired[str]
49
+ content: str
50
+
51
+
52
+ class Section(TypedDict):
53
+ templateId: str
54
+
55
+
56
+ class CreateTemplateRequest2(TypedDict):
57
+ type: NotRequired[str]
58
+ path: str
59
+ description: NotRequired[str]
60
+ sections: List[Section]
61
+
62
+
63
+ CreateTemplateRequest = Union[CreateTemplateRequest1, CreateTemplateRequest2]
64
+
65
+
66
+ class Template(TypedDict):
67
+ type: NotRequired[str]
68
+ path: str
69
+ description: NotRequired[str]
70
+ content: str
71
+ id: str
72
+ accountId: str
73
+ createdAt: str
74
+ updatedAt: str
75
+ lastUpdatedBy: str
76
+
77
+
78
+ class template(TypedDict):
79
+ type: NotRequired[str]
80
+ path: str
81
+ description: NotRequired[str]
82
+ sections: List[Section]
83
+ id: str
84
+ accountId: str
85
+ createdAt: str
86
+ updatedAt: str
87
+ lastUpdatedBy: str
88
+
89
+
90
+ class CreateTemplateResponse(TypedDict):
91
+ template: Union[Template, template]
92
+
93
+
94
+ class Template2(TypedDict):
95
+ """
96
+ The template or composite report definition
97
+ """
98
+
99
+ type: NotRequired[str]
100
+ path: str
101
+ description: NotRequired[str]
102
+ content: str
103
+ id: str
104
+ accountId: str
105
+ createdAt: str
106
+ updatedAt: str
107
+ lastUpdatedBy: str
108
+
109
+
110
+ class Template3(TypedDict):
111
+ """
112
+ The template or composite report definition
113
+ """
114
+
115
+ type: NotRequired[str]
116
+ path: str
117
+ description: NotRequired[str]
118
+ sections: List[Section]
119
+ id: str
120
+ accountId: str
121
+ createdAt: str
122
+ updatedAt: str
123
+ lastUpdatedBy: str
124
+
125
+
126
+ class GetTemplateResponse(TypedDict):
127
+ template: Union[Template2, Template3]
128
+
129
+
130
+ class PatchTemplateRequest1(TypedDict):
131
+ type: NotRequired[str]
132
+ path: NotRequired[str]
133
+ description: NotRequired[str]
134
+ content: NotRequired[str]
135
+
136
+
137
+ class PatchTemplateRequest2(TypedDict):
138
+ type: NotRequired[str]
139
+ path: NotRequired[str]
140
+ description: NotRequired[str]
141
+ sections: NotRequired[List[Section]]
142
+
143
+
144
+ PatchTemplateRequest = Union[PatchTemplateRequest1, PatchTemplateRequest2]
145
+
146
+
147
+ class Template4(TypedDict):
148
+ type: NotRequired[str]
149
+ path: str
150
+ description: NotRequired[str]
151
+ content: str
152
+ id: str
153
+ accountId: str
154
+ createdAt: str
155
+ updatedAt: str
156
+ lastUpdatedBy: str
157
+
158
+
159
+ class Template5(TypedDict):
160
+ type: NotRequired[str]
161
+ path: str
162
+ description: NotRequired[str]
163
+ sections: List[Section]
164
+ id: str
165
+ accountId: str
166
+ createdAt: str
167
+ updatedAt: str
168
+ lastUpdatedBy: str
169
+
170
+
171
+ class PatchTemplateResponse(TypedDict):
172
+ template: Union[Template4, Template5]
173
+
174
+
175
+ class DeleteTemplateResponse(TypedDict):
176
+ pass
177
+
178
+
179
+ class CopyTemplateRequest(TypedDict):
180
+ path: NotRequired[str]
181
+
182
+
183
+ class Template6(TypedDict):
184
+ type: NotRequired[str]
185
+ path: str
186
+ description: NotRequired[str]
187
+ content: str
188
+ id: str
189
+ accountId: str
190
+ createdAt: str
191
+ updatedAt: str
192
+ lastUpdatedBy: str
193
+
194
+
195
+ class Template7(TypedDict):
196
+ type: NotRequired[str]
197
+ path: str
198
+ description: NotRequired[str]
199
+ sections: List[Section]
200
+ id: str
201
+ accountId: str
202
+ createdAt: str
203
+ updatedAt: str
204
+ lastUpdatedBy: str
205
+
206
+
207
+ class CopyTemplateResponse(TypedDict):
208
+ template: Union[Template6, Template7]
209
+
210
+
211
+ class AiTemplateServiceClient(BaseClient):
212
+ def __init__(self, **cfg: Unpack[AlphaConfig]):
213
+ kwargs = {"target": "lambda://ai-template-service:deployed", **(cfg or {})}
214
+ super().__init__(**kwargs)
215
+
216
+ async def list_templates(self, params: ListTemplatesParams):
217
+ """Lists all templates and folders, matching against an optional prefix."""
218
+ res = await self.client.request(
219
+ path="/v1/ai-templates", method="GET", params=cast(dict, params)
220
+ )
221
+ return cast(AlphaResponse[ListTemplatesResponse], res)
222
+
223
+ async def create_template(self, body: CreateTemplateRequest):
224
+ """Creates a new template. Returns the created template, or 409 if a template already exists under the given path."""
225
+ res = await self.client.request(
226
+ path="/v1/ai-templates", method="POST", body=cast(dict, body)
227
+ )
228
+ return cast(AlphaResponse[CreateTemplateResponse], res)
229
+
230
+ async def get_template(self, id: str):
231
+ """Gets a template by ID. Returns 404 if the template does not exist."""
232
+ res = await self.client.request(
233
+ path=f"/v1/ai-templates/{quote(id)}", method="GET"
234
+ )
235
+ return cast(AlphaResponse[GetTemplateResponse], res)
236
+
237
+ async def patch_template(self, id: str, body: PatchTemplateRequest):
238
+ """Patches a template. Any keys present in the input will be updated. Returns the patched template."""
239
+ res = await self.client.request(
240
+ path=f"/v1/ai-templates/{quote(id)}", method="PATCH", body=cast(dict, body)
241
+ )
242
+ return cast(AlphaResponse[PatchTemplateResponse], res)
243
+
244
+ async def delete_template(self, id: str):
245
+ """Deletes a template, if it exists."""
246
+ res = await self.client.request(
247
+ path=f"/v1/ai-templates/{quote(id)}", method="DELETE"
248
+ )
249
+ return cast(AlphaResponse[DeleteTemplateResponse], res)
250
+
251
+ async def copy_template(self, id: str, body: CopyTemplateRequest):
252
+ """Copies a template."""
253
+ res = await self.client.request(
254
+ path=f"/v1/ai-templates/{quote(id)}/copy",
255
+ method="POST",
256
+ body=cast(dict, body),
257
+ )
258
+ return cast(AlphaResponse[CopyTemplateResponse], res)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fountain-life-service-clients
3
- Version: 3.28.2
3
+ Version: 3.29.0
4
4
  Summary:
5
5
  License: UNLICENSED
6
6
  Author: Fountain Life
@@ -3,6 +3,7 @@ fountain_life_service_clients/_base_client.py,sha256=19AeJmz3H0d4tRdJ-fBcIXhw78h
3
3
  fountain_life_service_clients/account_service.py,sha256=rqM_nuPmUuwMWudreF2kW42y57FL9u4YJ_T0sVEfNbY,3735
4
4
  fountain_life_service_clients/account_service_policy_attributes.py,sha256=fgwgqzWGwoekc0yCr55qoPiuI2B5fd778rpTvZhmrN0,1611
5
5
  fountain_life_service_clients/agents_api_service.py,sha256=wzZBzTpIrQafRjYL3gP5B9euHU0YS3NqgDhHV3QMoD8,5949
6
+ fountain_life_service_clients/ai_template_service.py,sha256=V9jr0yI42xCV6BRmJI6v8cyQPFZx7zR03OzTvp3PrwQ,6288
6
7
  fountain_life_service_clients/claimed_domains_service.py,sha256=FMTyXZO_dm23jqYBXx-wE3bo1dwnJ4OwvcmkMyHWBok,1737
7
8
  fountain_life_service_clients/cohorts_service.py,sha256=FPI_0Nn8BXhJfLwDJY2S3XIetSmGAYN0rjhESg4YYpI,4703
8
9
  fountain_life_service_clients/ehr_ingestion_wearables_api.py,sha256=VnFd22BFqNhDzeRaDvaJU98xHiptfy0r1sE9pBrwI74,5673
@@ -23,6 +24,6 @@ fountain_life_service_clients/rules_service.py,sha256=ncZWRy_C9mt-nkIqJnbV0cGyyq
23
24
  fountain_life_service_clients/scheduler_service.py,sha256=iyDfesqgfLaRWUzESdIIp9-nlxdY4YWez57PqI3GVk4,4512
24
25
  fountain_life_service_clients/survey_service.py,sha256=mN4NX7y5RShuofN1-VH3tqr-9g8pcppIuEo8Mxf6p5g,13412
25
26
  fountain_life_service_clients/user_service.py,sha256=O8G80UyWGKEQEktwy4mBhO2Dh6MnMSewbSgcCHogQXw,4320
26
- fountain_life_service_clients-3.28.2.dist-info/METADATA,sha256=ONiTtZVf8f-cXffOsnLGGDXW6era1f_qWvAeEw17xn8,1405
27
- fountain_life_service_clients-3.28.2.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
28
- fountain_life_service_clients-3.28.2.dist-info/RECORD,,
27
+ fountain_life_service_clients-3.29.0.dist-info/METADATA,sha256=tDsQNOjGJwl4t40YeCJgaOXPOjEpGPN0K0JhRZ3LEek,1405
28
+ fountain_life_service_clients-3.29.0.dist-info/WHEEL,sha256=M5asmiAlL6HEcOq52Yi5mmk9KmTVjY2RDPtO4p9DMrc,88
29
+ fountain_life_service_clients-3.29.0.dist-info/RECORD,,