letta-client 0.1.16__py3-none-any.whl → 0.1.19__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.
Files changed (104) hide show
  1. letta_client/__init__.py +34 -120
  2. letta_client/agents/__init__.py +18 -54
  3. letta_client/agents/archival_memory/client.py +25 -343
  4. letta_client/agents/client.py +1640 -347
  5. letta_client/agents/context/client.py +6 -4
  6. letta_client/agents/core_memory/client.py +95 -624
  7. letta_client/agents/memory_variables/__init__.py +2 -2
  8. letta_client/agents/memory_variables/client.py +15 -15
  9. letta_client/agents/memory_variables/types/__init__.py +2 -2
  10. letta_client/agents/memory_variables/types/{memory_variables_get_response.py → memory_variables_list_response.py} +1 -1
  11. letta_client/agents/messages/__init__.py +2 -22
  12. letta_client/agents/messages/client.py +32 -38
  13. letta_client/agents/messages/types/__init__.py +2 -21
  14. letta_client/agents/messages/types/letta_streaming_response.py +16 -139
  15. letta_client/agents/messages/types/messages_list_response.py +2 -2
  16. letta_client/agents/sources/client.py +266 -5
  17. letta_client/agents/tools/client.py +25 -27
  18. letta_client/agents/types/__init__.py +15 -25
  19. letta_client/agents/types/agents_search_request_search_item.py +10 -78
  20. letta_client/agents/types/{agents_search_request_search_item_order_by.py → agents_search_request_search_item_direction.py} +7 -6
  21. letta_client/agents/types/agents_search_request_search_item_direction_direction.py +5 -0
  22. letta_client/agents/types/agents_search_request_search_item_direction_value.py +5 -0
  23. letta_client/agents/types/{agents_search_request_search_item_name.py → agents_search_request_search_item_one.py} +5 -4
  24. letta_client/agents/types/agents_search_request_search_item_one_operator.py +5 -0
  25. letta_client/agents/types/{agents_search_request_search_item_tags.py → agents_search_request_search_item_two.py} +2 -1
  26. letta_client/agents/types/{agents_search_request_search_item_version.py → agents_search_request_search_item_zero.py} +3 -2
  27. letta_client/blocks/client.py +12 -260
  28. letta_client/client.py +3 -3
  29. letta_client/core/client_wrapper.py +1 -1
  30. letta_client/jobs/client.py +4 -4
  31. letta_client/providers/client.py +74 -74
  32. letta_client/runs/client.py +14 -12
  33. letta_client/sources/client.py +12 -288
  34. letta_client/tools/client.py +63 -189
  35. letta_client/types/__init__.py +21 -103
  36. letta_client/types/agent_state.py +3 -7
  37. letta_client/types/{assistant_message_output.py → assistant_message.py} +3 -2
  38. letta_client/types/block.py +2 -6
  39. letta_client/types/block_update.py +1 -5
  40. letta_client/types/{archival_memory_summary.py → chat_completion_message_tool_call.py} +7 -7
  41. letta_client/types/context_window_overview.py +4 -6
  42. letta_client/types/create_block.py +1 -5
  43. letta_client/types/embedding_config_embedding_endpoint_type.py +1 -0
  44. letta_client/types/{function_call_output.py → function.py} +1 -1
  45. letta_client/types/{function_schema.py → function_definition.py} +2 -1
  46. letta_client/types/{create_assistant_file_request.py → function_tool.py} +6 -7
  47. letta_client/types/job.py +1 -5
  48. letta_client/types/letta_message_union.py +9 -121
  49. letta_client/types/letta_usage_statistics.py +1 -0
  50. letta_client/types/llm_config_model_endpoint_type.py +1 -0
  51. letta_client/types/{letta_schemas_message_message.py → message.py} +9 -6
  52. letta_client/types/passage.py +1 -5
  53. letta_client/types/reasoning_message.py +2 -1
  54. letta_client/types/run.py +1 -5
  55. letta_client/types/source.py +2 -6
  56. letta_client/types/{system_message_output.py → system_message.py} +3 -2
  57. letta_client/types/{letta_schemas_tool_tool.py → tool.py} +1 -1
  58. letta_client/types/{letta_schemas_letta_message_tool_call.py → tool_call.py} +1 -1
  59. letta_client/types/tool_call_message.py +2 -1
  60. letta_client/types/tool_call_message_tool_call.py +2 -2
  61. letta_client/types/tool_return_message.py +2 -1
  62. letta_client/types/tool_type.py +2 -1
  63. letta_client/types/{user_message_output.py → user_message.py} +3 -2
  64. {letta_client-0.1.16.dist-info → letta_client-0.1.19.dist-info}/METADATA +2 -2
  65. {letta_client-0.1.16.dist-info → letta_client-0.1.19.dist-info}/RECORD +66 -101
  66. letta_client/agents/recall_memory/__init__.py +0 -2
  67. letta_client/agents/recall_memory/client.py +0 -147
  68. letta_client/agents/types/agents_search_request_search_item_name_operator.py +0 -5
  69. letta_client/agents/types/agents_search_request_search_item_order_by_direction.py +0 -5
  70. letta_client/agents/types/agents_search_request_search_item_order_by_value.py +0 -5
  71. letta_client/types/assistant_file.py +0 -33
  72. letta_client/types/assistant_message_input.py +0 -23
  73. letta_client/types/chat_completion_request.py +0 -49
  74. letta_client/types/chat_completion_request_function_call.py +0 -6
  75. letta_client/types/chat_completion_request_messages_item.py +0 -11
  76. letta_client/types/chat_completion_request_stop.py +0 -5
  77. letta_client/types/chat_completion_request_tool_choice.py +0 -8
  78. letta_client/types/chat_completion_response.py +0 -32
  79. letta_client/types/choice.py +0 -25
  80. letta_client/types/create_assistant_request.py +0 -57
  81. letta_client/types/delete_assistant_file_response.py +0 -28
  82. letta_client/types/delete_assistant_response.py +0 -28
  83. letta_client/types/function_call_input.py +0 -19
  84. letta_client/types/letta_schemas_openai_chat_completion_request_tool.py +0 -21
  85. letta_client/types/letta_schemas_openai_chat_completion_request_tool_call.py +0 -24
  86. letta_client/types/letta_schemas_openai_chat_completion_request_tool_call_function.py +0 -20
  87. letta_client/types/letta_schemas_openai_chat_completion_response_message.py +0 -24
  88. letta_client/types/letta_schemas_openai_chat_completion_response_tool_call.py +0 -22
  89. letta_client/types/letta_schemas_openai_chat_completions_tool_call_function.py +0 -27
  90. letta_client/types/letta_schemas_openai_chat_completions_tool_call_input.py +0 -29
  91. letta_client/types/letta_schemas_openai_chat_completions_tool_call_output.py +0 -29
  92. letta_client/types/log_prob_token.py +0 -21
  93. letta_client/types/message_content_log_prob.py +0 -23
  94. letta_client/types/open_ai_assistant.py +0 -67
  95. letta_client/types/recall_memory_summary.py +0 -22
  96. letta_client/types/response_format.py +0 -19
  97. letta_client/types/system_message_input.py +0 -21
  98. letta_client/types/tool_call_function_output.py +0 -27
  99. letta_client/types/tool_function_choice.py +0 -21
  100. letta_client/types/tool_input.py +0 -21
  101. letta_client/types/tool_message.py +0 -21
  102. letta_client/types/user_message_input.py +0 -22
  103. letta_client/types/user_message_input_content.py +0 -5
  104. {letta_client-0.1.16.dist-info → letta_client-0.1.19.dist-info}/WHEEL +0 -0
@@ -156,26 +156,23 @@ class ProvidersClient:
156
156
  raise ApiError(status_code=_response.status_code, body=_response.text)
157
157
  raise ApiError(status_code=_response.status_code, body=_response_json)
158
158
 
159
- def update_provider(
160
- self, *, id: str, api_key: str, request_options: typing.Optional[RequestOptions] = None
161
- ) -> Provider:
159
+ def delete_provider(
160
+ self, *, provider_id: str, request_options: typing.Optional[RequestOptions] = None
161
+ ) -> typing.Optional[typing.Any]:
162
162
  """
163
- Update an existing custom provider
163
+ Delete an existing custom provider
164
164
 
165
165
  Parameters
166
166
  ----------
167
- id : str
168
- The id of the provider to update.
169
-
170
- api_key : str
171
- API key used for requests to the provider.
167
+ provider_id : str
168
+ The provider_id key to be deleted.
172
169
 
173
170
  request_options : typing.Optional[RequestOptions]
174
171
  Request-specific configuration.
175
172
 
176
173
  Returns
177
174
  -------
178
- Provider
175
+ typing.Optional[typing.Any]
179
176
  Successful Response
180
177
 
181
178
  Examples
@@ -185,30 +182,24 @@ class ProvidersClient:
185
182
  client = Letta(
186
183
  token="YOUR_TOKEN",
187
184
  )
188
- client.providers.update_provider(
189
- id="id",
190
- api_key="api_key",
185
+ client.providers.delete_provider(
186
+ provider_id="provider_id",
191
187
  )
192
188
  """
193
189
  _response = self._client_wrapper.httpx_client.request(
194
190
  "v1/providers/",
195
- method="PUT",
196
- json={
197
- "id": id,
198
- "api_key": api_key,
199
- },
200
- headers={
201
- "content-type": "application/json",
191
+ method="DELETE",
192
+ params={
193
+ "provider_id": provider_id,
202
194
  },
203
195
  request_options=request_options,
204
- omit=OMIT,
205
196
  )
206
197
  try:
207
198
  if 200 <= _response.status_code < 300:
208
199
  return typing.cast(
209
- Provider,
200
+ typing.Optional[typing.Any],
210
201
  construct_type(
211
- type_=Provider, # type: ignore
202
+ type_=typing.Optional[typing.Any], # type: ignore
212
203
  object_=_response.json(),
213
204
  ),
214
205
  )
@@ -227,23 +218,26 @@ class ProvidersClient:
227
218
  raise ApiError(status_code=_response.status_code, body=_response.text)
228
219
  raise ApiError(status_code=_response.status_code, body=_response_json)
229
220
 
230
- def delete_provider(
231
- self, *, provider_id: str, request_options: typing.Optional[RequestOptions] = None
232
- ) -> typing.Optional[typing.Any]:
221
+ def modify_provider(
222
+ self, *, id: str, api_key: str, request_options: typing.Optional[RequestOptions] = None
223
+ ) -> Provider:
233
224
  """
234
- Delete an existing custom provider
225
+ Update an existing custom provider
235
226
 
236
227
  Parameters
237
228
  ----------
238
- provider_id : str
239
- The provider_id key to be deleted.
229
+ id : str
230
+ The id of the provider to update.
231
+
232
+ api_key : str
233
+ API key used for requests to the provider.
240
234
 
241
235
  request_options : typing.Optional[RequestOptions]
242
236
  Request-specific configuration.
243
237
 
244
238
  Returns
245
239
  -------
246
- typing.Optional[typing.Any]
240
+ Provider
247
241
  Successful Response
248
242
 
249
243
  Examples
@@ -253,24 +247,30 @@ class ProvidersClient:
253
247
  client = Letta(
254
248
  token="YOUR_TOKEN",
255
249
  )
256
- client.providers.delete_provider(
257
- provider_id="provider_id",
250
+ client.providers.modify_provider(
251
+ id="id",
252
+ api_key="api_key",
258
253
  )
259
254
  """
260
255
  _response = self._client_wrapper.httpx_client.request(
261
256
  "v1/providers/",
262
- method="DELETE",
263
- params={
264
- "provider_id": provider_id,
257
+ method="PATCH",
258
+ json={
259
+ "id": id,
260
+ "api_key": api_key,
261
+ },
262
+ headers={
263
+ "content-type": "application/json",
265
264
  },
266
265
  request_options=request_options,
266
+ omit=OMIT,
267
267
  )
268
268
  try:
269
269
  if 200 <= _response.status_code < 300:
270
270
  return typing.cast(
271
- typing.Optional[typing.Any],
271
+ Provider,
272
272
  construct_type(
273
- type_=typing.Optional[typing.Any], # type: ignore
273
+ type_=Provider, # type: ignore
274
274
  object_=_response.json(),
275
275
  ),
276
276
  )
@@ -447,26 +447,23 @@ class AsyncProvidersClient:
447
447
  raise ApiError(status_code=_response.status_code, body=_response.text)
448
448
  raise ApiError(status_code=_response.status_code, body=_response_json)
449
449
 
450
- async def update_provider(
451
- self, *, id: str, api_key: str, request_options: typing.Optional[RequestOptions] = None
452
- ) -> Provider:
450
+ async def delete_provider(
451
+ self, *, provider_id: str, request_options: typing.Optional[RequestOptions] = None
452
+ ) -> typing.Optional[typing.Any]:
453
453
  """
454
- Update an existing custom provider
454
+ Delete an existing custom provider
455
455
 
456
456
  Parameters
457
457
  ----------
458
- id : str
459
- The id of the provider to update.
460
-
461
- api_key : str
462
- API key used for requests to the provider.
458
+ provider_id : str
459
+ The provider_id key to be deleted.
463
460
 
464
461
  request_options : typing.Optional[RequestOptions]
465
462
  Request-specific configuration.
466
463
 
467
464
  Returns
468
465
  -------
469
- Provider
466
+ typing.Optional[typing.Any]
470
467
  Successful Response
471
468
 
472
469
  Examples
@@ -481,9 +478,8 @@ class AsyncProvidersClient:
481
478
 
482
479
 
483
480
  async def main() -> None:
484
- await client.providers.update_provider(
485
- id="id",
486
- api_key="api_key",
481
+ await client.providers.delete_provider(
482
+ provider_id="provider_id",
487
483
  )
488
484
 
489
485
 
@@ -491,23 +487,18 @@ class AsyncProvidersClient:
491
487
  """
492
488
  _response = await self._client_wrapper.httpx_client.request(
493
489
  "v1/providers/",
494
- method="PUT",
495
- json={
496
- "id": id,
497
- "api_key": api_key,
498
- },
499
- headers={
500
- "content-type": "application/json",
490
+ method="DELETE",
491
+ params={
492
+ "provider_id": provider_id,
501
493
  },
502
494
  request_options=request_options,
503
- omit=OMIT,
504
495
  )
505
496
  try:
506
497
  if 200 <= _response.status_code < 300:
507
498
  return typing.cast(
508
- Provider,
499
+ typing.Optional[typing.Any],
509
500
  construct_type(
510
- type_=Provider, # type: ignore
501
+ type_=typing.Optional[typing.Any], # type: ignore
511
502
  object_=_response.json(),
512
503
  ),
513
504
  )
@@ -526,23 +517,26 @@ class AsyncProvidersClient:
526
517
  raise ApiError(status_code=_response.status_code, body=_response.text)
527
518
  raise ApiError(status_code=_response.status_code, body=_response_json)
528
519
 
529
- async def delete_provider(
530
- self, *, provider_id: str, request_options: typing.Optional[RequestOptions] = None
531
- ) -> typing.Optional[typing.Any]:
520
+ async def modify_provider(
521
+ self, *, id: str, api_key: str, request_options: typing.Optional[RequestOptions] = None
522
+ ) -> Provider:
532
523
  """
533
- Delete an existing custom provider
524
+ Update an existing custom provider
534
525
 
535
526
  Parameters
536
527
  ----------
537
- provider_id : str
538
- The provider_id key to be deleted.
528
+ id : str
529
+ The id of the provider to update.
530
+
531
+ api_key : str
532
+ API key used for requests to the provider.
539
533
 
540
534
  request_options : typing.Optional[RequestOptions]
541
535
  Request-specific configuration.
542
536
 
543
537
  Returns
544
538
  -------
545
- typing.Optional[typing.Any]
539
+ Provider
546
540
  Successful Response
547
541
 
548
542
  Examples
@@ -557,8 +551,9 @@ class AsyncProvidersClient:
557
551
 
558
552
 
559
553
  async def main() -> None:
560
- await client.providers.delete_provider(
561
- provider_id="provider_id",
554
+ await client.providers.modify_provider(
555
+ id="id",
556
+ api_key="api_key",
562
557
  )
563
558
 
564
559
 
@@ -566,18 +561,23 @@ class AsyncProvidersClient:
566
561
  """
567
562
  _response = await self._client_wrapper.httpx_client.request(
568
563
  "v1/providers/",
569
- method="DELETE",
570
- params={
571
- "provider_id": provider_id,
564
+ method="PATCH",
565
+ json={
566
+ "id": id,
567
+ "api_key": api_key,
568
+ },
569
+ headers={
570
+ "content-type": "application/json",
572
571
  },
573
572
  request_options=request_options,
573
+ omit=OMIT,
574
574
  )
575
575
  try:
576
576
  if 200 <= _response.status_code < 300:
577
577
  return typing.cast(
578
- typing.Optional[typing.Any],
578
+ Provider,
579
579
  construct_type(
580
- type_=typing.Optional[typing.Any], # type: ignore
580
+ type_=Provider, # type: ignore
581
581
  object_=_response.json(),
582
582
  ),
583
583
  )
@@ -124,7 +124,7 @@ class RunsClient:
124
124
  raise ApiError(status_code=_response.status_code, body=_response.text)
125
125
  raise ApiError(status_code=_response.status_code, body=_response_json)
126
126
 
127
- def get_run(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
127
+ def retrieve_run(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
128
128
  """
129
129
  Get the status of a run.
130
130
 
@@ -147,7 +147,7 @@ class RunsClient:
147
147
  client = Letta(
148
148
  token="YOUR_TOKEN",
149
149
  )
150
- client.runs.get_run(
150
+ client.runs.retrieve_run(
151
151
  run_id="run_id",
152
152
  )
153
153
  """
@@ -236,7 +236,7 @@ class RunsClient:
236
236
  raise ApiError(status_code=_response.status_code, body=_response.text)
237
237
  raise ApiError(status_code=_response.status_code, body=_response_json)
238
238
 
239
- def get_run_messages(
239
+ def list_run_messages(
240
240
  self,
241
241
  run_id: str,
242
242
  *,
@@ -292,7 +292,7 @@ class RunsClient:
292
292
  client = Letta(
293
293
  token="YOUR_TOKEN",
294
294
  )
295
- client.runs.get_run_messages(
295
+ client.runs.list_run_messages(
296
296
  run_id="run_id",
297
297
  )
298
298
  """
@@ -331,7 +331,9 @@ class RunsClient:
331
331
  raise ApiError(status_code=_response.status_code, body=_response.text)
332
332
  raise ApiError(status_code=_response.status_code, body=_response_json)
333
333
 
334
- def get_run_usage(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> UsageStatistics:
334
+ def retrieve_run_usage(
335
+ self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
336
+ ) -> UsageStatistics:
335
337
  """
336
338
  Get usage statistics for a run.
337
339
 
@@ -354,7 +356,7 @@ class RunsClient:
354
356
  client = Letta(
355
357
  token="YOUR_TOKEN",
356
358
  )
357
- client.runs.get_run_usage(
359
+ client.runs.retrieve_run_usage(
358
360
  run_id="run_id",
359
361
  )
360
362
  """
@@ -512,7 +514,7 @@ class AsyncRunsClient:
512
514
  raise ApiError(status_code=_response.status_code, body=_response.text)
513
515
  raise ApiError(status_code=_response.status_code, body=_response_json)
514
516
 
515
- async def get_run(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
517
+ async def retrieve_run(self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> Run:
516
518
  """
517
519
  Get the status of a run.
518
520
 
@@ -540,7 +542,7 @@ class AsyncRunsClient:
540
542
 
541
543
 
542
544
  async def main() -> None:
543
- await client.runs.get_run(
545
+ await client.runs.retrieve_run(
544
546
  run_id="run_id",
545
547
  )
546
548
 
@@ -640,7 +642,7 @@ class AsyncRunsClient:
640
642
  raise ApiError(status_code=_response.status_code, body=_response.text)
641
643
  raise ApiError(status_code=_response.status_code, body=_response_json)
642
644
 
643
- async def get_run_messages(
645
+ async def list_run_messages(
644
646
  self,
645
647
  run_id: str,
646
648
  *,
@@ -701,7 +703,7 @@ class AsyncRunsClient:
701
703
 
702
704
 
703
705
  async def main() -> None:
704
- await client.runs.get_run_messages(
706
+ await client.runs.list_run_messages(
705
707
  run_id="run_id",
706
708
  )
707
709
 
@@ -743,7 +745,7 @@ class AsyncRunsClient:
743
745
  raise ApiError(status_code=_response.status_code, body=_response.text)
744
746
  raise ApiError(status_code=_response.status_code, body=_response_json)
745
747
 
746
- async def get_run_usage(
748
+ async def retrieve_run_usage(
747
749
  self, run_id: str, *, request_options: typing.Optional[RequestOptions] = None
748
750
  ) -> UsageStatistics:
749
751
  """
@@ -773,7 +775,7 @@ class AsyncRunsClient:
773
775
 
774
776
 
775
777
  async def main() -> None:
776
- await client.runs.get_run_usage(
778
+ await client.runs.retrieve_run_usage(
777
779
  run_id="run_id",
778
780
  )
779
781