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

letta_client/__init__.py CHANGED
@@ -153,6 +153,12 @@ from .types import (
153
153
  InitToolRule,
154
154
  InputAudio,
155
155
  InputAudioFormat,
156
+ InternalTemplateAgentCreate,
157
+ InternalTemplateAgentCreateResponseFormat,
158
+ InternalTemplateAgentCreateToolRulesItem,
159
+ InternalTemplateBlockCreate,
160
+ InternalTemplateGroupCreate,
161
+ InternalTemplateGroupCreateManagerConfig,
156
162
  Job,
157
163
  JobStatus,
158
164
  JobType,
@@ -381,6 +387,9 @@ from .projects import ProjectsListResponse, ProjectsListResponseProjectsItem
381
387
  from .runs import LettaStreamingResponse
382
388
  from .steps import StepsListRequestFeedback
383
389
  from .templates import (
390
+ TemplatesCreateTemplateRequest,
391
+ TemplatesCreateTemplateRequestAgentFile,
392
+ TemplatesCreateTemplateRequestAgentId,
384
393
  TemplatesCreateTemplateResponse,
385
394
  TemplatesDeleteTemplateResponse,
386
395
  TemplatesForkTemplateResponse,
@@ -611,6 +620,12 @@ __all__ = [
611
620
  "InitToolRule",
612
621
  "InputAudio",
613
622
  "InputAudioFormat",
623
+ "InternalTemplateAgentCreate",
624
+ "InternalTemplateAgentCreateResponseFormat",
625
+ "InternalTemplateAgentCreateToolRulesItem",
626
+ "InternalTemplateBlockCreate",
627
+ "InternalTemplateGroupCreate",
628
+ "InternalTemplateGroupCreateManagerConfig",
614
629
  "Job",
615
630
  "JobStatus",
616
631
  "JobType",
@@ -743,6 +758,9 @@ __all__ = [
743
758
  "SupervisorManagerUpdate",
744
759
  "SystemMessage",
745
760
  "TagSchema",
761
+ "TemplatesCreateTemplateRequest",
762
+ "TemplatesCreateTemplateRequestAgentFile",
763
+ "TemplatesCreateTemplateRequestAgentId",
746
764
  "TemplatesCreateTemplateResponse",
747
765
  "TemplatesDeleteTemplateResponse",
748
766
  "TemplatesForkTemplateResponse",
@@ -152,8 +152,8 @@ class PassagesClient:
152
152
  tags: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
153
153
  tag_match_mode: typing.Optional[PassagesSearchRequestTagMatchMode] = None,
154
154
  top_k: typing.Optional[int] = None,
155
- start_datetime: typing.Optional[str] = None,
156
- end_datetime: typing.Optional[str] = None,
155
+ start_datetime: typing.Optional[dt.datetime] = None,
156
+ end_datetime: typing.Optional[dt.datetime] = None,
157
157
  request_options: typing.Optional[RequestOptions] = None,
158
158
  ) -> ArchivalMemorySearchResponse:
159
159
  """
@@ -179,11 +179,11 @@ class PassagesClient:
179
179
  top_k : typing.Optional[int]
180
180
  Maximum number of results to return. Uses system default if not specified
181
181
 
182
- start_datetime : typing.Optional[str]
183
- Filter results to passages created after this datetime. ISO 8601 format
182
+ start_datetime : typing.Optional[dt.datetime]
183
+ Filter results to passages created after this datetime
184
184
 
185
- end_datetime : typing.Optional[str]
186
- Filter results to passages created before this datetime. ISO 8601 format
185
+ end_datetime : typing.Optional[dt.datetime]
186
+ Filter results to passages created before this datetime
187
187
 
188
188
  request_options : typing.Optional[RequestOptions]
189
189
  Request-specific configuration.
@@ -440,8 +440,8 @@ class AsyncPassagesClient:
440
440
  tags: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
441
441
  tag_match_mode: typing.Optional[PassagesSearchRequestTagMatchMode] = None,
442
442
  top_k: typing.Optional[int] = None,
443
- start_datetime: typing.Optional[str] = None,
444
- end_datetime: typing.Optional[str] = None,
443
+ start_datetime: typing.Optional[dt.datetime] = None,
444
+ end_datetime: typing.Optional[dt.datetime] = None,
445
445
  request_options: typing.Optional[RequestOptions] = None,
446
446
  ) -> ArchivalMemorySearchResponse:
447
447
  """
@@ -467,11 +467,11 @@ class AsyncPassagesClient:
467
467
  top_k : typing.Optional[int]
468
468
  Maximum number of results to return. Uses system default if not specified
469
469
 
470
- start_datetime : typing.Optional[str]
471
- Filter results to passages created after this datetime. ISO 8601 format
470
+ start_datetime : typing.Optional[dt.datetime]
471
+ Filter results to passages created after this datetime
472
472
 
473
- end_datetime : typing.Optional[str]
474
- Filter results to passages created before this datetime. ISO 8601 format
473
+ end_datetime : typing.Optional[dt.datetime]
474
+ Filter results to passages created before this datetime
475
475
 
476
476
  request_options : typing.Optional[RequestOptions]
477
477
  Request-specific configuration.
@@ -6,6 +6,7 @@ from json.decoder import JSONDecodeError
6
6
 
7
7
  from ...core.api_error import ApiError
8
8
  from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
+ from ...core.datetime_utils import serialize_datetime
9
10
  from ...core.http_response import AsyncHttpResponse, HttpResponse
10
11
  from ...core.jsonable_encoder import jsonable_encoder
11
12
  from ...core.request_options import RequestOptions
@@ -184,8 +185,8 @@ class RawPassagesClient:
184
185
  tags: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
185
186
  tag_match_mode: typing.Optional[PassagesSearchRequestTagMatchMode] = None,
186
187
  top_k: typing.Optional[int] = None,
187
- start_datetime: typing.Optional[str] = None,
188
- end_datetime: typing.Optional[str] = None,
188
+ start_datetime: typing.Optional[dt.datetime] = None,
189
+ end_datetime: typing.Optional[dt.datetime] = None,
189
190
  request_options: typing.Optional[RequestOptions] = None,
190
191
  ) -> HttpResponse[ArchivalMemorySearchResponse]:
191
192
  """
@@ -211,11 +212,11 @@ class RawPassagesClient:
211
212
  top_k : typing.Optional[int]
212
213
  Maximum number of results to return. Uses system default if not specified
213
214
 
214
- start_datetime : typing.Optional[str]
215
- Filter results to passages created after this datetime. ISO 8601 format
215
+ start_datetime : typing.Optional[dt.datetime]
216
+ Filter results to passages created after this datetime
216
217
 
217
- end_datetime : typing.Optional[str]
218
- Filter results to passages created before this datetime. ISO 8601 format
218
+ end_datetime : typing.Optional[dt.datetime]
219
+ Filter results to passages created before this datetime
219
220
 
220
221
  request_options : typing.Optional[RequestOptions]
221
222
  Request-specific configuration.
@@ -233,8 +234,8 @@ class RawPassagesClient:
233
234
  "tags": tags,
234
235
  "tag_match_mode": tag_match_mode,
235
236
  "top_k": top_k,
236
- "start_datetime": start_datetime,
237
- "end_datetime": end_datetime,
237
+ "start_datetime": serialize_datetime(start_datetime) if start_datetime is not None else None,
238
+ "end_datetime": serialize_datetime(end_datetime) if end_datetime is not None else None,
238
239
  },
239
240
  request_options=request_options,
240
241
  )
@@ -512,8 +513,8 @@ class AsyncRawPassagesClient:
512
513
  tags: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
513
514
  tag_match_mode: typing.Optional[PassagesSearchRequestTagMatchMode] = None,
514
515
  top_k: typing.Optional[int] = None,
515
- start_datetime: typing.Optional[str] = None,
516
- end_datetime: typing.Optional[str] = None,
516
+ start_datetime: typing.Optional[dt.datetime] = None,
517
+ end_datetime: typing.Optional[dt.datetime] = None,
517
518
  request_options: typing.Optional[RequestOptions] = None,
518
519
  ) -> AsyncHttpResponse[ArchivalMemorySearchResponse]:
519
520
  """
@@ -539,11 +540,11 @@ class AsyncRawPassagesClient:
539
540
  top_k : typing.Optional[int]
540
541
  Maximum number of results to return. Uses system default if not specified
541
542
 
542
- start_datetime : typing.Optional[str]
543
- Filter results to passages created after this datetime. ISO 8601 format
543
+ start_datetime : typing.Optional[dt.datetime]
544
+ Filter results to passages created after this datetime
544
545
 
545
- end_datetime : typing.Optional[str]
546
- Filter results to passages created before this datetime. ISO 8601 format
546
+ end_datetime : typing.Optional[dt.datetime]
547
+ Filter results to passages created before this datetime
547
548
 
548
549
  request_options : typing.Optional[RequestOptions]
549
550
  Request-specific configuration.
@@ -561,8 +562,8 @@ class AsyncRawPassagesClient:
561
562
  "tags": tags,
562
563
  "tag_match_mode": tag_match_mode,
563
564
  "top_k": top_k,
564
- "start_datetime": start_datetime,
565
- "end_datetime": end_datetime,
565
+ "start_datetime": serialize_datetime(start_datetime) if start_datetime is not None else None,
566
+ "end_datetime": serialize_datetime(end_datetime) if end_datetime is not None else None,
566
567
  },
567
568
  request_options=request_options,
568
569
  )
@@ -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.308",
27
+ "User-Agent": "letta-client/0.1.310",
28
28
  "X-Fern-Language": "Python",
29
29
  "X-Fern-SDK-Name": "letta-client",
30
- "X-Fern-SDK-Version": "0.1.308",
30
+ "X-Fern-SDK-Version": "0.1.310",
31
31
  **(self.get_custom_headers() or {}),
32
32
  }
33
33
  if self._project is not None:
@@ -3,6 +3,9 @@
3
3
  # isort: skip_file
4
4
 
5
5
  from .types import (
6
+ TemplatesCreateTemplateRequest,
7
+ TemplatesCreateTemplateRequestAgentFile,
8
+ TemplatesCreateTemplateRequestAgentId,
6
9
  TemplatesCreateTemplateResponse,
7
10
  TemplatesDeleteTemplateResponse,
8
11
  TemplatesForkTemplateResponse,
@@ -47,6 +50,9 @@ __all__ = [
47
50
  "AgentsCreateRequestInitialMessageSequenceItem",
48
51
  "AgentsCreateRequestInitialMessageSequenceItemRole",
49
52
  "AgentsCreateResponse",
53
+ "TemplatesCreateTemplateRequest",
54
+ "TemplatesCreateTemplateRequestAgentFile",
55
+ "TemplatesCreateTemplateRequestAgentId",
50
56
  "TemplatesCreateTemplateResponse",
51
57
  "TemplatesDeleteTemplateResponse",
52
58
  "TemplatesForkTemplateResponse",
@@ -6,6 +6,7 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from .agents.client import AgentsClient, AsyncAgentsClient
8
8
  from .raw_client import AsyncRawTemplatesClient, RawTemplatesClient
9
+ from .types.templates_create_template_request import TemplatesCreateTemplateRequest
9
10
  from .types.templates_create_template_response import TemplatesCreateTemplateResponse
10
11
  from .types.templates_delete_template_response import TemplatesDeleteTemplateResponse
11
12
  from .types.templates_fork_template_response import TemplatesForkTemplateResponse
@@ -304,23 +305,18 @@ class TemplatesClient:
304
305
  self,
305
306
  project: str,
306
307
  *,
307
- agent_id: str,
308
- name: typing.Optional[str] = OMIT,
308
+ request: TemplatesCreateTemplateRequest,
309
309
  request_options: typing.Optional[RequestOptions] = None,
310
310
  ) -> TemplatesCreateTemplateResponse:
311
311
  """
312
- Creates a new template from an existing agent
312
+ Creates a new template from an existing agent or agent file
313
313
 
314
314
  Parameters
315
315
  ----------
316
316
  project : str
317
317
  The project slug
318
318
 
319
- agent_id : str
320
- The ID of the agent to use as a template, can be from any project
321
-
322
- name : typing.Optional[str]
323
- Optional custom name for the template. If not provided, a random name will be generated.
319
+ request : TemplatesCreateTemplateRequest
324
320
 
325
321
  request_options : typing.Optional[RequestOptions]
326
322
  Request-specific configuration.
@@ -333,6 +329,7 @@ class TemplatesClient:
333
329
  Examples
334
330
  --------
335
331
  from letta_client import Letta
332
+ from letta_client.templates import TemplatesCreateTemplateRequestAgentId
336
333
 
337
334
  client = Letta(
338
335
  project="YOUR_PROJECT",
@@ -340,12 +337,12 @@ class TemplatesClient:
340
337
  )
341
338
  client.templates.createtemplate(
342
339
  project="project",
343
- agent_id="agent_id",
340
+ request=TemplatesCreateTemplateRequestAgentId(
341
+ agent_id="agent_id",
342
+ ),
344
343
  )
345
344
  """
346
- _response = self._raw_client.createtemplate(
347
- project, agent_id=agent_id, name=name, request_options=request_options
348
- )
345
+ _response = self._raw_client.createtemplate(project, request=request, request_options=request_options)
349
346
  return _response.data
350
347
 
351
348
  def renametemplate(
@@ -823,23 +820,18 @@ class AsyncTemplatesClient:
823
820
  self,
824
821
  project: str,
825
822
  *,
826
- agent_id: str,
827
- name: typing.Optional[str] = OMIT,
823
+ request: TemplatesCreateTemplateRequest,
828
824
  request_options: typing.Optional[RequestOptions] = None,
829
825
  ) -> TemplatesCreateTemplateResponse:
830
826
  """
831
- Creates a new template from an existing agent
827
+ Creates a new template from an existing agent or agent file
832
828
 
833
829
  Parameters
834
830
  ----------
835
831
  project : str
836
832
  The project slug
837
833
 
838
- agent_id : str
839
- The ID of the agent to use as a template, can be from any project
840
-
841
- name : typing.Optional[str]
842
- Optional custom name for the template. If not provided, a random name will be generated.
834
+ request : TemplatesCreateTemplateRequest
843
835
 
844
836
  request_options : typing.Optional[RequestOptions]
845
837
  Request-specific configuration.
@@ -854,6 +846,7 @@ class AsyncTemplatesClient:
854
846
  import asyncio
855
847
 
856
848
  from letta_client import AsyncLetta
849
+ from letta_client.templates import TemplatesCreateTemplateRequestAgentId
857
850
 
858
851
  client = AsyncLetta(
859
852
  project="YOUR_PROJECT",
@@ -864,15 +857,15 @@ class AsyncTemplatesClient:
864
857
  async def main() -> None:
865
858
  await client.templates.createtemplate(
866
859
  project="project",
867
- agent_id="agent_id",
860
+ request=TemplatesCreateTemplateRequestAgentId(
861
+ agent_id="agent_id",
862
+ ),
868
863
  )
869
864
 
870
865
 
871
866
  asyncio.run(main())
872
867
  """
873
- _response = await self._raw_client.createtemplate(
874
- project, agent_id=agent_id, name=name, request_options=request_options
875
- )
868
+ _response = await self._raw_client.createtemplate(project, request=request, request_options=request_options)
876
869
  return _response.data
877
870
 
878
871
  async def renametemplate(
@@ -8,11 +8,13 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
8
  from ..core.http_response import AsyncHttpResponse, HttpResponse
9
9
  from ..core.jsonable_encoder import jsonable_encoder
10
10
  from ..core.request_options import RequestOptions
11
+ from ..core.serialization import convert_and_respect_annotation_metadata
11
12
  from ..core.unchecked_base_model import construct_type
12
13
  from ..errors.bad_request_error import BadRequestError
13
14
  from ..errors.conflict_error import ConflictError
14
15
  from ..errors.not_found_error import NotFoundError
15
16
  from ..types.conflict_error_body import ConflictErrorBody
17
+ from .types.templates_create_template_request import TemplatesCreateTemplateRequest
16
18
  from .types.templates_create_template_response import TemplatesCreateTemplateResponse
17
19
  from .types.templates_delete_template_response import TemplatesDeleteTemplateResponse
18
20
  from .types.templates_fork_template_response import TemplatesForkTemplateResponse
@@ -369,23 +371,18 @@ class RawTemplatesClient:
369
371
  self,
370
372
  project: str,
371
373
  *,
372
- agent_id: str,
373
- name: typing.Optional[str] = OMIT,
374
+ request: TemplatesCreateTemplateRequest,
374
375
  request_options: typing.Optional[RequestOptions] = None,
375
376
  ) -> HttpResponse[TemplatesCreateTemplateResponse]:
376
377
  """
377
- Creates a new template from an existing agent
378
+ Creates a new template from an existing agent or agent file
378
379
 
379
380
  Parameters
380
381
  ----------
381
382
  project : str
382
383
  The project slug
383
384
 
384
- agent_id : str
385
- The ID of the agent to use as a template, can be from any project
386
-
387
- name : typing.Optional[str]
388
- Optional custom name for the template. If not provided, a random name will be generated.
385
+ request : TemplatesCreateTemplateRequest
389
386
 
390
387
  request_options : typing.Optional[RequestOptions]
391
388
  Request-specific configuration.
@@ -398,11 +395,9 @@ class RawTemplatesClient:
398
395
  _response = self._client_wrapper.httpx_client.request(
399
396
  f"v1/templates/{jsonable_encoder(project)}",
400
397
  method="POST",
401
- json={
402
- "agent_id": agent_id,
403
- "name": name,
404
- "type": "agent",
405
- },
398
+ json=convert_and_respect_annotation_metadata(
399
+ object_=request, annotation=TemplatesCreateTemplateRequest, direction="write"
400
+ ),
406
401
  headers={
407
402
  "content-type": "application/json",
408
403
  },
@@ -1013,23 +1008,18 @@ class AsyncRawTemplatesClient:
1013
1008
  self,
1014
1009
  project: str,
1015
1010
  *,
1016
- agent_id: str,
1017
- name: typing.Optional[str] = OMIT,
1011
+ request: TemplatesCreateTemplateRequest,
1018
1012
  request_options: typing.Optional[RequestOptions] = None,
1019
1013
  ) -> AsyncHttpResponse[TemplatesCreateTemplateResponse]:
1020
1014
  """
1021
- Creates a new template from an existing agent
1015
+ Creates a new template from an existing agent or agent file
1022
1016
 
1023
1017
  Parameters
1024
1018
  ----------
1025
1019
  project : str
1026
1020
  The project slug
1027
1021
 
1028
- agent_id : str
1029
- The ID of the agent to use as a template, can be from any project
1030
-
1031
- name : typing.Optional[str]
1032
- Optional custom name for the template. If not provided, a random name will be generated.
1022
+ request : TemplatesCreateTemplateRequest
1033
1023
 
1034
1024
  request_options : typing.Optional[RequestOptions]
1035
1025
  Request-specific configuration.
@@ -1042,11 +1032,9 @@ class AsyncRawTemplatesClient:
1042
1032
  _response = await self._client_wrapper.httpx_client.request(
1043
1033
  f"v1/templates/{jsonable_encoder(project)}",
1044
1034
  method="POST",
1045
- json={
1046
- "agent_id": agent_id,
1047
- "name": name,
1048
- "type": "agent",
1049
- },
1035
+ json=convert_and_respect_annotation_metadata(
1036
+ object_=request, annotation=TemplatesCreateTemplateRequest, direction="write"
1037
+ ),
1050
1038
  headers={
1051
1039
  "content-type": "application/json",
1052
1040
  },
@@ -2,6 +2,9 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
+ from .templates_create_template_request import TemplatesCreateTemplateRequest
6
+ from .templates_create_template_request_agent_file import TemplatesCreateTemplateRequestAgentFile
7
+ from .templates_create_template_request_agent_id import TemplatesCreateTemplateRequestAgentId
5
8
  from .templates_create_template_response import TemplatesCreateTemplateResponse
6
9
  from .templates_delete_template_response import TemplatesDeleteTemplateResponse
7
10
  from .templates_fork_template_response import TemplatesForkTemplateResponse
@@ -68,6 +71,9 @@ from .templates_save_template_version_response import TemplatesSaveTemplateVersi
68
71
  from .templates_update_template_description_response import TemplatesUpdateTemplateDescriptionResponse
69
72
 
70
73
  __all__ = [
74
+ "TemplatesCreateTemplateRequest",
75
+ "TemplatesCreateTemplateRequestAgentFile",
76
+ "TemplatesCreateTemplateRequestAgentId",
71
77
  "TemplatesCreateTemplateResponse",
72
78
  "TemplatesDeleteTemplateResponse",
73
79
  "TemplatesForkTemplateResponse",
@@ -0,0 +1,10 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .templates_create_template_request_agent_file import TemplatesCreateTemplateRequestAgentFile
6
+ from .templates_create_template_request_agent_id import TemplatesCreateTemplateRequestAgentId
7
+
8
+ TemplatesCreateTemplateRequest = typing.Union[
9
+ TemplatesCreateTemplateRequestAgentId, TemplatesCreateTemplateRequestAgentFile
10
+ ]
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
8
+
9
+
10
+ class TemplatesCreateTemplateRequestAgentFile(UncheckedBaseModel):
11
+ """
12
+ Create a template from an uploaded agent file
13
+ """
14
+
15
+ type: typing.Literal["agent_file"] = "agent_file"
16
+ agent_file: typing.Dict[str, typing.Optional[typing.Any]] = pydantic.Field()
17
+ """
18
+ The agent file to use as a template, this should be a JSON file exported from the platform
19
+ """
20
+
21
+ name: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ Optional custom name for the template. If not provided, a random name will be generated.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -0,0 +1,33 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ...core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ...core.unchecked_base_model import UncheckedBaseModel
8
+
9
+
10
+ class TemplatesCreateTemplateRequestAgentId(UncheckedBaseModel):
11
+ """
12
+ Create a template from an existing agent
13
+ """
14
+
15
+ type: typing.Literal["agent"] = "agent"
16
+ agent_id: str = pydantic.Field()
17
+ """
18
+ The ID of the agent to use as a template, can be from any project
19
+ """
20
+
21
+ name: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ Optional custom name for the template. If not provided, a random name will be generated.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ extra = pydantic.Extra.allow
@@ -152,6 +152,12 @@ from .imported_agents_response import ImportedAgentsResponse
152
152
  from .init_tool_rule import InitToolRule
153
153
  from .input_audio import InputAudio
154
154
  from .input_audio_format import InputAudioFormat
155
+ from .internal_template_agent_create import InternalTemplateAgentCreate
156
+ from .internal_template_agent_create_response_format import InternalTemplateAgentCreateResponseFormat
157
+ from .internal_template_agent_create_tool_rules_item import InternalTemplateAgentCreateToolRulesItem
158
+ from .internal_template_block_create import InternalTemplateBlockCreate
159
+ from .internal_template_group_create import InternalTemplateGroupCreate
160
+ from .internal_template_group_create_manager_config import InternalTemplateGroupCreateManagerConfig
155
161
  from .job import Job
156
162
  from .job_status import JobStatus
157
163
  from .job_type import JobType
@@ -493,6 +499,12 @@ __all__ = [
493
499
  "InitToolRule",
494
500
  "InputAudio",
495
501
  "InputAudioFormat",
502
+ "InternalTemplateAgentCreate",
503
+ "InternalTemplateAgentCreateResponseFormat",
504
+ "InternalTemplateAgentCreateToolRulesItem",
505
+ "InternalTemplateBlockCreate",
506
+ "InternalTemplateGroupCreate",
507
+ "InternalTemplateGroupCreateManagerConfig",
496
508
  "Job",
497
509
  "JobStatus",
498
510
  "JobType",
@@ -0,0 +1,256 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ..core.unchecked_base_model import UncheckedBaseModel
8
+ from .agent_type import AgentType
9
+ from .create_block import CreateBlock
10
+ from .embedding_config import EmbeddingConfig
11
+ from .internal_template_agent_create_response_format import InternalTemplateAgentCreateResponseFormat
12
+ from .internal_template_agent_create_tool_rules_item import InternalTemplateAgentCreateToolRulesItem
13
+ from .llm_config import LlmConfig
14
+ from .message_create import MessageCreate
15
+
16
+
17
+ class InternalTemplateAgentCreate(UncheckedBaseModel):
18
+ """
19
+ Used for Letta Cloud
20
+ """
21
+
22
+ name: typing.Optional[str] = pydantic.Field(default=None)
23
+ """
24
+ The name of the agent.
25
+ """
26
+
27
+ memory_blocks: typing.Optional[typing.List[CreateBlock]] = pydantic.Field(default=None)
28
+ """
29
+ The blocks to create in the agent's in-context memory.
30
+ """
31
+
32
+ tools: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
33
+ """
34
+ The tools used by the agent.
35
+ """
36
+
37
+ tool_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
38
+ """
39
+ The ids of the tools used by the agent.
40
+ """
41
+
42
+ source_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
43
+ """
44
+ The ids of the sources used by the agent.
45
+ """
46
+
47
+ block_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
48
+ """
49
+ The ids of the blocks used by the agent.
50
+ """
51
+
52
+ tool_rules: typing.Optional[typing.List[InternalTemplateAgentCreateToolRulesItem]] = pydantic.Field(default=None)
53
+ """
54
+ The tool rules governing the agent.
55
+ """
56
+
57
+ tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
58
+ """
59
+ The tags associated with the agent.
60
+ """
61
+
62
+ system: typing.Optional[str] = pydantic.Field(default=None)
63
+ """
64
+ The system prompt used by the agent.
65
+ """
66
+
67
+ agent_type: typing.Optional[AgentType] = pydantic.Field(default=None)
68
+ """
69
+ The type of agent.
70
+ """
71
+
72
+ llm_config: typing.Optional[LlmConfig] = pydantic.Field(default=None)
73
+ """
74
+ The LLM configuration used by the agent.
75
+ """
76
+
77
+ embedding_config: typing.Optional[EmbeddingConfig] = pydantic.Field(default=None)
78
+ """
79
+ The embedding configuration used by the agent.
80
+ """
81
+
82
+ initial_message_sequence: typing.Optional[typing.List[MessageCreate]] = pydantic.Field(default=None)
83
+ """
84
+ The initial set of messages to put in the agent's in-context memory.
85
+ """
86
+
87
+ include_base_tools: typing.Optional[bool] = pydantic.Field(default=None)
88
+ """
89
+ If true, attaches the Letta core tools (e.g. core_memory related functions).
90
+ """
91
+
92
+ include_multi_agent_tools: typing.Optional[bool] = pydantic.Field(default=None)
93
+ """
94
+ If true, attaches the Letta multi-agent tools (e.g. sending a message to another agent).
95
+ """
96
+
97
+ include_base_tool_rules: typing.Optional[bool] = pydantic.Field(default=None)
98
+ """
99
+ If true, attaches the Letta base tool rules (e.g. deny all tools not explicitly allowed).
100
+ """
101
+
102
+ include_default_source: typing.Optional[bool] = pydantic.Field(default=None)
103
+ """
104
+ If true, automatically creates and attaches a default data source for this agent.
105
+ """
106
+
107
+ description: typing.Optional[str] = pydantic.Field(default=None)
108
+ """
109
+ The description of the agent.
110
+ """
111
+
112
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
113
+ """
114
+ The metadata of the agent.
115
+ """
116
+
117
+ model: typing.Optional[str] = pydantic.Field(default=None)
118
+ """
119
+ The LLM configuration handle used by the agent, specified in the format provider/model-name, as an alternative to specifying llm_config.
120
+ """
121
+
122
+ embedding: typing.Optional[str] = pydantic.Field(default=None)
123
+ """
124
+ The embedding configuration handle used by the agent, specified in the format provider/model-name.
125
+ """
126
+
127
+ context_window_limit: typing.Optional[int] = pydantic.Field(default=None)
128
+ """
129
+ The context window limit used by the agent.
130
+ """
131
+
132
+ embedding_chunk_size: typing.Optional[int] = pydantic.Field(default=None)
133
+ """
134
+ The embedding chunk size used by the agent.
135
+ """
136
+
137
+ max_tokens: typing.Optional[int] = pydantic.Field(default=None)
138
+ """
139
+ The maximum number of tokens to generate, including reasoning step. If not set, the model will use its default value.
140
+ """
141
+
142
+ max_reasoning_tokens: typing.Optional[int] = pydantic.Field(default=None)
143
+ """
144
+ The maximum number of tokens to generate for reasoning step. If not set, the model will use its default value.
145
+ """
146
+
147
+ enable_reasoner: typing.Optional[bool] = pydantic.Field(default=None)
148
+ """
149
+ Whether to enable internal extended thinking step for a reasoner model.
150
+ """
151
+
152
+ reasoning: typing.Optional[bool] = pydantic.Field(default=None)
153
+ """
154
+ Whether to enable reasoning for this agent.
155
+ """
156
+
157
+ from_template: typing.Optional[str] = pydantic.Field(default=None)
158
+ """
159
+ The template id used to configure the agent
160
+ """
161
+
162
+ template: typing.Optional[bool] = pydantic.Field(default=None)
163
+ """
164
+ Whether the agent is a template
165
+ """
166
+
167
+ project: typing.Optional[str] = pydantic.Field(default=None)
168
+ """
169
+ Deprecated: Project should now be passed via the X-Project header instead of in the request body. If using the sdk, this can be done via the new x_project field below.
170
+ """
171
+
172
+ tool_exec_environment_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(
173
+ default=None
174
+ )
175
+ """
176
+ The environment variables for tool execution specific to this agent.
177
+ """
178
+
179
+ memory_variables: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None)
180
+ """
181
+ The variables that should be set for the agent.
182
+ """
183
+
184
+ project_id: typing.Optional[str] = pydantic.Field(default=None)
185
+ """
186
+ The id of the project the agent belongs to.
187
+ """
188
+
189
+ template_id: str = pydantic.Field()
190
+ """
191
+ The id of the template.
192
+ """
193
+
194
+ base_template_id: str = pydantic.Field()
195
+ """
196
+ The id of the base template.
197
+ """
198
+
199
+ identity_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
200
+ """
201
+ The ids of the identities associated with this agent.
202
+ """
203
+
204
+ message_buffer_autoclear: typing.Optional[bool] = pydantic.Field(default=None)
205
+ """
206
+ If set to True, the agent will not remember previous messages (though the agent will still retain state via core memory blocks and archival/recall memory). Not recommended unless you have an advanced use case.
207
+ """
208
+
209
+ enable_sleeptime: typing.Optional[bool] = pydantic.Field(default=None)
210
+ """
211
+ If set to True, memory management will move to a background agent thread.
212
+ """
213
+
214
+ response_format: typing.Optional[InternalTemplateAgentCreateResponseFormat] = pydantic.Field(default=None)
215
+ """
216
+ The response format for the agent.
217
+ """
218
+
219
+ timezone: typing.Optional[str] = pydantic.Field(default=None)
220
+ """
221
+ The timezone of the agent (IANA format).
222
+ """
223
+
224
+ max_files_open: typing.Optional[int] = pydantic.Field(default=None)
225
+ """
226
+ Maximum number of files that can be open at once for this agent. Setting this too high may exceed the context window, which will break the agent.
227
+ """
228
+
229
+ per_file_view_window_char_limit: typing.Optional[int] = pydantic.Field(default=None)
230
+ """
231
+ The per-file view window character limit for this agent. Setting this too high may exceed the context window, which will break the agent.
232
+ """
233
+
234
+ hidden: typing.Optional[bool] = pydantic.Field(default=None)
235
+ """
236
+ If set to True, the agent will be hidden.
237
+ """
238
+
239
+ deployment_id: str = pydantic.Field()
240
+ """
241
+ The id of the deployment.
242
+ """
243
+
244
+ entity_id: str = pydantic.Field()
245
+ """
246
+ The id of the entity within the template.
247
+ """
248
+
249
+ if IS_PYDANTIC_V2:
250
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
251
+ else:
252
+
253
+ class Config:
254
+ frozen = True
255
+ smart_union = True
256
+ extra = pydantic.Extra.allow
@@ -0,0 +1,11 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .json_object_response_format import JsonObjectResponseFormat
6
+ from .json_schema_response_format import JsonSchemaResponseFormat
7
+ from .text_response_format import TextResponseFormat
8
+
9
+ InternalTemplateAgentCreateResponseFormat = typing.Union[
10
+ JsonObjectResponseFormat, JsonSchemaResponseFormat, TextResponseFormat
11
+ ]
@@ -0,0 +1,25 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .child_tool_rule import ChildToolRule
6
+ from .conditional_tool_rule import ConditionalToolRule
7
+ from .continue_tool_rule import ContinueToolRule
8
+ from .init_tool_rule import InitToolRule
9
+ from .max_count_per_step_tool_rule import MaxCountPerStepToolRule
10
+ from .parent_tool_rule import ParentToolRule
11
+ from .required_before_exit_tool_rule import RequiredBeforeExitToolRule
12
+ from .requires_approval_tool_rule import RequiresApprovalToolRule
13
+ from .terminal_tool_rule import TerminalToolRule
14
+
15
+ InternalTemplateAgentCreateToolRulesItem = typing.Union[
16
+ ConditionalToolRule,
17
+ ChildToolRule,
18
+ ContinueToolRule,
19
+ TerminalToolRule,
20
+ MaxCountPerStepToolRule,
21
+ ParentToolRule,
22
+ RequiredBeforeExitToolRule,
23
+ RequiresApprovalToolRule,
24
+ InitToolRule,
25
+ ]
@@ -0,0 +1,88 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ..core.unchecked_base_model import UncheckedBaseModel
8
+
9
+
10
+ class InternalTemplateBlockCreate(UncheckedBaseModel):
11
+ """
12
+ Used for Letta Cloud
13
+ """
14
+
15
+ value: str = pydantic.Field()
16
+ """
17
+ Value of the block.
18
+ """
19
+
20
+ limit: typing.Optional[int] = pydantic.Field(default=None)
21
+ """
22
+ Character limit of the block.
23
+ """
24
+
25
+ project_id: typing.Optional[str] = pydantic.Field(default=None)
26
+ """
27
+ The associated project id.
28
+ """
29
+
30
+ name: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ Name of the block if it is a template.
33
+ """
34
+
35
+ is_template: typing.Optional[bool] = None
36
+ template_id: str = pydantic.Field()
37
+ """
38
+ The id of the template.
39
+ """
40
+
41
+ base_template_id: str = pydantic.Field()
42
+ """
43
+ The id of the base template.
44
+ """
45
+
46
+ deployment_id: str = pydantic.Field()
47
+ """
48
+ The id of the deployment.
49
+ """
50
+
51
+ entity_id: str = pydantic.Field()
52
+ """
53
+ The id of the entity within the template.
54
+ """
55
+
56
+ preserve_on_migration: typing.Optional[bool] = pydantic.Field(default=None)
57
+ """
58
+ Preserve the block on template migration.
59
+ """
60
+
61
+ label: str = pydantic.Field()
62
+ """
63
+ Label of the block.
64
+ """
65
+
66
+ read_only: typing.Optional[bool] = pydantic.Field(default=None)
67
+ """
68
+ Whether the agent has read-only access to the block.
69
+ """
70
+
71
+ description: typing.Optional[str] = pydantic.Field(default=None)
72
+ """
73
+ Description of the block.
74
+ """
75
+
76
+ metadata: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
77
+ """
78
+ Metadata of the block.
79
+ """
80
+
81
+ if IS_PYDANTIC_V2:
82
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
83
+ else:
84
+
85
+ class Config:
86
+ frozen = True
87
+ smart_union = True
88
+ extra = pydantic.Extra.allow
@@ -0,0 +1,63 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ from ..core.unchecked_base_model import UncheckedBaseModel
8
+ from .internal_template_group_create_manager_config import InternalTemplateGroupCreateManagerConfig
9
+
10
+
11
+ class InternalTemplateGroupCreate(UncheckedBaseModel):
12
+ """
13
+ Used for Letta Cloud
14
+ """
15
+
16
+ agent_ids: typing.List[str] = pydantic.Field()
17
+ """
18
+
19
+ """
20
+
21
+ description: str = pydantic.Field()
22
+ """
23
+
24
+ """
25
+
26
+ manager_config: typing.Optional[InternalTemplateGroupCreateManagerConfig] = pydantic.Field(default=None)
27
+ """
28
+
29
+ """
30
+
31
+ project_id: typing.Optional[str] = pydantic.Field(default=None)
32
+ """
33
+ The associated project id.
34
+ """
35
+
36
+ shared_block_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
37
+ """
38
+
39
+ """
40
+
41
+ base_template_id: str = pydantic.Field()
42
+ """
43
+ The id of the base template.
44
+ """
45
+
46
+ template_id: str = pydantic.Field()
47
+ """
48
+ The id of the template.
49
+ """
50
+
51
+ deployment_id: str = pydantic.Field()
52
+ """
53
+ The id of the deployment.
54
+ """
55
+
56
+ if IS_PYDANTIC_V2:
57
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
58
+ else:
59
+
60
+ class Config:
61
+ frozen = True
62
+ smart_union = True
63
+ extra = pydantic.Extra.allow
@@ -0,0 +1,13 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from .dynamic_manager import DynamicManager
6
+ from .round_robin_manager import RoundRobinManager
7
+ from .sleeptime_manager import SleeptimeManager
8
+ from .supervisor_manager import SupervisorManager
9
+ from .voice_sleeptime_manager import VoiceSleeptimeManager
10
+
11
+ InternalTemplateGroupCreateManagerConfig = typing.Union[
12
+ DynamicManager, RoundRobinManager, SleeptimeManager, SupervisorManager, VoiceSleeptimeManager
13
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.308
3
+ Version: 0.1.310
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,4 +1,4 @@
1
- letta_client/__init__.py,sha256=oUqJoq2I6-cZumZFu2cvZuw_FGQNGOaPYVTrt5BGDW0,27435
1
+ letta_client/__init__.py,sha256=bXiTjE64Mj9HyVqd7lTCNddeKrY_jCMBMD8_r_1q2S8,28177
2
2
  letta_client/agents/__init__.py,sha256=6U2CPqYOtgufFoEhev61AzE-oOqgAQPUBsN8H7YJDbg,2081
3
3
  letta_client/agents/blocks/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
4
4
  letta_client/agents/blocks/client.py,sha256=CUwVh5FHgD0YP3VNhUrWdkedMWk49yH3IiDD589AWEM,15809
@@ -34,8 +34,8 @@ letta_client/agents/messages/types/messages_modify_request.py,sha256=0NT3pgbqQIt
34
34
  letta_client/agents/messages/types/messages_modify_response.py,sha256=0nbkp7q7iaM2esLkdmIe0CYpJWY6LYtR3V-WkKaAy-g,871
35
35
  letta_client/agents/messages/types/messages_preview_raw_payload_request.py,sha256=ncI14H-30FLJujezUyk2yS7Jfqf7TqqhcWejWXQ4pcE,283
36
36
  letta_client/agents/passages/__init__.py,sha256=wA0bocGcbmgb62sL9MEWpKzP_KBVv8KHhvc6vZH6MOE,187
37
- letta_client/agents/passages/client.py,sha256=LB0pnikhFV__igj6LW7uWWBdfi4FSs7BIicuuauLNm4,17391
38
- letta_client/agents/passages/raw_client.py,sha256=MdRBgCsArv_ZDUGvOI-VS5KI9Lnilh3F7NUvQI_iV8c,26249
37
+ letta_client/agents/passages/client.py,sha256=x0Fj8BvukT4PDAsdqYiPLcoTVKWb7YSgi7Q8CX3m6Wc,17387
38
+ letta_client/agents/passages/raw_client.py,sha256=4oe8qXeXHM09ZwGJUtV0yh-WfaQ18q6oOlQ-aOGqKs8,26535
39
39
  letta_client/agents/passages/types/__init__.py,sha256=zA5psnkblMdGa_kOTKkqZmMPtryV1uGScnWFeI9fuu4,220
40
40
  letta_client/agents/passages/types/passages_search_request_tag_match_mode.py,sha256=cgAkixKi6VCJGFHUtjEzYdgq9KJcn5nrEMbR3zKp2rE,171
41
41
  letta_client/agents/raw_client.py,sha256=h3USsoctFijFNYUQDi6OdgvpJBtj7a8ekrL58EtsV7A,97954
@@ -92,7 +92,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_list_clie
92
92
  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
93
93
  letta_client/core/__init__.py,sha256=tpn7rjb6C2UIkYZYIqdrNpI7Yax2jw88sXh2baxaxAI,1715
94
94
  letta_client/core/api_error.py,sha256=44vPoTyWN59gonCIZMdzw7M1uspygiLnr3GNFOoVL2Q,614
95
- letta_client/core/client_wrapper.py,sha256=AK5r85YU_Rzg2wNIItk0TucUTeBEinlY9vOB8O-Od5Q,2776
95
+ letta_client/core/client_wrapper.py,sha256=d03nmVl5Ye_9rsRILOLXLEDnugc2XlluvcxNB7xqb6U,2776
96
96
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
97
97
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
98
98
  letta_client/core/force_multipart.py,sha256=awxh5MtcRYe74ehY8U76jzv6fYM_w_D3Rur7KQQzSDk,429
@@ -202,7 +202,7 @@ letta_client/tags/raw_client.py,sha256=DQXEgzOuCygBMbzX63Sc9UwfueALa5rUHH3c8jb4O
202
202
  letta_client/telemetry/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
203
203
  letta_client/telemetry/client.py,sha256=cHMxfLAFjbT-XLtG0o04tGMaRnabrPuixbfHV3HFitE,3042
204
204
  letta_client/telemetry/raw_client.py,sha256=Zxs3KkYCfs6M1b4vJbzHunZs7SzSiYAiy4Nb7tFAKC8,4962
205
- letta_client/templates/__init__.py,sha256=STQqjEhLv-6rONnJ0kYvDdZOiqM_3_LDxwQeXISn4Kw,4118
205
+ letta_client/templates/__init__.py,sha256=A-h3ZYJPXZsRGvUdk9UrSOir_NawVjkqLVXoeX_noxI,4372
206
206
  letta_client/templates/agents/__init__.py,sha256=Nb3AeDuJhSba_DbgHKuCUY1b3PT1jj3-YMJ7uW7RIAk,393
207
207
  letta_client/templates/agents/client.py,sha256=HCCEZZ3b0tGonxDNbiPuXadoZu_x1G_OtBdTHRBpG4M,7088
208
208
  letta_client/templates/agents/raw_client.py,sha256=RGf_8ZaBbkS3sE7qrKqirL8Mu-E7CDRZNEKFWCJ3v4E,9552
@@ -210,9 +210,12 @@ letta_client/templates/agents/types/__init__.py,sha256=gDThrVEf3npLrxCqHWKgJLwB6
210
210
  letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item.py,sha256=0--NEWDhbw-1WBF5wr5tl25ucWkqHvhmSm8iuQOr6tw,986
211
211
  letta_client/templates/agents/types/agents_create_request_initial_message_sequence_item_role.py,sha256=Xp6uU0_CfWtIBtHdwicF9b4yAcrCYXQyYvxtNKyq-K4,210
212
212
  letta_client/templates/agents/types/agents_create_response.py,sha256=P5sppbD_qW7I9suv5Ykm7tlgnh5a3omYggA8JgLw2RY,637
213
- letta_client/templates/client.py,sha256=0UpeHDFK00shNQPsK736MK6TCdsEWkU4vOOEavs6cUw,30760
214
- letta_client/templates/raw_client.py,sha256=IyPa-8Dvr4XEoc9IHLuo3502ERv8gheYD0SjI_I09Fw,50862
215
- letta_client/templates/types/__init__.py,sha256=tIFC9HGWRUfXqjTFd4CIptby9Uwx9E-pdYXrBOIv9gc,6028
213
+ letta_client/templates/client.py,sha256=cUyfi2AqglBR8JvDzyV43znUmQnwyOdq3lrWPElTKsQ,30714
214
+ letta_client/templates/raw_client.py,sha256=U9x3mGpgptDFm2sbHri4o4yB3pPLFCoCeVP9XK18IFk,50697
215
+ letta_client/templates/types/__init__.py,sha256=Joib6wxgIzQ4cmKKD2In6Ts8iF8YuCtyrdX0pN0Izuo,6428
216
+ letta_client/templates/types/templates_create_template_request.py,sha256=8Po-a33Bdyosx-Y08cnbTmmHYog7GJC--ZcZse5Opkk,405
217
+ letta_client/templates/types/templates_create_template_request_agent_file.py,sha256=LVlJq2JWT9Bgo3BPRcLaf5inWX034SvEOEd4fkM4gvg,1058
218
+ letta_client/templates/types/templates_create_template_request_agent_id.py,sha256=M5MG3wNcbGHZR2Z-zxwgj9PA03VkKB8gTGmZQwuApuM,972
216
219
  letta_client/templates/types/templates_create_template_response.py,sha256=UKaNiwW7WNX4Q3_IqGkFJaatMcdSS-Tsf8gDT2i677w,1082
217
220
  letta_client/templates/types/templates_delete_template_response.py,sha256=_DUyWh9jtgw8u_U_JsV8N-RhPcY32QLAQZsUCSXDCTY,583
218
221
  letta_client/templates/types/templates_fork_template_response.py,sha256=zX8aCR5Z8sEgXJHHzxsPeYRNMW2HfD26EN5Mlwrt-ZI,1080
@@ -259,7 +262,7 @@ letta_client/tools/types/streaming_response.py,sha256=V1qT-XAqm-z7zffJ7W1JKPCaxZ
259
262
  letta_client/tools/types/test_mcp_server_request.py,sha256=3SqjEL3EYi7iV57TjTIzuBSKv8O3Y7qSUFrCiXEvSRk,373
260
263
  letta_client/tools/types/update_mcp_server_request.py,sha256=MHouV3iyZCTROguOQP5rOYvnmvDbBeXe5VtEejRvrEs,403
261
264
  letta_client/tools/types/update_mcp_server_response.py,sha256=BJTPHWkb8hwgd4FvftQ8eZjl2QzCQT-vZAUVnLft9hw,376
262
- letta_client/types/__init__.py,sha256=cfMGE-4qetwMMogQPqIgUvdx3HTAVRQ3m8GNT7dczlw,30185
265
+ letta_client/types/__init__.py,sha256=ASxjFvQ1zvBhfqKpbPXyniGTLFUmK_bFgJWlQHy1Tbc,30954
263
266
  letta_client/types/action_model.py,sha256=VTXavHB6J2d4MjjTMEpkuEyVaiTHyj1FGfa4j8kN6hQ,1241
264
267
  letta_client/types/action_parameters_model.py,sha256=s1mJ4tycms8UmCFsxyjKr6RbghSuqv35xpa9mK42sjg,829
265
268
  letta_client/types/action_response_model.py,sha256=LcML150OvsKimVV3sP4jSFh8pVxQXn_r_ff8DADOr3c,825
@@ -410,6 +413,12 @@ letta_client/types/imported_agents_response.py,sha256=PDBKbNcUNpRumkUgQTE4-pfPc9
410
413
  letta_client/types/init_tool_rule.py,sha256=ybXzH1cWQesY2Z4Umf3lnGep8TmulRW6OCtrV7cx8hw,1044
411
414
  letta_client/types/input_audio.py,sha256=l4T076iM05SxiqBx5TEkE4baG99rk1olL6hmVictuJQ,634
412
415
  letta_client/types/input_audio_format.py,sha256=QQFfndI9w66wIbGyHwfmJnk2bEJDPmEs9GybkaNL6AI,154
416
+ letta_client/types/internal_template_agent_create.py,sha256=q1qgpCpfHbkAMGZfJTw1SGS2EeKzPtLA6raygY70bls,8255
417
+ letta_client/types/internal_template_agent_create_response_format.py,sha256=4SOu2jhF5qZDlDorGrZ2cdyUF2do0IOtslZ_219qtzk,401
418
+ letta_client/types/internal_template_agent_create_tool_rules_item.py,sha256=zAZ1RbQnzI0K9YAP3OcBxRyi2WRx6G60lOnt6sekiS8,842
419
+ letta_client/types/internal_template_block_create.py,sha256=lkq-fhvnsD8GrMgZyRgwbDA6wZ8_Fl3VmJ_yeo0oWcI,2071
420
+ letta_client/types/internal_template_group_create.py,sha256=p4qAkNz4MkzHqG3e1_viafwRf6WHFTA9xv29W9oNRyc,1460
421
+ letta_client/types/internal_template_group_create_manager_config.py,sha256=zAX6KW-UB6dyqXSm2Wtp30wRfitANePpuoulLzsQm7M,490
413
422
  letta_client/types/job.py,sha256=dQLV9NM5mTYnS5iER8f-MvNAcC2CD7NXBBwQvbJN77c,3193
414
423
  letta_client/types/job_status.py,sha256=hfkoSxAxkPegq1FSzzCTWQCBzoJwlvyrYnxtC0LzfUs,219
415
424
  letta_client/types/job_type.py,sha256=HXYrfzPwxI54PqV7OVcMhewSJ_pBNHc14s9LcExr7Ss,154
@@ -581,6 +590,6 @@ letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
581
590
  letta_client/voice/__init__.py,sha256=_VhToAyIt_5axN6CLJwtxg3-CO7THa_23pbUzqhXJa4,85
582
591
  letta_client/voice/client.py,sha256=EbIVOQh4HXqU9McATxwga08STk-HUwPEAUr_UHqyKHg,3748
583
592
  letta_client/voice/raw_client.py,sha256=KvM_3GXuSf51bubM0RVBnxvlf20qZTFMnaA_BzhXzjQ,5938
584
- letta_client-0.1.308.dist-info/METADATA,sha256=zVCwLDdV5zF6ckaJ386SCIC4rUPAXlrylM-BUi32W6U,5782
585
- letta_client-0.1.308.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
586
- letta_client-0.1.308.dist-info/RECORD,,
593
+ letta_client-0.1.310.dist-info/METADATA,sha256=uopeLfGEHVYlIC2ZDqslDrWcqL605PVj7pbqAt_HBSM,5782
594
+ letta_client-0.1.310.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
595
+ letta_client-0.1.310.dist-info/RECORD,,