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

@@ -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.117",
19
+ "X-Fern-SDK-Version": "0.1.118",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -75,7 +75,11 @@ class BatchesClient:
75
75
  raise ApiError(status_code=_response.status_code, body=_response_json)
76
76
 
77
77
  def create(
78
- self, *, requests: typing.Sequence[LettaBatchRequest], request_options: typing.Optional[RequestOptions] = None
78
+ self,
79
+ *,
80
+ requests: typing.Sequence[LettaBatchRequest],
81
+ callback_url: typing.Optional[str] = OMIT,
82
+ request_options: typing.Optional[RequestOptions] = None,
79
83
  ) -> BatchJob:
80
84
  """
81
85
  Submit a batch of agent messages for asynchronous processing.
@@ -86,6 +90,9 @@ class BatchesClient:
86
90
  requests : typing.Sequence[LettaBatchRequest]
87
91
  List of requests to be processed in batch.
88
92
 
93
+ callback_url : typing.Optional[str]
94
+ Optional URL to call via POST when the batch completes.
95
+
89
96
  request_options : typing.Optional[RequestOptions]
90
97
  Request-specific configuration.
91
98
 
@@ -126,6 +133,7 @@ class BatchesClient:
126
133
  "requests": convert_and_respect_annotation_metadata(
127
134
  object_=requests, annotation=typing.Sequence[LettaBatchRequest], direction="write"
128
135
  ),
136
+ "callback_url": callback_url,
129
137
  },
130
138
  headers={
131
139
  "content-type": "application/json",
@@ -316,7 +324,11 @@ class AsyncBatchesClient:
316
324
  raise ApiError(status_code=_response.status_code, body=_response_json)
317
325
 
318
326
  async def create(
319
- self, *, requests: typing.Sequence[LettaBatchRequest], request_options: typing.Optional[RequestOptions] = None
327
+ self,
328
+ *,
329
+ requests: typing.Sequence[LettaBatchRequest],
330
+ callback_url: typing.Optional[str] = OMIT,
331
+ request_options: typing.Optional[RequestOptions] = None,
320
332
  ) -> BatchJob:
321
333
  """
322
334
  Submit a batch of agent messages for asynchronous processing.
@@ -327,6 +339,9 @@ class AsyncBatchesClient:
327
339
  requests : typing.Sequence[LettaBatchRequest]
328
340
  List of requests to be processed in batch.
329
341
 
342
+ callback_url : typing.Optional[str]
343
+ Optional URL to call via POST when the batch completes.
344
+
330
345
  request_options : typing.Optional[RequestOptions]
331
346
  Request-specific configuration.
332
347
 
@@ -380,6 +395,7 @@ class AsyncBatchesClient:
380
395
  "requests": convert_and_respect_annotation_metadata(
381
396
  object_=requests, annotation=typing.Sequence[LettaBatchRequest], direction="write"
382
397
  ),
398
+ "callback_url": callback_url,
383
399
  },
384
400
  headers={
385
401
  "content-type": "application/json",
@@ -46,6 +46,21 @@ class BatchJob(UncheckedBaseModel):
46
46
  """
47
47
 
48
48
  job_type: typing.Optional[JobType] = None
49
+ callback_url: typing.Optional[str] = pydantic.Field(default=None)
50
+ """
51
+ If set, POST to this URL when the job completes.
52
+ """
53
+
54
+ callback_sent_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
55
+ """
56
+ Timestamp when the callback was last attempted.
57
+ """
58
+
59
+ callback_status_code: typing.Optional[int] = pydantic.Field(default=None)
60
+ """
61
+ HTTP status code returned by the callback endpoint.
62
+ """
63
+
49
64
  id: typing.Optional[str] = pydantic.Field(default=None)
50
65
  """
51
66
  The human-friendly ID of the Job
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- ChatCompletionAudioParamFormat = typing.Union[typing.Literal["wav", "mp3", "flac", "opus", "pcm16"], typing.Any]
5
+ ChatCompletionAudioParamFormat = typing.Union[typing.Literal["wav", "aac", "mp3", "flac", "opus", "pcm16"], typing.Any]
@@ -4,6 +4,16 @@ import typing
4
4
 
5
5
  CompletionCreateParamsNonStreamingModel = typing.Union[
6
6
  str,
7
+ typing.Literal["gpt-4.1"],
8
+ typing.Literal["gpt-4.1-mini"],
9
+ typing.Literal["gpt-4.1-nano"],
10
+ typing.Literal["gpt-4.1-2025-04-14"],
11
+ typing.Literal["gpt-4.1-mini-2025-04-14"],
12
+ typing.Literal["gpt-4.1-nano-2025-04-14"],
13
+ typing.Literal["o4-mini"],
14
+ typing.Literal["o4-mini-2025-04-16"],
15
+ typing.Literal["o3"],
16
+ typing.Literal["o3-2025-04-16"],
7
17
  typing.Literal["o3-mini"],
8
18
  typing.Literal["o3-mini-2025-01-31"],
9
19
  typing.Literal["o1"],
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- CompletionCreateParamsNonStreamingServiceTier = typing.Union[typing.Literal["auto", "default"], typing.Any]
5
+ CompletionCreateParamsNonStreamingServiceTier = typing.Union[typing.Literal["auto", "default", "flex"], typing.Any]
@@ -4,6 +4,16 @@ import typing
4
4
 
5
5
  CompletionCreateParamsStreamingModel = typing.Union[
6
6
  str,
7
+ typing.Literal["gpt-4.1"],
8
+ typing.Literal["gpt-4.1-mini"],
9
+ typing.Literal["gpt-4.1-nano"],
10
+ typing.Literal["gpt-4.1-2025-04-14"],
11
+ typing.Literal["gpt-4.1-mini-2025-04-14"],
12
+ typing.Literal["gpt-4.1-nano-2025-04-14"],
13
+ typing.Literal["o4-mini"],
14
+ typing.Literal["o4-mini-2025-04-16"],
15
+ typing.Literal["o3"],
16
+ typing.Literal["o3-2025-04-16"],
7
17
  typing.Literal["o3-mini"],
8
18
  typing.Literal["o3-mini-2025-01-31"],
9
19
  typing.Literal["o1"],
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- CompletionCreateParamsStreamingServiceTier = typing.Union[typing.Literal["auto", "default"], typing.Any]
5
+ CompletionCreateParamsStreamingServiceTier = typing.Union[typing.Literal["auto", "default", "flex"], typing.Any]
letta_client/types/job.py CHANGED
@@ -61,6 +61,21 @@ class Job(UncheckedBaseModel):
61
61
  The type of the job.
62
62
  """
63
63
 
64
+ callback_url: typing.Optional[str] = pydantic.Field(default=None)
65
+ """
66
+ If set, POST to this URL when the job completes.
67
+ """
68
+
69
+ callback_sent_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
70
+ """
71
+ Timestamp when the callback was last attempted.
72
+ """
73
+
74
+ callback_status_code: typing.Optional[int] = pydantic.Field(default=None)
75
+ """
76
+ HTTP status code returned by the callback endpoint.
77
+ """
78
+
64
79
  id: typing.Optional[str] = pydantic.Field(default=None)
65
80
  """
66
81
  The human-friendly ID of the Job
letta_client/types/run.py CHANGED
@@ -59,6 +59,21 @@ class Run(UncheckedBaseModel):
59
59
  """
60
60
 
61
61
  job_type: typing.Optional[JobType] = None
62
+ callback_url: typing.Optional[str] = pydantic.Field(default=None)
63
+ """
64
+ If set, POST to this URL when the job completes.
65
+ """
66
+
67
+ callback_sent_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
68
+ """
69
+ Timestamp when the callback was last attempted.
70
+ """
71
+
72
+ callback_status_code: typing.Optional[int] = pydantic.Field(default=None)
73
+ """
74
+ HTTP status code returned by the callback endpoint.
75
+ """
76
+
62
77
  id: typing.Optional[str] = pydantic.Field(default=None)
63
78
  """
64
79
  The human-friendly ID of the Run
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.117
3
+ Version: 0.1.118
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -53,7 +53,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_create_cl
53
53
  letta_client/client_side_access_tokens/types/client_side_access_tokens_create_client_side_access_token_response_policy_data_item_access_item.py,sha256=vefuUVB3pLCbCNBJACXMsEKZuwhMAGvLwSU3TU3Q4l4,275
54
54
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
55
55
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
56
- letta_client/core/client_wrapper.py,sha256=S7b3SY_tgDb58OaozkpNkuqGQ2s5L2LpUl83woui6nM,1998
56
+ letta_client/core/client_wrapper.py,sha256=QTdJpY9wyKFAykjZavLIcXbkODF4gZJhh9GYSvH-AKs,1998
57
57
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
58
58
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
59
59
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -90,7 +90,7 @@ letta_client/jobs/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw
90
90
  letta_client/jobs/client.py,sha256=z1Zq6dGs2xbf3EAFuD3-m-qbpbUeqpCBYqtIFKkGoMk,15622
91
91
  letta_client/messages/__init__.py,sha256=YH5-krRUPFJQGtFgUr_krZfjlEHcRUAIJZ5J1sIE9bM,110
92
92
  letta_client/messages/batches/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
93
- letta_client/messages/batches/client.py,sha256=cG5Cq7MwNCtYN3wnQlo4feur9T988XU6lhA7u35ai0E,16797
93
+ letta_client/messages/batches/client.py,sha256=9vjs5IOSlhLeIAjRwy5RHbr0WuNRIAs645k48ayjdkM,17267
94
94
  letta_client/messages/client.py,sha256=MTBnxo2irqz8Y3i0iDEtW6SWYOIG4XjEqUZRur3edrQ,5016
95
95
  letta_client/models/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
96
96
  letta_client/models/client.py,sha256=Rd9IHjSdXRzzZyabpq8pDTc9XDnwLPnmm5by335g1D0,6306
@@ -148,14 +148,14 @@ letta_client/types/auth_response.py,sha256=jtG9Nn0voJcOWkBtvnuGGwhpUhYz9A8O7soOJ
148
148
  letta_client/types/auth_scheme_field.py,sha256=W4-qgKtKUSpBHaSvjLyzLybOIsGo7Ggk4VECpsoPnqQ,881
149
149
  letta_client/types/bad_request_error_body.py,sha256=E4_eWEc9xeW9BkXGViBDrevV8Jf6PjgEweeGS3vJLD4,567
150
150
  letta_client/types/base_tool_rule_schema.py,sha256=FbnJy6gb8wY_DPiU3Gs-u1Ol_l4K7-nAmPTc1oR3kOo,582
151
- letta_client/types/batch_job.py,sha256=SyBdYiC0sI2FqtEjaSfecJsfrV-TJWpxzrv4uWIwbeI,1759
151
+ letta_client/types/batch_job.py,sha256=s7mWlU0m7miuf9BTCTKo1rWidSXXcjJoTnS366lcA1Y,2201
152
152
  letta_client/types/block.py,sha256=J8McqSpellhd-KsPYontU8DYg3YV41_fQW5rR-85qMk,2900
153
153
  letta_client/types/block_update.py,sha256=oIgxvSnav5vxztBdslRMiWOgRaAp3dh43pinZpoLzxk,1496
154
154
  letta_client/types/chat_completion_assistant_message_param.py,sha256=QwxAJ9RQqxtZKnt6g6RfDppuMIt-1RAIlpnfSrVdHgg,1219
155
155
  letta_client/types/chat_completion_assistant_message_param_content.py,sha256=CJ7Z_Jik2fzBYGy0UuvgDk0aLt3-Xpj3qswBLmWM0Sg,323
156
156
  letta_client/types/chat_completion_assistant_message_param_content_item.py,sha256=tF-E0jNH0ilRJgm4vPTqHguCb-TZZ0LJfTXxOnon23w,405
157
157
  letta_client/types/chat_completion_audio_param.py,sha256=l3hMhCWVDglmqmVezfuemQZoEevpndfyKJBDLu0_t-U,795
158
- letta_client/types/chat_completion_audio_param_format.py,sha256=fuHPqWZGDIOwa4jnVY1hpU4Hx0sLs6qTjnss4PZMqSQ,193
158
+ letta_client/types/chat_completion_audio_param_format.py,sha256=_Jk2jCTMnQIi3tekbyca3izfaX-1Dkj_Jjc7-jai0D0,200
159
159
  letta_client/types/chat_completion_audio_param_voice.py,sha256=9bpfU_DFyUdFLYZMkigrNlre4VklwqX7mGa0myMt7HQ,453
160
160
  letta_client/types/chat_completion_content_part_image_param.py,sha256=dUQIFiDbyebgPEpVJJlDvZ5pcoly3LuGq-4fxojDbBc,674
161
161
  letta_client/types/chat_completion_content_part_input_audio_param.py,sha256=-RGWHcpNdJQg82E8QhRve2QJQehma91k8eqGqeH29hc,691
@@ -185,20 +185,20 @@ letta_client/types/completion_create_params_non_streaming.py,sha256=hjEJ-wJWuFuT
185
185
  letta_client/types/completion_create_params_non_streaming_function_call.py,sha256=6iCjgXwsXnflllhfDDKtHRyxzKqtLcX6-HVr7AXlyUM,329
186
186
  letta_client/types/completion_create_params_non_streaming_messages_item.py,sha256=pKMxLh1XFgMl7LqcjKJmdeKYTCwlr3FLFPTuvaLf3D0,883
187
187
  letta_client/types/completion_create_params_non_streaming_modalities_item.py,sha256=BuyCf2nTCWVhishXFk3CsQphnPwNXj-kBdPMjkb8X10,189
188
- letta_client/types/completion_create_params_non_streaming_model.py,sha256=RhKFYjt4pgTgHfoihS1VdfIDjIlR1KCvPVMDIBY6UbY,1935
188
+ letta_client/types/completion_create_params_non_streaming_model.py,sha256=yZSFdZPQikDFyoI5tuaz_1Ub23Y3wYrQ-irav-UsCo4,2310
189
189
  letta_client/types/completion_create_params_non_streaming_reasoning_effort.py,sha256=f1hBX3qksGoGC6O2W5qHblCQXtoZiEhiN8LUy1Rv9Ig,198
190
190
  letta_client/types/completion_create_params_non_streaming_response_format.py,sha256=c16kBch59yhxAgMeFTxGNrEBNl4Vu3fPmZ2RqqS6bkU,407
191
- letta_client/types/completion_create_params_non_streaming_service_tier.py,sha256=Tfw62WLF3WSHWZy8VOVXal1INDQNtZhoB8DSA0btJ0g,188
191
+ letta_client/types/completion_create_params_non_streaming_service_tier.py,sha256=zzKUXMUe4WiJbImbYWqCPtEXF-JztlnFiZ-9waj96Sc,196
192
192
  letta_client/types/completion_create_params_non_streaming_stop.py,sha256=5vPdgab7iH6eDizESU2_CMieWN5CN3pF8TZs-Zb7rMw,157
193
193
  letta_client/types/completion_create_params_non_streaming_tool_choice.py,sha256=jP4qKEF5-TOkBHebni-L9eNpbPnIEpv7fa6v4K_L5U8,346
194
194
  letta_client/types/completion_create_params_streaming.py,sha256=sgazDkBKpQTk2NtrJ0l7F0moftbl-zgpw6lkEQt6ha0,3891
195
195
  letta_client/types/completion_create_params_streaming_function_call.py,sha256=cxsVe0wAIKPAsndL5vB_BCTy6oSxFph7qB1c1LWmeDw,326
196
196
  letta_client/types/completion_create_params_streaming_messages_item.py,sha256=S4E0fe3LgVyetb2PEqhGNxqMj5kgQx4q6Qk2bvvu2Ok,880
197
197
  letta_client/types/completion_create_params_streaming_modalities_item.py,sha256=o9ZU7r22WrE6z-BSJ72LJXHtVRIpK499WArVgY-ODgI,186
198
- letta_client/types/completion_create_params_streaming_model.py,sha256=f80smBsCDdtc7oGKFz4sx8h_wnj_Ls4tyvjZeHdrkwc,1932
198
+ letta_client/types/completion_create_params_streaming_model.py,sha256=P6aKoGFXypa0MTr_wMnj4b_cNynuJCr-vtaXQm4SIwo,2307
199
199
  letta_client/types/completion_create_params_streaming_reasoning_effort.py,sha256=4-JFyaD92zia-kN7bPyCWwf_AMDnG2xUXWx8GQU1EFE,195
200
200
  letta_client/types/completion_create_params_streaming_response_format.py,sha256=31sy6fKZ4r50zvjVTnoOpwNX81Bx7kFM75Mn7-obbYI,404
201
- letta_client/types/completion_create_params_streaming_service_tier.py,sha256=chHakgbKOYCMtxdtGmP85rcjGkyOqt2S_JJ9SabSd-o,185
201
+ letta_client/types/completion_create_params_streaming_service_tier.py,sha256=8TpNMpnwtpLbavL00_oYKgu94TbSIptldLmzpPP1eMA,193
202
202
  letta_client/types/completion_create_params_streaming_stop.py,sha256=dSyQDu851QyeoRjpoE2JBIyKIYGO5jVx6UIH-bLiQwo,154
203
203
  letta_client/types/completion_create_params_streaming_tool_choice.py,sha256=w_JLYtdz8eHzF2lwlMaMGpnOl8_4mjGbsDOSpMyM5cg,343
204
204
  letta_client/types/components_schemas_text_content.py,sha256=F21GPPwREb6GodS4dGsT7-4wySEUdhpq6krznF-sOPE,147
@@ -238,7 +238,7 @@ letta_client/types/init_tool_rule.py,sha256=fPQqBigbqZfJXPoXdpBCFlilVYf5p4-t0tou
238
238
  letta_client/types/input_audio.py,sha256=fxFmzR3I2ZyxpCc1cuVwKQClgnKGBuY8yZYhYC5SqtU,633
239
239
  letta_client/types/input_audio_format.py,sha256=QQFfndI9w66wIbGyHwfmJnk2bEJDPmEs9GybkaNL6AI,154
240
240
  letta_client/types/internal_server_error_body.py,sha256=xR9n1zptgmImbH6apQAuwBblYOWAYNLFzY8s0SUcEug,653
241
- letta_client/types/job.py,sha256=VJBdFIY0rwqh4hObTchlU2jrloTjZwUEA44pNtY_JBg,2321
241
+ letta_client/types/job.py,sha256=yCIUmvvyoN5n92toD7vyMByXjWxHAPCbsf7PMYkrbKY,2763
242
242
  letta_client/types/job_status.py,sha256=lX5Q0QMQFnw-WiirqHD6kgBvGr6I7r8rKLnMJdqhlT8,239
243
243
  letta_client/types/job_type.py,sha256=HXYrfzPwxI54PqV7OVcMhewSJ_pBNHc14s9LcExr7Ss,154
244
244
  letta_client/types/json_schema.py,sha256=EHcLKBSGRsSzCKTpujKFHylcLJG6ODQIBrjQkU4lWDQ,870
@@ -291,7 +291,7 @@ letta_client/types/response_format_json_schema.py,sha256=7CgBQ9Lmst2oz_NoGr-1Sk-
291
291
  letta_client/types/response_format_text.py,sha256=5HhXaYWDR0zeFLhH5nIqIN3n192UXrMZeSyORjIWFKQ,591
292
292
  letta_client/types/round_robin_manager.py,sha256=zcPLc74VlpHPeIHJiEisF9Kn14mKwfQikUjK-DMR-_U,700
293
293
  letta_client/types/round_robin_manager_update.py,sha256=EKdEbaXBWyzsiR1TApBkmvhyu_qEf89E0xbC550oyKw,706
294
- letta_client/types/run.py,sha256=AgRWT05g4ar7Tid6TfjcfU6leLih8OXKU-mVm2VJV5c,2505
294
+ letta_client/types/run.py,sha256=-6UEu78NS32DaRf6LMkUdYq7_4pMz3RT0p9WKxDP6k4,2947
295
295
  letta_client/types/sandbox_config.py,sha256=nvVdB0WnK_-bEHIehvBGiiD0hvujA93Ko4FuGMAJDdk,1550
296
296
  letta_client/types/sandbox_config_create.py,sha256=eP3Bg9JsROEQEEXm9zo-AJb5QvinO1fQkbDhNcfAUt0,730
297
297
  letta_client/types/sandbox_config_create_config.py,sha256=EsSeN81_yPkorfQgOJmumdCWiUt8hk9HawSsRcCc5Hs,263
@@ -352,6 +352,6 @@ letta_client/voice/__init__.py,sha256=7hX85553PiRMtIMM12a0DSoFzsglNiUziYR2ekS84Q
352
352
  letta_client/voice/client.py,sha256=STjswa5oOLoP59QwTJvQwi73kgn0UzKOaXc2CsTRI4k,6912
353
353
  letta_client/voice/types/__init__.py,sha256=FRc3iKRTONE4N8Lf1IqvnqWZ2kXdrFFvkL7PxVcR8Ew,212
354
354
  letta_client/voice/types/create_voice_chat_completions_request_body.py,sha256=ZLfKgNK1T6IAwLEvaBVFfy7jEAoPUXP28n-nfmHkklc,391
355
- letta_client-0.1.117.dist-info/METADATA,sha256=-ZUQYGScs53WPyFaYLTG_5jN8S-dPf7W4RKvujbJHpI,5042
356
- letta_client-0.1.117.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
357
- letta_client-0.1.117.dist-info/RECORD,,
355
+ letta_client-0.1.118.dist-info/METADATA,sha256=vLOndpla-G9Jr5wBzBnfqCiSuN9gdJebeF8XdcS64ic,5042
356
+ letta_client-0.1.118.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
357
+ letta_client-0.1.118.dist-info/RECORD,,