letta-client 0.1.0__py3-none-any.whl → 0.1.2__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 (201) hide show
  1. letta/__init__.py +293 -0
  2. letta/agents/__init__.py +28 -0
  3. letta/agents/archival_memory/__init__.py +2 -0
  4. letta/agents/archival_memory/client.py +591 -0
  5. letta/agents/client.py +2166 -0
  6. letta/agents/context/__init__.py +2 -0
  7. letta/agents/context/client.py +145 -0
  8. letta/agents/memory/__init__.py +5 -0
  9. letta/agents/memory/client.py +149 -0
  10. letta/agents/memory/messages/__init__.py +2 -0
  11. letta/agents/memory/messages/client.py +147 -0
  12. letta/agents/memory_blocks/__init__.py +2 -0
  13. letta/agents/memory_blocks/client.py +364 -0
  14. letta/agents/messages/__init__.py +5 -0
  15. letta/agents/messages/client.py +787 -0
  16. letta/agents/messages/types/__init__.py +7 -0
  17. letta/agents/messages/types/letta_streaming_response.py +20 -0
  18. letta/agents/messages/types/messages_list_response.py +7 -0
  19. letta/agents/messages/types/messages_list_response_item.py +13 -0
  20. letta/agents/recall_memory/__init__.py +2 -0
  21. letta/agents/recall_memory/client.py +147 -0
  22. letta/agents/sources/__init__.py +2 -0
  23. letta/agents/sources/client.py +145 -0
  24. letta/agents/tools/__init__.py +2 -0
  25. letta/agents/tools/client.py +408 -0
  26. letta/agents/types/__init__.py +13 -0
  27. letta/agents/types/agents_create_version_response.py +22 -0
  28. letta/agents/types/agents_migrate_response.py +19 -0
  29. letta/agents/types/create_agent_request_tool_rules_item.py +9 -0
  30. letta/agents/types/update_agent_tool_rules_item.py +9 -0
  31. letta/blocks/__init__.py +2 -0
  32. letta/blocks/client.py +1054 -0
  33. letta/client.py +164 -0
  34. letta/core/__init__.py +47 -0
  35. letta/core/api_error.py +15 -0
  36. letta/core/client_wrapper.py +76 -0
  37. letta/core/datetime_utils.py +28 -0
  38. letta/core/file.py +67 -0
  39. letta/core/http_client.py +499 -0
  40. letta/core/jsonable_encoder.py +101 -0
  41. letta/core/pydantic_utilities.py +296 -0
  42. letta/core/query_encoder.py +58 -0
  43. letta/core/remove_none_from_dict.py +11 -0
  44. letta/core/request_options.py +35 -0
  45. letta/core/serialization.py +272 -0
  46. letta/environment.py +8 -0
  47. letta/errors/__init__.py +8 -0
  48. letta/errors/conflict_error.py +9 -0
  49. letta/errors/internal_server_error.py +9 -0
  50. letta/errors/not_found_error.py +9 -0
  51. letta/errors/unprocessable_entity_error.py +9 -0
  52. letta/health/__init__.py +2 -0
  53. letta/health/client.py +108 -0
  54. letta/jobs/__init__.py +2 -0
  55. letta/jobs/client.py +503 -0
  56. letta/models/__init__.py +2 -0
  57. letta/models/client.py +201 -0
  58. letta/sources/__init__.py +5 -0
  59. letta/sources/client.py +1154 -0
  60. letta/sources/files/__init__.py +2 -0
  61. letta/sources/files/client.py +436 -0
  62. letta/sources/passages/__init__.py +2 -0
  63. letta/sources/passages/client.py +145 -0
  64. letta/tools/__init__.py +2 -0
  65. letta/tools/client.py +1823 -0
  66. letta/types/__init__.py +263 -0
  67. letta/types/action_model.py +36 -0
  68. letta/types/action_parameters_model.py +26 -0
  69. letta/types/action_response_model.py +26 -0
  70. letta/types/agent_state.py +139 -0
  71. letta/types/agent_state_tool_rules_item.py +9 -0
  72. letta/types/agent_type.py +8 -0
  73. letta/types/app_auth_scheme.py +34 -0
  74. letta/types/app_auth_scheme_auth_mode.py +7 -0
  75. letta/types/app_model.py +44 -0
  76. letta/types/archival_memory_summary.py +22 -0
  77. letta/types/assistant_file.py +33 -0
  78. letta/types/assistant_message_input.py +23 -0
  79. letta/types/assistant_message_output.py +23 -0
  80. letta/types/auth_request.py +22 -0
  81. letta/types/auth_response.py +29 -0
  82. letta/types/auth_scheme_field.py +30 -0
  83. letta/types/block.py +91 -0
  84. letta/types/block_update.py +60 -0
  85. letta/types/chat_completion_request.py +49 -0
  86. letta/types/chat_completion_request_function_call.py +6 -0
  87. letta/types/chat_completion_request_messages_item.py +11 -0
  88. letta/types/chat_completion_request_stop.py +5 -0
  89. letta/types/chat_completion_request_tool_choice.py +8 -0
  90. letta/types/chat_completion_response.py +32 -0
  91. letta/types/child_tool_rule.py +33 -0
  92. letta/types/choice.py +25 -0
  93. letta/types/conditional_tool_rule.py +43 -0
  94. letta/types/conflict_error_body.py +21 -0
  95. letta/types/context_window_overview.py +105 -0
  96. letta/types/create_assistant_file_request.py +22 -0
  97. letta/types/create_assistant_request.py +57 -0
  98. letta/types/create_block.py +56 -0
  99. letta/types/delete_assistant_file_response.py +28 -0
  100. letta/types/delete_assistant_response.py +28 -0
  101. letta/types/e_2_b_sandbox_config.py +32 -0
  102. letta/types/embedding_config.py +72 -0
  103. letta/types/embedding_config_embedding_endpoint_type.py +26 -0
  104. letta/types/file_metadata.py +82 -0
  105. letta/types/function_call_input.py +19 -0
  106. letta/types/function_call_output.py +20 -0
  107. letta/types/function_schema.py +21 -0
  108. letta/types/health.py +24 -0
  109. letta/types/http_validation_error.py +20 -0
  110. letta/types/init_tool_rule.py +29 -0
  111. letta/types/internal_server_error_body.py +19 -0
  112. letta/types/job.py +79 -0
  113. letta/types/job_status.py +5 -0
  114. letta/types/letta_request.py +33 -0
  115. letta/types/letta_response.py +125 -0
  116. letta/types/letta_response_assistant_message.py +23 -0
  117. letta/types/letta_response_letta_usage_statistics.py +47 -0
  118. letta/types/letta_response_reasoning_message.py +32 -0
  119. letta/types/letta_response_system_message.py +32 -0
  120. letta/types/letta_response_tool_call.py +21 -0
  121. letta/types/letta_response_tool_call_delta.py +21 -0
  122. letta/types/letta_response_tool_call_message.py +33 -0
  123. letta/types/letta_response_tool_call_message_tool_call.py +9 -0
  124. letta/types/letta_response_tool_call_message_tool_call_one.py +21 -0
  125. letta/types/letta_response_tool_call_message_tool_call_zero.py +21 -0
  126. letta/types/letta_response_tool_return_message.py +41 -0
  127. letta/types/letta_response_tool_return_message_status.py +5 -0
  128. letta/types/letta_response_usage_message.py +40 -0
  129. letta/types/letta_response_usage_message_usage.py +47 -0
  130. letta/types/letta_response_user_message.py +32 -0
  131. letta/types/letta_schemas_letta_message_tool_call.py +21 -0
  132. letta/types/letta_schemas_message_message.py +103 -0
  133. letta/types/letta_schemas_openai_chat_completion_request_tool.py +21 -0
  134. letta/types/letta_schemas_openai_chat_completion_request_tool_call.py +24 -0
  135. letta/types/letta_schemas_openai_chat_completion_request_tool_call_function.py +20 -0
  136. letta/types/letta_schemas_openai_chat_completion_response_message.py +24 -0
  137. letta/types/letta_schemas_openai_chat_completion_response_tool_call.py +22 -0
  138. letta/types/letta_schemas_openai_chat_completions_tool_call_function.py +27 -0
  139. letta/types/letta_schemas_openai_chat_completions_tool_call_input.py +29 -0
  140. letta/types/letta_schemas_openai_chat_completions_tool_call_output.py +29 -0
  141. letta/types/letta_schemas_tool_tool.py +88 -0
  142. letta/types/letta_usage_statistics.py +47 -0
  143. letta/types/llm_config.py +60 -0
  144. letta/types/llm_config_model_endpoint_type.py +26 -0
  145. letta/types/local_sandbox_config.py +32 -0
  146. letta/types/log_prob_token.py +21 -0
  147. letta/types/memory.py +32 -0
  148. letta/types/message_content_log_prob.py +23 -0
  149. letta/types/message_create.py +37 -0
  150. letta/types/message_create_role.py +5 -0
  151. letta/types/message_role.py +5 -0
  152. letta/types/not_found_error_body.py +20 -0
  153. letta/types/not_found_error_body_message.py +11 -0
  154. letta/types/open_ai_assistant.py +67 -0
  155. letta/types/organization.py +33 -0
  156. letta/types/organization_create.py +22 -0
  157. letta/types/passage.py +107 -0
  158. letta/types/reasoning_message.py +32 -0
  159. letta/types/recall_memory_summary.py +22 -0
  160. letta/types/response_format.py +19 -0
  161. letta/types/sandbox_config.py +59 -0
  162. letta/types/sandbox_config_create.py +23 -0
  163. letta/types/sandbox_config_create_config.py +7 -0
  164. letta/types/sandbox_config_update.py +27 -0
  165. letta/types/sandbox_config_update_config.py +7 -0
  166. letta/types/sandbox_environment_variable.py +68 -0
  167. letta/types/sandbox_environment_variable_create.py +32 -0
  168. letta/types/sandbox_environment_variable_update.py +36 -0
  169. letta/types/sandbox_type.py +5 -0
  170. letta/types/source.py +85 -0
  171. letta/types/system_message_input.py +21 -0
  172. letta/types/system_message_output.py +32 -0
  173. letta/types/terminal_tool_rule.py +29 -0
  174. letta/types/tool_call_delta.py +21 -0
  175. letta/types/tool_call_function_output.py +27 -0
  176. letta/types/tool_call_message.py +33 -0
  177. letta/types/tool_call_message_tool_call.py +7 -0
  178. letta/types/tool_create.py +57 -0
  179. letta/types/tool_function_choice.py +21 -0
  180. letta/types/tool_input.py +21 -0
  181. letta/types/tool_message.py +21 -0
  182. letta/types/tool_return_message.py +41 -0
  183. letta/types/tool_return_message_status.py +5 -0
  184. letta/types/tool_rule_type.py +10 -0
  185. letta/types/usage_message.py +31 -0
  186. letta/types/usage_statistics.py +21 -0
  187. letta/types/user.py +57 -0
  188. letta/types/user_create.py +27 -0
  189. letta/types/user_message_input.py +22 -0
  190. letta/types/user_message_input_content.py +5 -0
  191. letta/types/user_message_output.py +32 -0
  192. letta/types/user_update.py +32 -0
  193. letta/types/validation_error.py +22 -0
  194. letta/types/validation_error_loc_item.py +5 -0
  195. letta/version.py +3 -0
  196. letta_client-0.1.2.dist-info/METADATA +189 -0
  197. letta_client-0.1.2.dist-info/RECORD +199 -0
  198. {letta_client-0.1.0.dist-info → letta_client-0.1.2.dist-info}/WHEEL +1 -1
  199. letta_client-0.1.0.dist-info/METADATA +0 -15
  200. letta_client-0.1.0.dist-info/RECORD +0 -4
  201. /letta_client/__init__.py → /letta/py.typed +0 -0
@@ -0,0 +1,103 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ import pydantic
6
+ import datetime as dt
7
+ from .message_role import MessageRole
8
+ from .letta_schemas_openai_chat_completions_tool_call_output import LettaSchemasOpenaiChatCompletionsToolCallOutput
9
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
10
+
11
+
12
+ class LettaSchemasMessageMessage(UniversalBaseModel):
13
+ """
14
+ Letta's internal representation of a message. Includes methods to convert to/from LLM provider formats.
15
+
16
+ Attributes:
17
+ id (str): The unique identifier of the message.
18
+ role (MessageRole): The role of the participant.
19
+ text (str): The text of the message.
20
+ user_id (str): The unique identifier of the user.
21
+ agent_id (str): The unique identifier of the agent.
22
+ model (str): The model used to make the function call.
23
+ name (str): The name of the participant.
24
+ created_at (datetime): The time the message was created.
25
+ tool_calls (List[ToolCall]): The list of tool calls requested.
26
+ tool_call_id (str): The id of the tool call.
27
+ """
28
+
29
+ created_by_id: typing.Optional[str] = pydantic.Field(default=None)
30
+ """
31
+ The id of the user that made this object.
32
+ """
33
+
34
+ last_updated_by_id: typing.Optional[str] = pydantic.Field(default=None)
35
+ """
36
+ The id of the user that made this object.
37
+ """
38
+
39
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
40
+ """
41
+ The timestamp when the object was created.
42
+ """
43
+
44
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
45
+ """
46
+ The timestamp when the object was last updated.
47
+ """
48
+
49
+ id: typing.Optional[str] = pydantic.Field(default=None)
50
+ """
51
+ The human-friendly ID of the Message
52
+ """
53
+
54
+ role: MessageRole = pydantic.Field()
55
+ """
56
+ The role of the participant.
57
+ """
58
+
59
+ text: typing.Optional[str] = pydantic.Field(default=None)
60
+ """
61
+ The text of the message.
62
+ """
63
+
64
+ organization_id: typing.Optional[str] = pydantic.Field(default=None)
65
+ """
66
+ The unique identifier of the organization.
67
+ """
68
+
69
+ agent_id: typing.Optional[str] = pydantic.Field(default=None)
70
+ """
71
+ The unique identifier of the agent.
72
+ """
73
+
74
+ model: typing.Optional[str] = pydantic.Field(default=None)
75
+ """
76
+ The model used to make the function call.
77
+ """
78
+
79
+ name: typing.Optional[str] = pydantic.Field(default=None)
80
+ """
81
+ The name of the participant.
82
+ """
83
+
84
+ tool_calls: typing.Optional[typing.List[LettaSchemasOpenaiChatCompletionsToolCallOutput]] = pydantic.Field(
85
+ default=None
86
+ )
87
+ """
88
+ The list of tool calls requested.
89
+ """
90
+
91
+ tool_call_id: typing.Optional[str] = pydantic.Field(default=None)
92
+ """
93
+ The id of the tool call.
94
+ """
95
+
96
+ if IS_PYDANTIC_V2:
97
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
98
+ else:
99
+
100
+ class Config:
101
+ frozen = True
102
+ smart_union = True
103
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .function_schema import FunctionSchema
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class LettaSchemasOpenaiChatCompletionRequestTool(UniversalBaseModel):
11
+ type: typing.Optional[typing.Literal["function"]] = None
12
+ function: FunctionSchema
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .letta_schemas_openai_chat_completion_request_tool_call_function import (
6
+ LettaSchemasOpenaiChatCompletionRequestToolCallFunction,
7
+ )
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+ import pydantic
10
+
11
+
12
+ class LettaSchemasOpenaiChatCompletionRequestToolCall(UniversalBaseModel):
13
+ id: str
14
+ type: typing.Optional[typing.Literal["function"]] = None
15
+ function: LettaSchemasOpenaiChatCompletionRequestToolCallFunction
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,20 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class LettaSchemasOpenaiChatCompletionRequestToolCallFunction(UniversalBaseModel):
10
+ name: str
11
+ arguments: str
12
+
13
+ if IS_PYDANTIC_V2:
14
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
15
+ else:
16
+
17
+ class Config:
18
+ frozen = True
19
+ smart_union = True
20
+ extra = pydantic.Extra.allow
@@ -0,0 +1,24 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .letta_schemas_openai_chat_completion_response_tool_call import LettaSchemasOpenaiChatCompletionResponseToolCall
6
+ from .function_call_output import FunctionCallOutput
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+ import pydantic
9
+
10
+
11
+ class LettaSchemasOpenaiChatCompletionResponseMessage(UniversalBaseModel):
12
+ content: typing.Optional[str] = None
13
+ tool_calls: typing.Optional[typing.List[LettaSchemasOpenaiChatCompletionResponseToolCall]] = None
14
+ role: str
15
+ function_call: typing.Optional[FunctionCallOutput] = None
16
+
17
+ if IS_PYDANTIC_V2:
18
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
19
+ else:
20
+
21
+ class Config:
22
+ frozen = True
23
+ smart_union = True
24
+ extra = pydantic.Extra.allow
@@ -0,0 +1,22 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .function_call_output import FunctionCallOutput
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class LettaSchemasOpenaiChatCompletionResponseToolCall(UniversalBaseModel):
11
+ id: str
12
+ type: typing.Optional[typing.Literal["function"]] = None
13
+ function: FunctionCallOutput
14
+
15
+ if IS_PYDANTIC_V2:
16
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
17
+ else:
18
+
19
+ class Config:
20
+ frozen = True
21
+ smart_union = True
22
+ extra = pydantic.Extra.allow
@@ -0,0 +1,27 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import typing
7
+
8
+
9
+ class LettaSchemasOpenaiChatCompletionsToolCallFunction(UniversalBaseModel):
10
+ name: str = pydantic.Field()
11
+ """
12
+ The name of the function to call
13
+ """
14
+
15
+ arguments: str = pydantic.Field()
16
+ """
17
+ The arguments to pass to the function (JSON dump)
18
+ """
19
+
20
+ if IS_PYDANTIC_V2:
21
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
22
+ else:
23
+
24
+ class Config:
25
+ frozen = True
26
+ smart_union = True
27
+ extra = pydantic.Extra.allow
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ import typing
6
+ from .letta_schemas_openai_chat_completions_tool_call_function import LettaSchemasOpenaiChatCompletionsToolCallFunction
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class LettaSchemasOpenaiChatCompletionsToolCallInput(UniversalBaseModel):
11
+ id: str = pydantic.Field()
12
+ """
13
+ The ID of the tool call
14
+ """
15
+
16
+ type: typing.Optional[str] = None
17
+ function: LettaSchemasOpenaiChatCompletionsToolCallFunction = pydantic.Field()
18
+ """
19
+ The arguments and name for the function
20
+ """
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
+ else:
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic.Extra.allow
@@ -0,0 +1,29 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ import typing
6
+ from .tool_call_function_output import ToolCallFunctionOutput
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class LettaSchemasOpenaiChatCompletionsToolCallOutput(UniversalBaseModel):
11
+ id: str = pydantic.Field()
12
+ """
13
+ The ID of the tool call
14
+ """
15
+
16
+ type: typing.Optional[str] = None
17
+ function: ToolCallFunctionOutput = pydantic.Field()
18
+ """
19
+ The arguments and name for the function
20
+ """
21
+
22
+ if IS_PYDANTIC_V2:
23
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
24
+ else:
25
+
26
+ class Config:
27
+ frozen = True
28
+ smart_union = True
29
+ extra = pydantic.Extra.allow
@@ -0,0 +1,88 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class LettaSchemasToolTool(UniversalBaseModel):
10
+ """
11
+ Representation of a tool, which is a function that can be called by the agent.
12
+
13
+ Parameters:
14
+ id (str): The unique identifier of the tool.
15
+ name (str): The name of the function.
16
+ tags (List[str]): Metadata tags.
17
+ source_code (str): The source code of the function.
18
+ json_schema (Dict): The JSON schema of the function.
19
+ """
20
+
21
+ id: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ The human-friendly ID of the Tool
24
+ """
25
+
26
+ description: typing.Optional[str] = pydantic.Field(default=None)
27
+ """
28
+ The description of the tool.
29
+ """
30
+
31
+ source_type: typing.Optional[str] = pydantic.Field(default=None)
32
+ """
33
+ The type of the source code.
34
+ """
35
+
36
+ module: typing.Optional[str] = pydantic.Field(default=None)
37
+ """
38
+ The module of the function.
39
+ """
40
+
41
+ organization_id: typing.Optional[str] = pydantic.Field(default=None)
42
+ """
43
+ The unique identifier of the organization associated with the tool.
44
+ """
45
+
46
+ name: typing.Optional[str] = pydantic.Field(default=None)
47
+ """
48
+ The name of the function.
49
+ """
50
+
51
+ tags: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
52
+ """
53
+ Metadata tags.
54
+ """
55
+
56
+ source_code: str = pydantic.Field()
57
+ """
58
+ The source code of the function.
59
+ """
60
+
61
+ json_schema: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = pydantic.Field(default=None)
62
+ """
63
+ The JSON schema of the function.
64
+ """
65
+
66
+ return_char_limit: typing.Optional[int] = pydantic.Field(default=None)
67
+ """
68
+ The maximum number of characters in the response.
69
+ """
70
+
71
+ created_by_id: typing.Optional[str] = pydantic.Field(default=None)
72
+ """
73
+ The id of the user that made this Tool.
74
+ """
75
+
76
+ last_updated_by_id: typing.Optional[str] = pydantic.Field(default=None)
77
+ """
78
+ The id of the user that made this Tool.
79
+ """
80
+
81
+ if IS_PYDANTIC_V2:
82
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
83
+ else:
84
+
85
+ class Config:
86
+ frozen = True
87
+ smart_union = True
88
+ extra = pydantic.Extra.allow
@@ -0,0 +1,47 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class LettaUsageStatistics(UniversalBaseModel):
10
+ """
11
+ Usage statistics for the agent interaction.
12
+
13
+ Attributes:
14
+ completion_tokens (int): The number of tokens generated by the agent.
15
+ prompt_tokens (int): The number of tokens in the prompt.
16
+ total_tokens (int): The total number of tokens processed by the agent.
17
+ step_count (int): The number of steps taken by the agent.
18
+ """
19
+
20
+ completion_tokens: typing.Optional[int] = pydantic.Field(default=None)
21
+ """
22
+ The number of tokens generated by the agent.
23
+ """
24
+
25
+ prompt_tokens: typing.Optional[int] = pydantic.Field(default=None)
26
+ """
27
+ The number of tokens in the prompt.
28
+ """
29
+
30
+ total_tokens: typing.Optional[int] = pydantic.Field(default=None)
31
+ """
32
+ The total number of tokens processed by the agent.
33
+ """
34
+
35
+ step_count: typing.Optional[int] = pydantic.Field(default=None)
36
+ """
37
+ The number of steps taken by the agent.
38
+ """
39
+
40
+ if IS_PYDANTIC_V2:
41
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
42
+ else:
43
+
44
+ class Config:
45
+ frozen = True
46
+ smart_union = True
47
+ extra = pydantic.Extra.allow
@@ -0,0 +1,60 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ from .llm_config_model_endpoint_type import LlmConfigModelEndpointType
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class LlmConfig(UniversalBaseModel):
11
+ """
12
+ Configuration for a Language Model (LLM) model. This object specifies all the information necessary to access an LLM model to usage with Letta, except for secret keys.
13
+
14
+ Attributes:
15
+ model (str): The name of the LLM model.
16
+ model_endpoint_type (str): The endpoint type for the model.
17
+ model_endpoint (str): The endpoint for the model.
18
+ model_wrapper (str): The wrapper for the model. This is used to wrap additional text around the input/output of the model. This is useful for text-to-text completions, such as the Completions API in OpenAI.
19
+ context_window (int): The context window size for the model.
20
+ put_inner_thoughts_in_kwargs (bool): Puts `inner_thoughts` as a kwarg in the function call if this is set to True. This helps with function calling performance and also the generation of inner thoughts.
21
+ """
22
+
23
+ model: str = pydantic.Field()
24
+ """
25
+ LLM model name.
26
+ """
27
+
28
+ model_endpoint_type: LlmConfigModelEndpointType = pydantic.Field()
29
+ """
30
+ The endpoint type for the model.
31
+ """
32
+
33
+ model_endpoint: typing.Optional[str] = pydantic.Field(default=None)
34
+ """
35
+ The endpoint for the model.
36
+ """
37
+
38
+ model_wrapper: typing.Optional[str] = pydantic.Field(default=None)
39
+ """
40
+ The wrapper for the model.
41
+ """
42
+
43
+ context_window: int = pydantic.Field()
44
+ """
45
+ The context window size for the model.
46
+ """
47
+
48
+ put_inner_thoughts_in_kwargs: typing.Optional[bool] = pydantic.Field(default=None)
49
+ """
50
+ Puts 'inner_thoughts' as a kwarg in the function call if this is set to True. This helps with function calling performance and also the generation of inner thoughts.
51
+ """
52
+
53
+ if IS_PYDANTIC_V2:
54
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
55
+ else:
56
+
57
+ class Config:
58
+ frozen = True
59
+ smart_union = True
60
+ extra = pydantic.Extra.allow
@@ -0,0 +1,26 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ LlmConfigModelEndpointType = typing.Union[
6
+ typing.Literal[
7
+ "openai",
8
+ "anthropic",
9
+ "cohere",
10
+ "google_ai",
11
+ "azure",
12
+ "groq",
13
+ "ollama",
14
+ "webui",
15
+ "webui-legacy",
16
+ "lmstudio",
17
+ "lmstudio-legacy",
18
+ "llamacpp",
19
+ "koboldcpp",
20
+ "vllm",
21
+ "hugging-face",
22
+ "mistral",
23
+ "together",
24
+ ],
25
+ typing.Any,
26
+ ]
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import pydantic
5
+ import typing
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class LocalSandboxConfig(UniversalBaseModel):
10
+ sandbox_dir: str = pydantic.Field()
11
+ """
12
+ Directory for the sandbox environment.
13
+ """
14
+
15
+ use_venv: typing.Optional[bool] = pydantic.Field(default=None)
16
+ """
17
+ Whether or not to use the venv, or run directly in the same run loop.
18
+ """
19
+
20
+ venv_name: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ The name for the venv in the sandbox directory. We first search for an existing venv with this name, otherwise, we make it from the requirements.txt.
23
+ """
24
+
25
+ if IS_PYDANTIC_V2:
26
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
+ else:
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
@@ -0,0 +1,21 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
6
+ import pydantic
7
+
8
+
9
+ class LogProbToken(UniversalBaseModel):
10
+ token: str
11
+ logprob: float
12
+ bytes: typing.Optional[typing.List[int]] = None
13
+
14
+ if IS_PYDANTIC_V2:
15
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
16
+ else:
17
+
18
+ class Config:
19
+ frozen = True
20
+ smart_union = True
21
+ extra = pydantic.Extra.allow
letta/types/memory.py ADDED
@@ -0,0 +1,32 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .block import Block
6
+ import pydantic
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class Memory(UniversalBaseModel):
11
+ """
12
+ Represents the in-context memory (i.e. Core memory) of the agent. This includes both the `Block` objects (labelled by sections), as well as tools to edit the blocks.
13
+ """
14
+
15
+ blocks: typing.List[Block] = pydantic.Field()
16
+ """
17
+ Memory blocks contained in the agent's in-context memory
18
+ """
19
+
20
+ prompt_template: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ Jinja2 template for compiling memory blocks into a prompt string
23
+ """
24
+
25
+ if IS_PYDANTIC_V2:
26
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
27
+ else:
28
+
29
+ class Config:
30
+ frozen = True
31
+ smart_union = True
32
+ extra = pydantic.Extra.allow
@@ -0,0 +1,23 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ import typing
5
+ from .log_prob_token import LogProbToken
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class MessageContentLogProb(UniversalBaseModel):
11
+ token: str
12
+ logprob: float
13
+ bytes: typing.Optional[typing.List[int]] = None
14
+ top_logprobs: typing.Optional[typing.List[LogProbToken]] = None
15
+
16
+ if IS_PYDANTIC_V2:
17
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
18
+ else:
19
+
20
+ class Config:
21
+ frozen = True
22
+ smart_union = True
23
+ extra = pydantic.Extra.allow
@@ -0,0 +1,37 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .message_create_role import MessageCreateRole
5
+ import pydantic
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class MessageCreate(UniversalBaseModel):
11
+ """
12
+ Request to create a message
13
+ """
14
+
15
+ role: MessageCreateRole = pydantic.Field()
16
+ """
17
+ The role of the participant.
18
+ """
19
+
20
+ text: str = pydantic.Field()
21
+ """
22
+ The text of the message.
23
+ """
24
+
25
+ name: typing.Optional[str] = pydantic.Field(default=None)
26
+ """
27
+ The name of the participant.
28
+ """
29
+
30
+ if IS_PYDANTIC_V2:
31
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
32
+ else:
33
+
34
+ class Config:
35
+ frozen = True
36
+ smart_union = True
37
+ extra = pydantic.Extra.allow