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

Files changed (26) hide show
  1. letta_client/__init__.py +10 -8
  2. letta_client/agents/__init__.py +2 -4
  3. letta_client/agents/client.py +24 -24
  4. letta_client/agents/types/__init__.py +2 -4
  5. letta_client/agents/types/agents_search_response_agents_item.py +2 -2
  6. letta_client/agents/types/agents_search_response_agents_item_identity_ids.py +5 -0
  7. letta_client/core/client_wrapper.py +1 -1
  8. letta_client/identities/client.py +108 -50
  9. letta_client/templates/__init__.py +2 -4
  10. letta_client/templates/types/__init__.py +3 -7
  11. letta_client/templates/types/templates_create_agents_response_agents_item.py +3 -3
  12. letta_client/templates/types/templates_create_agents_response_agents_item_identity_ids.py +5 -0
  13. letta_client/types/__init__.py +6 -0
  14. letta_client/types/agent_state.py +2 -2
  15. letta_client/types/identity.py +8 -3
  16. letta_client/types/identity_create.py +6 -0
  17. letta_client/types/identity_property.py +38 -0
  18. letta_client/types/identity_property_type.py +5 -0
  19. letta_client/types/identity_property_value.py +5 -0
  20. {letta_client-0.1.41.dist-info → letta_client-0.1.42.dist-info}/METADATA +1 -1
  21. {letta_client-0.1.41.dist-info → letta_client-0.1.42.dist-info}/RECORD +22 -21
  22. letta_client/agents/types/agents_search_response_agents_item_identifier_key.py +0 -11
  23. letta_client/agents/types/agents_search_response_agents_item_identifier_key_item.py +0 -5
  24. letta_client/templates/types/templates_create_agents_response_agents_item_identifier_key.py +0 -13
  25. letta_client/templates/types/templates_create_agents_response_agents_item_identifier_key_item.py +0 -5
  26. {letta_client-0.1.41.dist-info → letta_client-0.1.42.dist-info}/WHEEL +0 -0
letta_client/__init__.py CHANGED
@@ -87,6 +87,9 @@ from .types import (
87
87
  HttpValidationError,
88
88
  Identity,
89
89
  IdentityCreate,
90
+ IdentityProperty,
91
+ IdentityPropertyType,
92
+ IdentityPropertyValue,
90
93
  IdentityType,
91
94
  ImageUrl,
92
95
  ImageUrlDetail,
@@ -194,8 +197,7 @@ from .agents import (
194
197
  AgentsSearchResponseAgentsItemEmbeddingConfigEmbeddingEndpointType,
195
198
  AgentsSearchResponseAgentsItemEmbeddingConfigHandle,
196
199
  AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem,
197
- AgentsSearchResponseAgentsItemIdentifierKey,
198
- AgentsSearchResponseAgentsItemIdentifierKeyItem,
200
+ AgentsSearchResponseAgentsItemIdentityIds,
199
201
  AgentsSearchResponseAgentsItemLastUpdatedById,
200
202
  AgentsSearchResponseAgentsItemLastUpdatedByIdItem,
201
203
  AgentsSearchResponseAgentsItemLlmConfig,
@@ -367,8 +369,7 @@ from .templates import (
367
369
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigEmbeddingEndpointType,
368
370
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandle,
369
371
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem,
370
- TemplatesCreateAgentsResponseAgentsItemIdentifierKey,
371
- TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem,
372
+ TemplatesCreateAgentsResponseAgentsItemIdentityIds,
372
373
  TemplatesCreateAgentsResponseAgentsItemLastUpdatedById,
373
374
  TemplatesCreateAgentsResponseAgentsItemLastUpdatedByIdItem,
374
375
  TemplatesCreateAgentsResponseAgentsItemLlmConfig,
@@ -550,8 +551,7 @@ __all__ = [
550
551
  "AgentsSearchResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
551
552
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandle",
552
553
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem",
553
- "AgentsSearchResponseAgentsItemIdentifierKey",
554
- "AgentsSearchResponseAgentsItemIdentifierKeyItem",
554
+ "AgentsSearchResponseAgentsItemIdentityIds",
555
555
  "AgentsSearchResponseAgentsItemLastUpdatedById",
556
556
  "AgentsSearchResponseAgentsItemLastUpdatedByIdItem",
557
557
  "AgentsSearchResponseAgentsItemLlmConfig",
@@ -774,6 +774,9 @@ __all__ = [
774
774
  "HttpValidationError",
775
775
  "Identity",
776
776
  "IdentityCreate",
777
+ "IdentityProperty",
778
+ "IdentityPropertyType",
779
+ "IdentityPropertyValue",
777
780
  "IdentityType",
778
781
  "ImageUrl",
779
782
  "ImageUrlDetail",
@@ -857,8 +860,7 @@ __all__ = [
857
860
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
858
861
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandle",
859
862
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem",
860
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKey",
861
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem",
863
+ "TemplatesCreateAgentsResponseAgentsItemIdentityIds",
862
864
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedById",
863
865
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedByIdItem",
864
866
  "TemplatesCreateAgentsResponseAgentsItemLlmConfig",
@@ -31,8 +31,7 @@ from .types import (
31
31
  AgentsSearchResponseAgentsItemEmbeddingConfigEmbeddingEndpointType,
32
32
  AgentsSearchResponseAgentsItemEmbeddingConfigHandle,
33
33
  AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem,
34
- AgentsSearchResponseAgentsItemIdentifierKey,
35
- AgentsSearchResponseAgentsItemIdentifierKeyItem,
34
+ AgentsSearchResponseAgentsItemIdentityIds,
36
35
  AgentsSearchResponseAgentsItemLastUpdatedById,
37
36
  AgentsSearchResponseAgentsItemLastUpdatedByIdItem,
38
37
  AgentsSearchResponseAgentsItemLlmConfig,
@@ -212,8 +211,7 @@ __all__ = [
212
211
  "AgentsSearchResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
213
212
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandle",
214
213
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem",
215
- "AgentsSearchResponseAgentsItemIdentifierKey",
216
- "AgentsSearchResponseAgentsItemIdentifierKeyItem",
214
+ "AgentsSearchResponseAgentsItemIdentityIds",
217
215
  "AgentsSearchResponseAgentsItemLastUpdatedById",
218
216
  "AgentsSearchResponseAgentsItemLastUpdatedByIdItem",
219
217
  "AgentsSearchResponseAgentsItemLlmConfig",
@@ -67,7 +67,7 @@ class AgentsClient:
67
67
  project_id: typing.Optional[str] = None,
68
68
  template_id: typing.Optional[str] = None,
69
69
  base_template_id: typing.Optional[str] = None,
70
- identifier_key: typing.Optional[str] = None,
70
+ identifier_keys: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
71
71
  request_options: typing.Optional[RequestOptions] = None,
72
72
  ) -> typing.List[AgentState]:
73
73
  """
@@ -106,8 +106,8 @@ class AgentsClient:
106
106
  base_template_id : typing.Optional[str]
107
107
  Search agents by base template id
108
108
 
109
- identifier_key : typing.Optional[str]
110
- Search agents by identifier key
109
+ identifier_keys : typing.Optional[typing.Union[str, typing.Sequence[str]]]
110
+ Search agents by identifier keys
111
111
 
112
112
  request_options : typing.Optional[RequestOptions]
113
113
  Request-specific configuration.
@@ -140,7 +140,7 @@ class AgentsClient:
140
140
  "project_id": project_id,
141
141
  "template_id": template_id,
142
142
  "base_template_id": base_template_id,
143
- "identifier_key": identifier_key,
143
+ "identifier_keys": identifier_keys,
144
144
  },
145
145
  request_options=request_options,
146
146
  )
@@ -202,7 +202,7 @@ class AgentsClient:
202
202
  project_id: typing.Optional[str] = OMIT,
203
203
  template_id: typing.Optional[str] = OMIT,
204
204
  base_template_id: typing.Optional[str] = OMIT,
205
- identifier_key: typing.Optional[str] = OMIT,
205
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
206
206
  message_buffer_autoclear: typing.Optional[bool] = OMIT,
207
207
  request_options: typing.Optional[RequestOptions] = None,
208
208
  ) -> AgentState:
@@ -303,8 +303,8 @@ class AgentsClient:
303
303
  base_template_id : typing.Optional[str]
304
304
  The base template id of the agent.
305
305
 
306
- identifier_key : typing.Optional[str]
307
- The identifier key belonging to the identity associated with this agent.
306
+ identity_ids : typing.Optional[typing.Sequence[str]]
307
+ The ids of the identities associated with this agent.
308
308
 
309
309
  message_buffer_autoclear : typing.Optional[bool]
310
310
  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.
@@ -370,7 +370,7 @@ class AgentsClient:
370
370
  "project_id": project_id,
371
371
  "template_id": template_id,
372
372
  "base_template_id": base_template_id,
373
- "identifier_key": identifier_key,
373
+ "identity_ids": identity_ids,
374
374
  "message_buffer_autoclear": message_buffer_autoclear,
375
375
  },
376
376
  headers={
@@ -538,7 +538,7 @@ class AgentsClient:
538
538
  project_id: typing.Optional[str] = OMIT,
539
539
  template_id: typing.Optional[str] = OMIT,
540
540
  base_template_id: typing.Optional[str] = OMIT,
541
- identifier_key: typing.Optional[str] = OMIT,
541
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
542
542
  message_buffer_autoclear: typing.Optional[bool] = OMIT,
543
543
  request_options: typing.Optional[RequestOptions] = None,
544
544
  ) -> AgentState:
@@ -597,8 +597,8 @@ class AgentsClient:
597
597
  base_template_id : typing.Optional[str]
598
598
  The base template id of the agent.
599
599
 
600
- identifier_key : typing.Optional[str]
601
- The identifier key belonging to the identity associated with this agent.
600
+ identity_ids : typing.Optional[typing.Sequence[str]]
601
+ The ids of the identities associated with this agent.
602
602
 
603
603
  message_buffer_autoclear : typing.Optional[bool]
604
604
  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.
@@ -648,7 +648,7 @@ class AgentsClient:
648
648
  "project_id": project_id,
649
649
  "template_id": template_id,
650
650
  "base_template_id": base_template_id,
651
- "identifier_key": identifier_key,
651
+ "identity_ids": identity_ids,
652
652
  "message_buffer_autoclear": message_buffer_autoclear,
653
653
  },
654
654
  headers={
@@ -851,7 +851,7 @@ class AsyncAgentsClient:
851
851
  project_id: typing.Optional[str] = None,
852
852
  template_id: typing.Optional[str] = None,
853
853
  base_template_id: typing.Optional[str] = None,
854
- identifier_key: typing.Optional[str] = None,
854
+ identifier_keys: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
855
855
  request_options: typing.Optional[RequestOptions] = None,
856
856
  ) -> typing.List[AgentState]:
857
857
  """
@@ -890,8 +890,8 @@ class AsyncAgentsClient:
890
890
  base_template_id : typing.Optional[str]
891
891
  Search agents by base template id
892
892
 
893
- identifier_key : typing.Optional[str]
894
- Search agents by identifier key
893
+ identifier_keys : typing.Optional[typing.Union[str, typing.Sequence[str]]]
894
+ Search agents by identifier keys
895
895
 
896
896
  request_options : typing.Optional[RequestOptions]
897
897
  Request-specific configuration.
@@ -932,7 +932,7 @@ class AsyncAgentsClient:
932
932
  "project_id": project_id,
933
933
  "template_id": template_id,
934
934
  "base_template_id": base_template_id,
935
- "identifier_key": identifier_key,
935
+ "identifier_keys": identifier_keys,
936
936
  },
937
937
  request_options=request_options,
938
938
  )
@@ -994,7 +994,7 @@ class AsyncAgentsClient:
994
994
  project_id: typing.Optional[str] = OMIT,
995
995
  template_id: typing.Optional[str] = OMIT,
996
996
  base_template_id: typing.Optional[str] = OMIT,
997
- identifier_key: typing.Optional[str] = OMIT,
997
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
998
998
  message_buffer_autoclear: typing.Optional[bool] = OMIT,
999
999
  request_options: typing.Optional[RequestOptions] = None,
1000
1000
  ) -> AgentState:
@@ -1095,8 +1095,8 @@ class AsyncAgentsClient:
1095
1095
  base_template_id : typing.Optional[str]
1096
1096
  The base template id of the agent.
1097
1097
 
1098
- identifier_key : typing.Optional[str]
1099
- The identifier key belonging to the identity associated with this agent.
1098
+ identity_ids : typing.Optional[typing.Sequence[str]]
1099
+ The ids of the identities associated with this agent.
1100
1100
 
1101
1101
  message_buffer_autoclear : typing.Optional[bool]
1102
1102
  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.
@@ -1170,7 +1170,7 @@ class AsyncAgentsClient:
1170
1170
  "project_id": project_id,
1171
1171
  "template_id": template_id,
1172
1172
  "base_template_id": base_template_id,
1173
- "identifier_key": identifier_key,
1173
+ "identity_ids": identity_ids,
1174
1174
  "message_buffer_autoclear": message_buffer_autoclear,
1175
1175
  },
1176
1176
  headers={
@@ -1354,7 +1354,7 @@ class AsyncAgentsClient:
1354
1354
  project_id: typing.Optional[str] = OMIT,
1355
1355
  template_id: typing.Optional[str] = OMIT,
1356
1356
  base_template_id: typing.Optional[str] = OMIT,
1357
- identifier_key: typing.Optional[str] = OMIT,
1357
+ identity_ids: typing.Optional[typing.Sequence[str]] = OMIT,
1358
1358
  message_buffer_autoclear: typing.Optional[bool] = OMIT,
1359
1359
  request_options: typing.Optional[RequestOptions] = None,
1360
1360
  ) -> AgentState:
@@ -1413,8 +1413,8 @@ class AsyncAgentsClient:
1413
1413
  base_template_id : typing.Optional[str]
1414
1414
  The base template id of the agent.
1415
1415
 
1416
- identifier_key : typing.Optional[str]
1417
- The identifier key belonging to the identity associated with this agent.
1416
+ identity_ids : typing.Optional[typing.Sequence[str]]
1417
+ The ids of the identities associated with this agent.
1418
1418
 
1419
1419
  message_buffer_autoclear : typing.Optional[bool]
1420
1420
  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.
@@ -1472,7 +1472,7 @@ class AsyncAgentsClient:
1472
1472
  "project_id": project_id,
1473
1473
  "template_id": template_id,
1474
1474
  "base_template_id": base_template_id,
1475
- "identifier_key": identifier_key,
1475
+ "identity_ids": identity_ids,
1476
1476
  "message_buffer_autoclear": message_buffer_autoclear,
1477
1477
  },
1478
1478
  headers={
@@ -56,8 +56,7 @@ from .agents_search_response_agents_item_embedding_config_handle import (
56
56
  from .agents_search_response_agents_item_embedding_config_handle_item import (
57
57
  AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem,
58
58
  )
59
- from .agents_search_response_agents_item_identifier_key import AgentsSearchResponseAgentsItemIdentifierKey
60
- from .agents_search_response_agents_item_identifier_key_item import AgentsSearchResponseAgentsItemIdentifierKeyItem
59
+ from .agents_search_response_agents_item_identity_ids import AgentsSearchResponseAgentsItemIdentityIds
61
60
  from .agents_search_response_agents_item_last_updated_by_id import AgentsSearchResponseAgentsItemLastUpdatedById
62
61
  from .agents_search_response_agents_item_last_updated_by_id_item import (
63
62
  AgentsSearchResponseAgentsItemLastUpdatedByIdItem,
@@ -442,8 +441,7 @@ __all__ = [
442
441
  "AgentsSearchResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
443
442
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandle",
444
443
  "AgentsSearchResponseAgentsItemEmbeddingConfigHandleItem",
445
- "AgentsSearchResponseAgentsItemIdentifierKey",
446
- "AgentsSearchResponseAgentsItemIdentifierKeyItem",
444
+ "AgentsSearchResponseAgentsItemIdentityIds",
447
445
  "AgentsSearchResponseAgentsItemLastUpdatedById",
448
446
  "AgentsSearchResponseAgentsItemLastUpdatedByIdItem",
449
447
  "AgentsSearchResponseAgentsItemLlmConfig",
@@ -23,7 +23,7 @@ from .agents_search_response_agents_item_tool_exec_environment_variables import
23
23
  from .agents_search_response_agents_item_project_id import AgentsSearchResponseAgentsItemProjectId
24
24
  from .agents_search_response_agents_item_template_id import AgentsSearchResponseAgentsItemTemplateId
25
25
  from .agents_search_response_agents_item_base_template_id import AgentsSearchResponseAgentsItemBaseTemplateId
26
- from .agents_search_response_agents_item_identifier_key import AgentsSearchResponseAgentsItemIdentifierKey
26
+ from .agents_search_response_agents_item_identity_ids import AgentsSearchResponseAgentsItemIdentityIds
27
27
  from .agents_search_response_agents_item_message_buffer_autoclear import (
28
28
  AgentsSearchResponseAgentsItemMessageBufferAutoclear,
29
29
  )
@@ -55,7 +55,7 @@ class AgentsSearchResponseAgentsItem(UncheckedBaseModel):
55
55
  project_id: typing.Optional[AgentsSearchResponseAgentsItemProjectId] = None
56
56
  template_id: typing.Optional[AgentsSearchResponseAgentsItemTemplateId] = None
57
57
  base_template_id: typing.Optional[AgentsSearchResponseAgentsItemBaseTemplateId] = None
58
- identifier_key: typing.Optional[AgentsSearchResponseAgentsItemIdentifierKey] = None
58
+ identity_ids: typing.Optional[AgentsSearchResponseAgentsItemIdentityIds] = None
59
59
  message_buffer_autoclear: typing.Optional[AgentsSearchResponseAgentsItemMessageBufferAutoclear] = None
60
60
  template: typing.Optional[str] = None
61
61
 
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ AgentsSearchResponseAgentsItemIdentityIds = typing.Union[typing.List[str], typing.Optional[typing.Any]]
@@ -16,7 +16,7 @@ class BaseClientWrapper:
16
16
  headers: typing.Dict[str, str] = {
17
17
  "X-Fern-Language": "Python",
18
18
  "X-Fern-SDK-Name": "letta-client",
19
- "X-Fern-SDK-Version": "0.1.41",
19
+ "X-Fern-SDK-Version": "0.1.42",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -10,6 +10,8 @@ from ..errors.unprocessable_entity_error import UnprocessableEntityError
10
10
  from ..types.http_validation_error import HttpValidationError
11
11
  from json.decoder import JSONDecodeError
12
12
  from ..core.api_error import ApiError
13
+ from ..types.identity_property import IdentityProperty
14
+ from ..core.serialization import convert_and_respect_annotation_metadata
13
15
  from ..core.jsonable_encoder import jsonable_encoder
14
16
  from ..core.client_wrapper import AsyncClientWrapper
15
17
 
@@ -21,11 +23,12 @@ class IdentitiesClient:
21
23
  def __init__(self, *, client_wrapper: SyncClientWrapper):
22
24
  self._client_wrapper = client_wrapper
23
25
 
24
- def list_identities(
26
+ def list(
25
27
  self,
26
28
  *,
27
29
  name: typing.Optional[str] = None,
28
30
  project_id: typing.Optional[str] = None,
31
+ identifier_key: typing.Optional[str] = None,
29
32
  identity_type: typing.Optional[IdentityType] = None,
30
33
  before: typing.Optional[str] = None,
31
34
  after: typing.Optional[str] = None,
@@ -41,6 +44,8 @@ class IdentitiesClient:
41
44
 
42
45
  project_id : typing.Optional[str]
43
46
 
47
+ identifier_key : typing.Optional[str]
48
+
44
49
  identity_type : typing.Optional[IdentityType]
45
50
 
46
51
  before : typing.Optional[str]
@@ -64,7 +69,7 @@ class IdentitiesClient:
64
69
  client = Letta(
65
70
  token="YOUR_TOKEN",
66
71
  )
67
- client.identities.list_identities()
72
+ client.identities.list()
68
73
  """
69
74
  _response = self._client_wrapper.httpx_client.request(
70
75
  "v1/identities/",
@@ -72,6 +77,7 @@ class IdentitiesClient:
72
77
  params={
73
78
  "name": name,
74
79
  "project_id": project_id,
80
+ "identifier_key": identifier_key,
75
81
  "identity_type": identity_type,
76
82
  "before": before,
77
83
  "after": after,
@@ -103,7 +109,7 @@ class IdentitiesClient:
103
109
  raise ApiError(status_code=_response.status_code, body=_response.text)
104
110
  raise ApiError(status_code=_response.status_code, body=_response_json)
105
111
 
106
- def create_identity(
112
+ def create(
107
113
  self,
108
114
  *,
109
115
  identifier_key: str,
@@ -112,6 +118,7 @@ class IdentitiesClient:
112
118
  project: typing.Optional[str] = None,
113
119
  project_id: typing.Optional[str] = OMIT,
114
120
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
121
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
115
122
  request_options: typing.Optional[RequestOptions] = None,
116
123
  ) -> Identity:
117
124
  """
@@ -134,6 +141,9 @@ class IdentitiesClient:
134
141
  agent_ids : typing.Optional[typing.Sequence[str]]
135
142
  The agent ids that are associated with the identity.
136
143
 
144
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
145
+ List of properties associated with the identity.
146
+
137
147
  request_options : typing.Optional[RequestOptions]
138
148
  Request-specific configuration.
139
149
 
@@ -149,7 +159,7 @@ class IdentitiesClient:
149
159
  client = Letta(
150
160
  token="YOUR_TOKEN",
151
161
  )
152
- client.identities.create_identity(
162
+ client.identities.create(
153
163
  identifier_key="identifier_key",
154
164
  name="name",
155
165
  identity_type="org",
@@ -164,6 +174,9 @@ class IdentitiesClient:
164
174
  "identity_type": identity_type,
165
175
  "project_id": project_id,
166
176
  "agent_ids": agent_ids,
177
+ "properties": convert_and_respect_annotation_metadata(
178
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
179
+ ),
167
180
  },
168
181
  headers={
169
182
  "X-Project": str(project) if project is not None else None,
@@ -195,7 +208,7 @@ class IdentitiesClient:
195
208
  raise ApiError(status_code=_response.status_code, body=_response.text)
196
209
  raise ApiError(status_code=_response.status_code, body=_response_json)
197
210
 
198
- def upsert_identity(
211
+ def upsert(
199
212
  self,
200
213
  *,
201
214
  identifier_key: str,
@@ -204,6 +217,7 @@ class IdentitiesClient:
204
217
  project: typing.Optional[str] = None,
205
218
  project_id: typing.Optional[str] = OMIT,
206
219
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
220
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
207
221
  request_options: typing.Optional[RequestOptions] = None,
208
222
  ) -> Identity:
209
223
  """
@@ -226,6 +240,9 @@ class IdentitiesClient:
226
240
  agent_ids : typing.Optional[typing.Sequence[str]]
227
241
  The agent ids that are associated with the identity.
228
242
 
243
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
244
+ List of properties associated with the identity.
245
+
229
246
  request_options : typing.Optional[RequestOptions]
230
247
  Request-specific configuration.
231
248
 
@@ -241,7 +258,7 @@ class IdentitiesClient:
241
258
  client = Letta(
242
259
  token="YOUR_TOKEN",
243
260
  )
244
- client.identities.upsert_identity(
261
+ client.identities.upsert(
245
262
  identifier_key="identifier_key",
246
263
  name="name",
247
264
  identity_type="org",
@@ -256,6 +273,9 @@ class IdentitiesClient:
256
273
  "identity_type": identity_type,
257
274
  "project_id": project_id,
258
275
  "agent_ids": agent_ids,
276
+ "properties": convert_and_respect_annotation_metadata(
277
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
278
+ ),
259
279
  },
260
280
  headers={
261
281
  "X-Project": str(project) if project is not None else None,
@@ -287,13 +307,11 @@ class IdentitiesClient:
287
307
  raise ApiError(status_code=_response.status_code, body=_response.text)
288
308
  raise ApiError(status_code=_response.status_code, body=_response_json)
289
309
 
290
- def get_identity_from_identifier_key(
291
- self, identifier_key: str, *, request_options: typing.Optional[RequestOptions] = None
292
- ) -> Identity:
310
+ def retrieve(self, identity_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Identity:
293
311
  """
294
312
  Parameters
295
313
  ----------
296
- identifier_key : str
314
+ identity_id : str
297
315
 
298
316
  request_options : typing.Optional[RequestOptions]
299
317
  Request-specific configuration.
@@ -310,12 +328,12 @@ class IdentitiesClient:
310
328
  client = Letta(
311
329
  token="YOUR_TOKEN",
312
330
  )
313
- client.identities.get_identity_from_identifier_key(
314
- identifier_key="identifier_key",
331
+ client.identities.retrieve(
332
+ identity_id="identity_id",
315
333
  )
316
334
  """
317
335
  _response = self._client_wrapper.httpx_client.request(
318
- f"v1/identities/{jsonable_encoder(identifier_key)}",
336
+ f"v1/identities/{jsonable_encoder(identity_id)}",
319
337
  method="GET",
320
338
  request_options=request_options,
321
339
  )
@@ -343,15 +361,15 @@ class IdentitiesClient:
343
361
  raise ApiError(status_code=_response.status_code, body=_response.text)
344
362
  raise ApiError(status_code=_response.status_code, body=_response_json)
345
363
 
346
- def delete_identity(
347
- self, identifier_key: str, *, request_options: typing.Optional[RequestOptions] = None
364
+ def delete(
365
+ self, identity_id: str, *, request_options: typing.Optional[RequestOptions] = None
348
366
  ) -> typing.Optional[typing.Any]:
349
367
  """
350
368
  Delete an identity by its identifier key
351
369
 
352
370
  Parameters
353
371
  ----------
354
- identifier_key : str
372
+ identity_id : str
355
373
 
356
374
  request_options : typing.Optional[RequestOptions]
357
375
  Request-specific configuration.
@@ -368,12 +386,12 @@ class IdentitiesClient:
368
386
  client = Letta(
369
387
  token="YOUR_TOKEN",
370
388
  )
371
- client.identities.delete_identity(
372
- identifier_key="identifier_key",
389
+ client.identities.delete(
390
+ identity_id="identity_id",
373
391
  )
374
392
  """
375
393
  _response = self._client_wrapper.httpx_client.request(
376
- f"v1/identities/{jsonable_encoder(identifier_key)}",
394
+ f"v1/identities/{jsonable_encoder(identity_id)}",
377
395
  method="DELETE",
378
396
  request_options=request_options,
379
397
  )
@@ -401,19 +419,24 @@ class IdentitiesClient:
401
419
  raise ApiError(status_code=_response.status_code, body=_response.text)
402
420
  raise ApiError(status_code=_response.status_code, body=_response_json)
403
421
 
404
- def update_identity(
422
+ def modify(
405
423
  self,
406
- identifier_key: str,
424
+ identity_id: str,
407
425
  *,
426
+ identifier_key: typing.Optional[str] = OMIT,
408
427
  name: typing.Optional[str] = OMIT,
409
428
  identity_type: typing.Optional[IdentityType] = OMIT,
410
429
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
430
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
411
431
  request_options: typing.Optional[RequestOptions] = None,
412
432
  ) -> Identity:
413
433
  """
414
434
  Parameters
415
435
  ----------
416
- identifier_key : str
436
+ identity_id : str
437
+
438
+ identifier_key : typing.Optional[str]
439
+ External, user-generated identifier key of the identity.
417
440
 
418
441
  name : typing.Optional[str]
419
442
  The name of the identity.
@@ -424,6 +447,9 @@ class IdentitiesClient:
424
447
  agent_ids : typing.Optional[typing.Sequence[str]]
425
448
  The agent ids that are associated with the identity.
426
449
 
450
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
451
+ List of properties associated with the identity.
452
+
427
453
  request_options : typing.Optional[RequestOptions]
428
454
  Request-specific configuration.
429
455
 
@@ -439,17 +465,21 @@ class IdentitiesClient:
439
465
  client = Letta(
440
466
  token="YOUR_TOKEN",
441
467
  )
442
- client.identities.update_identity(
443
- identifier_key="identifier_key",
468
+ client.identities.modify(
469
+ identity_id="identity_id",
444
470
  )
445
471
  """
446
472
  _response = self._client_wrapper.httpx_client.request(
447
- f"v1/identities/{jsonable_encoder(identifier_key)}",
473
+ f"v1/identities/{jsonable_encoder(identity_id)}",
448
474
  method="PATCH",
449
475
  json={
476
+ "identifier_key": identifier_key,
450
477
  "name": name,
451
478
  "identity_type": identity_type,
452
479
  "agent_ids": agent_ids,
480
+ "properties": convert_and_respect_annotation_metadata(
481
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
482
+ ),
453
483
  },
454
484
  headers={
455
485
  "content-type": "application/json",
@@ -486,11 +516,12 @@ class AsyncIdentitiesClient:
486
516
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
487
517
  self._client_wrapper = client_wrapper
488
518
 
489
- async def list_identities(
519
+ async def list(
490
520
  self,
491
521
  *,
492
522
  name: typing.Optional[str] = None,
493
523
  project_id: typing.Optional[str] = None,
524
+ identifier_key: typing.Optional[str] = None,
494
525
  identity_type: typing.Optional[IdentityType] = None,
495
526
  before: typing.Optional[str] = None,
496
527
  after: typing.Optional[str] = None,
@@ -506,6 +537,8 @@ class AsyncIdentitiesClient:
506
537
 
507
538
  project_id : typing.Optional[str]
508
539
 
540
+ identifier_key : typing.Optional[str]
541
+
509
542
  identity_type : typing.Optional[IdentityType]
510
543
 
511
544
  before : typing.Optional[str]
@@ -534,7 +567,7 @@ class AsyncIdentitiesClient:
534
567
 
535
568
 
536
569
  async def main() -> None:
537
- await client.identities.list_identities()
570
+ await client.identities.list()
538
571
 
539
572
 
540
573
  asyncio.run(main())
@@ -545,6 +578,7 @@ class AsyncIdentitiesClient:
545
578
  params={
546
579
  "name": name,
547
580
  "project_id": project_id,
581
+ "identifier_key": identifier_key,
548
582
  "identity_type": identity_type,
549
583
  "before": before,
550
584
  "after": after,
@@ -576,7 +610,7 @@ class AsyncIdentitiesClient:
576
610
  raise ApiError(status_code=_response.status_code, body=_response.text)
577
611
  raise ApiError(status_code=_response.status_code, body=_response_json)
578
612
 
579
- async def create_identity(
613
+ async def create(
580
614
  self,
581
615
  *,
582
616
  identifier_key: str,
@@ -585,6 +619,7 @@ class AsyncIdentitiesClient:
585
619
  project: typing.Optional[str] = None,
586
620
  project_id: typing.Optional[str] = OMIT,
587
621
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
622
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
588
623
  request_options: typing.Optional[RequestOptions] = None,
589
624
  ) -> Identity:
590
625
  """
@@ -607,6 +642,9 @@ class AsyncIdentitiesClient:
607
642
  agent_ids : typing.Optional[typing.Sequence[str]]
608
643
  The agent ids that are associated with the identity.
609
644
 
645
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
646
+ List of properties associated with the identity.
647
+
610
648
  request_options : typing.Optional[RequestOptions]
611
649
  Request-specific configuration.
612
650
 
@@ -627,7 +665,7 @@ class AsyncIdentitiesClient:
627
665
 
628
666
 
629
667
  async def main() -> None:
630
- await client.identities.create_identity(
668
+ await client.identities.create(
631
669
  identifier_key="identifier_key",
632
670
  name="name",
633
671
  identity_type="org",
@@ -645,6 +683,9 @@ class AsyncIdentitiesClient:
645
683
  "identity_type": identity_type,
646
684
  "project_id": project_id,
647
685
  "agent_ids": agent_ids,
686
+ "properties": convert_and_respect_annotation_metadata(
687
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
688
+ ),
648
689
  },
649
690
  headers={
650
691
  "X-Project": str(project) if project is not None else None,
@@ -676,7 +717,7 @@ class AsyncIdentitiesClient:
676
717
  raise ApiError(status_code=_response.status_code, body=_response.text)
677
718
  raise ApiError(status_code=_response.status_code, body=_response_json)
678
719
 
679
- async def upsert_identity(
720
+ async def upsert(
680
721
  self,
681
722
  *,
682
723
  identifier_key: str,
@@ -685,6 +726,7 @@ class AsyncIdentitiesClient:
685
726
  project: typing.Optional[str] = None,
686
727
  project_id: typing.Optional[str] = OMIT,
687
728
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
729
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
688
730
  request_options: typing.Optional[RequestOptions] = None,
689
731
  ) -> Identity:
690
732
  """
@@ -707,6 +749,9 @@ class AsyncIdentitiesClient:
707
749
  agent_ids : typing.Optional[typing.Sequence[str]]
708
750
  The agent ids that are associated with the identity.
709
751
 
752
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
753
+ List of properties associated with the identity.
754
+
710
755
  request_options : typing.Optional[RequestOptions]
711
756
  Request-specific configuration.
712
757
 
@@ -727,7 +772,7 @@ class AsyncIdentitiesClient:
727
772
 
728
773
 
729
774
  async def main() -> None:
730
- await client.identities.upsert_identity(
775
+ await client.identities.upsert(
731
776
  identifier_key="identifier_key",
732
777
  name="name",
733
778
  identity_type="org",
@@ -745,6 +790,9 @@ class AsyncIdentitiesClient:
745
790
  "identity_type": identity_type,
746
791
  "project_id": project_id,
747
792
  "agent_ids": agent_ids,
793
+ "properties": convert_and_respect_annotation_metadata(
794
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
795
+ ),
748
796
  },
749
797
  headers={
750
798
  "X-Project": str(project) if project is not None else None,
@@ -776,13 +824,11 @@ class AsyncIdentitiesClient:
776
824
  raise ApiError(status_code=_response.status_code, body=_response.text)
777
825
  raise ApiError(status_code=_response.status_code, body=_response_json)
778
826
 
779
- async def get_identity_from_identifier_key(
780
- self, identifier_key: str, *, request_options: typing.Optional[RequestOptions] = None
781
- ) -> Identity:
827
+ async def retrieve(self, identity_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Identity:
782
828
  """
783
829
  Parameters
784
830
  ----------
785
- identifier_key : str
831
+ identity_id : str
786
832
 
787
833
  request_options : typing.Optional[RequestOptions]
788
834
  Request-specific configuration.
@@ -804,15 +850,15 @@ class AsyncIdentitiesClient:
804
850
 
805
851
 
806
852
  async def main() -> None:
807
- await client.identities.get_identity_from_identifier_key(
808
- identifier_key="identifier_key",
853
+ await client.identities.retrieve(
854
+ identity_id="identity_id",
809
855
  )
810
856
 
811
857
 
812
858
  asyncio.run(main())
813
859
  """
814
860
  _response = await self._client_wrapper.httpx_client.request(
815
- f"v1/identities/{jsonable_encoder(identifier_key)}",
861
+ f"v1/identities/{jsonable_encoder(identity_id)}",
816
862
  method="GET",
817
863
  request_options=request_options,
818
864
  )
@@ -840,15 +886,15 @@ class AsyncIdentitiesClient:
840
886
  raise ApiError(status_code=_response.status_code, body=_response.text)
841
887
  raise ApiError(status_code=_response.status_code, body=_response_json)
842
888
 
843
- async def delete_identity(
844
- self, identifier_key: str, *, request_options: typing.Optional[RequestOptions] = None
889
+ async def delete(
890
+ self, identity_id: str, *, request_options: typing.Optional[RequestOptions] = None
845
891
  ) -> typing.Optional[typing.Any]:
846
892
  """
847
893
  Delete an identity by its identifier key
848
894
 
849
895
  Parameters
850
896
  ----------
851
- identifier_key : str
897
+ identity_id : str
852
898
 
853
899
  request_options : typing.Optional[RequestOptions]
854
900
  Request-specific configuration.
@@ -870,15 +916,15 @@ class AsyncIdentitiesClient:
870
916
 
871
917
 
872
918
  async def main() -> None:
873
- await client.identities.delete_identity(
874
- identifier_key="identifier_key",
919
+ await client.identities.delete(
920
+ identity_id="identity_id",
875
921
  )
876
922
 
877
923
 
878
924
  asyncio.run(main())
879
925
  """
880
926
  _response = await self._client_wrapper.httpx_client.request(
881
- f"v1/identities/{jsonable_encoder(identifier_key)}",
927
+ f"v1/identities/{jsonable_encoder(identity_id)}",
882
928
  method="DELETE",
883
929
  request_options=request_options,
884
930
  )
@@ -906,19 +952,24 @@ class AsyncIdentitiesClient:
906
952
  raise ApiError(status_code=_response.status_code, body=_response.text)
907
953
  raise ApiError(status_code=_response.status_code, body=_response_json)
908
954
 
909
- async def update_identity(
955
+ async def modify(
910
956
  self,
911
- identifier_key: str,
957
+ identity_id: str,
912
958
  *,
959
+ identifier_key: typing.Optional[str] = OMIT,
913
960
  name: typing.Optional[str] = OMIT,
914
961
  identity_type: typing.Optional[IdentityType] = OMIT,
915
962
  agent_ids: typing.Optional[typing.Sequence[str]] = OMIT,
963
+ properties: typing.Optional[typing.Sequence[IdentityProperty]] = OMIT,
916
964
  request_options: typing.Optional[RequestOptions] = None,
917
965
  ) -> Identity:
918
966
  """
919
967
  Parameters
920
968
  ----------
921
- identifier_key : str
969
+ identity_id : str
970
+
971
+ identifier_key : typing.Optional[str]
972
+ External, user-generated identifier key of the identity.
922
973
 
923
974
  name : typing.Optional[str]
924
975
  The name of the identity.
@@ -929,6 +980,9 @@ class AsyncIdentitiesClient:
929
980
  agent_ids : typing.Optional[typing.Sequence[str]]
930
981
  The agent ids that are associated with the identity.
931
982
 
983
+ properties : typing.Optional[typing.Sequence[IdentityProperty]]
984
+ List of properties associated with the identity.
985
+
932
986
  request_options : typing.Optional[RequestOptions]
933
987
  Request-specific configuration.
934
988
 
@@ -949,20 +1003,24 @@ class AsyncIdentitiesClient:
949
1003
 
950
1004
 
951
1005
  async def main() -> None:
952
- await client.identities.update_identity(
953
- identifier_key="identifier_key",
1006
+ await client.identities.modify(
1007
+ identity_id="identity_id",
954
1008
  )
955
1009
 
956
1010
 
957
1011
  asyncio.run(main())
958
1012
  """
959
1013
  _response = await self._client_wrapper.httpx_client.request(
960
- f"v1/identities/{jsonable_encoder(identifier_key)}",
1014
+ f"v1/identities/{jsonable_encoder(identity_id)}",
961
1015
  method="PATCH",
962
1016
  json={
1017
+ "identifier_key": identifier_key,
963
1018
  "name": name,
964
1019
  "identity_type": identity_type,
965
1020
  "agent_ids": agent_ids,
1021
+ "properties": convert_and_respect_annotation_metadata(
1022
+ object_=properties, annotation=typing.Sequence[IdentityProperty], direction="write"
1023
+ ),
966
1024
  },
967
1025
  headers={
968
1026
  "content-type": "application/json",
@@ -26,8 +26,7 @@ from .types import (
26
26
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigEmbeddingEndpointType,
27
27
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandle,
28
28
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem,
29
- TemplatesCreateAgentsResponseAgentsItemIdentifierKey,
30
- TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem,
29
+ TemplatesCreateAgentsResponseAgentsItemIdentityIds,
31
30
  TemplatesCreateAgentsResponseAgentsItemLastUpdatedById,
32
31
  TemplatesCreateAgentsResponseAgentsItemLastUpdatedByIdItem,
33
32
  TemplatesCreateAgentsResponseAgentsItemLlmConfig,
@@ -196,8 +195,7 @@ __all__ = [
196
195
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
197
196
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandle",
198
197
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem",
199
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKey",
200
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem",
198
+ "TemplatesCreateAgentsResponseAgentsItemIdentityIds",
201
199
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedById",
202
200
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedByIdItem",
203
201
  "TemplatesCreateAgentsResponseAgentsItemLlmConfig",
@@ -65,11 +65,8 @@ from .templates_create_agents_response_agents_item_embedding_config_handle impor
65
65
  from .templates_create_agents_response_agents_item_embedding_config_handle_item import (
66
66
  TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem,
67
67
  )
68
- from .templates_create_agents_response_agents_item_identifier_key import (
69
- TemplatesCreateAgentsResponseAgentsItemIdentifierKey,
70
- )
71
- from .templates_create_agents_response_agents_item_identifier_key_item import (
72
- TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem,
68
+ from .templates_create_agents_response_agents_item_identity_ids import (
69
+ TemplatesCreateAgentsResponseAgentsItemIdentityIds,
73
70
  )
74
71
  from .templates_create_agents_response_agents_item_last_updated_by_id import (
75
72
  TemplatesCreateAgentsResponseAgentsItemLastUpdatedById,
@@ -500,8 +497,7 @@ __all__ = [
500
497
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigEmbeddingEndpointType",
501
498
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandle",
502
499
  "TemplatesCreateAgentsResponseAgentsItemEmbeddingConfigHandleItem",
503
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKey",
504
- "TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem",
500
+ "TemplatesCreateAgentsResponseAgentsItemIdentityIds",
505
501
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedById",
506
502
  "TemplatesCreateAgentsResponseAgentsItemLastUpdatedByIdItem",
507
503
  "TemplatesCreateAgentsResponseAgentsItemLlmConfig",
@@ -35,8 +35,8 @@ from .templates_create_agents_response_agents_item_template_id import TemplatesC
35
35
  from .templates_create_agents_response_agents_item_base_template_id import (
36
36
  TemplatesCreateAgentsResponseAgentsItemBaseTemplateId,
37
37
  )
38
- from .templates_create_agents_response_agents_item_identifier_key import (
39
- TemplatesCreateAgentsResponseAgentsItemIdentifierKey,
38
+ from .templates_create_agents_response_agents_item_identity_ids import (
39
+ TemplatesCreateAgentsResponseAgentsItemIdentityIds,
40
40
  )
41
41
  from .templates_create_agents_response_agents_item_message_buffer_autoclear import (
42
42
  TemplatesCreateAgentsResponseAgentsItemMessageBufferAutoclear,
@@ -71,7 +71,7 @@ class TemplatesCreateAgentsResponseAgentsItem(UncheckedBaseModel):
71
71
  project_id: typing.Optional[TemplatesCreateAgentsResponseAgentsItemProjectId] = None
72
72
  template_id: typing.Optional[TemplatesCreateAgentsResponseAgentsItemTemplateId] = None
73
73
  base_template_id: typing.Optional[TemplatesCreateAgentsResponseAgentsItemBaseTemplateId] = None
74
- identifier_key: typing.Optional[TemplatesCreateAgentsResponseAgentsItemIdentifierKey] = None
74
+ identity_ids: typing.Optional[TemplatesCreateAgentsResponseAgentsItemIdentityIds] = None
75
75
  message_buffer_autoclear: typing.Optional[TemplatesCreateAgentsResponseAgentsItemMessageBufferAutoclear] = None
76
76
 
77
77
  if IS_PYDANTIC_V2:
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ TemplatesCreateAgentsResponseAgentsItemIdentityIds = typing.Union[typing.List[str], typing.Optional[typing.Any]]
@@ -86,6 +86,9 @@ from .health import Health
86
86
  from .http_validation_error import HttpValidationError
87
87
  from .identity import Identity
88
88
  from .identity_create import IdentityCreate
89
+ from .identity_property import IdentityProperty
90
+ from .identity_property_type import IdentityPropertyType
91
+ from .identity_property_value import IdentityPropertyValue
89
92
  from .identity_type import IdentityType
90
93
  from .image_url import ImageUrl
91
94
  from .image_url_detail import ImageUrlDetail
@@ -253,6 +256,9 @@ __all__ = [
253
256
  "HttpValidationError",
254
257
  "Identity",
255
258
  "IdentityCreate",
259
+ "IdentityProperty",
260
+ "IdentityPropertyType",
261
+ "IdentityPropertyValue",
256
262
  "IdentityType",
257
263
  "ImageUrl",
258
264
  "ImageUrlDetail",
@@ -143,9 +143,9 @@ class AgentState(UncheckedBaseModel):
143
143
  The base template id of the agent.
144
144
  """
145
145
 
146
- identifier_key: typing.Optional[str] = pydantic.Field(default=None)
146
+ identity_ids: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
147
147
  """
148
- The identifier key belonging to the identity associated with this agent.
148
+ The ids of the identities associated with this agent.
149
149
  """
150
150
 
151
151
  message_buffer_autoclear: typing.Optional[bool] = pydantic.Field(default=None)
@@ -4,7 +4,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import pydantic
6
6
  from .identity_type import IdentityType
7
- from .agent_state import AgentState
7
+ from .identity_property import IdentityProperty
8
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
9
 
10
10
 
@@ -34,9 +34,14 @@ class Identity(UncheckedBaseModel):
34
34
  The project id of the identity, if applicable.
35
35
  """
36
36
 
37
- agents: typing.List[AgentState] = pydantic.Field()
37
+ agent_ids: typing.List[str] = pydantic.Field()
38
38
  """
39
- The agents associated with the identity.
39
+ The IDs of the agents associated with the identity.
40
+ """
41
+
42
+ properties: typing.Optional[typing.List[IdentityProperty]] = pydantic.Field(default=None)
43
+ """
44
+ List of properties associated with the identity
40
45
  """
41
46
 
42
47
  if IS_PYDANTIC_V2:
@@ -4,6 +4,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import pydantic
5
5
  from .identity_type import IdentityType
6
6
  import typing
7
+ from .identity_property import IdentityProperty
7
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
9
 
9
10
 
@@ -33,6 +34,11 @@ class IdentityCreate(UncheckedBaseModel):
33
34
  The agent ids that are associated with the identity.
34
35
  """
35
36
 
37
+ properties: typing.Optional[typing.List[IdentityProperty]] = pydantic.Field(default=None)
38
+ """
39
+ List of properties associated with the identity.
40
+ """
41
+
36
42
  if IS_PYDANTIC_V2:
37
43
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
38
44
  else:
@@ -0,0 +1,38 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import pydantic
5
+ from .identity_property_value import IdentityPropertyValue
6
+ from .identity_property_type import IdentityPropertyType
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import typing
9
+
10
+
11
+ class IdentityProperty(UncheckedBaseModel):
12
+ """
13
+ A property of an identity
14
+ """
15
+
16
+ key: str = pydantic.Field()
17
+ """
18
+ The key of the property
19
+ """
20
+
21
+ value: IdentityPropertyValue = pydantic.Field()
22
+ """
23
+ The value of the property
24
+ """
25
+
26
+ type: IdentityPropertyType = pydantic.Field()
27
+ """
28
+ The type of the property
29
+ """
30
+
31
+ if IS_PYDANTIC_V2:
32
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
33
+ else:
34
+
35
+ class Config:
36
+ frozen = True
37
+ smart_union = True
38
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ IdentityPropertyType = typing.Union[typing.Literal["string", "number", "boolean", "json"], typing.Any]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ IdentityPropertyValue = typing.Union[str, int, float, bool, typing.Dict[str, typing.Optional[typing.Any]]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.41
3
+ Version: 0.1.42
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,8 +1,8 @@
1
- letta_client/__init__.py,sha256=-glL4zLET6oQHTsO5jYJDAHC_22QDfbNk-XYtiiU_gc,55899
2
- letta_client/agents/__init__.py,sha256=oPpRVaXnXW2hn4dVhGw_cRcu6apXpOyQ9DnxEHXYb_8,22240
1
+ letta_client/__init__.py,sha256=9Irh5yC-SkPUD4m7mWClK5N-N0sXmHFV42zihbZp6Vo,55813
2
+ letta_client/agents/__init__.py,sha256=U4OghWMFH0BOXdu7-r-7uSGR2SGt1a5gsP_YF2OIE8A,22128
3
3
  letta_client/agents/archival_memory/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  letta_client/agents/archival_memory/client.py,sha256=VTlL-cGmYBYdVI5owY8Gbbj4dscUCtSzL34Gm_5Nvk4,14872
5
- letta_client/agents/client.py,sha256=t9r0M23VbTlB03Innp6TAPUDqakZZHtGo47xB0Lv3r8,63119
5
+ letta_client/agents/client.py,sha256=AHlknNauV8iQiwUTSbOOb4XnXOScok1BhF__JO9qo78,63301
6
6
  letta_client/agents/context/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
7
7
  letta_client/agents/context/client.py,sha256=GKKvoG4N_K8Biz9yDjeIHpFG0C8Cwc7tHmEX3pTL_9U,4815
8
8
  letta_client/agents/core_memory/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -25,14 +25,14 @@ letta_client/agents/templates/types/templates_create_response.py,sha256=kKjkyjv3
25
25
  letta_client/agents/templates/types/templates_migrate_response.py,sha256=7N4JtAaiao-LrNdi72K7XB01uXJVkczaKYIJIMf0QYs,577
26
26
  letta_client/agents/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
27
27
  letta_client/agents/tools/client.py,sha256=xZMRZhG8mI_h8_QqgI4lXh3FieRCLeoPwdtB56GB-XU,12685
28
- letta_client/agents/types/__init__.py,sha256=UX-0Fo8J8Yxx77q16O2Z_QX9hXhHV3_aahOfMOhjfos,35299
28
+ letta_client/agents/types/__init__.py,sha256=gEoXVmTXkszsd8VQa4faCWJpfv34XfKVrfTeKUJ7GDQ,35122
29
29
  letta_client/agents/types/agents_search_request_search_item.py,sha256=9wZPvTP5ESFOhdF9YqdYwv4h_fEFF9TWbGtDO9xkrzA,494
30
30
  letta_client/agents/types/agents_search_request_search_item_field.py,sha256=06cbjgIRD2GL7Ck7ZYxLVNbrKP9HLHNOCi9DSPspATQ,692
31
31
  letta_client/agents/types/agents_search_request_search_item_one.py,sha256=ECWv-hDZen6AomM01zmRsOz0PlXVEwIwLHjid9yko9o,779
32
32
  letta_client/agents/types/agents_search_request_search_item_one_operator.py,sha256=S1qYdfdUqUgZ0DzQ53x7GN_qa_4NypO7-qNkkxgsbQc,182
33
33
  letta_client/agents/types/agents_search_request_search_item_zero.py,sha256=tGjwnFqSofFMBSAogmPLEflDQZ2rMqoMfFUtaIpND18,630
34
34
  letta_client/agents/types/agents_search_response.py,sha256=4A0h6ok1Wc1AkTVS77LGVX0sMHPawRHpbecr-eKrdsI,870
35
- letta_client/agents/types/agents_search_response_agents_item.py,sha256=2e9Q4dOW9MKN-oA12dbItufB4PRj3uzcUkBtha-htjY,4579
35
+ letta_client/agents/types/agents_search_response_agents_item.py,sha256=hMyBbobsTOJ_38V9eo5SzQx56MtVz-IJIPZ-btXI_0s,4571
36
36
  letta_client/agents/types/agents_search_response_agents_item_agent_type.py,sha256=hnbAg8R8Q2Jv79ebYZGhbrS8gwt60bz5ldnebkivCfY,250
37
37
  letta_client/agents/types/agents_search_response_agents_item_base_template_id.py,sha256=9gLyzrfFq7z89T0Hi0fCsnmVgulsvY0V2Ae28E4jYr8,414
38
38
  letta_client/agents/types/agents_search_response_agents_item_base_template_id_item.py,sha256=mlY4fKqWadtJ3kZIYjY9NIcpDtaKpxV2ps60FPo-XzI,171
@@ -56,8 +56,7 @@ letta_client/agents/types/agents_search_response_agents_item_embedding_config_em
56
56
  letta_client/agents/types/agents_search_response_agents_item_embedding_config_embedding_endpoint_type.py,sha256=BbADzNL49v41DYOvUKcL2sQV0ZEJiPMmhFwaoVBcp3A,589
57
57
  letta_client/agents/types/agents_search_response_agents_item_embedding_config_handle.py,sha256=Y6bNXRnk5jBWe574rEaseQxHaGEsL9g0hvwG1FCi518,451
58
58
  letta_client/agents/types/agents_search_response_agents_item_embedding_config_handle_item.py,sha256=EwMCmx0n-Ybd3reN9QNPIs5hIkUiUoGKh9QtVAVz7iQ,178
59
- letta_client/agents/types/agents_search_response_agents_item_identifier_key.py,sha256=xFC_UkBqpiFbzBNfda4OF6rBa_IhB2FjNgCRnaC-XOc,409
60
- letta_client/agents/types/agents_search_response_agents_item_identifier_key_item.py,sha256=_k4uRLfq4WeiDhVI51v2tKj5u2kLwk55gkcV6xAOcoE,170
59
+ letta_client/agents/types/agents_search_response_agents_item_identity_ids.py,sha256=Me2QPiXqsJiSWcpmnAu-n6runXGk0OCTv2z-FSHx-iA,184
61
60
  letta_client/agents/types/agents_search_response_agents_item_last_updated_by_id.py,sha256=WpPW5-0-xegQTh_-7igpbuFr5wFeFM359kuBqbQDYRE,428
62
61
  letta_client/agents/types/agents_search_response_agents_item_last_updated_by_id_item.py,sha256=ewpvZ8ScpPBI1Vi7cWjTPQ1eeYBqU8BcsdmFwXR3fsM,172
63
62
  letta_client/agents/types/agents_search_response_agents_item_llm_config.py,sha256=QLL21-fKxgjgHcpAZR1VwyRj8G1i1j7mTx_U6qZ25d8,2226
@@ -206,7 +205,7 @@ letta_client/blocks/client.py,sha256=AeQQ-IdYhV-zqLTt3PTrJOtJ6XtBZcXNC108Y5EogVU
206
205
  letta_client/client.py,sha256=y2cXN0ApFul2Lz-fVh5TbeYbQ8oUjnXcwJ6wUczEf2c,2457
207
206
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
208
207
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
209
- letta_client/core/client_wrapper.py,sha256=fEaGSVEUHHZEEHYpcKkEFq29CND5PQ_IRiWVBQ67uh8,1997
208
+ letta_client/core/client_wrapper.py,sha256=gk_U04VTqSW0rvAFT3fHY18zCT-cNwqBYUgnVLGNsPw,1997
210
209
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
211
210
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
212
211
  letta_client/core/http_client.py,sha256=siUQ6UV0ARZALlxubqWSSAAPC9B4VW8y6MGlHStfaeo,19552
@@ -226,7 +225,7 @@ letta_client/errors/unprocessable_entity_error.py,sha256=FvR7XPlV3Xx5nu8HNlmLhBR
226
225
  letta_client/health/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
227
226
  letta_client/health/client.py,sha256=6BjXH83ZhsLt_MD4QA2hiTsvgfeIgxMT1KSN0Oj6e1I,3242
228
227
  letta_client/identities/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
229
- letta_client/identities/client.py,sha256=njx24NRGVvUKGSjKNIPqdzpVnmZtZh1-FGzr1-hJrhw,31458
228
+ letta_client/identities/client.py,sha256=6EbK-7f6kMyEAyKMEkdR6qwXbRf_0TCrDKcIKYVQbq4,34364
230
229
  letta_client/jobs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
231
230
  letta_client/jobs/client.py,sha256=z1Zq6dGs2xbf3EAFuD3-m-qbpbUeqpCBYqtIFKkGoMk,15622
232
231
  letta_client/models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
@@ -246,11 +245,11 @@ letta_client/steps/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_p
246
245
  letta_client/steps/client.py,sha256=nHd4ZxYeaVgYf9ZewBCLc58DZ38LoW97W-xbc2oOL_0,10900
247
246
  letta_client/tag/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
248
247
  letta_client/tag/client.py,sha256=TBAotdb0e2_x2pANF4dOE1qmWY3GIgb7nOhvN7iZ3_4,5183
249
- letta_client/templates/__init__.py,sha256=xVi2YUed4cwUyvD8oIGG2CekF3q7x9bjDDiW7VQhNIc,24099
248
+ letta_client/templates/__init__.py,sha256=Ws3fkjWNdtC8J6O-kCo6VP7Y56svceHltvNolA0MuHM,23969
250
249
  letta_client/templates/client.py,sha256=CpU_STVhjt1Rto-COOBdX8Pw2GmgU7E1KgOnj92YLIg,6732
251
- letta_client/templates/types/__init__.py,sha256=wZ5377IH4sm8rkyhkRJkSYWJMUwV6v7lCC3-EYv9pW8,39426
250
+ letta_client/templates/types/__init__.py,sha256=tccRzwq41aUcw--4C1R8mfLmKpcSA0AK2M8NomrkEBs,39212
252
251
  letta_client/templates/types/templates_create_agents_response.py,sha256=UNMZSUckqoug1sq-gqC7luO392eItxxy0NNdUL0CRfQ,725
253
- letta_client/templates/types/templates_create_agents_response_agents_item.py,sha256=IdzU3yf5pIAFQEJCcP7jDkYDb3sPMGNwK1d2Gi8Xhso,5211
252
+ letta_client/templates/types/templates_create_agents_response_agents_item.py,sha256=xaEfez_Y4tIlVnCUXrtY9VgQ2XjodS0ua-9trsO9IJQ,5203
254
253
  letta_client/templates/types/templates_create_agents_response_agents_item_agent_type.py,sha256=RNO80zLWpTpnFslFa6PDlo0w9Ds6cIqwcrToouFVt98,259
255
254
  letta_client/templates/types/templates_create_agents_response_agents_item_base_template_id.py,sha256=DXzjuu9PEMx_8Q8tLW70Y5BWTmiHGPVBKCkVnE6UMSs,460
256
255
  letta_client/templates/types/templates_create_agents_response_agents_item_base_template_id_item.py,sha256=ack71ugOKBcjsTAUKamc1Wq_0Z9_XZRUzVZzbTBRBxk,180
@@ -274,8 +273,7 @@ letta_client/templates/types/templates_create_agents_response_agents_item_embedd
274
273
  letta_client/templates/types/templates_create_agents_response_agents_item_embedding_config_embedding_endpoint_type.py,sha256=dNwll-L8ElKNz2h6VD1TrINDgH1haCNlmTiDgIyGUc4,598
275
274
  letta_client/templates/types/templates_create_agents_response_agents_item_embedding_config_handle.py,sha256=0ZQcfb-KkEbKOg5Sxa4qcg293pmXQqkTDbsG4AeviCo,488
276
275
  letta_client/templates/types/templates_create_agents_response_agents_item_embedding_config_handle_item.py,sha256=TZ84dJiK4vhqFhAjnErpWoE5bgCwbznxXq0LMJxzFGg,187
277
- letta_client/templates/types/templates_create_agents_response_agents_item_identifier_key.py,sha256=wMzd51mpQD_qkP0RFYJ-GZm_yzYwd620NushAcpT4k4,455
278
- letta_client/templates/types/templates_create_agents_response_agents_item_identifier_key_item.py,sha256=m-Ya8wl48YAatRfOQYl0Rx-AQDjyJtayEbtM7SsuIfA,179
276
+ letta_client/templates/types/templates_create_agents_response_agents_item_identity_ids.py,sha256=-ss5Ifi4HdGrP0g5X8yPPv-V3EGltzmPz2oVec4HGCc,193
279
277
  letta_client/templates/types/templates_create_agents_response_agents_item_last_updated_by_id.py,sha256=h0ZU1lx4hDem3EkXpQfcZe0T6llCxudbWL4D0wzs8Gw,465
280
278
  letta_client/templates/types/templates_create_agents_response_agents_item_last_updated_by_id_item.py,sha256=Gm8rlP1HXMx0kf6yVTiHvn3ak1YfUQ-MrRs4njYg6ds,181
281
279
  letta_client/templates/types/templates_create_agents_response_agents_item_llm_config.py,sha256=yN1LYm0YhsSNEZvy8IaxMlTDQifhWCHELfyVipg2pUw,2447
@@ -418,12 +416,12 @@ letta_client/templates/types/templates_create_agents_response_agents_item_update
418
416
  letta_client/templates/types/templates_create_agents_response_agents_item_updated_at_item.py,sha256=T3rYnv5m_cBAEPBnEjUkkHJLYtFZfXNMbb7a9FrIwKY,175
419
417
  letta_client/tools/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
420
418
  letta_client/tools/client.py,sha256=nv4PKwwlBsyGYm9B_3okgaiNFbbMYfZ53bzeoaAhVfU,53219
421
- letta_client/types/__init__.py,sha256=yi5kOP-9u129pNUBz1lpjDlED8ssVjtXHxLb9kTpDv8,15150
419
+ letta_client/types/__init__.py,sha256=CHSYpc-2xTVN0WDFZQ_eQZrSyJ1029q5TXvAfVc5-Ug,15395
422
420
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
423
421
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
424
422
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
425
423
  letta_client/types/agent_environment_variable.py,sha256=vutZLcR0yETltgOZ7E_o9kR4vOdBxybVL9lzXSux75w,1698
426
- letta_client/types/agent_state.py,sha256=YmOGu1BAewjDuq4mk5S0yP81YdYPeKgeYP1uXv2Ws_Q,5035
424
+ letta_client/types/agent_state.py,sha256=nym-OgbsFyhaffhKqDoKB3IRs_kRXgoULjaSYUlP3aI,5027
427
425
  letta_client/types/agent_state_tool_rules_item.py,sha256=qWQIVi8G-ulUjHJqkUDOZQdSN7aajyOxwg3Y7rBBrOs,448
428
426
  letta_client/types/agent_type.py,sha256=iZ3Wa4BUddDeFSgcK3Z0WUKCQYDRCEo0aJICKsc3HL0,220
429
427
  letta_client/types/app_auth_scheme.py,sha256=_6FLlw3drQ3HDSP9SecStBwQyE0DgL6UvKFArCC4yp8,1242
@@ -503,8 +501,11 @@ letta_client/types/function_output.py,sha256=7b8550BllXxtZQ3T3jfvZjcCU_ZGWNBvjlr
503
501
  letta_client/types/function_tool.py,sha256=TOETpZdqgPIgd4g9JFo3yvDBpTx4lDFzJNZH8PxAjpI,697
504
502
  letta_client/types/health.py,sha256=nQwx5ysn_cJMKUoqsfaPcGNSRSjfwX5S272UiSQJ03w,618
505
503
  letta_client/types/http_validation_error.py,sha256=yHa4_NHIMB-VKNZpk7agjLTwWIg7mv7ml3d7I-Bqiog,661
506
- letta_client/types/identity.py,sha256=-geehHsgVIhaD8YqRlH60MRl86vluAqWB13UchEjHi8,1285
507
- letta_client/types/identity_create.py,sha256=eG6urqbZZsRiExBQmcgs_uytEn5IRLoj5kAB8BrvaQc,1173
504
+ letta_client/types/identity.py,sha256=9wSW-1tIYMgoyU2U3opFN1KlOoDSjgTNvKloZp1LDCM,1467
505
+ letta_client/types/identity_create.py,sha256=pIufW5mmbJadPwBSG2eH1yACu6YScVClZNLZWPsFlWY,1385
506
+ letta_client/types/identity_property.py,sha256=K-e-SVzwIznTAJgMrYKWvEBZmymHzUiAOql4Da7BX7o,981
507
+ letta_client/types/identity_property_type.py,sha256=Ce360UCsjWkX5t1-4HK8_4qiBz1olFGL8gDhuLb2d6Q,183
508
+ letta_client/types/identity_property_value.py,sha256=SQJz97fXG0XHqOGYmYRmHLbI4On3xKmPZhrrkfN8vBs,187
508
509
  letta_client/types/identity_type.py,sha256=YeGvqit1VLK7q0GpNuTyfbCxXO7BJjq-hFSiFZexswk,160
509
510
  letta_client/types/image_url.py,sha256=re4N2AsAvOFl2nS6v8jOi3jVFppBs-3zhwpBKHSuCLs,648
510
511
  letta_client/types/image_url_detail.py,sha256=YFT9wyf8hqeKhQjRWMv97y-fbU2DB-oCbU5BpUcHWVU,161
@@ -579,6 +580,6 @@ letta_client/types/user_update.py,sha256=0Bl1OjO7bfmlpsGQ36dSh6DH1UB_wJOTNewS0wD
579
580
  letta_client/types/validation_error.py,sha256=ACDS7wL5nQbS8ymFhWljwbBJmbugNa8bs2O5xEZC3u4,680
580
581
  letta_client/types/validation_error_loc_item.py,sha256=LAtjCHIllWRBFXvAZ5QZpp7CPXjdtN9EB7HrLVo6EP0,128
581
582
  letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
582
- letta_client-0.1.41.dist-info/METADATA,sha256=VrHzzuD7rYOH3cFWL3RTB4gfHWGzz767thy9YUGCaZ0,4942
583
- letta_client-0.1.41.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
584
- letta_client-0.1.41.dist-info/RECORD,,
583
+ letta_client-0.1.42.dist-info/METADATA,sha256=SbNFW5LYTlTL-MrSXGt--myUUWn478x1Jug15ayCHpo,4942
584
+ letta_client-0.1.42.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
585
+ letta_client-0.1.42.dist-info/RECORD,,
@@ -1,11 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from .agents_search_response_agents_item_identifier_key_item import AgentsSearchResponseAgentsItemIdentifierKeyItem
5
-
6
- AgentsSearchResponseAgentsItemIdentifierKey = typing.Union[
7
- str,
8
- typing.Optional[str],
9
- typing.List[typing.Optional[AgentsSearchResponseAgentsItemIdentifierKeyItem]],
10
- typing.Optional[typing.Any],
11
- ]
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- AgentsSearchResponseAgentsItemIdentifierKeyItem = typing.Union[str, typing.Optional[str]]
@@ -1,13 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
- from .templates_create_agents_response_agents_item_identifier_key_item import (
5
- TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem,
6
- )
7
-
8
- TemplatesCreateAgentsResponseAgentsItemIdentifierKey = typing.Union[
9
- str,
10
- typing.Optional[str],
11
- typing.List[typing.Optional[TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem]],
12
- typing.Optional[typing.Any],
13
- ]
@@ -1,5 +0,0 @@
1
- # This file was auto-generated by Fern from our API Definition.
2
-
3
- import typing
4
-
5
- TemplatesCreateAgentsResponseAgentsItemIdentifierKeyItem = typing.Union[str, typing.Optional[str]]