letta-client 0.1.158__py3-none-any.whl → 0.1.159__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of letta-client might be problematic. Click here for more details.

letta_client/__init__.py CHANGED
@@ -205,6 +205,7 @@ from .types import (
205
205
  TextContent,
206
206
  TextResponseFormat,
207
207
  Tool,
208
+ ToolAnnotations,
208
209
  ToolCall,
209
210
  ToolCallContent,
210
211
  ToolCallDelta,
@@ -547,6 +548,7 @@ __all__ = [
547
548
  "TextContent",
548
549
  "TextResponseFormat",
549
550
  "Tool",
551
+ "ToolAnnotations",
550
552
  "ToolCall",
551
553
  "ToolCallContent",
552
554
  "ToolCallDelta",
@@ -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.158",
19
+ "X-Fern-SDK-Version": "0.1.159",
20
20
  }
21
21
  if self.token is not None:
22
22
  headers["Authorization"] = f"Bearer {self.token}"
@@ -208,6 +208,7 @@ from .terminal_tool_rule import TerminalToolRule
208
208
  from .text_content import TextContent
209
209
  from .text_response_format import TextResponseFormat
210
210
  from .tool import Tool
211
+ from .tool_annotations import ToolAnnotations
211
212
  from .tool_call import ToolCall
212
213
  from .tool_call_content import ToolCallContent
213
214
  from .tool_call_delta import ToolCallDelta
@@ -452,6 +453,7 @@ __all__ = [
452
453
  "TextContent",
453
454
  "TextResponseFormat",
454
455
  "Tool",
456
+ "ToolAnnotations",
455
457
  "ToolCall",
456
458
  "ToolCallContent",
457
459
  "ToolCallDelta",
@@ -2,4 +2,4 @@
2
2
 
3
3
  import typing
4
4
 
5
- McpServerType = typing.Union[typing.Literal["sse", "stdio"], typing.Any]
5
+ McpServerType = typing.Union[typing.Literal["sse", "stdio", "streamable_http"], typing.Any]
@@ -4,6 +4,7 @@ from ..core.unchecked_base_model import UncheckedBaseModel
4
4
  import typing
5
5
  import typing_extensions
6
6
  from ..core.serialization import FieldMetadata
7
+ from .tool_annotations import ToolAnnotations
7
8
  from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
9
  import pydantic
9
10
 
@@ -18,6 +19,7 @@ class McpTool(UncheckedBaseModel):
18
19
  input_schema: typing_extensions.Annotated[
19
20
  typing.Dict[str, typing.Optional[typing.Any]], FieldMetadata(alias="inputSchema")
20
21
  ]
22
+ annotations: typing.Optional[ToolAnnotations] = None
21
23
 
22
24
  if IS_PYDANTIC_V2:
23
25
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -8,6 +8,17 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
8
 
9
9
 
10
10
  class SseServerConfig(UncheckedBaseModel):
11
+ """
12
+ Configuration for an MCP server using SSE
13
+
14
+ Authentication can be provided in multiple ways:
15
+ 1. Using auth_header + auth_token: Will add a specific header with the token
16
+ Example: auth_header="Authorization", auth_token="Bearer abc123"
17
+
18
+ 2. Using the custom_headers dict: For more complex authentication scenarios
19
+ Example: custom_headers={"X-API-Key": "abc123", "X-Custom-Header": "value"}
20
+ """
21
+
11
22
  server_name: str = pydantic.Field()
12
23
  """
13
24
  The name of the server
@@ -19,6 +30,21 @@ class SseServerConfig(UncheckedBaseModel):
19
30
  The URL of the server (MCP SSE client will connect to this URL)
20
31
  """
21
32
 
33
+ auth_header: typing.Optional[str] = pydantic.Field(default=None)
34
+ """
35
+ The name of the authentication header (e.g., 'Authorization')
36
+ """
37
+
38
+ auth_token: typing.Optional[str] = pydantic.Field(default=None)
39
+ """
40
+ The authentication token or API key value
41
+ """
42
+
43
+ custom_headers: typing.Optional[typing.Dict[str, typing.Optional[str]]] = pydantic.Field(default=None)
44
+ """
45
+ Custom HTTP headers to include with SSE requests
46
+ """
47
+
22
48
  if IS_PYDANTIC_V2:
23
49
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
50
  else:
@@ -0,0 +1,36 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.unchecked_base_model import UncheckedBaseModel
4
+ import typing
5
+ import typing_extensions
6
+ from ..core.serialization import FieldMetadata
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+
10
+
11
+ class ToolAnnotations(UncheckedBaseModel):
12
+ """
13
+ Additional properties describing a Tool to clients.
14
+
15
+ NOTE: all properties in ToolAnnotations are **hints**.
16
+ They are not guaranteed to provide a faithful description of
17
+ tool behavior (including descriptive properties like `title`).
18
+
19
+ Clients should never make tool use decisions based on ToolAnnotations
20
+ received from untrusted servers.
21
+ """
22
+
23
+ title: typing.Optional[str] = None
24
+ read_only_hint: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="readOnlyHint")] = None
25
+ destructive_hint: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="destructiveHint")] = None
26
+ idempotent_hint: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="idempotentHint")] = None
27
+ open_world_hint: typing_extensions.Annotated[typing.Optional[bool], FieldMetadata(alias="openWorldHint")] = None
28
+
29
+ if IS_PYDANTIC_V2:
30
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
31
+ else:
32
+
33
+ class Config:
34
+ frozen = True
35
+ smart_union = True
36
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-client
3
- Version: 0.1.158
3
+ Version: 0.1.159
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -1,4 +1,4 @@
1
- letta_client/__init__.py,sha256=2X95vFIKPYYoAtp_d437qy_T9kGhn3tSjgvglH3upKE,17194
1
+ letta_client/__init__.py,sha256=glnhnX4D68CyvKpQaE5MZg0hobKzThfIUMTzxN537t8,17238
2
2
  letta_client/agents/__init__.py,sha256=3oFWVxaaxkphkjGJVk31Llb9ll9dKoCGx3B_r3qqtes,1716
3
3
  letta_client/agents/blocks/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
4
4
  letta_client/agents/blocks/client.py,sha256=ecE03lE5tP1AtCMFLT9FzdYyQMx_D7NI5m42b41pV40,24684
@@ -62,7 +62,7 @@ letta_client/client_side_access_tokens/types/client_side_access_tokens_create_re
62
62
  letta_client/client_side_access_tokens/types/client_side_access_tokens_create_response_policy_data_item_access_item.py,sha256=R-H25IpNp9feSrW8Yj3h9O3UTMVvFniQJElogKxLuoE,254
63
63
  letta_client/core/__init__.py,sha256=OKbX2aCZXgHCDUsCouqv-OiX32xA6eFFCKIUH9M5Vzk,1591
64
64
  letta_client/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
65
- letta_client/core/client_wrapper.py,sha256=nKg5nPtYoLHksAm6lUSNv3-Pw5OsuE2E5Gbkr-eEoBo,1998
65
+ letta_client/core/client_wrapper.py,sha256=X5H41jCGtyF3C-omyRpZ3bTT5wRtGWihLCaWNRnUyYs,1998
66
66
  letta_client/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
67
67
  letta_client/core/file.py,sha256=d4NNbX8XvXP32z8KpK2Xovv33nFfruIrpz0QWxlgpZk,2663
68
68
  letta_client/core/http_client.py,sha256=Z77OIxIbL4OAB2IDqjRq_sYa5yNYAWfmdhdCSSvh6Y4,19552
@@ -150,7 +150,7 @@ letta_client/tools/types/add_mcp_server_request.py,sha256=EieZjfOT95sjkpxXdqy7gl
150
150
  letta_client/tools/types/add_mcp_server_response_item.py,sha256=pb3A4IoP7Qpen0UDDniXrASYEJZWnYnnrZThtPkvZt4,270
151
151
  letta_client/tools/types/delete_mcp_server_response_item.py,sha256=hKc4uehqcubO8BzpgMlvk2jJAjHXOWRM_zmWsCz_vZE,273
152
152
  letta_client/tools/types/list_mcp_servers_response_value.py,sha256=AIoXu4bO8QNSU7zjL1jj0Rg4313wVtPaTt13W0aevLQ,273
153
- letta_client/types/__init__.py,sha256=4sJJKkC2a_9Tt-jwNSuO_he06cojsUlkYpk45V3cL3Q,21720
153
+ letta_client/types/__init__.py,sha256=QQWOfs0PC9QLo9L7vXvkcNVdGqaZFV2j1mmeNj8o1fI,21789
154
154
  letta_client/types/action_model.py,sha256=y1e2XMv3skFaNJIBdYoBKgiORzGh05aOVvu-qVR9uHg,1240
155
155
  letta_client/types/action_parameters_model.py,sha256=LgKf5aPZG3-OHGxFdXiSokIDgce8c02xPYIAY05VgW8,828
156
156
  letta_client/types/action_response_model.py,sha256=yq2Fd9UU8j7vvtE3VqXUoRRvDzWcfJPj_95ynGdeHCs,824
@@ -291,8 +291,8 @@ letta_client/types/local_sandbox_config.py,sha256=jfe7akG_YrJJ8csLaLdev04Zg1x-PT
291
291
  letta_client/types/manager_type.py,sha256=3ztXv2xWw6PIgDoqqxaHwdIcssDYqdqB0KqUDSW3Bc0,222
292
292
  letta_client/types/max_count_per_step_tool_rule.py,sha256=6vBWeGH2FW3ze--lr4DVuqG5aikPjKAAwHd4bfv4YcM,1225
293
293
  letta_client/types/max_count_per_step_tool_rule_schema.py,sha256=1Zq4vblRTqFycqk7cBQ3gVCUy-MPWvE_tNXV5Fz0VTs,618
294
- letta_client/types/mcp_server_type.py,sha256=Hv45mKMPzmey2UVjwrTAvWXP1sDd13UwAtvtogBloLo,153
295
- letta_client/types/mcp_tool.py,sha256=_GSTb0k8l-IUEflRkQ6-v45UnbTcA4Nv1N8sgmExJQ0,912
294
+ letta_client/types/mcp_server_type.py,sha256=cEiRY8zJw3YdV0RV6tt4JUYd0AHT_UNeLgxaouU-_4A,172
295
+ letta_client/types/mcp_tool.py,sha256=1Bdh9eDfLWxEB_5spzGXImmcoEQ2XRo8BTaeolaMA1M,1015
296
296
  letta_client/types/memory.py,sha256=Fa07vLHBsc4eNK65Yla2zOuzYhtgFGlnPzAGo9GvJ-c,1210
297
297
  letta_client/types/message.py,sha256=xLOrSRBL3GHlEN_aZAVR_ruftSqqDMu3CVnRnB01ZD0,4493
298
298
  letta_client/types/message_content_item.py,sha256=FrwERKfU5MpV4Y8LC5ejKFkoqqSV_Ooww-r32VGBbME,629
@@ -343,7 +343,7 @@ letta_client/types/sandbox_type.py,sha256=XSWmX3JIFFrDPQ4i89E8LauXY8kjmJEtaz6e_J
343
343
  letta_client/types/sleeptime_manager.py,sha256=oKI3CCoA4guwktWs1bbPdCmv9jg94EeMvbXQWvzbt6M,778
344
344
  letta_client/types/sleeptime_manager_update.py,sha256=JMzgtvGMDI5VBzlTuzm4FpuFAL7uwPbQgN9TYxip93s,813
345
345
  letta_client/types/source.py,sha256=BsfE9yrefXREQtskGZnR-TFGqmHkFKIGHC5udtHUi14,2370
346
- letta_client/types/sse_server_config.py,sha256=b-h5FLm5MELZ5A9bwZt-02Zx_f3UbfKAQS--yHQVOQU,844
346
+ letta_client/types/sse_server_config.py,sha256=IN-FdECflYF-XiIM_fvVOwyDu215Csoixepv44PAVvQ,1738
347
347
  letta_client/types/stdio_server_config.py,sha256=dEQ7bguiLikGemLxYZJ3JCmmEQgAMsSPO_P52oHZSl0,1091
348
348
  letta_client/types/step.py,sha256=-5KHfBc6NZnYGLXHJMK6Bdyw2ae0G1zPFzsURjPiN3c,3133
349
349
  letta_client/types/stop_reason_type.py,sha256=PyYTS9bIvCSDfzyG4wJyk6bi9fCdDBNsoleLd7nMJYI,228
@@ -355,6 +355,7 @@ letta_client/types/terminal_tool_rule.py,sha256=E9XJMsIOAAERnTztXhbB0z4P-oBH0Bxn
355
355
  letta_client/types/text_content.py,sha256=Z8UL4Sqqq2qClKU_nCgR9XFCj3dwYyhZMmvnnz1F0AE,670
356
356
  letta_client/types/text_response_format.py,sha256=daIziOp-O4cEDqFH1CSIqb0p5BL721_kA0JSOtWlt0k,654
357
357
  letta_client/types/tool.py,sha256=5BtitT8tljb53PAVCZWeeKX6sLDUajgGAAJ2mJhiBp0,3054
358
+ letta_client/types/tool_annotations.py,sha256=Is8FsHSHmA1NsH9_gx9f99I7Er4Xix2GV0khCjw7mGE,1504
358
359
  letta_client/types/tool_call.py,sha256=EKGAFwzoa6zMTpOkG55hWzFn_AgPrbLXSOu5M84x8WU,594
359
360
  letta_client/types/tool_call_content.py,sha256=5aceJgOQSkL05Hw5LXG49yxN8CmTcp6jj9aeQp-Wtks,995
360
361
  letta_client/types/tool_call_delta.py,sha256=wGeZwJ9pwYHD5-f4Unf5-vJqefK40eHw9i0w3bCjRoE,671
@@ -396,6 +397,6 @@ letta_client/types/web_search_options_user_location_approximate.py,sha256=Ywk01J
396
397
  letta_client/version.py,sha256=bttKLbIhO3UonCYQlqs600zzbQgfhCCMjeXR9WRzid4,79
397
398
  letta_client/voice/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
398
399
  letta_client/voice/client.py,sha256=EX79F2D5bieXNP8g1ZPw8xwAzqE1A3hshCHUSlTV1kw,5739
399
- letta_client-0.1.158.dist-info/METADATA,sha256=TADPzFpKPXVxzN0-didPXQNa94hW9b36Tzq96tj5y2Y,5093
400
- letta_client-0.1.158.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
401
- letta_client-0.1.158.dist-info/RECORD,,
400
+ letta_client-0.1.159.dist-info/METADATA,sha256=SdB49p2t2hQBKXGDEjpJeJYtcn57OnmhmOOBN0nq0Jg,5093
401
+ letta_client-0.1.159.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
402
+ letta_client-0.1.159.dist-info/RECORD,,