letta-nightly 0.1.7.dev20241002104051__tar.gz → 0.1.7.dev20241003104113__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 (190) hide show
  1. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/PKG-INFO +3 -1
  2. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/__init__.py +1 -1
  3. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/helpers.py +47 -1
  4. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/openai.py +2 -0
  5. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/block.py +1 -9
  6. letta_nightly-0.1.7.dev20241003104113/letta/schemas/health.py +10 -0
  7. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/tool.py +49 -0
  8. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/__init__.py +2 -0
  9. letta_nightly-0.1.7.dev20241003104113/letta/server/rest_api/routers/v1/health.py +20 -0
  10. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/pyproject.toml +4 -2
  11. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/LICENSE +0 -0
  12. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/README.md +0 -0
  13. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/__main__.py +0 -0
  14. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent.py +0 -0
  15. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/chroma.py +0 -0
  16. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/db.py +0 -0
  17. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/lancedb.py +0 -0
  18. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/milvus.py +0 -0
  19. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/qdrant.py +0 -0
  20. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/agent_store/storage.py +0 -0
  21. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/benchmark/benchmark.py +0 -0
  22. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/benchmark/constants.py +0 -0
  23. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/cli/cli.py +0 -0
  24. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/cli/cli_config.py +0 -0
  25. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/cli/cli_load.py +0 -0
  26. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/client/__init__.py +0 -0
  27. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/client/admin.py +0 -0
  28. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/client/client.py +0 -0
  29. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/client/streaming.py +0 -0
  30. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/client/utils.py +0 -0
  31. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/config.py +0 -0
  32. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/configs/anthropic.json +0 -0
  33. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/configs/letta_hosted.json +0 -0
  34. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/configs/openai.json +0 -0
  35. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/constants.py +0 -0
  36. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/credentials.py +0 -0
  37. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/data_sources/connectors.py +0 -0
  38. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/embeddings.py +0 -0
  39. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/errors.py +0 -0
  40. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/__init__.py +0 -0
  41. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/function_sets/base.py +0 -0
  42. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/function_sets/extras.py +0 -0
  43. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/functions.py +0 -0
  44. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/functions/schema_generator.py +0 -0
  45. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/humans/__init__.py +0 -0
  46. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/humans/examples/basic.txt +0 -0
  47. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/humans/examples/cs_phd.txt +0 -0
  48. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/interface.py +0 -0
  49. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/__init__.py +0 -0
  50. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/anthropic.py +0 -0
  51. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/azure_openai.py +0 -0
  52. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/cohere.py +0 -0
  53. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/google_ai.py +0 -0
  54. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/llm_api/llm_api_tools.py +0 -0
  55. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/README.md +0 -0
  56. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/__init__.py +0 -0
  57. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/chat_completion_proxy.py +0 -0
  58. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/constants.py +0 -0
  59. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/function_parser.py +0 -0
  60. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/grammars/__init__.py +0 -0
  61. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
  62. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/grammars/json.gbnf +0 -0
  63. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
  64. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/groq/api.py +0 -0
  65. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/json_parser.py +0 -0
  66. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/koboldcpp/api.py +0 -0
  67. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/koboldcpp/settings.py +0 -0
  68. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llamacpp/api.py +0 -0
  69. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llamacpp/settings.py +0 -0
  70. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
  71. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
  72. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
  73. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
  74. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
  75. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
  76. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
  77. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
  78. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
  79. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/lmstudio/api.py +0 -0
  80. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/lmstudio/settings.py +0 -0
  81. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/ollama/api.py +0 -0
  82. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/ollama/settings.py +0 -0
  83. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/settings/__init__.py +0 -0
  84. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
  85. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/settings/settings.py +0 -0
  86. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/settings/simple.py +0 -0
  87. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/utils.py +0 -0
  88. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/vllm/api.py +0 -0
  89. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/webui/api.py +0 -0
  90. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/webui/legacy_api.py +0 -0
  91. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/webui/legacy_settings.py +0 -0
  92. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/local_llm/webui/settings.py +0 -0
  93. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/log.py +0 -0
  94. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/main.py +0 -0
  95. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/memory.py +0 -0
  96. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/metadata.py +0 -0
  97. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/openai_backcompat/__init__.py +0 -0
  98. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/openai_backcompat/openai_object.py +0 -0
  99. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/persistence_manager.py +0 -0
  100. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/__init__.py +0 -0
  101. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/anna_pa.txt +0 -0
  102. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/google_search_persona.txt +0 -0
  103. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/memgpt_doc.txt +0 -0
  104. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/memgpt_starter.txt +0 -0
  105. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/sam.txt +0 -0
  106. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/sam_pov.txt +0 -0
  107. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
  108. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/personas/examples/sqldb/test.db +0 -0
  109. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/__init__.py +0 -0
  110. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/gpt_summarize.py +0 -0
  111. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/gpt_system.py +0 -0
  112. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_base.txt +0 -0
  113. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_chat.txt +0 -0
  114. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
  115. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
  116. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_doc.txt +0 -0
  117. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
  118. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
  119. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
  120. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/pytest.ini +0 -0
  121. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/agent.py +0 -0
  122. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/api_key.py +0 -0
  123. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/document.py +0 -0
  124. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/embedding_config.py +0 -0
  125. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/enums.py +0 -0
  126. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/job.py +0 -0
  127. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/letta_base.py +0 -0
  128. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/letta_message.py +0 -0
  129. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/letta_request.py +0 -0
  130. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/letta_response.py +0 -0
  131. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/llm_config.py +0 -0
  132. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/memory.py +0 -0
  133. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/message.py +0 -0
  134. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/openai/chat_completion_request.py +0 -0
  135. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/openai/chat_completion_response.py +0 -0
  136. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/openai/chat_completions.py +0 -0
  137. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/openai/embedding_response.py +0 -0
  138. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/openai/openai.py +0 -0
  139. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/organization.py +0 -0
  140. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/passage.py +0 -0
  141. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/source.py +0 -0
  142. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/usage.py +0 -0
  143. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/schemas/user.py +0 -0
  144. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/__init__.py +0 -0
  145. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/constants.py +0 -0
  146. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/__init__.py +0 -0
  147. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/admin/__init__.py +0 -0
  148. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/admin/agents.py +0 -0
  149. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/admin/tools.py +0 -0
  150. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/admin/users.py +0 -0
  151. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/app.py +0 -0
  152. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/auth/__init__.py +0 -0
  153. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/auth/index.py +0 -0
  154. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/auth_token.py +0 -0
  155. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/interface.py +0 -0
  156. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/__init__.py +0 -0
  157. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/__init__.py +0 -0
  158. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/assistants/__init__.py +0 -0
  159. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/assistants/assistants.py +0 -0
  160. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/assistants/schemas.py +0 -0
  161. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/assistants/threads.py +0 -0
  162. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
  163. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +0 -0
  164. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/agents.py +0 -0
  165. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/blocks.py +0 -0
  166. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/jobs.py +0 -0
  167. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/llms.py +0 -0
  168. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/organizations.py +0 -0
  169. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/sources.py +0 -0
  170. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/tools.py +0 -0
  171. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/routers/v1/users.py +0 -0
  172. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/static_files.py +0 -0
  173. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/rest_api/utils.py +0 -0
  174. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/server.py +0 -0
  175. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/startup.sh +0 -0
  176. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/static_files/assets/index-156816da.css +0 -0
  177. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/static_files/assets/index-4d08d8a3.js +0 -0
  178. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/static_files/favicon.ico +0 -0
  179. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/static_files/index.html +0 -0
  180. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
  181. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/utils.py +0 -0
  182. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/ws_api/__init__.py +0 -0
  183. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/ws_api/example_client.py +0 -0
  184. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/ws_api/interface.py +0 -0
  185. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/ws_api/protocol.py +0 -0
  186. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/server/ws_api/server.py +0 -0
  187. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/settings.py +0 -0
  188. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/streaming_interface.py +0 -0
  189. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/system.py +0 -0
  190. {letta_nightly-0.1.7.dev20241002104051 → letta_nightly-0.1.7.dev20241003104113}/letta/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.1.7.dev20241002104051
3
+ Version: 0.1.7.dev20241003104113
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -23,6 +23,8 @@ Provides-Extra: tests
23
23
  Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev"
24
24
  Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev"
25
25
  Requires-Dist: chromadb (>=0.4.24,<0.5.0)
26
+ Requires-Dist: composio-core (>=0.5.28,<0.6.0) ; extra == "external-tools"
27
+ Requires-Dist: composio-langchain (>=0.5.28,<0.6.0) ; extra == "external-tools"
26
28
  Requires-Dist: crewai (>=0.41.1,<0.42.0) ; extra == "external-tools"
27
29
  Requires-Dist: crewai-tools (>=0.8.3,<0.9.0) ; extra == "external-tools"
28
30
  Requires-Dist: datasets (>=2.14.6,<3.0.0) ; extra == "dev"
@@ -1,4 +1,4 @@
1
- __version__ = "0.1.17"
1
+ __version__ = "0.1.7"
2
2
 
3
3
  # import clients
4
4
  from letta.client.admin import Admin
@@ -3,6 +3,31 @@ from typing import Any, Optional, Union
3
3
  from pydantic import BaseModel
4
4
 
5
5
 
6
+ def generate_composio_tool_wrapper(action: "ActionType") -> tuple[str, str]:
7
+ # Instantiate the object
8
+ tool_instantiation_str = f"composio_toolset.get_tools(actions=[Action.{action.name}])[0]"
9
+
10
+ # Generate func name
11
+ func_name = f"run_{action.name}"
12
+
13
+ wrapper_function_str = f"""
14
+ def {func_name}(**kwargs):
15
+ if 'self' in kwargs:
16
+ del kwargs['self']
17
+ from composio import Action, App, Tag
18
+ from composio_langchain import ComposioToolSet
19
+
20
+ composio_toolset = ComposioToolSet()
21
+ tool = {tool_instantiation_str}
22
+ tool.func(**kwargs)
23
+ """
24
+
25
+ # Compile safety check
26
+ assert_code_gen_compilable(wrapper_function_str)
27
+
28
+ return func_name, wrapper_function_str
29
+
30
+
6
31
  def generate_langchain_tool_wrapper(
7
32
  tool: "LangChainBaseTool", additional_imports_module_attr_map: dict[str, str] = None
8
33
  ) -> tuple[str, str]:
@@ -28,6 +53,10 @@ def {func_name}(**kwargs):
28
53
  {tool_instantiation}
29
54
  {run_call}
30
55
  """
56
+
57
+ # Compile safety check
58
+ assert_code_gen_compilable(wrapper_function_str)
59
+
31
60
  return func_name, wrapper_function_str
32
61
 
33
62
 
@@ -48,14 +77,26 @@ def generate_crewai_tool_wrapper(tool: "CrewAIBaseTool", additional_imports_modu
48
77
  def {func_name}(**kwargs):
49
78
  if 'self' in kwargs:
50
79
  del kwargs['self']
80
+ import importlib
51
81
  {import_statement}
52
82
  {extra_module_imports}
53
83
  {tool_instantiation}
54
84
  {run_call}
55
85
  """
86
+
87
+ # Compile safety check
88
+ assert_code_gen_compilable(wrapper_function_str)
89
+
56
90
  return func_name, wrapper_function_str
57
91
 
58
92
 
93
+ def assert_code_gen_compilable(code_str):
94
+ try:
95
+ compile(code_str, "<string>", "exec")
96
+ except SyntaxError as e:
97
+ print(f"Syntax error in code: {e}")
98
+
99
+
59
100
  def assert_all_classes_are_imported(
60
101
  tool: Union["LangChainBaseTool", "CrewAIBaseTool"], additional_imports_module_attr_map: dict[str, str]
61
102
  ) -> None:
@@ -129,7 +170,7 @@ def generate_imported_tool_instantiation_call_str(obj: Any) -> Optional[str]:
129
170
  # e.g. {arg}={value}
130
171
  # The reason why this is recursive, is because the value can be another BaseModel that we need to stringify
131
172
  model_name = obj.__class__.__name__
132
- fields = dict(obj)
173
+ fields = obj.dict()
133
174
  # Generate code for each field, skipping empty or None values
134
175
  field_assignments = []
135
176
  for arg, value in fields.items():
@@ -168,6 +209,11 @@ def generate_imported_tool_instantiation_call_str(obj: Any) -> Optional[str]:
168
209
  print(
169
210
  f"[WARNING] Skipping parsing unknown class {obj.__class__.__name__} (does not inherit from the Pydantic BaseModel and is not a basic Python type)"
170
211
  )
212
+ if obj.__class__.__name__ == "function":
213
+ import inspect
214
+
215
+ print(inspect.getsource(obj))
216
+
171
217
  return None
172
218
 
173
219
 
@@ -419,6 +419,8 @@ def openai_chat_completions_request(
419
419
  try:
420
420
  response = requests.post(url, headers=headers, json=data)
421
421
  printd(f"response = {response}, response.text = {response.text}")
422
+ # print(json.dumps(data, indent=4))
423
+ # raise requests.exceptions.HTTPError
422
424
  response.raise_for_status() # Raises HTTPError for 4XX/5XX status
423
425
 
424
426
  response = response.json() # convert to dict from string
@@ -46,15 +46,7 @@ class BaseBlock(LettaBase, validate_assignment=True):
46
46
  return self
47
47
 
48
48
  def __len__(self):
49
- return len(str(self))
50
-
51
- def __str__(self) -> str:
52
- if isinstance(self.value, list):
53
- return ",".join(self.value)
54
- elif isinstance(self.value, str):
55
- return self.value
56
- else:
57
- return ""
49
+ return len(self.value)
58
50
 
59
51
  def __setattr__(self, name, value):
60
52
  """Run validation if self.value is updated"""
@@ -0,0 +1,10 @@
1
+ from pydantic import BaseModel
2
+
3
+
4
+ class Health(BaseModel):
5
+ """
6
+ Health check response body
7
+ """
8
+
9
+ version: str
10
+ status: str
@@ -3,6 +3,7 @@ from typing import Dict, List, Optional
3
3
  from pydantic import Field
4
4
 
5
5
  from letta.functions.helpers import (
6
+ generate_composio_tool_wrapper,
6
7
  generate_crewai_tool_wrapper,
7
8
  generate_langchain_tool_wrapper,
8
9
  )
@@ -57,6 +58,54 @@ class Tool(BaseTool):
57
58
  )
58
59
  )
59
60
 
61
+ @classmethod
62
+ def get_composio_tool(
63
+ cls,
64
+ action: "ActionType",
65
+ ) -> "Tool":
66
+ """
67
+ Class method to create an instance of Letta-compatible Composio Tool.
68
+ Check https://docs.composio.dev/introduction/intro/overview to look at options for get_composio_tool
69
+
70
+ This function will error if we find more than one tool, or 0 tools.
71
+
72
+ Args:
73
+ action ActionType: A action name to filter tools by.
74
+ Returns:
75
+ Tool: A Letta Tool initialized with attributes derived from the Composio tool.
76
+ """
77
+ from composio_langchain import ComposioToolSet
78
+
79
+ composio_toolset = ComposioToolSet()
80
+ composio_tools = composio_toolset.get_tools(actions=[action])
81
+
82
+ assert len(composio_tools) > 0, "User supplied parameters do not match any Composio tools"
83
+ assert len(composio_tools) == 1, f"User supplied parameters match too many Composio tools; {len(composio_tools)} > 1"
84
+
85
+ composio_tool = composio_tools[0]
86
+
87
+ description = composio_tool.description
88
+ source_type = "python"
89
+ tags = ["composio"]
90
+ wrapper_func_name, wrapper_function_str = generate_composio_tool_wrapper(action)
91
+ json_schema = generate_schema_from_args_schema(composio_tool.args_schema, name=wrapper_func_name, description=description)
92
+
93
+ # append heartbeat (necessary for triggering another reasoning step after this tool call)
94
+ json_schema["parameters"]["properties"]["request_heartbeat"] = {
95
+ "type": "boolean",
96
+ "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.",
97
+ }
98
+ json_schema["parameters"]["required"].append("request_heartbeat")
99
+
100
+ return cls(
101
+ name=wrapper_func_name,
102
+ description=description,
103
+ source_type=source_type,
104
+ tags=tags,
105
+ source_code=wrapper_function_str,
106
+ json_schema=json_schema,
107
+ )
108
+
60
109
  @classmethod
61
110
  def from_langchain(cls, langchain_tool: "LangChainBaseTool", additional_imports_module_attr_map: dict[str, str] = None) -> "Tool":
62
111
  """
@@ -1,5 +1,6 @@
1
1
  from letta.server.rest_api.routers.v1.agents import router as agents_router
2
2
  from letta.server.rest_api.routers.v1.blocks import router as blocks_router
3
+ from letta.server.rest_api.routers.v1.health import router as health_router
3
4
  from letta.server.rest_api.routers.v1.jobs import router as jobs_router
4
5
  from letta.server.rest_api.routers.v1.llms import router as llm_router
5
6
  from letta.server.rest_api.routers.v1.sources import router as sources_router
@@ -12,4 +13,5 @@ ROUTERS = [
12
13
  llm_router,
13
14
  blocks_router,
14
15
  jobs_router,
16
+ health_router,
15
17
  ]
@@ -0,0 +1,20 @@
1
+ from typing import TYPE_CHECKING
2
+
3
+ from fastapi import APIRouter
4
+
5
+ from letta.cli.cli import version
6
+ from letta.schemas.health import Health
7
+
8
+ if TYPE_CHECKING:
9
+ pass
10
+
11
+ router = APIRouter(prefix="/health", tags=["health"])
12
+
13
+
14
+ # Health check
15
+ @router.get("/", response_model=Health, operation_id="health_check")
16
+ def health_check():
17
+ return Health(
18
+ version=version(),
19
+ status="ok",
20
+ )
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "letta-nightly"
3
- version = "0.1.7.dev20241002104051"
3
+ version = "0.1.7.dev20241003104113"
4
4
  packages = [
5
5
  {include = "letta"}
6
6
  ]
@@ -74,6 +74,8 @@ llama-index-embeddings-ollama = "^0.3.1"
74
74
  wikipedia = {version = "^1.4.0", optional = true}
75
75
  langchain = {version = "^0.2.16", optional = true}
76
76
  langchain-community = {version = "^0.2.17", optional = true}
77
+ composio-langchain = "^0.5.28"
78
+ composio-core = "^0.5.28"
77
79
 
78
80
  [tool.poetry.extras]
79
81
  #local = ["llama-index-embeddings-huggingface"]
@@ -84,7 +86,7 @@ server = ["websockets", "fastapi", "uvicorn"]
84
86
  autogen = ["pyautogen"]
85
87
  qdrant = ["qdrant-client"]
86
88
  ollama = ["llama-index-embeddings-ollama"]
87
- external-tools = ["crewai", "docker", "crewai-tools", "langchain", "wikipedia", "langchain-community"]
89
+ external-tools = ["crewai", "docker", "crewai-tools", "langchain", "wikipedia", "langchain-community", "composio-core", "composio-langchain"]
88
90
  tests = ["wikipedia"]
89
91
 
90
92
  [tool.poetry.group.dev.dependencies]