letta-nightly 0.6.6.dev20241230104051__tar.gz → 0.6.7.dev20241231104024__tar.gz

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-nightly might be problematic. Click here for more details.

Files changed (231) hide show
  1. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/PKG-INFO +3 -3
  2. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/__init__.py +2 -8
  3. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/agent.py +4 -17
  4. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/cli/cli.py +2 -9
  5. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/client/client.py +2 -15
  6. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/client/streaming.py +1 -5
  7. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/client/utils.py +1 -4
  8. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/data_sources/connectors.py +2 -5
  9. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/embeddings.py +1 -5
  10. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/errors.py +0 -2
  11. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/function_sets/extras.py +1 -4
  12. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/schema_generator.py +2 -51
  13. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/helpers/tool_rule_solver.py +5 -12
  14. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/interface.py +1 -4
  15. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/anthropic.py +5 -13
  16. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/cohere.py +2 -9
  17. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/google_ai.py +2 -12
  18. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/llm_api_tools.py +5 -21
  19. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/openai.py +5 -21
  20. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/chat_completion_proxy.py +3 -14
  21. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/constants.py +1 -3
  22. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/grammars/gbnf_grammar_generator.py +1 -12
  23. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +2 -7
  24. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +2 -7
  25. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/settings/settings.py +1 -3
  26. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/__init__.py +1 -1
  27. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/agent.py +1 -5
  28. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/base.py +1 -7
  29. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/file.py +6 -3
  30. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/mixins.py +2 -0
  31. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/organization.py +2 -10
  32. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/sandbox_config.py +1 -3
  33. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/sqlalchemy_base.py +1 -6
  34. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/sqlite_functions.py +30 -27
  35. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/providers.py +30 -25
  36. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/agent.py +1 -0
  37. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/letta_response.py +20 -2
  38. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/message.py +4 -15
  39. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/organization.py +1 -1
  40. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/tool.py +1 -4
  41. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/tool_rule.py +1 -0
  42. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/usage.py +2 -0
  43. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/app.py +6 -25
  44. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/interface.py +5 -8
  45. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/assistants/schemas.py +1 -7
  46. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +2 -7
  47. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/__init__.py +1 -3
  48. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/agents.py +13 -30
  49. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/sandbox_configs.py +1 -5
  50. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/sources.py +1 -9
  51. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/utils.py +1 -0
  52. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/server.py +13 -6
  53. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/agent_manager.py +3 -5
  54. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/passage_manager.py +1 -7
  55. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/sandbox_config_manager.py +1 -5
  56. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/tool_execution_sandbox.py +10 -4
  57. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/settings.py +7 -1
  58. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/streaming_interface.py +2 -8
  59. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/utils.py +1 -0
  60. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/pyproject.toml +12 -4
  61. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/LICENSE +0 -0
  62. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/README.md +0 -0
  63. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/__main__.py +0 -0
  64. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/benchmark/benchmark.py +0 -0
  65. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/benchmark/constants.py +0 -0
  66. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/chat_only_agent.py +0 -0
  67. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/cli/cli_config.py +0 -0
  68. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/cli/cli_load.py +0 -0
  69. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/client/__init__.py +0 -0
  70. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/config.py +0 -0
  71. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/constants.py +0 -0
  72. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/credentials.py +0 -0
  73. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/data_sources/connectors_helper.py +0 -0
  74. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/__init__.py +0 -0
  75. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/function_sets/base.py +0 -0
  76. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/functions.py +0 -0
  77. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/functions/helpers.py +0 -0
  78. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/helpers/__init__.py +0 -0
  79. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/humans/__init__.py +0 -0
  80. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/humans/examples/basic.txt +0 -0
  81. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/humans/examples/cs_phd.txt +0 -0
  82. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/__init__.py +0 -0
  83. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/azure_openai.py +0 -0
  84. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/azure_openai_constants.py +0 -0
  85. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/helpers.py +0 -0
  86. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/llm_api/mistral.py +0 -0
  87. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/README.md +0 -0
  88. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/__init__.py +0 -0
  89. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/function_parser.py +0 -0
  90. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/grammars/__init__.py +0 -0
  91. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/grammars/json.gbnf +0 -0
  92. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
  93. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/json_parser.py +0 -0
  94. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/koboldcpp/api.py +0 -0
  95. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/koboldcpp/settings.py +0 -0
  96. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llamacpp/api.py +0 -0
  97. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llamacpp/settings.py +0 -0
  98. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
  99. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
  100. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
  101. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
  102. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
  103. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
  104. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
  105. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/lmstudio/api.py +0 -0
  106. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/lmstudio/settings.py +0 -0
  107. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/ollama/api.py +0 -0
  108. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/ollama/settings.py +0 -0
  109. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/settings/__init__.py +0 -0
  110. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
  111. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/settings/simple.py +0 -0
  112. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/utils.py +0 -0
  113. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/vllm/api.py +0 -0
  114. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/webui/api.py +0 -0
  115. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/webui/legacy_api.py +0 -0
  116. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/webui/legacy_settings.py +0 -0
  117. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/local_llm/webui/settings.py +0 -0
  118. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/log.py +0 -0
  119. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/main.py +0 -0
  120. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/memory.py +0 -0
  121. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/o1_agent.py +0 -0
  122. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/offline_memory_agent.py +0 -0
  123. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/openai_backcompat/__init__.py +0 -0
  124. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/openai_backcompat/openai_object.py +0 -0
  125. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/__all__.py +0 -0
  126. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/agents_tags.py +0 -0
  127. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/block.py +0 -0
  128. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/blocks_agents.py +0 -0
  129. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/custom_columns.py +0 -0
  130. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/enums.py +0 -0
  131. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/errors.py +0 -0
  132. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/job.py +0 -0
  133. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/message.py +0 -0
  134. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/passage.py +0 -0
  135. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/source.py +0 -0
  136. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/sources_agents.py +0 -0
  137. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/tool.py +0 -0
  138. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/tools_agents.py +0 -0
  139. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/orm/user.py +0 -0
  140. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/__init__.py +0 -0
  141. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/anna_pa.txt +0 -0
  142. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/google_search_persona.txt +0 -0
  143. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/memgpt_doc.txt +0 -0
  144. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/memgpt_starter.txt +0 -0
  145. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/o1_persona.txt +0 -0
  146. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/offline_memory_persona.txt +0 -0
  147. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/sam.txt +0 -0
  148. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/sam_pov.txt +0 -0
  149. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
  150. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/personas/examples/sqldb/test.db +0 -0
  151. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/__init__.py +0 -0
  152. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/gpt_summarize.py +0 -0
  153. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/gpt_system.py +0 -0
  154. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_base.txt +0 -0
  155. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_chat.txt +0 -0
  156. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
  157. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
  158. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_convo_only.txt +0 -0
  159. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_doc.txt +0 -0
  160. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
  161. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
  162. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
  163. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
  164. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
  165. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
  166. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/pytest.ini +0 -0
  167. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/block.py +0 -0
  168. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/embedding_config.py +0 -0
  169. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/enums.py +0 -0
  170. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/file.py +0 -0
  171. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/health.py +0 -0
  172. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/job.py +0 -0
  173. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/letta_base.py +0 -0
  174. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/letta_message.py +0 -0
  175. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/letta_request.py +0 -0
  176. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/llm_config.py +0 -0
  177. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/memory.py +0 -0
  178. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/openai/chat_completion_request.py +0 -0
  179. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/openai/chat_completion_response.py +0 -0
  180. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/openai/chat_completions.py +0 -0
  181. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/openai/embedding_response.py +0 -0
  182. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/openai/openai.py +0 -0
  183. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/passage.py +0 -0
  184. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/sandbox_config.py +0 -0
  185. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/source.py +0 -0
  186. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/schemas/user.py +0 -0
  187. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/__init__.py +0 -0
  188. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/constants.py +0 -0
  189. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/generate_openapi_schema.sh +0 -0
  190. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/__init__.py +0 -0
  191. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/auth/__init__.py +0 -0
  192. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/auth/index.py +0 -0
  193. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/auth_token.py +0 -0
  194. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/__init__.py +0 -0
  195. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/__init__.py +0 -0
  196. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/assistants/__init__.py +0 -0
  197. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/assistants/assistants.py +0 -0
  198. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
  199. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/blocks.py +0 -0
  200. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/health.py +0 -0
  201. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/jobs.py +0 -0
  202. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/llms.py +0 -0
  203. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/organizations.py +0 -0
  204. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/tools.py +0 -0
  205. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/routers/v1/users.py +0 -0
  206. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/rest_api/static_files.py +0 -0
  207. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/startup.sh +0 -0
  208. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/static_files/assets/index-048c9598.js +0 -0
  209. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/static_files/assets/index-0e31b727.css +0 -0
  210. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/static_files/favicon.ico +0 -0
  211. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/static_files/index.html +0 -0
  212. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
  213. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/utils.py +0 -0
  214. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/ws_api/__init__.py +0 -0
  215. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/ws_api/example_client.py +0 -0
  216. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/ws_api/interface.py +0 -0
  217. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/ws_api/protocol.py +0 -0
  218. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/server/ws_api/server.py +0 -0
  219. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/__init__.py +0 -0
  220. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/block_manager.py +0 -0
  221. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/helpers/agent_manager_helper.py +0 -0
  222. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/job_manager.py +0 -0
  223. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/message_manager.py +0 -0
  224. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/organization_manager.py +0 -0
  225. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/per_agent_lock_manager.py +0 -0
  226. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/source_manager.py +0 -0
  227. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/tool_manager.py +0 -0
  228. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/tool_sandbox_env/.gitkeep +0 -0
  229. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/services/user_manager.py +0 -0
  230. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/streaming_utils.py +0 -0
  231. {letta_nightly-0.6.6.dev20241230104051 → letta_nightly-0.6.7.dev20241231104024}/letta/system.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.6.6.dev20241230104051
3
+ Version: 0.6.7.dev20241231104024
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -23,8 +23,8 @@ Requires-Dist: alembic (>=1.13.3,<2.0.0)
23
23
  Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev" or extra == "all"
24
24
  Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev" or extra == "all"
25
25
  Requires-Dist: brotli (>=1.1.0,<2.0.0)
26
- Requires-Dist: composio-core (>=0.6.3,<0.7.0)
27
- Requires-Dist: composio-langchain (>=0.6.3,<0.7.0)
26
+ Requires-Dist: composio-core (>=0.6.7,<0.7.0)
27
+ Requires-Dist: composio-langchain (>=0.6.7,<0.7.0)
28
28
  Requires-Dist: datasets (>=2.14.6,<3.0.0) ; extra == "dev" or extra == "all"
29
29
  Requires-Dist: demjson3 (>=3.0.6,<4.0.0)
30
30
  Requires-Dist: docker (>=7.1.0,<8.0.0) ; extra == "external-tools" or extra == "all"
@@ -1,4 +1,4 @@
1
- __version__ = "0.6.6"
1
+ __version__ = "0.6.7"
2
2
 
3
3
  # import clients
4
4
  from letta.client.client import LocalClient, RESTClient, create_client
@@ -12,13 +12,7 @@ from letta.schemas.file import FileMetadata
12
12
  from letta.schemas.job import Job
13
13
  from letta.schemas.letta_message import LettaMessage
14
14
  from letta.schemas.llm_config import LLMConfig
15
- from letta.schemas.memory import (
16
- ArchivalMemorySummary,
17
- BasicBlockMemory,
18
- ChatMemory,
19
- Memory,
20
- RecallMemorySummary,
21
- )
15
+ from letta.schemas.memory import ArchivalMemorySummary, BasicBlockMemory, ChatMemory, Memory, RecallMemorySummary
22
16
  from letta.schemas.message import Message
23
17
  from letta.schemas.openai.chat_completion_response import UsageStatistics
24
18
  from letta.schemas.organization import Organization
@@ -33,34 +33,21 @@ from letta.schemas.embedding_config import EmbeddingConfig
33
33
  from letta.schemas.enums import MessageRole
34
34
  from letta.schemas.memory import ContextWindowOverview, Memory
35
35
  from letta.schemas.message import Message
36
- from letta.schemas.openai.chat_completion_request import (
37
- Tool as ChatCompletionRequestTool,
38
- )
36
+ from letta.schemas.openai.chat_completion_request import Tool as ChatCompletionRequestTool
39
37
  from letta.schemas.openai.chat_completion_response import ChatCompletionResponse
40
- from letta.schemas.openai.chat_completion_response import (
41
- Message as ChatCompletionMessage,
42
- )
38
+ from letta.schemas.openai.chat_completion_response import Message as ChatCompletionMessage
43
39
  from letta.schemas.openai.chat_completion_response import UsageStatistics
44
40
  from letta.schemas.tool import Tool
45
41
  from letta.schemas.tool_rule import TerminalToolRule
46
42
  from letta.schemas.usage import LettaUsageStatistics
47
43
  from letta.services.agent_manager import AgentManager
48
44
  from letta.services.block_manager import BlockManager
49
- from letta.services.helpers.agent_manager_helper import (
50
- check_supports_structured_output,
51
- compile_memory_metadata_block,
52
- )
45
+ from letta.services.helpers.agent_manager_helper import check_supports_structured_output, compile_memory_metadata_block
53
46
  from letta.services.message_manager import MessageManager
54
47
  from letta.services.passage_manager import PassageManager
55
48
  from letta.services.tool_execution_sandbox import ToolExecutionSandbox
56
49
  from letta.streaming_interface import StreamingRefreshCLIInterface
57
- from letta.system import (
58
- get_heartbeat,
59
- get_token_limit_warning,
60
- package_function_response,
61
- package_summarize_message,
62
- package_user_message,
63
- )
50
+ from letta.system import get_heartbeat, get_token_limit_warning, package_function_response, package_summarize_message, package_user_message
64
51
  from letta.utils import (
65
52
  count_tokens,
66
53
  get_friendly_error_msg,
@@ -10,12 +10,7 @@ import letta.utils as utils
10
10
  from letta import create_client
11
11
  from letta.agent import Agent, save_agent
12
12
  from letta.config import LettaConfig
13
- from letta.constants import (
14
- CLI_WARNING_PREFIX,
15
- CORE_MEMORY_BLOCK_CHAR_LIMIT,
16
- LETTA_DIR,
17
- MIN_CONTEXT_WINDOW,
18
- )
13
+ from letta.constants import CLI_WARNING_PREFIX, CORE_MEMORY_BLOCK_CHAR_LIMIT, LETTA_DIR, MIN_CONTEXT_WINDOW
19
14
  from letta.local_llm.constants import ASSISTANT_MESSAGE_CLI_SYMBOL
20
15
  from letta.log import get_logger
21
16
  from letta.schemas.enums import OptionState
@@ -23,9 +18,7 @@ from letta.schemas.memory import ChatMemory, Memory
23
18
  from letta.server.server import logger as server_logger
24
19
 
25
20
  # from letta.interface import CLIInterface as interface # for printing to terminal
26
- from letta.streaming_interface import (
27
- StreamingRefreshCLIInterface as interface, # for printing to terminal
28
- )
21
+ from letta.streaming_interface import StreamingRefreshCLIInterface as interface # for printing to terminal
29
22
  from letta.utils import open_folder_in_explorer, printd
30
23
 
31
24
  logger = get_logger(__name__)
@@ -5,14 +5,7 @@ from typing import Callable, Dict, Generator, List, Optional, Union
5
5
  import requests
6
6
 
7
7
  import letta.utils
8
- from letta.constants import (
9
- ADMIN_PREFIX,
10
- BASE_MEMORY_TOOLS,
11
- BASE_TOOLS,
12
- DEFAULT_HUMAN,
13
- DEFAULT_PERSONA,
14
- FUNCTION_RETURN_CHAR_LIMIT,
15
- )
8
+ from letta.constants import ADMIN_PREFIX, BASE_MEMORY_TOOLS, BASE_TOOLS, DEFAULT_HUMAN, DEFAULT_PERSONA, FUNCTION_RETURN_CHAR_LIMIT
16
9
  from letta.data_sources.connectors import DataConnector
17
10
  from letta.functions.functions import parse_source_code
18
11
  from letta.orm.errors import NoResultFound
@@ -27,13 +20,7 @@ from letta.schemas.job import Job
27
20
  from letta.schemas.letta_request import LettaRequest, LettaStreamingRequest
28
21
  from letta.schemas.letta_response import LettaResponse, LettaStreamingResponse
29
22
  from letta.schemas.llm_config import LLMConfig
30
- from letta.schemas.memory import (
31
- ArchivalMemorySummary,
32
- ChatMemory,
33
- CreateArchivalMemory,
34
- Memory,
35
- RecallMemorySummary,
36
- )
23
+ from letta.schemas.memory import ArchivalMemorySummary, ChatMemory, CreateArchivalMemory, Memory, RecallMemorySummary
37
24
  from letta.schemas.message import Message, MessageCreate, MessageUpdate
38
25
  from letta.schemas.openai.chat_completions import ToolCall
39
26
  from letta.schemas.organization import Organization
@@ -7,11 +7,7 @@ from httpx_sse import SSEError, connect_sse
7
7
  from letta.constants import OPENAI_CONTEXT_WINDOW_ERROR_SUBSTRING
8
8
  from letta.errors import LLMError
9
9
  from letta.schemas.enums import MessageStreamStatus
10
- from letta.schemas.letta_message import (
11
- ToolCallMessage,
12
- ToolReturnMessage,
13
- ReasoningMessage,
14
- )
10
+ from letta.schemas.letta_message import ReasoningMessage, ToolCallMessage, ToolReturnMessage
15
11
  from letta.schemas.letta_response import LettaStreamingResponse
16
12
  from letta.schemas.usage import LettaUsageStatistics
17
13
 
@@ -5,10 +5,7 @@ from typing import Optional
5
5
  from IPython.display import HTML, display
6
6
  from sqlalchemy.testing.plugin.plugin_base import warnings
7
7
 
8
- from letta.local_llm.constants import (
9
- ASSISTANT_MESSAGE_CLI_SYMBOL,
10
- INNER_THOUGHTS_CLI_SYMBOL,
11
- )
8
+ from letta.local_llm.constants import ASSISTANT_MESSAGE_CLI_SYMBOL, INNER_THOUGHTS_CLI_SYMBOL
12
9
 
13
10
 
14
11
  def pprint(messages):
@@ -2,11 +2,7 @@ from typing import Dict, Iterator, List, Tuple
2
2
 
3
3
  import typer
4
4
 
5
- from letta.data_sources.connectors_helper import (
6
- assert_all_files_exist_locally,
7
- extract_metadata_from_files,
8
- get_filenames_in_dir,
9
- )
5
+ from letta.data_sources.connectors_helper import assert_all_files_exist_locally, extract_metadata_from_files, get_filenames_in_dir
10
6
  from letta.embeddings import embedding_model
11
7
  from letta.schemas.file import FileMetadata
12
8
  from letta.schemas.passage import Passage
@@ -14,6 +10,7 @@ from letta.schemas.source import Source
14
10
  from letta.services.passage_manager import PassageManager
15
11
  from letta.services.source_manager import SourceManager
16
12
 
13
+
17
14
  class DataConnector:
18
15
  """
19
16
  Base class for data connectors that can be extended to generate files and passages from a custom data source.
@@ -4,11 +4,7 @@ from typing import Any, List, Optional
4
4
  import numpy as np
5
5
  import tiktoken
6
6
 
7
- from letta.constants import (
8
- EMBEDDING_TO_TOKENIZER_DEFAULT,
9
- EMBEDDING_TO_TOKENIZER_MAP,
10
- MAX_EMBEDDING_DIM,
11
- )
7
+ from letta.constants import EMBEDDING_TO_TOKENIZER_DEFAULT, EMBEDDING_TO_TOKENIZER_MAP, MAX_EMBEDDING_DIM
12
8
  from letta.schemas.embedding_config import EmbeddingConfig
13
9
  from letta.utils import is_valid_url, printd
14
10
 
@@ -52,12 +52,10 @@ class LettaConfigurationError(LettaError):
52
52
 
53
53
  class LettaAgentNotFoundError(LettaError):
54
54
  """Error raised when an agent is not found."""
55
- pass
56
55
 
57
56
 
58
57
  class LettaUserNotFoundError(LettaError):
59
58
  """Error raised when a user is not found."""
60
- pass
61
59
 
62
60
 
63
61
  class LLMError(LettaError):
@@ -4,10 +4,7 @@ from typing import Optional
4
4
 
5
5
  import requests
6
6
 
7
- from letta.constants import (
8
- MESSAGE_CHATGPT_FUNCTION_MODEL,
9
- MESSAGE_CHATGPT_FUNCTION_SYSTEM_MESSAGE,
10
- )
7
+ from letta.constants import MESSAGE_CHATGPT_FUNCTION_MODEL, MESSAGE_CHATGPT_FUNCTION_SYSTEM_MESSAGE
11
8
  from letta.llm_api.llm_api_tools import create
12
9
  from letta.schemas.message import Message
13
10
  from letta.utils import json_dumps, json_loads
@@ -396,44 +396,6 @@ def generate_schema(function, name: Optional[str] = None, description: Optional[
396
396
  return schema
397
397
 
398
398
 
399
- def generate_schema_from_args_schema_v1(
400
- args_schema: Type[V1BaseModel], name: Optional[str] = None, description: Optional[str] = None, append_heartbeat: bool = True
401
- ) -> Dict[str, Any]:
402
- properties = {}
403
- required = []
404
- for field_name, field in args_schema.__fields__.items():
405
- if field.type_ == str:
406
- field_type = "string"
407
- elif field.type_ == int:
408
- field_type = "integer"
409
- elif field.type_ == bool:
410
- field_type = "boolean"
411
- else:
412
- field_type = field.type_.__name__
413
-
414
- properties[field_name] = {
415
- "type": field_type,
416
- "description": field.field_info.description,
417
- }
418
- if field.required:
419
- required.append(field_name)
420
-
421
- function_call_json = {
422
- "name": name,
423
- "description": description,
424
- "parameters": {"type": "object", "properties": properties, "required": required},
425
- }
426
-
427
- if append_heartbeat:
428
- function_call_json["parameters"]["properties"]["request_heartbeat"] = {
429
- "type": "boolean",
430
- "description": "Request an immediate heartbeat after function execution. Set to `True` if you want to send a follow-up message or run a follow-up function.",
431
- }
432
- function_call_json["parameters"]["required"].append("request_heartbeat")
433
-
434
- return function_call_json
435
-
436
-
437
399
  def generate_schema_from_args_schema_v2(
438
400
  args_schema: Type[BaseModel], name: Optional[str] = None, description: Optional[str] = None, append_heartbeat: bool = True
439
401
  ) -> Dict[str, Any]:
@@ -441,19 +403,8 @@ def generate_schema_from_args_schema_v2(
441
403
  required = []
442
404
  for field_name, field in args_schema.model_fields.items():
443
405
  field_type_annotation = field.annotation
444
- if field_type_annotation == str:
445
- field_type = "string"
446
- elif field_type_annotation == int:
447
- field_type = "integer"
448
- elif field_type_annotation == bool:
449
- field_type = "boolean"
450
- else:
451
- field_type = field_type_annotation.__name__
452
-
453
- properties[field_name] = {
454
- "type": field_type,
455
- "description": field.description,
456
- }
406
+ properties[field_name] = type_to_json_schema_type(field_type_annotation)
407
+ properties[field_name]["description"] = field.description
457
408
  if field.is_required():
458
409
  required.append(field_name)
459
410
 
@@ -4,13 +4,7 @@ from typing import List, Optional, Union
4
4
  from pydantic import BaseModel, Field
5
5
 
6
6
  from letta.schemas.enums import ToolRuleType
7
- from letta.schemas.tool_rule import (
8
- BaseToolRule,
9
- ChildToolRule,
10
- ConditionalToolRule,
11
- InitToolRule,
12
- TerminalToolRule,
13
- )
7
+ from letta.schemas.tool_rule import BaseToolRule, ChildToolRule, ConditionalToolRule, InitToolRule, TerminalToolRule
14
8
 
15
9
 
16
10
  class ToolRuleValidationError(Exception):
@@ -50,7 +44,6 @@ class ToolRulesSolver(BaseModel):
50
44
  assert isinstance(rule, TerminalToolRule)
51
45
  self.terminal_tool_rules.append(rule)
52
46
 
53
-
54
47
  def update_tool_usage(self, tool_name: str):
55
48
  """Update the internal state to track the last tool called."""
56
49
  self.last_tool_name = tool_name
@@ -88,7 +81,7 @@ class ToolRulesSolver(BaseModel):
88
81
  return any(rule.tool_name == tool_name for rule in self.tool_rules)
89
82
 
90
83
  def validate_conditional_tool(self, rule: ConditionalToolRule):
91
- '''
84
+ """
92
85
  Validate a conditional tool rule
93
86
 
94
87
  Args:
@@ -96,13 +89,13 @@ class ToolRulesSolver(BaseModel):
96
89
 
97
90
  Raises:
98
91
  ToolRuleValidationError: If the rule is invalid
99
- '''
92
+ """
100
93
  if len(rule.child_output_mapping) == 0:
101
94
  raise ToolRuleValidationError("Conditional tool rule must have at least one child tool.")
102
95
  return True
103
96
 
104
97
  def evaluate_conditional_tool(self, tool: ConditionalToolRule, last_function_response: str) -> str:
105
- '''
98
+ """
106
99
  Parse function response to determine which child tool to use based on the mapping
107
100
 
108
101
  Args:
@@ -111,7 +104,7 @@ class ToolRulesSolver(BaseModel):
111
104
 
112
105
  Returns:
113
106
  str: The name of the child tool to use next
114
- '''
107
+ """
115
108
  json_response = json.loads(last_function_response)
116
109
  function_output = json_response["message"]
117
110
 
@@ -5,10 +5,7 @@ from typing import List, Optional
5
5
  from colorama import Fore, Style, init
6
6
 
7
7
  from letta.constants import CLI_WARNING_PREFIX
8
- from letta.local_llm.constants import (
9
- ASSISTANT_MESSAGE_CLI_SYMBOL,
10
- INNER_THOUGHTS_CLI_SYMBOL,
11
- )
8
+ from letta.local_llm.constants import ASSISTANT_MESSAGE_CLI_SYMBOL, INNER_THOUGHTS_CLI_SYMBOL
12
9
  from letta.schemas.message import Message
13
10
  from letta.utils import json_loads, printd
14
11
 
@@ -5,11 +5,7 @@ from typing import List, Optional, Union
5
5
  from letta.llm_api.helpers import make_post_request
6
6
  from letta.schemas.message import Message
7
7
  from letta.schemas.openai.chat_completion_request import ChatCompletionRequest, Tool
8
- from letta.schemas.openai.chat_completion_response import (
9
- ChatCompletionResponse,
10
- Choice,
11
- FunctionCall,
12
- )
8
+ from letta.schemas.openai.chat_completion_response import ChatCompletionResponse, Choice, FunctionCall
13
9
  from letta.schemas.openai.chat_completion_response import (
14
10
  Message as ChoiceMessage, # NOTE: avoid conflict with our own Letta Message datatype
15
11
  )
@@ -102,13 +98,9 @@ def convert_tools_to_anthropic_format(tools: List[Tool]) -> List[dict]:
102
98
  formatted_tools = []
103
99
  for tool in tools:
104
100
  formatted_tool = {
105
- "name" : tool.function.name,
106
- "description" : tool.function.description,
107
- "input_schema" : tool.function.parameters or {
108
- "type": "object",
109
- "properties": {},
110
- "required": []
111
- }
101
+ "name": tool.function.name,
102
+ "description": tool.function.description,
103
+ "input_schema": tool.function.parameters or {"type": "object", "properties": {}, "required": []},
112
104
  }
113
105
  formatted_tools.append(formatted_tool)
114
106
 
@@ -346,7 +338,7 @@ def anthropic_chat_completions_request(
346
338
  data["tool_choice"] = {
347
339
  "type": "tool", # Changed from "function" to "tool"
348
340
  "name": anthropic_tools[0]["name"], # Directly specify name without nested "function" object
349
- "disable_parallel_tool_use": True # Force single tool use
341
+ "disable_parallel_tool_use": True, # Force single tool use
350
342
  }
351
343
 
352
344
  # Move 'system' to the top level
@@ -7,11 +7,7 @@ import requests
7
7
  from letta.local_llm.utils import count_tokens
8
8
  from letta.schemas.message import Message
9
9
  from letta.schemas.openai.chat_completion_request import ChatCompletionRequest, Tool
10
- from letta.schemas.openai.chat_completion_response import (
11
- ChatCompletionResponse,
12
- Choice,
13
- FunctionCall,
14
- )
10
+ from letta.schemas.openai.chat_completion_response import ChatCompletionResponse, Choice, FunctionCall
15
11
  from letta.schemas.openai.chat_completion_response import (
16
12
  Message as ChoiceMessage, # NOTE: avoid conflict with our own Letta Message datatype
17
13
  )
@@ -276,10 +272,7 @@ def convert_tools_to_cohere_format(tools: List[Tool], inner_thoughts_in_kwargs:
276
272
  if inner_thoughts_in_kwargs:
277
273
  # NOTE: since Cohere doesn't allow "text" in the response when a tool call happens, if we want
278
274
  # a simultaneous CoT + tool call we need to put it inside a kwarg
279
- from letta.local_llm.constants import (
280
- INNER_THOUGHTS_KWARG,
281
- INNER_THOUGHTS_KWARG_DESCRIPTION,
282
- )
275
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
283
276
 
284
277
  for cohere_tool in tools_dict_list:
285
278
  cohere_tool["parameter_definitions"][INNER_THOUGHTS_KWARG] = {
@@ -8,14 +8,7 @@ from letta.llm_api.helpers import make_post_request
8
8
  from letta.local_llm.json_parser import clean_json_string_extra_backslash
9
9
  from letta.local_llm.utils import count_tokens
10
10
  from letta.schemas.openai.chat_completion_request import Tool
11
- from letta.schemas.openai.chat_completion_response import (
12
- ChatCompletionResponse,
13
- Choice,
14
- FunctionCall,
15
- Message,
16
- ToolCall,
17
- UsageStatistics,
18
- )
11
+ from letta.schemas.openai.chat_completion_response import ChatCompletionResponse, Choice, FunctionCall, Message, ToolCall, UsageStatistics
19
12
  from letta.utils import get_tool_call_id, get_utc_time, json_dumps
20
13
 
21
14
 
@@ -230,10 +223,7 @@ def convert_tools_to_google_ai_format(tools: List[Tool], inner_thoughts_in_kwarg
230
223
  param_fields["type"] = param_fields["type"].upper()
231
224
  # Add inner thoughts
232
225
  if inner_thoughts_in_kwargs:
233
- from letta.local_llm.constants import (
234
- INNER_THOUGHTS_KWARG,
235
- INNER_THOUGHTS_KWARG_DESCRIPTION,
236
- )
226
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
237
227
 
238
228
  func["parameters"]["properties"][INNER_THOUGHTS_KWARG] = {
239
229
  "type": "STRING",
@@ -8,38 +8,22 @@ from letta.constants import CLI_WARNING_PREFIX
8
8
  from letta.errors import LettaConfigurationError, RateLimitExceededError
9
9
  from letta.llm_api.anthropic import anthropic_chat_completions_request
10
10
  from letta.llm_api.azure_openai import azure_openai_chat_completions_request
11
- from letta.llm_api.google_ai import (
12
- convert_tools_to_google_ai_format,
13
- google_ai_chat_completions_request,
14
- )
15
- from letta.llm_api.helpers import (
16
- add_inner_thoughts_to_functions,
17
- unpack_all_inner_thoughts_from_kwargs,
18
- )
11
+ from letta.llm_api.google_ai import convert_tools_to_google_ai_format, google_ai_chat_completions_request
12
+ from letta.llm_api.helpers import add_inner_thoughts_to_functions, unpack_all_inner_thoughts_from_kwargs
19
13
  from letta.llm_api.openai import (
20
14
  build_openai_chat_completions_request,
21
15
  openai_chat_completions_process_stream,
22
16
  openai_chat_completions_request,
23
17
  )
24
18
  from letta.local_llm.chat_completion_proxy import get_chat_completion
25
- from letta.local_llm.constants import (
26
- INNER_THOUGHTS_KWARG,
27
- INNER_THOUGHTS_KWARG_DESCRIPTION,
28
- )
19
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
29
20
  from letta.local_llm.utils import num_tokens_from_functions, num_tokens_from_messages
30
21
  from letta.schemas.llm_config import LLMConfig
31
22
  from letta.schemas.message import Message
32
- from letta.schemas.openai.chat_completion_request import (
33
- ChatCompletionRequest,
34
- Tool,
35
- cast_message_to_subtype,
36
- )
23
+ from letta.schemas.openai.chat_completion_request import ChatCompletionRequest, Tool, cast_message_to_subtype
37
24
  from letta.schemas.openai.chat_completion_response import ChatCompletionResponse
38
25
  from letta.settings import ModelSettings
39
- from letta.streaming_interface import (
40
- AgentChunkStreamingInterface,
41
- AgentRefreshStreamingInterface,
42
- )
26
+ from letta.streaming_interface import AgentChunkStreamingInterface, AgentRefreshStreamingInterface
43
27
 
44
28
  LLM_API_PROVIDER_OPTIONS = ["openai", "azure", "anthropic", "google_ai", "cohere", "local", "groq"]
45
29
 
@@ -9,28 +9,15 @@ from httpx_sse._exceptions import SSEError
9
9
 
10
10
  from letta.constants import OPENAI_CONTEXT_WINDOW_ERROR_SUBSTRING
11
11
  from letta.errors import LLMError
12
- from letta.llm_api.helpers import (
13
- add_inner_thoughts_to_functions,
14
- convert_to_structured_output,
15
- make_post_request,
16
- )
17
- from letta.local_llm.constants import (
18
- INNER_THOUGHTS_KWARG,
19
- INNER_THOUGHTS_KWARG_DESCRIPTION,
20
- )
12
+ from letta.llm_api.helpers import add_inner_thoughts_to_functions, convert_to_structured_output, make_post_request
13
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
21
14
  from letta.local_llm.utils import num_tokens_from_functions, num_tokens_from_messages
22
15
  from letta.schemas.llm_config import LLMConfig
23
16
  from letta.schemas.message import Message as _Message
24
17
  from letta.schemas.message import MessageRole as _MessageRole
25
18
  from letta.schemas.openai.chat_completion_request import ChatCompletionRequest
26
- from letta.schemas.openai.chat_completion_request import (
27
- FunctionCall as ToolFunctionChoiceFunctionCall,
28
- )
29
- from letta.schemas.openai.chat_completion_request import (
30
- Tool,
31
- ToolFunctionChoice,
32
- cast_message_to_subtype,
33
- )
19
+ from letta.schemas.openai.chat_completion_request import FunctionCall as ToolFunctionChoiceFunctionCall
20
+ from letta.schemas.openai.chat_completion_request import Tool, ToolFunctionChoice, cast_message_to_subtype
34
21
  from letta.schemas.openai.chat_completion_response import (
35
22
  ChatCompletionChunkResponse,
36
23
  ChatCompletionResponse,
@@ -41,10 +28,7 @@ from letta.schemas.openai.chat_completion_response import (
41
28
  UsageStatistics,
42
29
  )
43
30
  from letta.schemas.openai.embedding_response import EmbeddingResponse
44
- from letta.streaming_interface import (
45
- AgentChunkStreamingInterface,
46
- AgentRefreshStreamingInterface,
47
- )
31
+ from letta.streaming_interface import AgentChunkStreamingInterface, AgentRefreshStreamingInterface
48
32
  from letta.utils import get_tool_call_id, smart_urljoin
49
33
 
50
34
  OPENAI_SSE_DONE = "[DONE]"
@@ -8,10 +8,7 @@ from letta.constants import CLI_WARNING_PREFIX
8
8
  from letta.errors import LocalLLMConnectionError, LocalLLMError
9
9
  from letta.local_llm.constants import DEFAULT_WRAPPER
10
10
  from letta.local_llm.function_parser import patch_function
11
- from letta.local_llm.grammars.gbnf_grammar_generator import (
12
- create_dynamic_model_from_function,
13
- generate_gbnf_grammar_and_documentation,
14
- )
11
+ from letta.local_llm.grammars.gbnf_grammar_generator import create_dynamic_model_from_function, generate_gbnf_grammar_and_documentation
15
12
  from letta.local_llm.koboldcpp.api import get_koboldcpp_completion
16
13
  from letta.local_llm.llamacpp.api import get_llamacpp_completion
17
14
  from letta.local_llm.llm_chat_completion_wrappers import simple_summary_wrapper
@@ -20,17 +17,9 @@ from letta.local_llm.ollama.api import get_ollama_completion
20
17
  from letta.local_llm.utils import count_tokens, get_available_wrappers
21
18
  from letta.local_llm.vllm.api import get_vllm_completion
22
19
  from letta.local_llm.webui.api import get_webui_completion
23
- from letta.local_llm.webui.legacy_api import (
24
- get_webui_completion as get_webui_completion_legacy,
25
- )
20
+ from letta.local_llm.webui.legacy_api import get_webui_completion as get_webui_completion_legacy
26
21
  from letta.prompts.gpt_summarize import SYSTEM as SUMMARIZE_SYSTEM_MESSAGE
27
- from letta.schemas.openai.chat_completion_response import (
28
- ChatCompletionResponse,
29
- Choice,
30
- Message,
31
- ToolCall,
32
- UsageStatistics,
33
- )
22
+ from letta.schemas.openai.chat_completion_response import ChatCompletionResponse, Choice, Message, ToolCall, UsageStatistics
34
23
  from letta.utils import get_tool_call_id, get_utc_time, json_dumps
35
24
 
36
25
  has_shown_warning = False
@@ -1,7 +1,5 @@
1
1
  # import letta.local_llm.llm_chat_completion_wrappers.airoboros as airoboros
2
- from letta.local_llm.llm_chat_completion_wrappers.chatml import (
3
- ChatMLInnerMonologueWrapper,
4
- )
2
+ from letta.local_llm.llm_chat_completion_wrappers.chatml import ChatMLInnerMonologueWrapper
5
3
 
6
4
  DEFAULT_ENDPOINTS = {
7
5
  # Local
@@ -5,18 +5,7 @@ from copy import copy
5
5
  from enum import Enum
6
6
  from inspect import getdoc, isclass
7
7
  from types import NoneType
8
- from typing import (
9
- Any,
10
- Callable,
11
- List,
12
- Optional,
13
- Tuple,
14
- Type,
15
- Union,
16
- _GenericAlias,
17
- get_args,
18
- get_origin,
19
- )
8
+ from typing import Any, Callable, List, Optional, Tuple, Type, Union, _GenericAlias, get_args, get_origin
20
9
 
21
10
  from docstring_parser import parse
22
11
  from pydantic import BaseModel, create_model
@@ -1,8 +1,6 @@
1
1
  from letta.errors import LLMJSONParsingError
2
2
  from letta.local_llm.json_parser import clean_json
3
- from letta.local_llm.llm_chat_completion_wrappers.wrapper_base import (
4
- LLMChatCompletionWrapper,
5
- )
3
+ from letta.local_llm.llm_chat_completion_wrappers.wrapper_base import LLMChatCompletionWrapper
6
4
  from letta.schemas.enums import MessageRole
7
5
  from letta.utils import json_dumps, json_loads
8
6
 
@@ -75,10 +73,7 @@ class ChatMLInnerMonologueWrapper(LLMChatCompletionWrapper):
75
73
  func_str += f"\n description: {schema['description']}"
76
74
  func_str += f"\n params:"
77
75
  if add_inner_thoughts:
78
- from letta.local_llm.constants import (
79
- INNER_THOUGHTS_KWARG,
80
- INNER_THOUGHTS_KWARG_DESCRIPTION,
81
- )
76
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
82
77
 
83
78
  func_str += f"\n {INNER_THOUGHTS_KWARG}: {INNER_THOUGHTS_KWARG_DESCRIPTION}"
84
79
  for param_k, param_v in schema["parameters"]["properties"].items():
@@ -1,8 +1,6 @@
1
1
  from letta.errors import LLMJSONParsingError
2
2
  from letta.local_llm.json_parser import clean_json
3
- from letta.local_llm.llm_chat_completion_wrappers.wrapper_base import (
4
- LLMChatCompletionWrapper,
5
- )
3
+ from letta.local_llm.llm_chat_completion_wrappers.wrapper_base import LLMChatCompletionWrapper
6
4
  from letta.utils import json_dumps, json_loads
7
5
 
8
6
  PREFIX_HINT = """# Reminders:
@@ -74,10 +72,7 @@ class LLaMA3InnerMonologueWrapper(LLMChatCompletionWrapper):
74
72
  func_str += f"\n description: {schema['description']}"
75
73
  func_str += "\n params:"
76
74
  if add_inner_thoughts:
77
- from letta.local_llm.constants import (
78
- INNER_THOUGHTS_KWARG,
79
- INNER_THOUGHTS_KWARG_DESCRIPTION,
80
- )
75
+ from letta.local_llm.constants import INNER_THOUGHTS_KWARG, INNER_THOUGHTS_KWARG_DESCRIPTION
81
76
 
82
77
  func_str += f"\n {INNER_THOUGHTS_KWARG}: {INNER_THOUGHTS_KWARG_DESCRIPTION}"
83
78
  for param_k, param_v in schema["parameters"]["properties"].items():