letta-client 0.1.284__py3-none-any.whl → 0.1.286__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.

Potentially problematic release.


This version of letta-client might be problematic. Click here for more details.

@@ -73,6 +73,9 @@ class BlocksClient:
73
73
  project_id: typing.Optional[str] = OMIT,
74
74
  name: typing.Optional[str] = OMIT,
75
75
  is_template: typing.Optional[bool] = OMIT,
76
+ base_template_id: typing.Optional[str] = OMIT,
77
+ deployment_id: typing.Optional[str] = OMIT,
78
+ entity_id: typing.Optional[str] = OMIT,
76
79
  preserve_on_migration: typing.Optional[bool] = OMIT,
77
80
  label: typing.Optional[str] = OMIT,
78
81
  read_only: typing.Optional[bool] = OMIT,
@@ -99,11 +102,20 @@ class BlocksClient:
99
102
  The associated project id.
100
103
 
101
104
  name : typing.Optional[str]
102
- Name of the block if it is a template.
105
+ The id of the template.
103
106
 
104
107
  is_template : typing.Optional[bool]
105
108
  Whether the block is a template (e.g. saved human/persona options).
106
109
 
110
+ base_template_id : typing.Optional[str]
111
+ The base template id of the block.
112
+
113
+ deployment_id : typing.Optional[str]
114
+ The id of the deployment.
115
+
116
+ entity_id : typing.Optional[str]
117
+ The id of the entity within the template.
118
+
107
119
  preserve_on_migration : typing.Optional[bool]
108
120
  Preserve the block on template migration.
109
121
 
@@ -148,6 +160,9 @@ class BlocksClient:
148
160
  project_id=project_id,
149
161
  name=name,
150
162
  is_template=is_template,
163
+ base_template_id=base_template_id,
164
+ deployment_id=deployment_id,
165
+ entity_id=entity_id,
151
166
  preserve_on_migration=preserve_on_migration,
152
167
  label=label,
153
168
  read_only=read_only,
@@ -330,6 +345,9 @@ class AsyncBlocksClient:
330
345
  project_id: typing.Optional[str] = OMIT,
331
346
  name: typing.Optional[str] = OMIT,
332
347
  is_template: typing.Optional[bool] = OMIT,
348
+ base_template_id: typing.Optional[str] = OMIT,
349
+ deployment_id: typing.Optional[str] = OMIT,
350
+ entity_id: typing.Optional[str] = OMIT,
333
351
  preserve_on_migration: typing.Optional[bool] = OMIT,
334
352
  label: typing.Optional[str] = OMIT,
335
353
  read_only: typing.Optional[bool] = OMIT,
@@ -356,11 +374,20 @@ class AsyncBlocksClient:
356
374
  The associated project id.
357
375
 
358
376
  name : typing.Optional[str]
359
- Name of the block if it is a template.
377
+ The id of the template.
360
378
 
361
379
  is_template : typing.Optional[bool]
362
380
  Whether the block is a template (e.g. saved human/persona options).
363
381
 
382
+ base_template_id : typing.Optional[str]
383
+ The base template id of the block.
384
+
385
+ deployment_id : typing.Optional[str]
386
+ The id of the deployment.
387
+
388
+ entity_id : typing.Optional[str]
389
+ The id of the entity within the template.
390
+
364
391
  preserve_on_migration : typing.Optional[bool]
365
392
  Preserve the block on template migration.
366
393
 
@@ -413,6 +440,9 @@ class AsyncBlocksClient:
413
440
  project_id=project_id,
414
441
  name=name,
415
442
  is_template=is_template,
443
+ base_template_id=base_template_id,
444
+ deployment_id=deployment_id,
445
+ entity_id=entity_id,
416
446
  preserve_on_migration=preserve_on_migration,
417
447
  label=label,
418
448
  read_only=read_only,
@@ -83,6 +83,9 @@ class RawBlocksClient:
83
83
  project_id: typing.Optional[str] = OMIT,
84
84
  name: typing.Optional[str] = OMIT,
85
85
  is_template: typing.Optional[bool] = OMIT,
86
+ base_template_id: typing.Optional[str] = OMIT,
87
+ deployment_id: typing.Optional[str] = OMIT,
88
+ entity_id: typing.Optional[str] = OMIT,
86
89
  preserve_on_migration: typing.Optional[bool] = OMIT,
87
90
  label: typing.Optional[str] = OMIT,
88
91
  read_only: typing.Optional[bool] = OMIT,
@@ -109,11 +112,20 @@ class RawBlocksClient:
109
112
  The associated project id.
110
113
 
111
114
  name : typing.Optional[str]
112
- Name of the block if it is a template.
115
+ The id of the template.
113
116
 
114
117
  is_template : typing.Optional[bool]
115
118
  Whether the block is a template (e.g. saved human/persona options).
116
119
 
120
+ base_template_id : typing.Optional[str]
121
+ The base template id of the block.
122
+
123
+ deployment_id : typing.Optional[str]
124
+ The id of the deployment.
125
+
126
+ entity_id : typing.Optional[str]
127
+ The id of the entity within the template.
128
+
117
129
  preserve_on_migration : typing.Optional[bool]
118
130
  Preserve the block on template migration.
119
131
 
@@ -146,6 +158,9 @@ class RawBlocksClient:
146
158
  "project_id": project_id,
147
159
  "name": name,
148
160
  "is_template": is_template,
161
+ "base_template_id": base_template_id,
162
+ "deployment_id": deployment_id,
163
+ "entity_id": entity_id,
149
164
  "preserve_on_migration": preserve_on_migration,
150
165
  "label": label,
151
166
  "read_only": read_only,
@@ -401,6 +416,9 @@ class AsyncRawBlocksClient:
401
416
  project_id: typing.Optional[str] = OMIT,
402
417
  name: typing.Optional[str] = OMIT,
403
418
  is_template: typing.Optional[bool] = OMIT,
419
+ base_template_id: typing.Optional[str] = OMIT,
420
+ deployment_id: typing.Optional[str] = OMIT,
421
+ entity_id: typing.Optional[str] = OMIT,
404
422
  preserve_on_migration: typing.Optional[bool] = OMIT,
405
423
  label: typing.Optional[str] = OMIT,
406
424
  read_only: typing.Optional[bool] = OMIT,
@@ -427,11 +445,20 @@ class AsyncRawBlocksClient:
427
445
  The associated project id.
428
446
 
429
447
  name : typing.Optional[str]
430
- Name of the block if it is a template.
448
+ The id of the template.
431
449
 
432
450
  is_template : typing.Optional[bool]
433
451
  Whether the block is a template (e.g. saved human/persona options).
434
452
 
453
+ base_template_id : typing.Optional[str]
454
+ The base template id of the block.
455
+
456
+ deployment_id : typing.Optional[str]
457
+ The id of the deployment.
458
+
459
+ entity_id : typing.Optional[str]
460
+ The id of the entity within the template.
461
+
435
462
  preserve_on_migration : typing.Optional[bool]
436
463
  Preserve the block on template migration.
437
464
 
@@ -464,6 +491,9 @@ class AsyncRawBlocksClient:
464
491
  "project_id": project_id,
465
492
  "name": name,
466
493
  "is_template": is_template,
494
+ "base_template_id": base_template_id,
495
+ "deployment_id": deployment_id,
496
+ "entity_id": entity_id,
467
497
  "preserve_on_migration": preserve_on_migration,
468
498
  "label": label,
469
499
  "read_only": read_only,
@@ -143,6 +143,9 @@ class BlocksClient:
143
143
  project_id: typing.Optional[str] = OMIT,
144
144
  name: typing.Optional[str] = OMIT,
145
145
  is_template: typing.Optional[bool] = OMIT,
146
+ base_template_id: typing.Optional[str] = OMIT,
147
+ deployment_id: typing.Optional[str] = OMIT,
148
+ entity_id: typing.Optional[str] = OMIT,
146
149
  preserve_on_migration: typing.Optional[bool] = OMIT,
147
150
  read_only: typing.Optional[bool] = OMIT,
148
151
  description: typing.Optional[str] = OMIT,
@@ -165,10 +168,19 @@ class BlocksClient:
165
168
  The associated project id.
166
169
 
167
170
  name : typing.Optional[str]
168
- Name of the block if it is a template.
171
+ The id of the template.
169
172
 
170
173
  is_template : typing.Optional[bool]
171
174
 
175
+ base_template_id : typing.Optional[str]
176
+ The base template id of the block.
177
+
178
+ deployment_id : typing.Optional[str]
179
+ The id of the deployment.
180
+
181
+ entity_id : typing.Optional[str]
182
+ The id of the entity within the template.
183
+
172
184
  preserve_on_migration : typing.Optional[bool]
173
185
  Preserve the block on template migration.
174
186
 
@@ -209,6 +221,9 @@ class BlocksClient:
209
221
  project_id=project_id,
210
222
  name=name,
211
223
  is_template=is_template,
224
+ base_template_id=base_template_id,
225
+ deployment_id=deployment_id,
226
+ entity_id=entity_id,
212
227
  preserve_on_migration=preserve_on_migration,
213
228
  read_only=read_only,
214
229
  description=description,
@@ -313,6 +328,9 @@ class BlocksClient:
313
328
  project_id: typing.Optional[str] = OMIT,
314
329
  name: typing.Optional[str] = OMIT,
315
330
  is_template: typing.Optional[bool] = OMIT,
331
+ base_template_id: typing.Optional[str] = OMIT,
332
+ deployment_id: typing.Optional[str] = OMIT,
333
+ entity_id: typing.Optional[str] = OMIT,
316
334
  preserve_on_migration: typing.Optional[bool] = OMIT,
317
335
  label: typing.Optional[str] = OMIT,
318
336
  read_only: typing.Optional[bool] = OMIT,
@@ -335,11 +353,20 @@ class BlocksClient:
335
353
  The associated project id.
336
354
 
337
355
  name : typing.Optional[str]
338
- Name of the block if it is a template.
356
+ The id of the template.
339
357
 
340
358
  is_template : typing.Optional[bool]
341
359
  Whether the block is a template (e.g. saved human/persona options).
342
360
 
361
+ base_template_id : typing.Optional[str]
362
+ The base template id of the block.
363
+
364
+ deployment_id : typing.Optional[str]
365
+ The id of the deployment.
366
+
367
+ entity_id : typing.Optional[str]
368
+ The id of the entity within the template.
369
+
343
370
  preserve_on_migration : typing.Optional[bool]
344
371
  Preserve the block on template migration.
345
372
 
@@ -382,6 +409,9 @@ class BlocksClient:
382
409
  project_id=project_id,
383
410
  name=name,
384
411
  is_template=is_template,
412
+ base_template_id=base_template_id,
413
+ deployment_id=deployment_id,
414
+ entity_id=entity_id,
385
415
  preserve_on_migration=preserve_on_migration,
386
416
  label=label,
387
417
  read_only=read_only,
@@ -531,6 +561,9 @@ class AsyncBlocksClient:
531
561
  project_id: typing.Optional[str] = OMIT,
532
562
  name: typing.Optional[str] = OMIT,
533
563
  is_template: typing.Optional[bool] = OMIT,
564
+ base_template_id: typing.Optional[str] = OMIT,
565
+ deployment_id: typing.Optional[str] = OMIT,
566
+ entity_id: typing.Optional[str] = OMIT,
534
567
  preserve_on_migration: typing.Optional[bool] = OMIT,
535
568
  read_only: typing.Optional[bool] = OMIT,
536
569
  description: typing.Optional[str] = OMIT,
@@ -553,10 +586,19 @@ class AsyncBlocksClient:
553
586
  The associated project id.
554
587
 
555
588
  name : typing.Optional[str]
556
- Name of the block if it is a template.
589
+ The id of the template.
557
590
 
558
591
  is_template : typing.Optional[bool]
559
592
 
593
+ base_template_id : typing.Optional[str]
594
+ The base template id of the block.
595
+
596
+ deployment_id : typing.Optional[str]
597
+ The id of the deployment.
598
+
599
+ entity_id : typing.Optional[str]
600
+ The id of the entity within the template.
601
+
560
602
  preserve_on_migration : typing.Optional[bool]
561
603
  Preserve the block on template migration.
562
604
 
@@ -605,6 +647,9 @@ class AsyncBlocksClient:
605
647
  project_id=project_id,
606
648
  name=name,
607
649
  is_template=is_template,
650
+ base_template_id=base_template_id,
651
+ deployment_id=deployment_id,
652
+ entity_id=entity_id,
608
653
  preserve_on_migration=preserve_on_migration,
609
654
  read_only=read_only,
610
655
  description=description,
@@ -733,6 +778,9 @@ class AsyncBlocksClient:
733
778
  project_id: typing.Optional[str] = OMIT,
734
779
  name: typing.Optional[str] = OMIT,
735
780
  is_template: typing.Optional[bool] = OMIT,
781
+ base_template_id: typing.Optional[str] = OMIT,
782
+ deployment_id: typing.Optional[str] = OMIT,
783
+ entity_id: typing.Optional[str] = OMIT,
736
784
  preserve_on_migration: typing.Optional[bool] = OMIT,
737
785
  label: typing.Optional[str] = OMIT,
738
786
  read_only: typing.Optional[bool] = OMIT,
@@ -755,11 +803,20 @@ class AsyncBlocksClient:
755
803
  The associated project id.
756
804
 
757
805
  name : typing.Optional[str]
758
- Name of the block if it is a template.
806
+ The id of the template.
759
807
 
760
808
  is_template : typing.Optional[bool]
761
809
  Whether the block is a template (e.g. saved human/persona options).
762
810
 
811
+ base_template_id : typing.Optional[str]
812
+ The base template id of the block.
813
+
814
+ deployment_id : typing.Optional[str]
815
+ The id of the deployment.
816
+
817
+ entity_id : typing.Optional[str]
818
+ The id of the entity within the template.
819
+
763
820
  preserve_on_migration : typing.Optional[bool]
764
821
  Preserve the block on template migration.
765
822
 
@@ -810,6 +867,9 @@ class AsyncBlocksClient:
810
867
  project_id=project_id,
811
868
  name=name,
812
869
  is_template=is_template,
870
+ base_template_id=base_template_id,
871
+ deployment_id=deployment_id,
872
+ entity_id=entity_id,
813
873
  preserve_on_migration=preserve_on_migration,
814
874
  label=label,
815
875
  read_only=read_only,
@@ -154,6 +154,9 @@ class RawBlocksClient:
154
154
  project_id: typing.Optional[str] = OMIT,
155
155
  name: typing.Optional[str] = OMIT,
156
156
  is_template: typing.Optional[bool] = OMIT,
157
+ base_template_id: typing.Optional[str] = OMIT,
158
+ deployment_id: typing.Optional[str] = OMIT,
159
+ entity_id: typing.Optional[str] = OMIT,
157
160
  preserve_on_migration: typing.Optional[bool] = OMIT,
158
161
  read_only: typing.Optional[bool] = OMIT,
159
162
  description: typing.Optional[str] = OMIT,
@@ -176,10 +179,19 @@ class RawBlocksClient:
176
179
  The associated project id.
177
180
 
178
181
  name : typing.Optional[str]
179
- Name of the block if it is a template.
182
+ The id of the template.
180
183
 
181
184
  is_template : typing.Optional[bool]
182
185
 
186
+ base_template_id : typing.Optional[str]
187
+ The base template id of the block.
188
+
189
+ deployment_id : typing.Optional[str]
190
+ The id of the deployment.
191
+
192
+ entity_id : typing.Optional[str]
193
+ The id of the entity within the template.
194
+
183
195
  preserve_on_migration : typing.Optional[bool]
184
196
  Preserve the block on template migration.
185
197
 
@@ -209,6 +221,9 @@ class RawBlocksClient:
209
221
  "project_id": project_id,
210
222
  "name": name,
211
223
  "is_template": is_template,
224
+ "base_template_id": base_template_id,
225
+ "deployment_id": deployment_id,
226
+ "entity_id": entity_id,
212
227
  "preserve_on_migration": preserve_on_migration,
213
228
  "label": label,
214
229
  "read_only": read_only,
@@ -397,6 +412,9 @@ class RawBlocksClient:
397
412
  project_id: typing.Optional[str] = OMIT,
398
413
  name: typing.Optional[str] = OMIT,
399
414
  is_template: typing.Optional[bool] = OMIT,
415
+ base_template_id: typing.Optional[str] = OMIT,
416
+ deployment_id: typing.Optional[str] = OMIT,
417
+ entity_id: typing.Optional[str] = OMIT,
400
418
  preserve_on_migration: typing.Optional[bool] = OMIT,
401
419
  label: typing.Optional[str] = OMIT,
402
420
  read_only: typing.Optional[bool] = OMIT,
@@ -419,11 +437,20 @@ class RawBlocksClient:
419
437
  The associated project id.
420
438
 
421
439
  name : typing.Optional[str]
422
- Name of the block if it is a template.
440
+ The id of the template.
423
441
 
424
442
  is_template : typing.Optional[bool]
425
443
  Whether the block is a template (e.g. saved human/persona options).
426
444
 
445
+ base_template_id : typing.Optional[str]
446
+ The base template id of the block.
447
+
448
+ deployment_id : typing.Optional[str]
449
+ The id of the deployment.
450
+
451
+ entity_id : typing.Optional[str]
452
+ The id of the entity within the template.
453
+
427
454
  preserve_on_migration : typing.Optional[bool]
428
455
  Preserve the block on template migration.
429
456
 
@@ -456,6 +483,9 @@ class RawBlocksClient:
456
483
  "project_id": project_id,
457
484
  "name": name,
458
485
  "is_template": is_template,
486
+ "base_template_id": base_template_id,
487
+ "deployment_id": deployment_id,
488
+ "entity_id": entity_id,
459
489
  "preserve_on_migration": preserve_on_migration,
460
490
  "label": label,
461
491
  "read_only": read_only,
@@ -632,6 +662,9 @@ class AsyncRawBlocksClient:
632
662
  project_id: typing.Optional[str] = OMIT,
633
663
  name: typing.Optional[str] = OMIT,
634
664
  is_template: typing.Optional[bool] = OMIT,
665
+ base_template_id: typing.Optional[str] = OMIT,
666
+ deployment_id: typing.Optional[str] = OMIT,
667
+ entity_id: typing.Optional[str] = OMIT,
635
668
  preserve_on_migration: typing.Optional[bool] = OMIT,
636
669
  read_only: typing.Optional[bool] = OMIT,
637
670
  description: typing.Optional[str] = OMIT,
@@ -654,10 +687,19 @@ class AsyncRawBlocksClient:
654
687
  The associated project id.
655
688
 
656
689
  name : typing.Optional[str]
657
- Name of the block if it is a template.
690
+ The id of the template.
658
691
 
659
692
  is_template : typing.Optional[bool]
660
693
 
694
+ base_template_id : typing.Optional[str]
695
+ The base template id of the block.
696
+
697
+ deployment_id : typing.Optional[str]
698
+ The id of the deployment.
699
+
700
+ entity_id : typing.Optional[str]
701
+ The id of the entity within the template.
702
+
661
703
  preserve_on_migration : typing.Optional[bool]
662
704
  Preserve the block on template migration.
663
705
 
@@ -687,6 +729,9 @@ class AsyncRawBlocksClient:
687
729
  "project_id": project_id,
688
730
  "name": name,
689
731
  "is_template": is_template,
732
+ "base_template_id": base_template_id,
733
+ "deployment_id": deployment_id,
734
+ "entity_id": entity_id,
690
735
  "preserve_on_migration": preserve_on_migration,
691
736
  "label": label,
692
737
  "read_only": read_only,
@@ -875,6 +920,9 @@ class AsyncRawBlocksClient:
875
920
  project_id: typing.Optional[str] = OMIT,
876
921
  name: typing.Optional[str] = OMIT,
877
922
  is_template: typing.Optional[bool] = OMIT,
923
+ base_template_id: typing.Optional[str] = OMIT,
924
+ deployment_id: typing.Optional[str] = OMIT,
925
+ entity_id: typing.Optional[str] = OMIT,
878
926
  preserve_on_migration: typing.Optional[bool] = OMIT,
879
927
  label: typing.Optional[str] = OMIT,
880
928
  read_only: typing.Optional[bool] = OMIT,
@@ -897,11 +945,20 @@ class AsyncRawBlocksClient:
897
945
  The associated project id.
898
946
 
899
947
  name : typing.Optional[str]
900
- Name of the block if it is a template.
948
+ The id of the template.
901
949
 
902
950
  is_template : typing.Optional[bool]
903
951
  Whether the block is a template (e.g. saved human/persona options).
904
952
 
953
+ base_template_id : typing.Optional[str]
954
+ The base template id of the block.
955
+
956
+ deployment_id : typing.Optional[str]
957
+ The id of the deployment.
958
+
959
+ entity_id : typing.Optional[str]
960
+ The id of the entity within the template.
961
+
905
962
  preserve_on_migration : typing.Optional[bool]
906
963
  Preserve the block on template migration.
907
964
 
@@ -934,6 +991,9 @@ class AsyncRawBlocksClient:
934
991
  "project_id": project_id,
935
992
  "name": name,
936
993
  "is_template": is_template,
994
+ "base_template_id": base_template_id,
995
+ "deployment_id": deployment_id,
996
+ "entity_id": entity_id,
937
997
  "preserve_on_migration": preserve_on_migration,
938
998
  "label": label,
939
999
  "read_only": read_only,
@@ -24,10 +24,10 @@ class BaseClientWrapper:
24
24
 
25
25
  def get_headers(self) -> typing.Dict[str, str]:
26
26
  headers: typing.Dict[str, str] = {
27
- "User-Agent": "letta-client/0.1.284",
27
+ "User-Agent": "letta-client/0.1.286",
28
28
  "X-Fern-Language": "Python",
29
29
  "X-Fern-SDK-Name": "letta-client",
30
- "X-Fern-SDK-Version": "0.1.284",
30
+ "X-Fern-SDK-Version": "0.1.286",
31
31
  **(self.get_custom_headers() or {}),
32
32
  }
33
33
  if self._project is not None:
@@ -25,7 +25,7 @@ class TelemetryClient:
25
25
 
26
26
  def retrieve_provider_trace(
27
27
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
28
- ) -> ProviderTrace:
28
+ ) -> typing.Optional[ProviderTrace]:
29
29
  """
30
30
  Parameters
31
31
  ----------
@@ -36,7 +36,7 @@ class TelemetryClient:
36
36
 
37
37
  Returns
38
38
  -------
39
- ProviderTrace
39
+ typing.Optional[ProviderTrace]
40
40
  Successful Response
41
41
 
42
42
  Examples
@@ -72,7 +72,7 @@ class AsyncTelemetryClient:
72
72
 
73
73
  async def retrieve_provider_trace(
74
74
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
75
- ) -> ProviderTrace:
75
+ ) -> typing.Optional[ProviderTrace]:
76
76
  """
77
77
  Parameters
78
78
  ----------
@@ -83,7 +83,7 @@ class AsyncTelemetryClient:
83
83
 
84
84
  Returns
85
85
  -------
86
- ProviderTrace
86
+ typing.Optional[ProviderTrace]
87
87
  Successful Response
88
88
 
89
89
  Examples
@@ -20,7 +20,7 @@ class RawTelemetryClient:
20
20
 
21
21
  def retrieve_provider_trace(
22
22
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
23
- ) -> HttpResponse[ProviderTrace]:
23
+ ) -> HttpResponse[typing.Optional[ProviderTrace]]:
24
24
  """
25
25
  Parameters
26
26
  ----------
@@ -31,7 +31,7 @@ class RawTelemetryClient:
31
31
 
32
32
  Returns
33
33
  -------
34
- HttpResponse[ProviderTrace]
34
+ HttpResponse[typing.Optional[ProviderTrace]]
35
35
  Successful Response
36
36
  """
37
37
  _response = self._client_wrapper.httpx_client.request(
@@ -40,11 +40,13 @@ class RawTelemetryClient:
40
40
  request_options=request_options,
41
41
  )
42
42
  try:
43
+ if _response is None or not _response.text.strip():
44
+ return HttpResponse(response=_response, data=None)
43
45
  if 200 <= _response.status_code < 300:
44
46
  _data = typing.cast(
45
- ProviderTrace,
47
+ typing.Optional[ProviderTrace],
46
48
  construct_type(
47
- type_=ProviderTrace, # type: ignore
49
+ type_=typing.Optional[ProviderTrace], # type: ignore
48
50
  object_=_response.json(),
49
51
  ),
50
52
  )
@@ -72,7 +74,7 @@ class AsyncRawTelemetryClient:
72
74
 
73
75
  async def retrieve_provider_trace(
74
76
  self, step_id: str, *, request_options: typing.Optional[RequestOptions] = None
75
- ) -> AsyncHttpResponse[ProviderTrace]:
77
+ ) -> AsyncHttpResponse[typing.Optional[ProviderTrace]]:
76
78
  """
77
79
  Parameters
78
80
  ----------
@@ -83,7 +85,7 @@ class AsyncRawTelemetryClient:
83
85
 
84
86
  Returns
85
87
  -------
86
- AsyncHttpResponse[ProviderTrace]
88
+ AsyncHttpResponse[typing.Optional[ProviderTrace]]
87
89
  Successful Response
88
90
  """
89
91
  _response = await self._client_wrapper.httpx_client.request(
@@ -92,11 +94,13 @@ class AsyncRawTelemetryClient:
92
94
  request_options=request_options,
93
95
  )
94
96
  try:
97
+ if _response is None or not _response.text.strip():
98
+ return AsyncHttpResponse(response=_response, data=None)
95
99
  if 200 <= _response.status_code < 300:
96
100
  _data = typing.cast(
97
- ProviderTrace,
101
+ typing.Optional[ProviderTrace],
98
102
  construct_type(
99
- type_=ProviderTrace, # type: ignore
103
+ type_=typing.Optional[ProviderTrace], # type: ignore
100
104
  object_=_response.json(),
101
105
  ),
102
106
  )
@@ -151,6 +151,16 @@ class AgentState(UncheckedBaseModel):
151
151
  The base template id of the agent.
152
152
  """
153
153
 
154
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
155
+ """
156
+ The id of the deployment.
157
+ """
158
+
159
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
160
+ """
161
+ The id of the entity within the template.
162
+ """
163
+
154
164
  identity_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
155
165
  """
156
166
  The ids of the identities associated with this agent.
@@ -40,7 +40,7 @@ class Block(UncheckedBaseModel):
40
40
 
41
41
  name: typing.Optional[str] = pydantic.Field(default=None)
42
42
  """
43
- Name of the block if it is a template.
43
+ The id of the template.
44
44
  """
45
45
 
46
46
  is_template: typing.Optional[bool] = pydantic.Field(default=None)
@@ -48,6 +48,21 @@ class Block(UncheckedBaseModel):
48
48
  Whether the block is a template (e.g. saved human/persona options).
49
49
  """
50
50
 
51
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
52
+ """
53
+ The base template id of the block.
54
+ """
55
+
56
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
57
+ """
58
+ The id of the deployment.
59
+ """
60
+
61
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
62
+ """
63
+ The id of the entity within the template.
64
+ """
65
+
51
66
  preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
52
67
  """
53
68
  Preserve the block on template migration.
@@ -29,10 +29,25 @@ class BlockSchema(UncheckedBaseModel):
29
29
 
30
30
  name: typing.Optional[str] = pydantic.Field(default=None)
31
31
  """
32
- Name of the block if it is a template.
32
+ The id of the template.
33
33
  """
34
34
 
35
35
  is_template: typing.Optional[bool] = None
36
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
37
+ """
38
+ The base template id of the block.
39
+ """
40
+
41
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
42
+ """
43
+ The id of the deployment.
44
+ """
45
+
46
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
47
+ """
48
+ The id of the entity within the template.
49
+ """
50
+
36
51
  preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
37
52
  """
38
53
  Preserve the block on template migration.
@@ -29,7 +29,7 @@ class BlockUpdate(UncheckedBaseModel):
29
29
 
30
30
  name: typing.Optional[str] = pydantic.Field(default=None)
31
31
  """
32
- Name of the block if it is a template.
32
+ The id of the template.
33
33
  """
34
34
 
35
35
  is_template: typing.Optional[bool] = pydantic.Field(default=None)
@@ -37,6 +37,21 @@ class BlockUpdate(UncheckedBaseModel):
37
37
  Whether the block is a template (e.g. saved human/persona options).
38
38
  """
39
39
 
40
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
41
+ """
42
+ The base template id of the block.
43
+ """
44
+
45
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
46
+ """
47
+ The id of the deployment.
48
+ """
49
+
50
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
51
+ """
52
+ The id of the entity within the template.
53
+ """
54
+
40
55
  preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
41
56
  """
42
57
  Preserve the block on template migration.
@@ -29,10 +29,25 @@ class CreateBlock(UncheckedBaseModel):
29
29
 
30
30
  name: typing.Optional[str] = pydantic.Field(default=None)
31
31
  """
32
- Name of the block if it is a template.
32
+ The id of the template.
33
33
  """
34
34
 
35
35
  is_template: typing.Optional[bool] = None
36
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
37
+ """
38
+ The base template id of the block.
39
+ """
40
+
41
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
42
+ """
43
+ The id of the deployment.
44
+ """
45
+
46
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
47
+ """
48
+ The id of the entity within the template.
49
+ """
50
+
36
51
  preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
37
52
  """
38
53
  Preserve the block on template migration.
@@ -26,7 +26,7 @@ class FileBlock(UncheckedBaseModel):
26
26
 
27
27
  name: typing.Optional[str] = pydantic.Field(default=None)
28
28
  """
29
- Name of the block if it is a template.
29
+ The id of the template.
30
30
  """
31
31
 
32
32
  is_template: typing.Optional[bool] = pydantic.Field(default=None)
@@ -34,6 +34,21 @@ class FileBlock(UncheckedBaseModel):
34
34
  Whether the block is a template (e.g. saved human/persona options).
35
35
  """
36
36
 
37
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
38
+ """
39
+ The base template id of the block.
40
+ """
41
+
42
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
43
+ """
44
+ The id of the deployment.
45
+ """
46
+
47
+ entity_id: typing.Optional[str] = pydantic.Field(default=None)
48
+ """
49
+ The id of the entity within the template.
50
+ """
51
+
37
52
  preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
38
53
  """
39
54
  Preserve the block on template migration.
@@ -34,6 +34,21 @@ class Group(UncheckedBaseModel):
34
34
  The associated project id.
35
35
  """
36
36
 
37
+ template_id: typing.Optional[str] = pydantic.Field(default=None)
38
+ """
39
+ The id of the template.
40
+ """
41
+
42
+ base_template_id: typing.Optional[str] = pydantic.Field(default=None)
43
+ """
44
+ The base template id.
45
+ """
46
+
47
+ deployment_id: typing.Optional[str] = pydantic.Field(default=None)
48
+ """
49
+ The id of the deployment.
50
+ """
51
+
37
52
  shared_block_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
38
53
  """
39
54
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.284
3
+ Version: 0.1.286
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,8 +1,8 @@
1
1
  letta_client/__init__.py,sha256=IOEV0YhJBIgcyIxRUo25VJa1JPje1jkE1hcteLkQK8I,26481
2
2
  letta_client/agents/__init__.py,sha256=mrreK8Hk5PitAA7gomrc2g9EW9idazMGLDTHBAPrRPw,1912
3
3
  letta_client/agents/blocks/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
4
- letta_client/agents/blocks/client.py,sha256=Akx-1SYEXkmdtLtytPtdFNhVts8JkjC2aMQnnWgd8Ug,14735
5
- letta_client/agents/blocks/raw_client.py,sha256=7tdlieWtGyMe1G5Ne9Rcujvr43DbD4K3hVJ7eiJNuFo,24454
4
+ letta_client/agents/blocks/client.py,sha256=CUwVh5FHgD0YP3VNhUrWdkedMWk49yH3IiDD589AWEM,15809
5
+ letta_client/agents/blocks/raw_client.py,sha256=Cx_85c78oqIOPZIPfCOsIa8WOL2EUNRwXJRGbOqn2AA,25570
6
6
  letta_client/agents/client.py,sha256=VUl8uKNhoX2DAXSlW_dVdvoqpvoHglYDtp2sIB-Ajxk,73248
7
7
  letta_client/agents/context/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
8
8
  letta_client/agents/context/client.py,sha256=fhpJFWRs6INGreRyEw9gsFnlUWR48vIHbN_jVIHIBrw,3052
@@ -69,8 +69,8 @@ letta_client/blocks/__init__.py,sha256=OK5uayItv4zSbrTkGOcJTg_18SteMmhDkY9W1wXAB
69
69
  letta_client/blocks/agents/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
70
70
  letta_client/blocks/agents/client.py,sha256=b03IICHfrBToWFjSsfp_ZUN0RBJIAZh0zkV2PVuYbzg,4143
71
71
  letta_client/blocks/agents/raw_client.py,sha256=aiatfKp8iVtXRL1aSpxoCW_JhWljqLRRQtRz964vGMA,5936
72
- letta_client/blocks/client.py,sha256=l8mTUmh97v4kJvl1sAPjTt1W2ueA0zvzwk0OoYV9RLE,25218
73
- letta_client/blocks/raw_client.py,sha256=jgYuWWae5RvIdIfPnnesCMpwiE244rU6g2l5rShK_o8,37649
72
+ letta_client/blocks/client.py,sha256=8Oqr5Hj97ZIlLIy86NctYECMJHlltvflfcB3EafLJRY,27366
73
+ letta_client/blocks/raw_client.py,sha256=P-cTr0gKJjZLHKJyV3ndg7OsAq66_folZ0L7is7OOKs,39881
74
74
  letta_client/client.py,sha256=iXqKTuQ0F9jIjkTwD73apLlLQqUF1IF6V_PhenY_CJo,22470
75
75
  letta_client/client_side_access_tokens/__init__.py,sha256=28nrPumub-n2rjse3XCDcwjN6gRZveEh-8CC1PQsdo8,1581
76
76
  letta_client/client_side_access_tokens/client.py,sha256=8JRdcMMSWVFpf6dd54tX7wSSBkjpejzveqiGGRddz40,11051
@@ -89,7 +89,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_list_clie
89
89
  letta_client/client_side_access_tokens/types/client_side_access_tokens_list_client_side_access_tokens_response_tokens_item_policy_data_item_access_item.py,sha256=kNHfEWFl7u71Pu8NPqutod0a2NXfvq8il05Hqm0iBB4,284
90
90
  letta_client/core/__init__.py,sha256=tpn7rjb6C2UIkYZYIqdrNpI7Yax2jw88sXh2baxaxAI,1715
91
91
  letta_client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
92
- letta_client/core/client_wrapper.py,sha256=TKeosu9kI14Gv4VBIinenJ2JYhrJa3CED7XOBU4vkaM,2776
92
+ letta_client/core/client_wrapper.py,sha256=GMJ4nx4vyTRdmYsb07pdJmLK6M9xpdN6gmiUZs1yRwQ,2776
93
93
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
94
94
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
95
95
  letta_client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
@@ -197,8 +197,8 @@ letta_client/tags/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4
197
197
  letta_client/tags/client.py,sha256=dzxJ8H9OGvKQ6g7uwXsVS77DFM5XkQCcFxRk159N9XQ,3367
198
198
  letta_client/tags/raw_client.py,sha256=DQXEgzOuCygBMbzX63Sc9UwfueALa5rUHH3c8jb4Okw,5219
199
199
  letta_client/telemetry/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
200
- letta_client/telemetry/client.py,sha256=N5bjIcLVT9FL5nGTbLxlNOOytXQlRWquyyuoWjPZS_g,2974
201
- letta_client/telemetry/raw_client.py,sha256=305pp86KAnZRtim9lrSyxEA0d8PyC8ZWuFNZgaNs8VA,4559
200
+ letta_client/telemetry/client.py,sha256=cHMxfLAFjbT-XLtG0o04tGMaRnabrPuixbfHV3HFitE,3042
201
+ letta_client/telemetry/raw_client.py,sha256=Zxs3KkYCfs6M1b4vJbzHunZs7SzSiYAiy4Nb7tFAKC8,4962
202
202
  letta_client/templates/__init__.py,sha256=oSoLLxT2-ptOxuKI6kPrrD9cqkgU2BzhlR8O-Xuh3VA,3736
203
203
  letta_client/templates/agents/__init__.py,sha256=Nb3AeDuJhSba_DbgHKuCUY1b3PT1jj3-YMJ7uW7RIAk,393
204
204
  letta_client/templates/agents/client.py,sha256=HCCEZZ3b0tGonxDNbiPuXadoZu_x1G_OtBdTHRBpG4M,7088
@@ -260,7 +260,7 @@ letta_client/types/action_response_model.py,sha256=LcML150OvsKimVV3sP4jSFh8pVxQX
260
260
  letta_client/types/agent_environment_variable.py,sha256=z9nGJdnyrLGxYaIqdD0a73K3Euemvb87Bpe9YmvXPO8,1699
261
261
  letta_client/types/agent_file_attachment.py,sha256=J8zj7RkNkKr2ikgY1nbtcMNiBzZchwo_fh4j6iySqF4,1807
262
262
  letta_client/types/agent_file_schema.py,sha256=yD3QqRVWQr7T9M7OXL9KWNCP9BiR9wZC48xKnGzqsxQ,2212
263
- letta_client/types/agent_state.py,sha256=_8ulaUsdrU3ONYFP8chKcKbgnkmwroQVnle99j0CxlY,6675
263
+ letta_client/types/agent_state.py,sha256=gnAIpQvmKbkJoOJNp6Udj2Z8SCmER9-UPurnCKvUapw,6923
264
264
  letta_client/types/agent_state_response_format.py,sha256=EsaiTnlxRPkGPBc67DCsVAARsGubFQM7Xbs12jtsvWw,378
265
265
  letta_client/types/agent_state_tool_rules_item.py,sha256=6JVNfJwv-Mw6aOV-4KTX6ZP0dB-GYf2ZKCaWYsmxUSc,729
266
266
  letta_client/types/agent_type.py,sha256=4_JSgy0zfiqtUcKh5XMfRDYaablo4RuzUmIstRZ2FsI,370
@@ -277,9 +277,9 @@ letta_client/types/bad_request_error_body.py,sha256=FXRnHlblilUaHvShh1ia8TgLy5Z1
277
277
  letta_client/types/base_64_image.py,sha256=Ta6vR3od9sYQGrWgOSrFq7cS0-mm6cGTa2gWdFpSmo0,965
278
278
  letta_client/types/base_tool_rule_schema.py,sha256=e2pHhj1fdWmuBfkyD_MODwCQnM_MrN6LL2CEx0SqKvY,583
279
279
  letta_client/types/batch_job.py,sha256=TvfC7eXlkRgWaVp0jBE72uUEYsyNacgB1dSv-KaTfhc,2631
280
- letta_client/types/block.py,sha256=V47iVJFFeXhaH263OCM2iVptGftlc7AoZtGIY7qb5Yc,3302
281
- letta_client/types/block_schema.py,sha256=-kiDh63tyN2tai9m2f_FJE_afpDMaBTvBjYm4t0zK8c,1813
282
- letta_client/types/block_update.py,sha256=f2ClrX0b5iPfoxmRZ5IVGK039VRDYqe0UXYGjLy3Eow,1898
280
+ letta_client/types/block.py,sha256=e8AZb-7kW-i4o33CfEDwv7Fg8_K-O8HdKQmByEXCocM,3665
281
+ letta_client/types/block_schema.py,sha256=Dqe6azuYU-Cm3WkRnbF7wJ-zJMNsCNHkroa4sFNnu_U,2176
282
+ letta_client/types/block_update.py,sha256=2s-1AXdysWzseuXb5ATtWLz8zDqPNbZc8UvwHn5p2j4,2261
283
283
  letta_client/types/body_export_agent_serialized.py,sha256=KPLEf_PQpSRWdjDF6etcdtzo4WfHmQOdXwY7SktoDhM,880
284
284
  letta_client/types/chat_completion_allowed_tool_choice_param.py,sha256=CrdImk8trUU-LFi-MmzvfufqcGcbjmcnosJ6LLbjHBU,760
285
285
  letta_client/types/chat_completion_allowed_tools_param.py,sha256=CgzJpK31hM_3CwdbVNG1uvH-urRNL5xsgdKbSm2csMI,769
@@ -351,7 +351,7 @@ letta_client/types/conflict_error_body.py,sha256=XBgxHQyzZ2XDEaR9xZl_mGBuSnXeJUi
351
351
  letta_client/types/context_window_overview.py,sha256=1rWCBJvgJkkyMVPjgbhx1y26WbRScMORK8PgVvFiv8s,2816
352
352
  letta_client/types/continue_tool_rule.py,sha256=NsinYb8PMKFnBmQALOH_AzQ4c5yKxiqw7b7SxVWPXsE,1036
353
353
  letta_client/types/core_memory_block_schema.py,sha256=5_k2XFEsPDwldGfPdzHW3j_7IJOBqTVscq89lXTD4d8,985
354
- letta_client/types/create_block.py,sha256=8Jxsr3HIDJgz2-pTKXrfOJzE8p9DIFl7J8ZNGGD7ubw,1679
354
+ letta_client/types/create_block.py,sha256=x8fe_zuC15MJfcosSpBeSZ9uTl0ZmnV8POc906VJH4k,2042
355
355
  letta_client/types/custom_format_grammar.py,sha256=l16BZsFb3wPxhl-S6Q93RCBajoActOSQg6PIjTlAAuU,709
356
356
  letta_client/types/custom_format_grammar_grammar.py,sha256=8skLshQW2sHV41OJrdTJX1SRbA5rjRGrqAbetf4YK14,706
357
357
  letta_client/types/custom_format_grammar_grammar_syntax.py,sha256=8xsJRq0D02hhMGCQ55owIE-w7i4wu1ymWGNaKjg3cO4,173
@@ -365,7 +365,7 @@ letta_client/types/embedding_config_embedding_endpoint_type.py,sha256=KGUZl9cAQN
365
365
  letta_client/types/feedback_type.py,sha256=sDfsniSnnpSwzZqfIkRL7vYPxYqdwURpI6LMI7eDkoQ,160
366
366
  letta_client/types/file.py,sha256=YPkTYb8V_XsvuQ6qXUzzDsp4iQMlZxPormZWoy7ROnI,629
367
367
  letta_client/types/file_agent_schema.py,sha256=I0uHseeqx-FDK5pVAb6-0zrqpfNdXcjDTb4_LS2QmGw,1890
368
- letta_client/types/file_block.py,sha256=RqrB5uGxkRIJRgCZsfCATLnh3BqzAZOT0Ke8_W2rdQo,2777
368
+ letta_client/types/file_block.py,sha256=TZm7Vh6Q5L-MKKf35HMHUpHWv4SGaVduxPg1SdCMKto,3140
369
369
  letta_client/types/file_file.py,sha256=JEE9Aa0puZ4j6wZUI6HbZfF8keB_-qoPh4C-Mn6oOQ0,666
370
370
  letta_client/types/file_metadata.py,sha256=RH11HWwyMyO2hmZzboTJzrLaOt7r7-I8pExUkXv0ja4,2831
371
371
  letta_client/types/file_processing_status.py,sha256=8W8VAx9-jCaUx6q6mvyCMyLoa2peLTE_sgIaGloOWo4,201
@@ -379,7 +379,7 @@ letta_client/types/function_output.py,sha256=PmcCPw239hjzoP32ynV-9UDQRNpDhrkpICp
379
379
  letta_client/types/function_tool.py,sha256=X4yY7kSNSlDM4srYifeajOuwJkmBj26AW6Jlo5E-fvw,698
380
380
  letta_client/types/generate_tool_input.py,sha256=9eqavChO3e0hXmovp1GvRIsNd8N11pBCiFjKpbG-WG8,1096
381
381
  letta_client/types/generate_tool_output.py,sha256=0Heilco0ySpWaKsSGF0JIYHCRblVhYrcppBfhlpy98E,861
382
- letta_client/types/group.py,sha256=tjBeaPlVtR6m6VfImqh506QfTR1fvnLwRXGj1BnRDXw,2223
382
+ letta_client/types/group.py,sha256=3jQMvY6kaeuibYa6gIexnynxUtVEnm3Zz8QtNIPGeMQ,2572
383
383
  letta_client/types/group_schema.py,sha256=xNW28jXZ1npZZ3B7yUpRGx1uetcj80EQZxHpgUSoEGQ,1253
384
384
  letta_client/types/group_schema_manager_config.py,sha256=3kIh_FoLwKOA5JDcZbHmpF8j1Ld0w7-kk9pRugVdWvw,474
385
385
  letta_client/types/health.py,sha256=M5qOOKBb6PET3M4VrdHZ4_6643I0GNKq6WldhzkilJI,619
@@ -566,6 +566,6 @@ letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
566
566
  letta_client/voice/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
567
567
  letta_client/voice/client.py,sha256=EbIVOQh4HXqU9McATxwga08STk-HUwPEAUr_UHqyKHg,3748
568
568
  letta_client/voice/raw_client.py,sha256=KvM_3GXuSf51bubM0RVBnxvlf20qZTFMnaA_BzhXzjQ,5938
569
- letta_client-0.1.284.dist-info/METADATA,sha256=Xc8f2yVV4JOAdnPa2L6efVoKHH3u2VfKCHiHhf6pu9Q,5782
570
- letta_client-0.1.284.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
571
- letta_client-0.1.284.dist-info/RECORD,,
569
+ letta_client-0.1.286.dist-info/METADATA,sha256=6xnKthKF1mnZiFXlvJ7fAJOXn6KcL6INhq87OPQ9uyk,5782
570
+ letta_client-0.1.286.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
571
+ letta_client-0.1.286.dist-info/RECORD,,