letta-client 0.1.319__py3-none-any.whl → 0.1.320__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 (211) hide show
  1. letta_client/__init__.py +51 -9
  2. letta_client/agents/__init__.py +6 -2
  3. letta_client/agents/client.py +50 -213
  4. letta_client/agents/files/client.py +51 -6
  5. letta_client/agents/files/raw_client.py +94 -9
  6. letta_client/agents/messages/__init__.py +2 -2
  7. letta_client/agents/messages/client.py +104 -24
  8. letta_client/agents/messages/raw_client.py +109 -17
  9. letta_client/agents/messages/types/__init__.py +2 -2
  10. letta_client/agents/messages/types/{messages_preview_raw_payload_request.py → messages_preview_request.py} +1 -1
  11. letta_client/agents/raw_client.py +50 -253
  12. letta_client/agents/types/__init__.py +4 -0
  13. letta_client/agents/types/agents_list_request_order.py +5 -0
  14. letta_client/agents/types/agents_list_request_order_by.py +5 -0
  15. letta_client/archives/__init__.py +7 -0
  16. letta_client/archives/client.py +362 -0
  17. letta_client/archives/raw_client.py +448 -0
  18. letta_client/archives/types/__init__.py +7 -0
  19. letta_client/archives/types/list_archives_request_order.py +5 -0
  20. letta_client/base_client.py +3 -6
  21. letta_client/batches/__init__.py +5 -0
  22. letta_client/batches/client.py +68 -8
  23. letta_client/batches/messages/__init__.py +7 -0
  24. letta_client/{messages → batches/messages}/client.py +50 -43
  25. letta_client/{messages → batches/messages}/raw_client.py +52 -45
  26. letta_client/batches/messages/types/__init__.py +7 -0
  27. letta_client/batches/messages/types/messages_list_request_order.py +5 -0
  28. letta_client/batches/raw_client.py +71 -6
  29. letta_client/batches/types/__init__.py +7 -0
  30. letta_client/batches/types/batches_list_request_order.py +5 -0
  31. letta_client/blocks/__init__.py +3 -1
  32. letta_client/blocks/agents/__init__.py +3 -0
  33. letta_client/blocks/agents/client.py +57 -2
  34. letta_client/blocks/agents/raw_client.py +51 -0
  35. letta_client/blocks/agents/types/__init__.py +7 -0
  36. letta_client/blocks/agents/types/agents_list_request_order.py +5 -0
  37. letta_client/blocks/client.py +25 -4
  38. letta_client/blocks/raw_client.py +25 -4
  39. letta_client/blocks/types/__init__.py +7 -0
  40. letta_client/blocks/types/blocks_list_request_order.py +5 -0
  41. letta_client/core/client_wrapper.py +2 -2
  42. letta_client/errors/__init__.py +9 -1
  43. letta_client/errors/internal_server_error.py +10 -0
  44. letta_client/folders/__init__.py +14 -2
  45. letta_client/folders/agents/__init__.py +7 -0
  46. letta_client/folders/agents/client.py +176 -0
  47. letta_client/folders/agents/raw_client.py +182 -0
  48. letta_client/folders/agents/types/__init__.py +7 -0
  49. letta_client/folders/agents/types/agents_list_request_order.py +5 -0
  50. letta_client/folders/client.py +96 -86
  51. letta_client/folders/files/__init__.py +3 -0
  52. letta_client/folders/files/client.py +49 -10
  53. letta_client/folders/files/raw_client.py +41 -10
  54. letta_client/folders/files/types/__init__.py +7 -0
  55. letta_client/folders/files/types/files_list_request_order.py +5 -0
  56. letta_client/folders/passages/__init__.py +3 -0
  57. letta_client/folders/passages/client.py +43 -14
  58. letta_client/folders/passages/raw_client.py +35 -14
  59. letta_client/folders/passages/types/__init__.py +7 -0
  60. letta_client/folders/passages/types/passages_list_request_order.py +5 -0
  61. letta_client/folders/raw_client.py +83 -104
  62. letta_client/folders/types/__init__.py +7 -0
  63. letta_client/folders/types/folders_list_request_order.py +5 -0
  64. letta_client/groups/__init__.py +4 -2
  65. letta_client/groups/client.py +27 -6
  66. letta_client/groups/messages/__init__.py +2 -2
  67. letta_client/groups/messages/client.py +39 -18
  68. letta_client/groups/messages/raw_client.py +35 -14
  69. letta_client/groups/messages/types/__init__.py +2 -1
  70. letta_client/groups/messages/types/messages_list_request_order.py +5 -0
  71. letta_client/groups/raw_client.py +27 -6
  72. letta_client/groups/types/__init__.py +2 -1
  73. letta_client/groups/types/groups_list_request_order.py +5 -0
  74. letta_client/identities/__init__.py +12 -2
  75. letta_client/identities/agents/__init__.py +7 -0
  76. letta_client/identities/agents/client.py +177 -0
  77. letta_client/identities/agents/raw_client.py +183 -0
  78. letta_client/identities/agents/types/__init__.py +7 -0
  79. letta_client/identities/agents/types/agents_list_request_order.py +5 -0
  80. letta_client/identities/blocks/__init__.py +7 -0
  81. letta_client/identities/blocks/client.py +177 -0
  82. letta_client/identities/blocks/raw_client.py +183 -0
  83. letta_client/identities/blocks/types/__init__.py +7 -0
  84. letta_client/identities/blocks/types/blocks_list_request_order.py +5 -0
  85. letta_client/identities/client.py +37 -0
  86. letta_client/identities/raw_client.py +27 -0
  87. letta_client/identities/types/__init__.py +7 -0
  88. letta_client/identities/types/identities_list_request_order.py +5 -0
  89. letta_client/jobs/client.py +10 -2
  90. letta_client/jobs/raw_client.py +10 -2
  91. letta_client/models/__init__.py +3 -0
  92. letta_client/models/client.py +3 -0
  93. letta_client/{embedding_models → models/embeddings}/client.py +14 -14
  94. letta_client/{embedding_models → models/embeddings}/raw_client.py +10 -10
  95. letta_client/providers/__init__.py +3 -0
  96. letta_client/providers/client.py +151 -82
  97. letta_client/providers/raw_client.py +165 -72
  98. letta_client/providers/types/__init__.py +7 -0
  99. letta_client/providers/types/providers_list_request_order.py +5 -0
  100. letta_client/runs/__init__.py +2 -1
  101. letta_client/runs/client.py +21 -0
  102. letta_client/runs/messages/__init__.py +3 -0
  103. letta_client/runs/messages/client.py +15 -49
  104. letta_client/runs/messages/raw_client.py +13 -49
  105. letta_client/runs/messages/types/__init__.py +7 -0
  106. letta_client/runs/messages/types/messages_list_request_order.py +5 -0
  107. letta_client/runs/raw_client.py +21 -0
  108. letta_client/steps/__init__.py +13 -3
  109. letta_client/steps/client.py +32 -83
  110. letta_client/steps/feedback/client.py +21 -6
  111. letta_client/steps/feedback/raw_client.py +29 -6
  112. letta_client/steps/messages/__init__.py +7 -0
  113. letta_client/steps/messages/client.py +177 -0
  114. letta_client/steps/messages/raw_client.py +183 -0
  115. letta_client/steps/messages/types/__init__.py +8 -0
  116. letta_client/steps/messages/types/messages_list_request_order.py +5 -0
  117. letta_client/steps/messages/types/messages_list_response_item.py +25 -0
  118. letta_client/steps/metrics/client.py +110 -0
  119. letta_client/steps/metrics/raw_client.py +122 -0
  120. letta_client/steps/raw_client.py +17 -107
  121. letta_client/steps/trace/__init__.py +4 -0
  122. letta_client/steps/trace/client.py +110 -0
  123. letta_client/steps/trace/raw_client.py +122 -0
  124. letta_client/steps/types/__init__.py +2 -1
  125. letta_client/steps/types/steps_list_request_order.py +5 -0
  126. letta_client/tags/__init__.py +3 -0
  127. letta_client/tags/client.py +57 -4
  128. letta_client/tags/raw_client.py +49 -2
  129. letta_client/tags/types/__init__.py +7 -0
  130. letta_client/tags/types/tags_list_request_order.py +5 -0
  131. letta_client/telemetry/client.py +8 -0
  132. letta_client/telemetry/raw_client.py +8 -0
  133. letta_client/templates/__init__.py +64 -0
  134. letta_client/templates/agents/__init__.py +58 -0
  135. letta_client/templates/agents/types/__init__.py +66 -0
  136. letta_client/templates/agents/types/agents_create_response.py +6 -0
  137. letta_client/templates/agents/types/agents_create_response_group.py +52 -0
  138. letta_client/templates/agents/types/agents_create_response_group_base_template_id.py +12 -0
  139. letta_client/templates/agents/types/agents_create_response_group_base_template_id_item.py +5 -0
  140. letta_client/templates/agents/types/agents_create_response_group_deployment_id.py +12 -0
  141. letta_client/templates/agents/types/agents_create_response_group_deployment_id_item.py +5 -0
  142. letta_client/templates/agents/types/agents_create_response_group_hidden.py +12 -0
  143. letta_client/templates/agents/types/agents_create_response_group_hidden_item.py +5 -0
  144. letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id.py +14 -0
  145. letta_client/templates/agents/types/agents_create_response_group_last_processed_message_id_item.py +5 -0
  146. letta_client/templates/agents/types/agents_create_response_group_manager_agent_id.py +12 -0
  147. letta_client/templates/agents/types/agents_create_response_group_manager_agent_id_item.py +5 -0
  148. letta_client/templates/agents/types/agents_create_response_group_manager_type.py +7 -0
  149. letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length.py +14 -0
  150. letta_client/templates/agents/types/agents_create_response_group_max_message_buffer_length_item.py +5 -0
  151. letta_client/templates/agents/types/agents_create_response_group_max_turns.py +12 -0
  152. letta_client/templates/agents/types/agents_create_response_group_max_turns_item.py +5 -0
  153. letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length.py +14 -0
  154. letta_client/templates/agents/types/agents_create_response_group_min_message_buffer_length_item.py +5 -0
  155. letta_client/templates/agents/types/agents_create_response_group_project_id.py +12 -0
  156. letta_client/templates/agents/types/agents_create_response_group_project_id_item.py +5 -0
  157. letta_client/templates/agents/types/agents_create_response_group_shared_block_ids.py +5 -0
  158. letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency.py +14 -0
  159. letta_client/templates/agents/types/agents_create_response_group_sleeptime_agent_frequency_item.py +5 -0
  160. letta_client/templates/agents/types/agents_create_response_group_template_id.py +12 -0
  161. letta_client/templates/agents/types/agents_create_response_group_template_id_item.py +5 -0
  162. letta_client/templates/agents/types/agents_create_response_group_termination_token.py +12 -0
  163. letta_client/templates/agents/types/agents_create_response_group_termination_token_item.py +5 -0
  164. letta_client/templates/agents/types/agents_create_response_group_turns_counter.py +12 -0
  165. letta_client/templates/agents/types/agents_create_response_group_turns_counter_item.py +5 -0
  166. letta_client/templates/client.py +260 -0
  167. letta_client/templates/raw_client.py +395 -0
  168. letta_client/templates/types/__init__.py +8 -0
  169. letta_client/templates/types/templates_get_template_snapshot_response.py +4 -0
  170. letta_client/templates/types/templates_get_template_snapshot_response_blocks_item.py +1 -0
  171. letta_client/templates/types/templates_get_template_snapshot_response_relationships_item.py +23 -0
  172. letta_client/templates/types/templates_migrate_deployment_response.py +21 -0
  173. letta_client/templates/types/templates_set_current_template_from_snapshot_response.py +21 -0
  174. letta_client/tools/__init__.py +2 -0
  175. letta_client/tools/client.py +47 -20
  176. letta_client/tools/raw_client.py +43 -26
  177. letta_client/tools/types/__init__.py +2 -0
  178. letta_client/tools/types/tools_list_request_order.py +5 -0
  179. letta_client/types/__init__.py +10 -2
  180. letta_client/types/agent_state.py +5 -0
  181. letta_client/types/archive.py +77 -0
  182. letta_client/types/batch_job.py +6 -0
  183. letta_client/types/{body_export_agent_serialized.py → body_export_agent.py} +1 -1
  184. letta_client/types/child_tool_rule.py +1 -1
  185. letta_client/types/conditional_tool_rule.py +1 -1
  186. letta_client/types/continue_tool_rule.py +1 -1
  187. letta_client/types/deployment_entity.py +2 -0
  188. letta_client/types/init_tool_rule.py +1 -1
  189. letta_client/types/internal_server_error_body.py +20 -0
  190. letta_client/types/internal_template_agent_create.py +5 -0
  191. letta_client/types/job.py +6 -0
  192. letta_client/types/letta_schemas_agent_file_agent_schema.py +5 -0
  193. letta_client/types/max_count_per_step_tool_rule.py +1 -1
  194. letta_client/types/memory.py +7 -1
  195. letta_client/types/memory_agent_type.py +7 -0
  196. letta_client/types/parent_tool_rule.py +1 -1
  197. letta_client/types/required_before_exit_tool_rule.py +1 -1
  198. letta_client/types/requires_approval_tool_rule.py +1 -1
  199. letta_client/types/run.py +6 -0
  200. letta_client/types/source.py +6 -0
  201. letta_client/types/step.py +1 -1
  202. letta_client/types/stop_reason_type.py +1 -0
  203. letta_client/types/terminal_tool_rule.py +1 -1
  204. letta_client/types/vector_db_provider.py +5 -0
  205. letta_client/voice/client.py +2 -8
  206. letta_client/voice/raw_client.py +0 -8
  207. {letta_client-0.1.319.dist-info → letta_client-0.1.320.dist-info}/METADATA +9 -9
  208. {letta_client-0.1.319.dist-info → letta_client-0.1.320.dist-info}/RECORD +211 -114
  209. /letta_client/{embedding_models → models/embeddings}/__init__.py +0 -0
  210. /letta_client/{messages → steps/metrics}/__init__.py +0 -0
  211. {letta_client-0.1.319.dist-info → letta_client-0.1.320.dist-info}/WHEEL +0 -0
@@ -6,7 +6,9 @@ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
6
  from ..core.request_options import RequestOptions
7
7
  from ..types.batch_job import BatchJob
8
8
  from ..types.letta_batch_request import LettaBatchRequest
9
+ from .messages.client import AsyncMessagesClient, MessagesClient
9
10
  from .raw_client import AsyncRawBatchesClient, RawBatchesClient
11
+ from .types.batches_list_request_order import BatchesListRequestOrder
10
12
 
11
13
  # this is used as the default value for optional parameters
12
14
  OMIT = typing.cast(typing.Any, ...)
@@ -15,6 +17,7 @@ OMIT = typing.cast(typing.Any, ...)
15
17
  class BatchesClient:
16
18
  def __init__(self, *, client_wrapper: SyncClientWrapper):
17
19
  self._raw_client = RawBatchesClient(client_wrapper=client_wrapper)
20
+ self.messages = MessagesClient(client_wrapper=client_wrapper)
18
21
 
19
22
  @property
20
23
  def with_raw_response(self) -> RawBatchesClient:
@@ -27,12 +30,36 @@ class BatchesClient:
27
30
  """
28
31
  return self._raw_client
29
32
 
30
- def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[BatchJob]:
33
+ def list(
34
+ self,
35
+ *,
36
+ before: typing.Optional[str] = None,
37
+ after: typing.Optional[str] = None,
38
+ limit: typing.Optional[int] = None,
39
+ order: typing.Optional[BatchesListRequestOrder] = None,
40
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
41
+ request_options: typing.Optional[RequestOptions] = None,
42
+ ) -> typing.List[BatchJob]:
31
43
  """
32
44
  List all batch runs.
33
45
 
34
46
  Parameters
35
47
  ----------
48
+ before : typing.Optional[str]
49
+ Job ID cursor for pagination. Returns jobs that come before this job ID in the specified sort order
50
+
51
+ after : typing.Optional[str]
52
+ Job ID cursor for pagination. Returns jobs that come after this job ID in the specified sort order
53
+
54
+ limit : typing.Optional[int]
55
+ Maximum number of jobs to return
56
+
57
+ order : typing.Optional[BatchesListRequestOrder]
58
+ Sort order for jobs by creation time. 'asc' for oldest first, 'desc' for newest first
59
+
60
+ order_by : typing.Optional[typing.Literal["created_at"]]
61
+ Field to sort by
62
+
36
63
  request_options : typing.Optional[RequestOptions]
37
64
  Request-specific configuration.
38
65
 
@@ -51,7 +78,9 @@ class BatchesClient:
51
78
  )
52
79
  client.batches.list()
53
80
  """
54
- _response = self._raw_client.list(request_options=request_options)
81
+ _response = self._raw_client.list(
82
+ before=before, after=after, limit=limit, order=order, order_by=order_by, request_options=request_options
83
+ )
55
84
  return _response.data
56
85
 
57
86
  def create(
@@ -62,8 +91,10 @@ class BatchesClient:
62
91
  request_options: typing.Optional[RequestOptions] = None,
63
92
  ) -> BatchJob:
64
93
  """
65
- Submit a batch of agent messages for asynchronous processing.
94
+ Submit a batch of agent runs for asynchronous processing.
95
+
66
96
  Creates a job that will fan out messages to all listed agents and process them in parallel.
97
+ The request will be rejected if it exceeds 256MB.
67
98
 
68
99
  Parameters
69
100
  ----------
@@ -114,7 +145,7 @@ class BatchesClient:
114
145
 
115
146
  def retrieve(self, batch_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> BatchJob:
116
147
  """
117
- Get the status of a batch run.
148
+ Retrieve the status and details of a batch run.
118
149
 
119
150
  Parameters
120
151
  ----------
@@ -180,6 +211,7 @@ class BatchesClient:
180
211
  class AsyncBatchesClient:
181
212
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
182
213
  self._raw_client = AsyncRawBatchesClient(client_wrapper=client_wrapper)
214
+ self.messages = AsyncMessagesClient(client_wrapper=client_wrapper)
183
215
 
184
216
  @property
185
217
  def with_raw_response(self) -> AsyncRawBatchesClient:
@@ -192,12 +224,36 @@ class AsyncBatchesClient:
192
224
  """
193
225
  return self._raw_client
194
226
 
195
- async def list(self, *, request_options: typing.Optional[RequestOptions] = None) -> typing.List[BatchJob]:
227
+ async def list(
228
+ self,
229
+ *,
230
+ before: typing.Optional[str] = None,
231
+ after: typing.Optional[str] = None,
232
+ limit: typing.Optional[int] = None,
233
+ order: typing.Optional[BatchesListRequestOrder] = None,
234
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
235
+ request_options: typing.Optional[RequestOptions] = None,
236
+ ) -> typing.List[BatchJob]:
196
237
  """
197
238
  List all batch runs.
198
239
 
199
240
  Parameters
200
241
  ----------
242
+ before : typing.Optional[str]
243
+ Job ID cursor for pagination. Returns jobs that come before this job ID in the specified sort order
244
+
245
+ after : typing.Optional[str]
246
+ Job ID cursor for pagination. Returns jobs that come after this job ID in the specified sort order
247
+
248
+ limit : typing.Optional[int]
249
+ Maximum number of jobs to return
250
+
251
+ order : typing.Optional[BatchesListRequestOrder]
252
+ Sort order for jobs by creation time. 'asc' for oldest first, 'desc' for newest first
253
+
254
+ order_by : typing.Optional[typing.Literal["created_at"]]
255
+ Field to sort by
256
+
201
257
  request_options : typing.Optional[RequestOptions]
202
258
  Request-specific configuration.
203
259
 
@@ -224,7 +280,9 @@ class AsyncBatchesClient:
224
280
 
225
281
  asyncio.run(main())
226
282
  """
227
- _response = await self._raw_client.list(request_options=request_options)
283
+ _response = await self._raw_client.list(
284
+ before=before, after=after, limit=limit, order=order, order_by=order_by, request_options=request_options
285
+ )
228
286
  return _response.data
229
287
 
230
288
  async def create(
@@ -235,8 +293,10 @@ class AsyncBatchesClient:
235
293
  request_options: typing.Optional[RequestOptions] = None,
236
294
  ) -> BatchJob:
237
295
  """
238
- Submit a batch of agent messages for asynchronous processing.
296
+ Submit a batch of agent runs for asynchronous processing.
297
+
239
298
  Creates a job that will fan out messages to all listed agents and process them in parallel.
299
+ The request will be rejected if it exceeds 256MB.
240
300
 
241
301
  Parameters
242
302
  ----------
@@ -300,7 +360,7 @@ class AsyncBatchesClient:
300
360
 
301
361
  async def retrieve(self, batch_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> BatchJob:
302
362
  """
303
- Get the status of a batch run.
363
+ Retrieve the status and details of a batch run.
304
364
 
305
365
  Parameters
306
366
  ----------
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .types import MessagesListRequestOrder
6
+
7
+ __all__ = ["MessagesListRequestOrder"]
@@ -2,10 +2,11 @@
2
2
 
3
3
  import typing
4
4
 
5
- from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
- from ..core.request_options import RequestOptions
7
- from ..types.letta_batch_messages import LettaBatchMessages
5
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ...core.request_options import RequestOptions
7
+ from ...types.letta_batch_messages import LettaBatchMessages
8
8
  from .raw_client import AsyncRawMessagesClient, RawMessagesClient
9
+ from .types.messages_list_request_order import MessagesListRequestOrder
9
10
 
10
11
 
11
12
  class MessagesClient:
@@ -23,42 +24,43 @@ class MessagesClient:
23
24
  """
24
25
  return self._raw_client
25
26
 
26
- def list_batch_messages(
27
+ def list(
27
28
  self,
28
29
  batch_id: str,
29
30
  *,
31
+ before: typing.Optional[str] = None,
32
+ after: typing.Optional[str] = None,
30
33
  limit: typing.Optional[int] = None,
31
- cursor: typing.Optional[str] = None,
34
+ order: typing.Optional[MessagesListRequestOrder] = None,
35
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
32
36
  agent_id: typing.Optional[str] = None,
33
- sort_descending: typing.Optional[bool] = None,
34
37
  request_options: typing.Optional[RequestOptions] = None,
35
38
  ) -> LettaBatchMessages:
36
39
  """
37
- Get messages for a specific batch job.
38
-
39
- Returns messages associated with the batch in chronological order.
40
-
41
- Pagination:
42
- - For the first page, omit the cursor parameter
43
- - For subsequent pages, use the ID of the last message from the previous response as the cursor
44
- - Results will include messages before/after the cursor based on sort_descending
40
+ Get response messages for a specific batch job.
45
41
 
46
42
  Parameters
47
43
  ----------
48
44
  batch_id : str
49
45
 
46
+ before : typing.Optional[str]
47
+ Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
48
+
49
+ after : typing.Optional[str]
50
+ Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
51
+
50
52
  limit : typing.Optional[int]
51
53
  Maximum number of messages to return
52
54
 
53
- cursor : typing.Optional[str]
54
- Message ID to use as pagination cursor (get messages before/after this ID) depending on sort_descending.
55
+ order : typing.Optional[MessagesListRequestOrder]
56
+ Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
57
+
58
+ order_by : typing.Optional[typing.Literal["created_at"]]
59
+ Field to sort by
55
60
 
56
61
  agent_id : typing.Optional[str]
57
62
  Filter messages by agent ID
58
63
 
59
- sort_descending : typing.Optional[bool]
60
- Sort messages by creation time (true=newest first)
61
-
62
64
  request_options : typing.Optional[RequestOptions]
63
65
  Request-specific configuration.
64
66
 
@@ -75,16 +77,18 @@ class MessagesClient:
75
77
  project="YOUR_PROJECT",
76
78
  token="YOUR_TOKEN",
77
79
  )
78
- client.messages.list_batch_messages(
80
+ client.batches.messages.list(
79
81
  batch_id="batch_id",
80
82
  )
81
83
  """
82
- _response = self._raw_client.list_batch_messages(
84
+ _response = self._raw_client.list(
83
85
  batch_id,
86
+ before=before,
87
+ after=after,
84
88
  limit=limit,
85
- cursor=cursor,
89
+ order=order,
90
+ order_by=order_by,
86
91
  agent_id=agent_id,
87
- sort_descending=sort_descending,
88
92
  request_options=request_options,
89
93
  )
90
94
  return _response.data
@@ -105,42 +109,43 @@ class AsyncMessagesClient:
105
109
  """
106
110
  return self._raw_client
107
111
 
108
- async def list_batch_messages(
112
+ async def list(
109
113
  self,
110
114
  batch_id: str,
111
115
  *,
116
+ before: typing.Optional[str] = None,
117
+ after: typing.Optional[str] = None,
112
118
  limit: typing.Optional[int] = None,
113
- cursor: typing.Optional[str] = None,
119
+ order: typing.Optional[MessagesListRequestOrder] = None,
120
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
114
121
  agent_id: typing.Optional[str] = None,
115
- sort_descending: typing.Optional[bool] = None,
116
122
  request_options: typing.Optional[RequestOptions] = None,
117
123
  ) -> LettaBatchMessages:
118
124
  """
119
- Get messages for a specific batch job.
120
-
121
- Returns messages associated with the batch in chronological order.
122
-
123
- Pagination:
124
- - For the first page, omit the cursor parameter
125
- - For subsequent pages, use the ID of the last message from the previous response as the cursor
126
- - Results will include messages before/after the cursor based on sort_descending
125
+ Get response messages for a specific batch job.
127
126
 
128
127
  Parameters
129
128
  ----------
130
129
  batch_id : str
131
130
 
131
+ before : typing.Optional[str]
132
+ Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
133
+
134
+ after : typing.Optional[str]
135
+ Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
136
+
132
137
  limit : typing.Optional[int]
133
138
  Maximum number of messages to return
134
139
 
135
- cursor : typing.Optional[str]
136
- Message ID to use as pagination cursor (get messages before/after this ID) depending on sort_descending.
140
+ order : typing.Optional[MessagesListRequestOrder]
141
+ Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
142
+
143
+ order_by : typing.Optional[typing.Literal["created_at"]]
144
+ Field to sort by
137
145
 
138
146
  agent_id : typing.Optional[str]
139
147
  Filter messages by agent ID
140
148
 
141
- sort_descending : typing.Optional[bool]
142
- Sort messages by creation time (true=newest first)
143
-
144
149
  request_options : typing.Optional[RequestOptions]
145
150
  Request-specific configuration.
146
151
 
@@ -162,19 +167,21 @@ class AsyncMessagesClient:
162
167
 
163
168
 
164
169
  async def main() -> None:
165
- await client.messages.list_batch_messages(
170
+ await client.batches.messages.list(
166
171
  batch_id="batch_id",
167
172
  )
168
173
 
169
174
 
170
175
  asyncio.run(main())
171
176
  """
172
- _response = await self._raw_client.list_batch_messages(
177
+ _response = await self._raw_client.list(
173
178
  batch_id,
179
+ before=before,
180
+ after=after,
174
181
  limit=limit,
175
- cursor=cursor,
182
+ order=order,
183
+ order_by=order_by,
176
184
  agent_id=agent_id,
177
- sort_descending=sort_descending,
178
185
  request_options=request_options,
179
186
  )
180
187
  return _response.data
@@ -3,57 +3,59 @@
3
3
  import typing
4
4
  from json.decoder import JSONDecodeError
5
5
 
6
- from ..core.api_error import ApiError
7
- from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
- from ..core.http_response import AsyncHttpResponse, HttpResponse
9
- from ..core.jsonable_encoder import jsonable_encoder
10
- from ..core.request_options import RequestOptions
11
- from ..core.unchecked_base_model import construct_type
12
- from ..errors.unprocessable_entity_error import UnprocessableEntityError
13
- from ..types.http_validation_error import HttpValidationError
14
- from ..types.letta_batch_messages import LettaBatchMessages
6
+ from ...core.api_error import ApiError
7
+ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ...core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ...core.jsonable_encoder import jsonable_encoder
10
+ from ...core.request_options import RequestOptions
11
+ from ...core.unchecked_base_model import construct_type
12
+ from ...errors.unprocessable_entity_error import UnprocessableEntityError
13
+ from ...types.http_validation_error import HttpValidationError
14
+ from ...types.letta_batch_messages import LettaBatchMessages
15
+ from .types.messages_list_request_order import MessagesListRequestOrder
15
16
 
16
17
 
17
18
  class RawMessagesClient:
18
19
  def __init__(self, *, client_wrapper: SyncClientWrapper):
19
20
  self._client_wrapper = client_wrapper
20
21
 
21
- def list_batch_messages(
22
+ def list(
22
23
  self,
23
24
  batch_id: str,
24
25
  *,
26
+ before: typing.Optional[str] = None,
27
+ after: typing.Optional[str] = None,
25
28
  limit: typing.Optional[int] = None,
26
- cursor: typing.Optional[str] = None,
29
+ order: typing.Optional[MessagesListRequestOrder] = None,
30
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
27
31
  agent_id: typing.Optional[str] = None,
28
- sort_descending: typing.Optional[bool] = None,
29
32
  request_options: typing.Optional[RequestOptions] = None,
30
33
  ) -> HttpResponse[LettaBatchMessages]:
31
34
  """
32
- Get messages for a specific batch job.
33
-
34
- Returns messages associated with the batch in chronological order.
35
-
36
- Pagination:
37
- - For the first page, omit the cursor parameter
38
- - For subsequent pages, use the ID of the last message from the previous response as the cursor
39
- - Results will include messages before/after the cursor based on sort_descending
35
+ Get response messages for a specific batch job.
40
36
 
41
37
  Parameters
42
38
  ----------
43
39
  batch_id : str
44
40
 
41
+ before : typing.Optional[str]
42
+ Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
43
+
44
+ after : typing.Optional[str]
45
+ Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
46
+
45
47
  limit : typing.Optional[int]
46
48
  Maximum number of messages to return
47
49
 
48
- cursor : typing.Optional[str]
49
- Message ID to use as pagination cursor (get messages before/after this ID) depending on sort_descending.
50
+ order : typing.Optional[MessagesListRequestOrder]
51
+ Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
52
+
53
+ order_by : typing.Optional[typing.Literal["created_at"]]
54
+ Field to sort by
50
55
 
51
56
  agent_id : typing.Optional[str]
52
57
  Filter messages by agent ID
53
58
 
54
- sort_descending : typing.Optional[bool]
55
- Sort messages by creation time (true=newest first)
56
-
57
59
  request_options : typing.Optional[RequestOptions]
58
60
  Request-specific configuration.
59
61
 
@@ -66,10 +68,12 @@ class RawMessagesClient:
66
68
  f"v1/messages/batches/{jsonable_encoder(batch_id)}/messages",
67
69
  method="GET",
68
70
  params={
71
+ "before": before,
72
+ "after": after,
69
73
  "limit": limit,
70
- "cursor": cursor,
74
+ "order": order,
75
+ "order_by": order_by,
71
76
  "agent_id": agent_id,
72
- "sort_descending": sort_descending,
73
77
  },
74
78
  request_options=request_options,
75
79
  )
@@ -104,42 +108,43 @@ class AsyncRawMessagesClient:
104
108
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
105
109
  self._client_wrapper = client_wrapper
106
110
 
107
- async def list_batch_messages(
111
+ async def list(
108
112
  self,
109
113
  batch_id: str,
110
114
  *,
115
+ before: typing.Optional[str] = None,
116
+ after: typing.Optional[str] = None,
111
117
  limit: typing.Optional[int] = None,
112
- cursor: typing.Optional[str] = None,
118
+ order: typing.Optional[MessagesListRequestOrder] = None,
119
+ order_by: typing.Optional[typing.Literal["created_at"]] = None,
113
120
  agent_id: typing.Optional[str] = None,
114
- sort_descending: typing.Optional[bool] = None,
115
121
  request_options: typing.Optional[RequestOptions] = None,
116
122
  ) -> AsyncHttpResponse[LettaBatchMessages]:
117
123
  """
118
- Get messages for a specific batch job.
119
-
120
- Returns messages associated with the batch in chronological order.
121
-
122
- Pagination:
123
- - For the first page, omit the cursor parameter
124
- - For subsequent pages, use the ID of the last message from the previous response as the cursor
125
- - Results will include messages before/after the cursor based on sort_descending
124
+ Get response messages for a specific batch job.
126
125
 
127
126
  Parameters
128
127
  ----------
129
128
  batch_id : str
130
129
 
130
+ before : typing.Optional[str]
131
+ Message ID cursor for pagination. Returns messages that come before this message ID in the specified sort order
132
+
133
+ after : typing.Optional[str]
134
+ Message ID cursor for pagination. Returns messages that come after this message ID in the specified sort order
135
+
131
136
  limit : typing.Optional[int]
132
137
  Maximum number of messages to return
133
138
 
134
- cursor : typing.Optional[str]
135
- Message ID to use as pagination cursor (get messages before/after this ID) depending on sort_descending.
139
+ order : typing.Optional[MessagesListRequestOrder]
140
+ Sort order for messages by creation time. 'asc' for oldest first, 'desc' for newest first
141
+
142
+ order_by : typing.Optional[typing.Literal["created_at"]]
143
+ Field to sort by
136
144
 
137
145
  agent_id : typing.Optional[str]
138
146
  Filter messages by agent ID
139
147
 
140
- sort_descending : typing.Optional[bool]
141
- Sort messages by creation time (true=newest first)
142
-
143
148
  request_options : typing.Optional[RequestOptions]
144
149
  Request-specific configuration.
145
150
 
@@ -152,10 +157,12 @@ class AsyncRawMessagesClient:
152
157
  f"v1/messages/batches/{jsonable_encoder(batch_id)}/messages",
153
158
  method="GET",
154
159
  params={
160
+ "before": before,
161
+ "after": after,
155
162
  "limit": limit,
156
- "cursor": cursor,
163
+ "order": order,
164
+ "order_by": order_by,
157
165
  "agent_id": agent_id,
158
- "sort_descending": sort_descending,
159
166
  },
160
167
  request_options=request_options,
161
168
  )
@@ -0,0 +1,7 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ # isort: skip_file
4
+
5
+ from .messages_list_request_order import MessagesListRequestOrder
6
+
7
+ __all__ = ["MessagesListRequestOrder"]
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ MessagesListRequestOrder = typing.Union[typing.Literal["asc", "desc"], typing.Any]