letta-client 0.1.0__py3-none-any.whl → 0.1.4__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 (193) hide show
  1. letta/__init__.py +277 -0
  2. letta/agents/__init__.py +44 -0
  3. letta/agents/archival_memory/__init__.py +2 -0
  4. letta/agents/archival_memory/client.py +591 -0
  5. letta/agents/client.py +2604 -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 +39 -0
  27. letta/agents/types/agents_get_agent_variables_response.py +19 -0
  28. letta/agents/types/agents_migrate_response.py +19 -0
  29. letta/agents/types/agents_search_deployed_agents_request_combinator.py +5 -0
  30. letta/agents/types/agents_search_deployed_agents_request_search_item.py +16 -0
  31. letta/agents/types/agents_search_deployed_agents_request_search_item_direction.py +27 -0
  32. letta/agents/types/agents_search_deployed_agents_request_search_item_direction_direction.py +5 -0
  33. letta/agents/types/agents_search_deployed_agents_request_search_item_direction_value.py +7 -0
  34. letta/agents/types/agents_search_deployed_agents_request_search_item_operator.py +24 -0
  35. letta/agents/types/agents_search_deployed_agents_request_search_item_operator_operator.py +7 -0
  36. letta/agents/types/agents_search_deployed_agents_request_search_item_zero.py +20 -0
  37. letta/agents/types/create_agent_request_tool_rules_item.py +9 -0
  38. letta/agents/types/update_agent_tool_rules_item.py +9 -0
  39. letta/blocks/__init__.py +2 -0
  40. letta/blocks/client.py +1054 -0
  41. letta/client.py +164 -0
  42. letta/core/__init__.py +47 -0
  43. letta/core/api_error.py +15 -0
  44. letta/core/client_wrapper.py +76 -0
  45. letta/core/datetime_utils.py +28 -0
  46. letta/core/file.py +67 -0
  47. letta/core/http_client.py +499 -0
  48. letta/core/jsonable_encoder.py +101 -0
  49. letta/core/pydantic_utilities.py +296 -0
  50. letta/core/query_encoder.py +58 -0
  51. letta/core/remove_none_from_dict.py +11 -0
  52. letta/core/request_options.py +35 -0
  53. letta/core/serialization.py +272 -0
  54. letta/environment.py +8 -0
  55. letta/errors/__init__.py +8 -0
  56. letta/errors/conflict_error.py +9 -0
  57. letta/errors/internal_server_error.py +9 -0
  58. letta/errors/not_found_error.py +9 -0
  59. letta/errors/unprocessable_entity_error.py +9 -0
  60. letta/health/__init__.py +2 -0
  61. letta/health/client.py +108 -0
  62. letta/jobs/__init__.py +2 -0
  63. letta/jobs/client.py +503 -0
  64. letta/models/__init__.py +2 -0
  65. letta/models/client.py +201 -0
  66. letta/sources/__init__.py +5 -0
  67. letta/sources/client.py +1154 -0
  68. letta/sources/files/__init__.py +2 -0
  69. letta/sources/files/client.py +436 -0
  70. letta/sources/passages/__init__.py +2 -0
  71. letta/sources/passages/client.py +145 -0
  72. letta/tools/__init__.py +2 -0
  73. letta/tools/client.py +1823 -0
  74. letta/types/__init__.py +231 -0
  75. letta/types/action_model.py +36 -0
  76. letta/types/action_parameters_model.py +26 -0
  77. letta/types/action_response_model.py +26 -0
  78. letta/types/agent_state.py +139 -0
  79. letta/types/agent_state_tool_rules_item.py +9 -0
  80. letta/types/agent_type.py +8 -0
  81. letta/types/app_auth_scheme.py +34 -0
  82. letta/types/app_auth_scheme_auth_mode.py +7 -0
  83. letta/types/app_model.py +44 -0
  84. letta/types/archival_memory_summary.py +22 -0
  85. letta/types/assistant_file.py +33 -0
  86. letta/types/assistant_message_input.py +23 -0
  87. letta/types/assistant_message_output.py +23 -0
  88. letta/types/auth_request.py +22 -0
  89. letta/types/auth_response.py +29 -0
  90. letta/types/auth_scheme_field.py +30 -0
  91. letta/types/block.py +91 -0
  92. letta/types/block_update.py +60 -0
  93. letta/types/chat_completion_request.py +49 -0
  94. letta/types/chat_completion_request_function_call.py +6 -0
  95. letta/types/chat_completion_request_messages_item.py +11 -0
  96. letta/types/chat_completion_request_stop.py +5 -0
  97. letta/types/chat_completion_request_tool_choice.py +8 -0
  98. letta/types/chat_completion_response.py +32 -0
  99. letta/types/child_tool_rule.py +33 -0
  100. letta/types/choice.py +25 -0
  101. letta/types/conditional_tool_rule.py +43 -0
  102. letta/types/conflict_error_body.py +21 -0
  103. letta/types/context_window_overview.py +105 -0
  104. letta/types/create_assistant_file_request.py +22 -0
  105. letta/types/create_assistant_request.py +57 -0
  106. letta/types/create_block.py +56 -0
  107. letta/types/delete_assistant_file_response.py +28 -0
  108. letta/types/delete_assistant_response.py +28 -0
  109. letta/types/e_2_b_sandbox_config.py +32 -0
  110. letta/types/embedding_config.py +77 -0
  111. letta/types/embedding_config_embedding_endpoint_type.py +26 -0
  112. letta/types/file_metadata.py +82 -0
  113. letta/types/function_call_input.py +19 -0
  114. letta/types/function_call_output.py +20 -0
  115. letta/types/function_schema.py +21 -0
  116. letta/types/health.py +24 -0
  117. letta/types/http_validation_error.py +20 -0
  118. letta/types/init_tool_rule.py +29 -0
  119. letta/types/internal_server_error_body.py +19 -0
  120. letta/types/job.py +79 -0
  121. letta/types/job_status.py +5 -0
  122. letta/types/letta_request.py +33 -0
  123. letta/types/letta_response.py +37 -0
  124. letta/types/letta_schemas_letta_message_tool_call.py +21 -0
  125. letta/types/letta_schemas_message_message.py +103 -0
  126. letta/types/letta_schemas_openai_chat_completion_request_tool.py +21 -0
  127. letta/types/letta_schemas_openai_chat_completion_request_tool_call.py +24 -0
  128. letta/types/letta_schemas_openai_chat_completion_request_tool_call_function.py +20 -0
  129. letta/types/letta_schemas_openai_chat_completion_response_message.py +24 -0
  130. letta/types/letta_schemas_openai_chat_completion_response_tool_call.py +22 -0
  131. letta/types/letta_schemas_openai_chat_completions_tool_call_function.py +27 -0
  132. letta/types/letta_schemas_openai_chat_completions_tool_call_input.py +29 -0
  133. letta/types/letta_schemas_openai_chat_completions_tool_call_output.py +29 -0
  134. letta/types/letta_schemas_tool_tool.py +88 -0
  135. letta/types/letta_usage_statistics.py +48 -0
  136. letta/types/llm_config.py +65 -0
  137. letta/types/llm_config_model_endpoint_type.py +26 -0
  138. letta/types/local_sandbox_config.py +32 -0
  139. letta/types/log_prob_token.py +21 -0
  140. letta/types/memory.py +32 -0
  141. letta/types/message_content_log_prob.py +23 -0
  142. letta/types/message_create.py +37 -0
  143. letta/types/message_create_role.py +5 -0
  144. letta/types/message_role.py +5 -0
  145. letta/types/not_found_error_body.py +19 -0
  146. letta/types/not_found_error_body_message.py +11 -0
  147. letta/types/open_ai_assistant.py +67 -0
  148. letta/types/organization.py +33 -0
  149. letta/types/organization_create.py +22 -0
  150. letta/types/passage.py +107 -0
  151. letta/types/reasoning_message.py +32 -0
  152. letta/types/recall_memory_summary.py +22 -0
  153. letta/types/response_format.py +19 -0
  154. letta/types/sandbox_config.py +59 -0
  155. letta/types/sandbox_config_create.py +23 -0
  156. letta/types/sandbox_config_create_config.py +7 -0
  157. letta/types/sandbox_config_update.py +27 -0
  158. letta/types/sandbox_config_update_config.py +7 -0
  159. letta/types/sandbox_environment_variable.py +68 -0
  160. letta/types/sandbox_environment_variable_create.py +32 -0
  161. letta/types/sandbox_environment_variable_update.py +36 -0
  162. letta/types/sandbox_type.py +5 -0
  163. letta/types/source.py +85 -0
  164. letta/types/system_message_input.py +21 -0
  165. letta/types/system_message_output.py +32 -0
  166. letta/types/terminal_tool_rule.py +29 -0
  167. letta/types/tool_call_delta.py +21 -0
  168. letta/types/tool_call_function_output.py +27 -0
  169. letta/types/tool_call_message.py +33 -0
  170. letta/types/tool_call_message_tool_call.py +7 -0
  171. letta/types/tool_create.py +57 -0
  172. letta/types/tool_function_choice.py +21 -0
  173. letta/types/tool_input.py +21 -0
  174. letta/types/tool_message.py +21 -0
  175. letta/types/tool_return_message.py +41 -0
  176. letta/types/tool_return_message_status.py +5 -0
  177. letta/types/tool_rule_type.py +10 -0
  178. letta/types/usage_statistics.py +21 -0
  179. letta/types/user.py +57 -0
  180. letta/types/user_create.py +27 -0
  181. letta/types/user_message_input.py +22 -0
  182. letta/types/user_message_input_content.py +5 -0
  183. letta/types/user_message_output.py +32 -0
  184. letta/types/user_update.py +32 -0
  185. letta/types/validation_error.py +22 -0
  186. letta/types/validation_error_loc_item.py +5 -0
  187. letta/version.py +3 -0
  188. letta_client-0.1.4.dist-info/METADATA +189 -0
  189. letta_client-0.1.4.dist-info/RECORD +191 -0
  190. {letta_client-0.1.0.dist-info → letta_client-0.1.4.dist-info}/WHEEL +1 -1
  191. letta_client-0.1.0.dist-info/METADATA +0 -15
  192. letta_client-0.1.0.dist-info/RECORD +0 -4
  193. /letta_client/__init__.py → /letta/py.typed +0 -0
@@ -0,0 +1,56 @@
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
+ import typing_extensions
7
+ from ..core.serialization import FieldMetadata
8
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
9
+
10
+
11
+ class CreateBlock(UniversalBaseModel):
12
+ """
13
+ Create a block
14
+ """
15
+
16
+ value: str = pydantic.Field()
17
+ """
18
+ Value of the block.
19
+ """
20
+
21
+ limit: typing.Optional[int] = pydantic.Field(default=None)
22
+ """
23
+ Character limit of the block.
24
+ """
25
+
26
+ name: typing.Optional[str] = pydantic.Field(default=None)
27
+ """
28
+ Name of the block if it is a template.
29
+ """
30
+
31
+ is_template: typing.Optional[bool] = None
32
+ label: str = pydantic.Field()
33
+ """
34
+ Label of the block.
35
+ """
36
+
37
+ description: typing.Optional[str] = pydantic.Field(default=None)
38
+ """
39
+ Description of the block.
40
+ """
41
+
42
+ metadata: typing_extensions.Annotated[
43
+ typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="metadata_")
44
+ ] = pydantic.Field(default=None)
45
+ """
46
+ Metadata of the block.
47
+ """
48
+
49
+ if IS_PYDANTIC_V2:
50
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
51
+ else:
52
+
53
+ class Config:
54
+ frozen = True
55
+ smart_union = True
56
+ extra = pydantic.Extra.allow
@@ -0,0 +1,28 @@
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 DeleteAssistantFileResponse(UniversalBaseModel):
10
+ id: str = pydantic.Field()
11
+ """
12
+ The unique identifier of the file.
13
+ """
14
+
15
+ object: typing.Optional[str] = None
16
+ deleted: bool = pydantic.Field()
17
+ """
18
+ Whether the file was deleted.
19
+ """
20
+
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -0,0 +1,28 @@
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 DeleteAssistantResponse(UniversalBaseModel):
10
+ id: str = pydantic.Field()
11
+ """
12
+ The unique identifier of the agent.
13
+ """
14
+
15
+ object: typing.Optional[str] = None
16
+ deleted: bool = pydantic.Field()
17
+ """
18
+ Whether the agent was deleted.
19
+ """
20
+
21
+ if IS_PYDANTIC_V2:
22
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
23
+ else:
24
+
25
+ class Config:
26
+ frozen = True
27
+ smart_union = True
28
+ extra = pydantic.Extra.allow
@@ -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
+ import pydantic
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+
8
+
9
+ class E2BSandboxConfig(UniversalBaseModel):
10
+ timeout: typing.Optional[int] = pydantic.Field(default=None)
11
+ """
12
+ Time limit for the sandbox (in seconds).
13
+ """
14
+
15
+ template: typing.Optional[str] = pydantic.Field(default=None)
16
+ """
17
+ The E2B template id (docker image).
18
+ """
19
+
20
+ pip_requirements: typing.Optional[typing.List[str]] = pydantic.Field(default=None)
21
+ """
22
+ A list of pip packages to install on the E2B Sandbox
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,77 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from .embedding_config_embedding_endpoint_type import EmbeddingConfigEmbeddingEndpointType
5
+ import pydantic
6
+ import typing
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class EmbeddingConfig(UniversalBaseModel):
11
+ """
12
+ Embedding model configuration. This object specifies all the information necessary to access an embedding model to usage with Letta, except for secret keys.
13
+
14
+ Attributes:
15
+ embedding_endpoint_type (str): The endpoint type for the model.
16
+ embedding_endpoint (str): The endpoint for the model.
17
+ embedding_model (str): The model for the embedding.
18
+ embedding_dim (int): The dimension of the embedding.
19
+ embedding_chunk_size (int): The chunk size of the embedding.
20
+ azure_endpoint (:obj:`str`, optional): The Azure endpoint for the model (Azure only).
21
+ azure_version (str): The Azure version for the model (Azure only).
22
+ azure_deployment (str): The Azure deployment for the model (Azure only).
23
+ """
24
+
25
+ embedding_endpoint_type: EmbeddingConfigEmbeddingEndpointType = pydantic.Field()
26
+ """
27
+ The endpoint type for the model.
28
+ """
29
+
30
+ embedding_endpoint: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ The endpoint for the model (`None` if local).
33
+ """
34
+
35
+ embedding_model: str = pydantic.Field()
36
+ """
37
+ The model for the embedding.
38
+ """
39
+
40
+ embedding_dim: int = pydantic.Field()
41
+ """
42
+ The dimension of the embedding.
43
+ """
44
+
45
+ embedding_chunk_size: typing.Optional[int] = pydantic.Field(default=None)
46
+ """
47
+ The chunk size of the embedding.
48
+ """
49
+
50
+ handle: typing.Optional[str] = pydantic.Field(default=None)
51
+ """
52
+ The handle for this config, in the format provider/model-name.
53
+ """
54
+
55
+ azure_endpoint: typing.Optional[str] = pydantic.Field(default=None)
56
+ """
57
+ The Azure endpoint for the model.
58
+ """
59
+
60
+ azure_version: typing.Optional[str] = pydantic.Field(default=None)
61
+ """
62
+ The Azure version for the model.
63
+ """
64
+
65
+ azure_deployment: typing.Optional[str] = pydantic.Field(default=None)
66
+ """
67
+ The Azure deployment for the model.
68
+ """
69
+
70
+ if IS_PYDANTIC_V2:
71
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
72
+ else:
73
+
74
+ class Config:
75
+ frozen = True
76
+ smart_union = True
77
+ 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
+ EmbeddingConfigEmbeddingEndpointType = 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,82 @@
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 ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class FileMetadata(UniversalBaseModel):
11
+ """
12
+ Representation of a single FileMetadata
13
+ """
14
+
15
+ id: typing.Optional[str] = pydantic.Field(default=None)
16
+ """
17
+ The human-friendly ID of the File
18
+ """
19
+
20
+ organization_id: typing.Optional[str] = pydantic.Field(default=None)
21
+ """
22
+ The unique identifier of the organization associated with the document.
23
+ """
24
+
25
+ source_id: str = pydantic.Field()
26
+ """
27
+ The unique identifier of the source associated with the document.
28
+ """
29
+
30
+ file_name: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ The name of the file.
33
+ """
34
+
35
+ file_path: typing.Optional[str] = pydantic.Field(default=None)
36
+ """
37
+ The path to the file.
38
+ """
39
+
40
+ file_type: typing.Optional[str] = pydantic.Field(default=None)
41
+ """
42
+ The type of the file (MIME type).
43
+ """
44
+
45
+ file_size: typing.Optional[int] = pydantic.Field(default=None)
46
+ """
47
+ The size of the file in bytes.
48
+ """
49
+
50
+ file_creation_date: typing.Optional[str] = pydantic.Field(default=None)
51
+ """
52
+ The creation date of the file.
53
+ """
54
+
55
+ file_last_modified_date: typing.Optional[str] = pydantic.Field(default=None)
56
+ """
57
+ The last modified date of the file.
58
+ """
59
+
60
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
61
+ """
62
+ The creation date of the file.
63
+ """
64
+
65
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
66
+ """
67
+ The update date of the file.
68
+ """
69
+
70
+ is_deleted: typing.Optional[bool] = pydantic.Field(default=None)
71
+ """
72
+ Whether this file is deleted or not.
73
+ """
74
+
75
+ if IS_PYDANTIC_V2:
76
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
77
+ else:
78
+
79
+ class Config:
80
+ frozen = True
81
+ smart_union = True
82
+ extra = pydantic.Extra.allow
@@ -0,0 +1,19 @@
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 FunctionCallInput(UniversalBaseModel):
10
+ name: str
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ 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 FunctionCallOutput(UniversalBaseModel):
10
+ arguments: str
11
+ name: 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,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 FunctionSchema(UniversalBaseModel):
10
+ name: str
11
+ description: typing.Optional[str] = None
12
+ parameters: typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]] = 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/health.py ADDED
@@ -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
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class Health(UniversalBaseModel):
10
+ """
11
+ Health check response body
12
+ """
13
+
14
+ version: str
15
+ status: str
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
+ import typing
5
+ from .validation_error import ValidationError
6
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
7
+ import pydantic
8
+
9
+
10
+ class HttpValidationError(UniversalBaseModel):
11
+ detail: typing.Optional[typing.List[ValidationError]] = None
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,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_rule_type import ToolRuleType
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class InitToolRule(UniversalBaseModel):
11
+ """
12
+ Represents the initial tool rule configuration.
13
+ """
14
+
15
+ tool_name: str = pydantic.Field()
16
+ """
17
+ The name of the tool. Must exist in the database for the user's organization.
18
+ """
19
+
20
+ type: typing.Optional[ToolRuleType] = None
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,19 @@
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 InternalServerErrorBody(UniversalBaseModel):
10
+ message: typing.Literal["Failed to create agent template"] = "Failed to create agent template"
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ extra = pydantic.Extra.allow
letta/types/job.py ADDED
@@ -0,0 +1,79 @@
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 .job_status import JobStatus
8
+ import typing_extensions
9
+ from ..core.serialization import FieldMetadata
10
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
11
+
12
+
13
+ class Job(UniversalBaseModel):
14
+ """
15
+ Representation of offline jobs, used for tracking status of data loading tasks (involving parsing and embedding files).
16
+
17
+ Parameters:
18
+ id (str): The unique identifier of the job.
19
+ status (JobStatus): The status of the job.
20
+ created_at (datetime): The unix timestamp of when the job was created.
21
+ completed_at (datetime): The unix timestamp of when the job was completed.
22
+ user_id (str): The unique identifier of the user associated with the.
23
+ """
24
+
25
+ created_by_id: typing.Optional[str] = pydantic.Field(default=None)
26
+ """
27
+ The id of the user that made this object.
28
+ """
29
+
30
+ last_updated_by_id: typing.Optional[str] = pydantic.Field(default=None)
31
+ """
32
+ The id of the user that made this object.
33
+ """
34
+
35
+ created_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
36
+ """
37
+ The timestamp when the object was created.
38
+ """
39
+
40
+ updated_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
41
+ """
42
+ The timestamp when the object was last updated.
43
+ """
44
+
45
+ status: typing.Optional[JobStatus] = pydantic.Field(default=None)
46
+ """
47
+ The status of the job.
48
+ """
49
+
50
+ completed_at: typing.Optional[dt.datetime] = pydantic.Field(default=None)
51
+ """
52
+ The unix timestamp of when the job was completed.
53
+ """
54
+
55
+ metadata: typing_extensions.Annotated[
56
+ typing.Optional[typing.Dict[str, typing.Optional[typing.Any]]], FieldMetadata(alias="metadata_")
57
+ ] = pydantic.Field(default=None)
58
+ """
59
+ The metadata of the job.
60
+ """
61
+
62
+ id: typing.Optional[str] = pydantic.Field(default=None)
63
+ """
64
+ The human-friendly ID of the Job
65
+ """
66
+
67
+ user_id: typing.Optional[str] = pydantic.Field(default=None)
68
+ """
69
+ The unique identifier of the user associated with the job.
70
+ """
71
+
72
+ if IS_PYDANTIC_V2:
73
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
74
+ else:
75
+
76
+ class Config:
77
+ frozen = True
78
+ smart_union = True
79
+ extra = pydantic.Extra.allow
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ JobStatus = typing.Union[typing.Literal["created", "running", "completed", "failed", "pending"], typing.Any]
@@ -0,0 +1,33 @@
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 .message_create import MessageCreate
6
+ import pydantic
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class LettaRequest(UniversalBaseModel):
11
+ messages: typing.List[MessageCreate] = pydantic.Field()
12
+ """
13
+ The messages to be sent to the agent.
14
+ """
15
+
16
+ assistant_message_tool_name: typing.Optional[str] = pydantic.Field(default=None)
17
+ """
18
+ The name of the designated message tool.
19
+ """
20
+
21
+ assistant_message_tool_kwarg: typing.Optional[str] = pydantic.Field(default=None)
22
+ """
23
+ The name of the message argument in the designated message tool.
24
+ """
25
+
26
+ if IS_PYDANTIC_V2:
27
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
28
+ else:
29
+
30
+ class Config:
31
+ frozen = True
32
+ smart_union = True
33
+ 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
+ import typing
5
+ import pydantic
6
+ from .letta_usage_statistics import LettaUsageStatistics
7
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
8
+
9
+
10
+ class LettaResponse(UniversalBaseModel):
11
+ """
12
+ Response object from an agent interaction, consisting of the new messages generated by the agent and usage statistics.
13
+ The type of the returned messages can be either `Message` or `LettaMessage`, depending on what was specified in the request.
14
+
15
+ Attributes:
16
+ messages (List[Union[Message, LettaMessage]]): The messages returned by the agent.
17
+ usage (LettaUsageStatistics): The usage statistics
18
+ """
19
+
20
+ messages: typing.List[typing.Optional[typing.Any]] = pydantic.Field()
21
+ """
22
+ The messages returned by the agent.
23
+ """
24
+
25
+ usage: LettaUsageStatistics = pydantic.Field()
26
+ """
27
+ The usage statistics of the agent.
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
@@ -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
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class LettaSchemasLettaMessageToolCall(UniversalBaseModel):
10
+ name: str
11
+ arguments: str
12
+ tool_call_id: str
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