fountain-life-service-clients 3.29.2__tar.gz → 3.30.0__tar.gz

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 (29) hide show
  1. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/PKG-INFO +1 -1
  2. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/ai_template_service.py +129 -24
  3. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/pyproject.toml +1 -1
  4. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/README.md +0 -0
  5. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/__init__.py +0 -0
  6. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/_base_client.py +0 -0
  7. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/account_service.py +0 -0
  8. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/account_service_policy_attributes.py +0 -0
  9. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/agents_api_service.py +0 -0
  10. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/claimed_domains_service.py +0 -0
  11. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/cohorts_service.py +0 -0
  12. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/ehr_ingestion_wearables_api.py +0 -0
  13. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/ehr_service.py +0 -0
  14. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/email_service_email.py +0 -0
  15. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/email_service_sms.py +0 -0
  16. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/fhir_post_processor_service.py +0 -0
  17. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/fhir_search_service.py +0 -0
  18. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/file_service.py +0 -0
  19. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/invitation_service.py +0 -0
  20. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/medical_results_service_results.py +0 -0
  21. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/member_notification_service.py +0 -0
  22. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/member_operations_service_members.py +0 -0
  23. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/member_scheduling_service_scheduling_prompts.py +0 -0
  24. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/oauth_apps_service.py +0 -0
  25. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/patient_service.py +0 -0
  26. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/rules_service.py +0 -0
  27. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/scheduler_service.py +0 -0
  28. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/survey_service.py +0 -0
  29. {fountain_life_service_clients-3.29.2 → fountain_life_service_clients-3.30.0}/fountain_life_service_clients/user_service.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fountain-life-service-clients
3
- Version: 3.29.2
3
+ Version: 3.30.0
4
4
  Summary:
5
5
  License: UNLICENSED
6
6
  Author: Fountain Life
@@ -24,10 +24,6 @@ class items(TypedDict):
24
24
  type: Literal["template"]
25
25
  path: str
26
26
  description: NotRequired[str]
27
- id: str
28
- accountId: str
29
- createdAt: str
30
- updatedAt: str
31
27
  impressionType: NotRequired[
32
28
  Literal[
33
29
  "brain",
@@ -40,8 +36,14 @@ class items(TypedDict):
40
36
  "synopsis",
41
37
  "supplements",
42
38
  "general",
39
+ "functional-biomarker-profile",
43
40
  ]
44
41
  ]
42
+ id: str
43
+ durableId: str
44
+ accountId: str
45
+ createdAt: str
46
+ updatedAt: str
45
47
  lastUpdatedBy: str
46
48
 
47
49
 
@@ -50,6 +52,7 @@ class Items2(TypedDict):
50
52
  path: str
51
53
  description: NotRequired[str]
52
54
  id: str
55
+ durableId: str
53
56
  accountId: str
54
57
  createdAt: str
55
58
  updatedAt: str
@@ -70,6 +73,21 @@ class CreateTemplateRequest1(TypedDict):
70
73
  path: str
71
74
  description: NotRequired[str]
72
75
  content: str
76
+ impressionType: NotRequired[
77
+ Literal[
78
+ "brain",
79
+ "cancer",
80
+ "heart",
81
+ "metabolic",
82
+ "musculoskeletal",
83
+ "nutrition",
84
+ "overview",
85
+ "synopsis",
86
+ "supplements",
87
+ "general",
88
+ "functional-biomarker-profile",
89
+ ]
90
+ ]
73
91
 
74
92
 
75
93
  class Section(TypedDict):
@@ -91,10 +109,6 @@ class Template(TypedDict):
91
109
  path: str
92
110
  description: NotRequired[str]
93
111
  content: str
94
- id: str
95
- accountId: str
96
- createdAt: str
97
- updatedAt: str
98
112
  impressionType: NotRequired[
99
113
  Literal[
100
114
  "brain",
@@ -107,8 +121,14 @@ class Template(TypedDict):
107
121
  "synopsis",
108
122
  "supplements",
109
123
  "general",
124
+ "functional-biomarker-profile",
110
125
  ]
111
126
  ]
127
+ id: str
128
+ durableId: str
129
+ accountId: str
130
+ createdAt: str
131
+ updatedAt: str
112
132
  lastUpdatedBy: str
113
133
 
114
134
 
@@ -118,6 +138,7 @@ class template(TypedDict):
118
138
  description: NotRequired[str]
119
139
  sections: List[Section]
120
140
  id: str
141
+ durableId: str
121
142
  accountId: str
122
143
  createdAt: str
123
144
  updatedAt: str
@@ -137,10 +158,59 @@ class Template2(TypedDict):
137
158
  path: str
138
159
  description: NotRequired[str]
139
160
  content: str
161
+ impressionType: NotRequired[
162
+ Literal[
163
+ "brain",
164
+ "cancer",
165
+ "heart",
166
+ "metabolic",
167
+ "musculoskeletal",
168
+ "nutrition",
169
+ "overview",
170
+ "synopsis",
171
+ "supplements",
172
+ "general",
173
+ "functional-biomarker-profile",
174
+ ]
175
+ ]
140
176
  id: str
177
+ durableId: str
141
178
  accountId: str
142
179
  createdAt: str
143
180
  updatedAt: str
181
+ lastUpdatedBy: str
182
+
183
+
184
+ class Template3(TypedDict):
185
+ """
186
+ The template or composite report definition
187
+ """
188
+
189
+ type: Literal["compositeReportDefinition"]
190
+ path: str
191
+ description: NotRequired[str]
192
+ sections: List[Section]
193
+ id: str
194
+ durableId: str
195
+ accountId: str
196
+ createdAt: str
197
+ updatedAt: str
198
+ lastUpdatedBy: str
199
+
200
+
201
+ class GetTemplateByDurableIdResponse(TypedDict):
202
+ template: Union[Template2, Template3]
203
+
204
+
205
+ class Template4(TypedDict):
206
+ """
207
+ The template or composite report definition
208
+ """
209
+
210
+ type: Literal["template"]
211
+ path: str
212
+ description: NotRequired[str]
213
+ content: str
144
214
  impressionType: NotRequired[
145
215
  Literal[
146
216
  "brain",
@@ -153,12 +223,18 @@ class Template2(TypedDict):
153
223
  "synopsis",
154
224
  "supplements",
155
225
  "general",
226
+ "functional-biomarker-profile",
156
227
  ]
157
228
  ]
229
+ id: str
230
+ durableId: str
231
+ accountId: str
232
+ createdAt: str
233
+ updatedAt: str
158
234
  lastUpdatedBy: str
159
235
 
160
236
 
161
- class Template3(TypedDict):
237
+ class Template5(TypedDict):
162
238
  """
163
239
  The template or composite report definition
164
240
  """
@@ -168,6 +244,7 @@ class Template3(TypedDict):
168
244
  description: NotRequired[str]
169
245
  sections: List[Section]
170
246
  id: str
247
+ durableId: str
171
248
  accountId: str
172
249
  createdAt: str
173
250
  updatedAt: str
@@ -175,7 +252,7 @@ class Template3(TypedDict):
175
252
 
176
253
 
177
254
  class GetTemplateResponse(TypedDict):
178
- template: Union[Template2, Template3]
255
+ template: Union[Template4, Template5]
179
256
 
180
257
 
181
258
  class PatchTemplateRequest1(TypedDict):
@@ -183,6 +260,21 @@ class PatchTemplateRequest1(TypedDict):
183
260
  path: NotRequired[str]
184
261
  description: NotRequired[str]
185
262
  content: NotRequired[str]
263
+ impressionType: NotRequired[
264
+ Literal[
265
+ "brain",
266
+ "cancer",
267
+ "heart",
268
+ "metabolic",
269
+ "musculoskeletal",
270
+ "nutrition",
271
+ "overview",
272
+ "synopsis",
273
+ "supplements",
274
+ "general",
275
+ "functional-biomarker-profile",
276
+ ]
277
+ ]
186
278
 
187
279
 
188
280
  class PatchTemplateRequest2(TypedDict):
@@ -195,15 +287,11 @@ class PatchTemplateRequest2(TypedDict):
195
287
  PatchTemplateRequest = Union[PatchTemplateRequest1, PatchTemplateRequest2]
196
288
 
197
289
 
198
- class Template4(TypedDict):
290
+ class Template6(TypedDict):
199
291
  type: Literal["template"]
200
292
  path: str
201
293
  description: NotRequired[str]
202
294
  content: str
203
- id: str
204
- accountId: str
205
- createdAt: str
206
- updatedAt: str
207
295
  impressionType: NotRequired[
208
296
  Literal[
209
297
  "brain",
@@ -216,17 +304,24 @@ class Template4(TypedDict):
216
304
  "synopsis",
217
305
  "supplements",
218
306
  "general",
307
+ "functional-biomarker-profile",
219
308
  ]
220
309
  ]
310
+ id: str
311
+ durableId: str
312
+ accountId: str
313
+ createdAt: str
314
+ updatedAt: str
221
315
  lastUpdatedBy: str
222
316
 
223
317
 
224
- class Template5(TypedDict):
318
+ class Template7(TypedDict):
225
319
  type: Literal["compositeReportDefinition"]
226
320
  path: str
227
321
  description: NotRequired[str]
228
322
  sections: List[Section]
229
323
  id: str
324
+ durableId: str
230
325
  accountId: str
231
326
  createdAt: str
232
327
  updatedAt: str
@@ -234,7 +329,7 @@ class Template5(TypedDict):
234
329
 
235
330
 
236
331
  class PatchTemplateResponse(TypedDict):
237
- template: Union[Template4, Template5]
332
+ template: Union[Template6, Template7]
238
333
 
239
334
 
240
335
  class DeleteTemplateResponse(TypedDict):
@@ -245,15 +340,11 @@ class CopyTemplateRequest(TypedDict):
245
340
  path: NotRequired[str]
246
341
 
247
342
 
248
- class Template6(TypedDict):
343
+ class Template8(TypedDict):
249
344
  type: Literal["template"]
250
345
  path: str
251
346
  description: NotRequired[str]
252
347
  content: str
253
- id: str
254
- accountId: str
255
- createdAt: str
256
- updatedAt: str
257
348
  impressionType: NotRequired[
258
349
  Literal[
259
350
  "brain",
@@ -266,17 +357,24 @@ class Template6(TypedDict):
266
357
  "synopsis",
267
358
  "supplements",
268
359
  "general",
360
+ "functional-biomarker-profile",
269
361
  ]
270
362
  ]
363
+ id: str
364
+ durableId: str
365
+ accountId: str
366
+ createdAt: str
367
+ updatedAt: str
271
368
  lastUpdatedBy: str
272
369
 
273
370
 
274
- class Template7(TypedDict):
371
+ class Template9(TypedDict):
275
372
  type: Literal["compositeReportDefinition"]
276
373
  path: str
277
374
  description: NotRequired[str]
278
375
  sections: List[Section]
279
376
  id: str
377
+ durableId: str
280
378
  accountId: str
281
379
  createdAt: str
282
380
  updatedAt: str
@@ -284,7 +382,7 @@ class Template7(TypedDict):
284
382
 
285
383
 
286
384
  class CopyTemplateResponse(TypedDict):
287
- template: Union[Template6, Template7]
385
+ template: Union[Template8, Template9]
288
386
 
289
387
 
290
388
  class AiTemplateServiceClient(BaseClient):
@@ -306,6 +404,13 @@ class AiTemplateServiceClient(BaseClient):
306
404
  )
307
405
  return cast(AlphaResponse[CreateTemplateResponse], res)
308
406
 
407
+ async def get_template_by_durable_id(self, durable_id: str):
408
+ """Gets a template by its durable ID. Returns 404 if not found."""
409
+ res = await self.client.request(
410
+ path=f"/v1/ai-templates/durable/{quote(durable_id)}", method="GET"
411
+ )
412
+ return cast(AlphaResponse[GetTemplateByDurableIdResponse], res)
413
+
309
414
  async def get_template(self, id: str):
310
415
  """Gets a template by ID. Returns 404 if the template does not exist."""
311
416
  res = await self.client.request(
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "fountain-life-service-clients"
3
- version = "3.29.2"
3
+ version = "3.30.0"
4
4
  description = ""
5
5
  authors = ["Fountain Life <dev@fountainlife.com>"]
6
6
  license = "UNLICENSED"