letta-nightly 0.7.3.dev20250424104224__tar.gz → 0.7.4.dev20250424184820__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.
Files changed (333) hide show
  1. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/PKG-INFO +1 -1
  2. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/__init__.py +1 -1
  3. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/groups/sleeptime_multi_agent.py +13 -18
  4. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/message.py +4 -0
  5. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/sandbox_config.py +2 -2
  6. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/server.py +4 -2
  7. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/helpers/tool_execution_helper.py +3 -3
  8. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_executor/tool_execution_sandbox.py +57 -135
  9. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_sandbox/local_sandbox.py +3 -3
  10. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/pyproject.toml +1 -1
  11. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/LICENSE +0 -0
  12. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/README.md +0 -0
  13. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/__main__.py +0 -0
  14. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agent.py +0 -0
  15. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/__init__.py +0 -0
  16. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/base_agent.py +0 -0
  17. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/ephemeral_agent.py +0 -0
  18. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/ephemeral_memory_agent.py +0 -0
  19. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/helpers.py +0 -0
  20. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/letta_agent.py +0 -0
  21. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/letta_agent_batch.py +0 -0
  22. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/agents/voice_agent.py +0 -0
  23. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/benchmark/benchmark.py +0 -0
  24. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/benchmark/constants.py +0 -0
  25. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/cli/cli.py +0 -0
  26. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/cli/cli_config.py +0 -0
  27. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/cli/cli_load.py +0 -0
  28. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/client/__init__.py +0 -0
  29. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/client/client.py +0 -0
  30. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/client/streaming.py +0 -0
  31. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/client/utils.py +0 -0
  32. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/config.py +0 -0
  33. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/constants.py +0 -0
  34. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/data_sources/connectors.py +0 -0
  35. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/data_sources/connectors_helper.py +0 -0
  36. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/embeddings.py +0 -0
  37. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/errors.py +0 -0
  38. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/__init__.py +0 -0
  39. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/ast_parsers.py +0 -0
  40. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/function_sets/base.py +0 -0
  41. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/function_sets/extras.py +0 -0
  42. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/function_sets/multi_agent.py +0 -0
  43. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/functions.py +0 -0
  44. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/helpers.py +0 -0
  45. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/interface.py +0 -0
  46. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/__init__.py +0 -0
  47. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/base_client.py +0 -0
  48. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/exceptions.py +0 -0
  49. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/sse_client.py +0 -0
  50. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/stdio_client.py +0 -0
  51. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/mcp_client/types.py +0 -0
  52. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/functions/schema_generator.py +0 -0
  53. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/groups/dynamic_multi_agent.py +0 -0
  54. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/groups/helpers.py +0 -0
  55. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/groups/round_robin_multi_agent.py +0 -0
  56. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/groups/supervisor_multi_agent.py +0 -0
  57. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/__init__.py +0 -0
  58. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/composio_helpers.py +0 -0
  59. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/converters.py +0 -0
  60. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/datetime_helpers.py +0 -0
  61. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/json_helpers.py +0 -0
  62. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/message_helper.py +0 -0
  63. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/tool_execution_helper.py +0 -0
  64. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/helpers/tool_rule_solver.py +0 -0
  65. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/humans/__init__.py +0 -0
  66. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/humans/examples/basic.txt +0 -0
  67. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/humans/examples/cs_phd.txt +0 -0
  68. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/interface.py +0 -0
  69. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/interfaces/__init__.py +0 -0
  70. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/interfaces/anthropic_streaming_interface.py +0 -0
  71. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/interfaces/openai_chat_completions_streaming_interface.py +0 -0
  72. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/interfaces/utils.py +0 -0
  73. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/jobs/__init__.py +0 -0
  74. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/jobs/helpers.py +0 -0
  75. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/jobs/llm_batch_job_polling.py +0 -0
  76. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/jobs/scheduler.py +0 -0
  77. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/jobs/types.py +0 -0
  78. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/__init__.py +0 -0
  79. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/anthropic.py +0 -0
  80. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/anthropic_client.py +0 -0
  81. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/aws_bedrock.py +0 -0
  82. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/azure_openai.py +0 -0
  83. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/azure_openai_constants.py +0 -0
  84. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/cohere.py +0 -0
  85. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/deepseek.py +0 -0
  86. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/google_ai_client.py +0 -0
  87. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/google_constants.py +0 -0
  88. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/google_vertex_client.py +0 -0
  89. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/helpers.py +0 -0
  90. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/llm_api_tools.py +0 -0
  91. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/llm_client.py +0 -0
  92. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/llm_client_base.py +0 -0
  93. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/mistral.py +0 -0
  94. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/openai.py +0 -0
  95. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/llm_api/openai_client.py +0 -0
  96. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/README.md +0 -0
  97. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/__init__.py +0 -0
  98. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/chat_completion_proxy.py +0 -0
  99. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/constants.py +0 -0
  100. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/function_parser.py +0 -0
  101. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/grammars/__init__.py +0 -0
  102. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
  103. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/grammars/json.gbnf +0 -0
  104. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
  105. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/json_parser.py +0 -0
  106. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/koboldcpp/api.py +0 -0
  107. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/koboldcpp/settings.py +0 -0
  108. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llamacpp/api.py +0 -0
  109. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llamacpp/settings.py +0 -0
  110. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
  111. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
  112. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
  113. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
  114. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
  115. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
  116. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
  117. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
  118. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
  119. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/lmstudio/api.py +0 -0
  120. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/lmstudio/settings.py +0 -0
  121. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/ollama/api.py +0 -0
  122. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/ollama/settings.py +0 -0
  123. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/settings/__init__.py +0 -0
  124. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
  125. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/settings/settings.py +0 -0
  126. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/settings/simple.py +0 -0
  127. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/utils.py +0 -0
  128. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/vllm/api.py +0 -0
  129. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/webui/api.py +0 -0
  130. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/webui/legacy_api.py +0 -0
  131. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/webui/legacy_settings.py +0 -0
  132. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/local_llm/webui/settings.py +0 -0
  133. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/log.py +0 -0
  134. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/main.py +0 -0
  135. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/memory.py +0 -0
  136. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/openai_backcompat/__init__.py +0 -0
  137. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/openai_backcompat/openai_object.py +0 -0
  138. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/__all__.py +0 -0
  139. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/__init__.py +0 -0
  140. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/agent.py +0 -0
  141. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/agents_tags.py +0 -0
  142. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/base.py +0 -0
  143. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/block.py +0 -0
  144. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/block_history.py +0 -0
  145. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/blocks_agents.py +0 -0
  146. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/custom_columns.py +0 -0
  147. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/enums.py +0 -0
  148. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/errors.py +0 -0
  149. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/file.py +0 -0
  150. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/group.py +0 -0
  151. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/groups_agents.py +0 -0
  152. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/groups_blocks.py +0 -0
  153. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/identities_agents.py +0 -0
  154. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/identities_blocks.py +0 -0
  155. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/identity.py +0 -0
  156. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/job.py +0 -0
  157. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/job_messages.py +0 -0
  158. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/llm_batch_items.py +0 -0
  159. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/llm_batch_job.py +0 -0
  160. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/message.py +0 -0
  161. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/mixins.py +0 -0
  162. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/organization.py +0 -0
  163. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/passage.py +0 -0
  164. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/provider.py +0 -0
  165. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/sandbox_config.py +0 -0
  166. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/source.py +0 -0
  167. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/sources_agents.py +0 -0
  168. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/sqlalchemy_base.py +0 -0
  169. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/sqlite_functions.py +0 -0
  170. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/step.py +0 -0
  171. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/tool.py +0 -0
  172. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/tools_agents.py +0 -0
  173. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/orm/user.py +0 -0
  174. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/__init__.py +0 -0
  175. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/anna_pa.txt +0 -0
  176. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/google_search_persona.txt +0 -0
  177. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/memgpt_doc.txt +0 -0
  178. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/memgpt_starter.txt +0 -0
  179. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/o1_persona.txt +0 -0
  180. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sam.txt +0 -0
  181. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sam_pov.txt +0 -0
  182. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
  183. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sleeptime_doc_persona.txt +0 -0
  184. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sleeptime_memory_persona.txt +0 -0
  185. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/personas/examples/sqldb/test.db +0 -0
  186. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/__init__.py +0 -0
  187. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/gpt_summarize.py +0 -0
  188. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/gpt_system.py +0 -0
  189. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_base.txt +0 -0
  190. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_chat.txt +0 -0
  191. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
  192. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
  193. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_convo_only.txt +0 -0
  194. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_doc.txt +0 -0
  195. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
  196. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
  197. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_memory_only.txt +0 -0
  198. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
  199. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
  200. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
  201. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
  202. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/memgpt_sleeptime_chat.txt +0 -0
  203. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/sleeptime.txt +0 -0
  204. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/prompts/system/sleeptime_doc_ingest.txt +0 -0
  205. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/pytest.ini +0 -0
  206. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/agent.py +0 -0
  207. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/block.py +0 -0
  208. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/embedding_config.py +0 -0
  209. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/embedding_config_overrides.py +0 -0
  210. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/enums.py +0 -0
  211. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/environment_variables.py +0 -0
  212. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/file.py +0 -0
  213. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/group.py +0 -0
  214. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/health.py +0 -0
  215. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/identity.py +0 -0
  216. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/job.py +0 -0
  217. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/letta_base.py +0 -0
  218. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/letta_message.py +0 -0
  219. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/letta_message_content.py +0 -0
  220. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/letta_request.py +0 -0
  221. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/letta_response.py +0 -0
  222. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/llm_batch_job.py +0 -0
  223. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/llm_config.py +0 -0
  224. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/llm_config_overrides.py +0 -0
  225. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/memory.py +0 -0
  226. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/openai/chat_completion_request.py +0 -0
  227. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/openai/chat_completion_response.py +0 -0
  228. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/openai/chat_completions.py +0 -0
  229. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/openai/embedding_response.py +0 -0
  230. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/openai/openai.py +0 -0
  231. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/organization.py +0 -0
  232. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/passage.py +0 -0
  233. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/providers.py +0 -0
  234. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/response_format.py +0 -0
  235. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/run.py +0 -0
  236. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/source.py +0 -0
  237. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/step.py +0 -0
  238. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/tool.py +0 -0
  239. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/tool_execution_result.py +0 -0
  240. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/tool_rule.py +0 -0
  241. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/usage.py +0 -0
  242. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/schemas/user.py +0 -0
  243. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/__init__.py +0 -0
  244. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_agent.py +0 -0
  245. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_agent_environment_variable.py +0 -0
  246. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_base.py +0 -0
  247. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_block.py +0 -0
  248. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_custom_fields.py +0 -0
  249. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_message.py +0 -0
  250. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_tag.py +0 -0
  251. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/marshmallow_tool.py +0 -0
  252. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/serialize_schemas/pydantic_agent_schema.py +0 -0
  253. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/__init__.py +0 -0
  254. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/constants.py +0 -0
  255. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/db.py +0 -0
  256. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/generate_openapi_schema.sh +0 -0
  257. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/__init__.py +0 -0
  258. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/app.py +0 -0
  259. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/auth/__init__.py +0 -0
  260. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/auth/index.py +0 -0
  261. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/auth_token.py +0 -0
  262. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/chat_completions_interface.py +0 -0
  263. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/interface.py +0 -0
  264. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/optimistic_json_parser.py +0 -0
  265. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/__init__.py +0 -0
  266. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
  267. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +0 -0
  268. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/__init__.py +0 -0
  269. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/agents.py +0 -0
  270. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/blocks.py +0 -0
  271. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/groups.py +0 -0
  272. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/health.py +0 -0
  273. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/identities.py +0 -0
  274. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/jobs.py +0 -0
  275. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/llms.py +0 -0
  276. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/messages.py +0 -0
  277. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/organizations.py +0 -0
  278. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/providers.py +0 -0
  279. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/runs.py +0 -0
  280. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/sandbox_configs.py +0 -0
  281. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/sources.py +0 -0
  282. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/steps.py +0 -0
  283. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/tags.py +0 -0
  284. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/tools.py +0 -0
  285. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/users.py +0 -0
  286. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/routers/v1/voice.py +0 -0
  287. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/static_files.py +0 -0
  288. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/rest_api/utils.py +0 -0
  289. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/startup.sh +0 -0
  290. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/static_files/assets/index-048c9598.js +0 -0
  291. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/static_files/assets/index-0e31b727.css +0 -0
  292. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/static_files/favicon.ico +0 -0
  293. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/static_files/index.html +0 -0
  294. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
  295. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/utils.py +0 -0
  296. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/ws_api/__init__.py +0 -0
  297. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/ws_api/example_client.py +0 -0
  298. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/ws_api/interface.py +0 -0
  299. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/ws_api/protocol.py +0 -0
  300. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/server/ws_api/server.py +0 -0
  301. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/__init__.py +0 -0
  302. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/agent_manager.py +0 -0
  303. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/block_manager.py +0 -0
  304. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/group_manager.py +0 -0
  305. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/helpers/agent_manager_helper.py +0 -0
  306. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/identity_manager.py +0 -0
  307. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/job_manager.py +0 -0
  308. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/llm_batch_manager.py +0 -0
  309. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/message_manager.py +0 -0
  310. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/organization_manager.py +0 -0
  311. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/passage_manager.py +0 -0
  312. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/per_agent_lock_manager.py +0 -0
  313. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/provider_manager.py +0 -0
  314. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/sandbox_config_manager.py +0 -0
  315. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/source_manager.py +0 -0
  316. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/step_manager.py +0 -0
  317. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/summarizer/__init__.py +0 -0
  318. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/summarizer/enums.py +0 -0
  319. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/summarizer/summarizer.py +0 -0
  320. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_executor/__init__.py +0 -0
  321. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_executor/tool_execution_manager.py +0 -0
  322. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_executor/tool_executor.py +0 -0
  323. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_manager.py +0 -0
  324. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_sandbox/__init__.py +0 -0
  325. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_sandbox/base.py +0 -0
  326. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/tool_sandbox/e2b_sandbox.py +0 -0
  327. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/services/user_manager.py +0 -0
  328. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/settings.py +0 -0
  329. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/streaming_interface.py +0 -0
  330. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/streaming_utils.py +0 -0
  331. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/system.py +0 -0
  332. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/tracing.py +0 -0
  333. {letta_nightly-0.7.3.dev20250424104224 → letta_nightly-0.7.4.dev20250424184820}/letta/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.7.3.dev20250424104224
3
+ Version: 0.7.4.dev20250424184820
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -1,4 +1,4 @@
1
- __version__ = "0.7.3"
1
+ __version__ = "0.7.4"
2
2
 
3
3
  # import clients
4
4
  from letta.client.client import LocalClient, RESTClient, create_client
@@ -43,24 +43,21 @@ class SleeptimeMultiAgent(Agent):
43
43
 
44
44
  def _run_async_in_new_thread(self, coro):
45
45
  """Run an async coroutine in a new thread with its own event loop"""
46
- result = None
47
46
 
48
47
  def run_async():
49
- nonlocal result
50
48
  loop = asyncio.new_event_loop()
51
49
  asyncio.set_event_loop(loop)
52
50
  try:
53
- result = loop.run_until_complete(coro)
51
+ loop.run_until_complete(coro)
54
52
  finally:
55
53
  loop.close()
56
54
  asyncio.set_event_loop(None)
57
55
 
58
56
  thread = threading.Thread(target=run_async)
57
+ thread.daemon = True
59
58
  thread.start()
60
- thread.join()
61
- return result
62
59
 
63
- async def _issue_background_task(
60
+ def _issue_background_task(
64
61
  self,
65
62
  participant_agent_id: str,
66
63
  messages: List[Message],
@@ -81,7 +78,7 @@ class SleeptimeMultiAgent(Agent):
81
78
  )
82
79
  run = self.job_manager.create_job(pydantic_job=run, actor=self.user)
83
80
 
84
- asyncio.create_task(
81
+ self._run_async_in_new_thread(
85
82
  self._perform_background_agent_step(
86
83
  participant_agent_id=participant_agent_id,
87
84
  messages=messages,
@@ -239,17 +236,15 @@ class SleeptimeMultiAgent(Agent):
239
236
  )
240
237
  for participant_agent_id in self.agent_ids:
241
238
  try:
242
- run_id = self._run_async_in_new_thread(
243
- self._issue_background_task(
244
- participant_agent_id,
245
- last_response_messages,
246
- chaining,
247
- max_chaining_steps,
248
- token_streaming,
249
- metadata,
250
- put_inner_thoughts_first,
251
- last_processed_message_id,
252
- )
239
+ run_id = self._issue_background_task(
240
+ participant_agent_id,
241
+ last_response_messages,
242
+ chaining,
243
+ max_chaining_steps,
244
+ token_streaming,
245
+ metadata,
246
+ put_inner_thoughts_first,
247
+ last_processed_message_id,
253
248
  )
254
249
  run_ids.append(run_id)
255
250
 
@@ -699,6 +699,10 @@ class Message(BaseMessage):
699
699
  else:
700
700
  raise ValueError(self.role)
701
701
 
702
+ # Optional field, do not include if null
703
+ if self.name is not None:
704
+ openai_message["name"] = self.name
705
+
702
706
  if parse_content_parts:
703
707
  for content in self.content:
704
708
  if isinstance(content, ReasoningContent):
@@ -47,14 +47,14 @@ class PipRequirement(BaseModel):
47
47
 
48
48
  class LocalSandboxConfig(BaseModel):
49
49
  sandbox_dir: Optional[str] = Field(None, description="Directory for the sandbox environment.")
50
- use_venv: bool = Field(False, description="Whether or not to use the venv, or run directly in the same run loop.")
50
+ force_create_venv: bool = Field(False, description="Whether or not to use the venv, or run directly in the same run loop.")
51
51
  venv_name: str = Field(
52
52
  "venv",
53
53
  description="The name for the venv in the sandbox directory. We first search for an existing venv with this name, otherwise, we make it from the requirements.txt.",
54
54
  )
55
55
  pip_requirements: List[PipRequirement] = Field(
56
56
  default_factory=list,
57
- description="List of pip packages to install with mandatory name and optional version following semantic versioning. This only is considered when use_venv is True.",
57
+ description="List of pip packages to install with mandatory name and optional version following semantic versioning. This only is considered when force_create_venv is True.",
58
58
  )
59
59
 
60
60
  @property
@@ -1308,12 +1308,14 @@ class SyncServer(Server):
1308
1308
  tool_execution_result = ToolExecutionSandbox(tool.name, tool_args, actor, tool_object=tool).run(
1309
1309
  agent_state=agent_state, additional_env_vars=tool_env_vars
1310
1310
  )
1311
+ status = "error" if tool_execution_result.stderr else "success"
1312
+ tool_return = str(tool_execution_result.stderr) if tool_execution_result.stderr else str(tool_execution_result.func_return)
1311
1313
  return ToolReturnMessage(
1312
1314
  id="null",
1313
1315
  tool_call_id="null",
1314
1316
  date=get_utc_time(),
1315
- status=tool_execution_result.status,
1316
- tool_return=str(tool_execution_result.func_return),
1317
+ status=status,
1318
+ tool_return=tool_return,
1317
1319
  stdout=tool_execution_result.stdout,
1318
1320
  stderr=tool_execution_result.stderr,
1319
1321
  )
@@ -24,7 +24,7 @@ def find_python_executable(local_configs: LocalSandboxConfig) -> str:
24
24
  """
25
25
  sandbox_dir = os.path.expanduser(local_configs.sandbox_dir) # Expand tilde
26
26
 
27
- if not local_configs.use_venv:
27
+ if not local_configs.force_create_venv:
28
28
  return "python.exe" if platform.system().lower().startswith("win") else "python3"
29
29
 
30
30
  venv_path = os.path.join(sandbox_dir, local_configs.venv_name)
@@ -96,7 +96,7 @@ def install_pip_requirements_for_sandbox(
96
96
  python_exec = find_python_executable(local_configs)
97
97
 
98
98
  # If using a virtual environment, upgrade pip before installing dependencies.
99
- if local_configs.use_venv:
99
+ if local_configs.force_create_venv:
100
100
  ensure_pip_is_up_to_date(python_exec, env=env)
101
101
 
102
102
  # Construct package list
@@ -108,7 +108,7 @@ def install_pip_requirements_for_sandbox(
108
108
  pip_cmd.append("--upgrade")
109
109
  pip_cmd += packages
110
110
 
111
- if user_install_if_no_venv and not local_configs.use_venv:
111
+ if user_install_if_no_venv and not local_configs.force_create_venv:
112
112
  pip_cmd.append("--user")
113
113
 
114
114
  run_subprocess(pip_cmd, env=env, fail_msg=f"Failed to install packages: {', '.join(packages)}")
@@ -1,12 +1,10 @@
1
1
  import ast
2
2
  import base64
3
- import io
4
3
  import os
5
4
  import pickle
6
5
  import subprocess
7
6
  import sys
8
7
  import tempfile
9
- import traceback
10
8
  import uuid
11
9
  from typing import Any, Dict, Optional
12
10
 
@@ -119,89 +117,74 @@ class ToolExecutionSandbox:
119
117
 
120
118
  @trace_method
121
119
  def run_local_dir_sandbox(
122
- self, agent_state: Optional[AgentState] = None, additional_env_vars: Optional[Dict] = None
120
+ self,
121
+ agent_state: Optional[AgentState] = None,
122
+ additional_env_vars: Optional[Dict] = None,
123
123
  ) -> ToolExecutionResult:
124
- sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.LOCAL, actor=self.user)
124
+ sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(
125
+ sandbox_type=SandboxType.LOCAL,
126
+ actor=self.user,
127
+ )
125
128
  local_configs = sbx_config.get_local_config()
129
+ sandbox_dir = os.path.expanduser(local_configs.sandbox_dir)
130
+ venv_path = os.path.join(sandbox_dir, local_configs.venv_name)
126
131
 
127
- # Get environment variables for the sandbox
132
+ # Aggregate environment variables
128
133
  env = os.environ.copy()
129
- env_vars = self.sandbox_config_manager.get_sandbox_env_vars_as_dict(sandbox_config_id=sbx_config.id, actor=self.user, limit=100)
130
- env.update(env_vars)
131
-
132
- # Get environment variables for this agent specifically
134
+ env.update(self.sandbox_config_manager.get_sandbox_env_vars_as_dict(sandbox_config_id=sbx_config.id, actor=self.user, limit=100))
133
135
  if agent_state:
134
136
  env.update(agent_state.get_agent_env_vars_as_dict())
135
-
136
- # Finally, get any that are passed explicitly into the `run` function call
137
137
  if additional_env_vars:
138
138
  env.update(additional_env_vars)
139
139
 
140
- # Safety checks
141
- if not os.path.exists(local_configs.sandbox_dir) or not os.path.isdir(local_configs.sandbox_dir):
142
- logger.warning(f"Sandbox directory does not exist, creating: {local_configs.sandbox_dir}")
143
- os.makedirs(local_configs.sandbox_dir)
144
-
145
- # Write the code to a temp file in the sandbox_dir
146
- with tempfile.NamedTemporaryFile(mode="w", dir=local_configs.sandbox_dir, suffix=".py", delete=False) as temp_file:
147
- if local_configs.use_venv:
148
- # If using venv, we need to wrap with special string markers to separate out the output and the stdout (since it is all in stdout)
149
- code = self.generate_execution_script(agent_state=agent_state, wrap_print_with_markers=True)
150
- else:
151
- code = self.generate_execution_script(agent_state=agent_state)
140
+ # Ensure sandbox dir exists
141
+ if not os.path.exists(sandbox_dir):
142
+ logger.warning(f"Sandbox directory does not exist, creating: {sandbox_dir}")
143
+ os.makedirs(sandbox_dir)
152
144
 
145
+ # Write the code to a temp file
146
+ with tempfile.NamedTemporaryFile(mode="w", dir=sandbox_dir, suffix=".py", delete=False) as temp_file:
147
+ code = self.generate_execution_script(agent_state=agent_state, wrap_print_with_markers=True)
153
148
  temp_file.write(code)
154
149
  temp_file.flush()
155
150
  temp_file_path = temp_file.name
151
+
156
152
  try:
157
- if local_configs.use_venv:
158
- return self.run_local_dir_sandbox_venv(sbx_config, env, temp_file_path)
153
+ # Decide whether to use venv
154
+ use_venv = os.path.isdir(venv_path)
155
+
156
+ if self.force_recreate_venv or (not use_venv and local_configs.force_create_venv):
157
+ logger.warning(f"Virtual environment not found at {venv_path}. Creating one...")
158
+ log_event(name="start create_venv_for_local_sandbox", attributes={"venv_path": venv_path})
159
+ create_venv_for_local_sandbox(
160
+ sandbox_dir_path=sandbox_dir,
161
+ venv_path=venv_path,
162
+ env=env,
163
+ force_recreate=self.force_recreate_venv,
164
+ )
165
+ log_event(name="finish create_venv_for_local_sandbox")
166
+ use_venv = True
167
+
168
+ if use_venv:
169
+ log_event(name="start install_pip_requirements_for_sandbox", attributes={"local_configs": local_configs.model_dump_json()})
170
+ install_pip_requirements_for_sandbox(local_configs, env=env)
171
+ log_event(name="finish install_pip_requirements_for_sandbox", attributes={"local_configs": local_configs.model_dump_json()})
172
+
173
+ python_executable = find_python_executable(local_configs)
174
+ if not os.path.isfile(python_executable):
175
+ logger.warning(
176
+ f"Python executable not found at expected venv path: {python_executable}. Falling back to system Python."
177
+ )
178
+ python_executable = sys.executable
179
+ else:
180
+ env = dict(env)
181
+ env["VIRTUAL_ENV"] = venv_path
182
+ env["PATH"] = os.path.join(venv_path, "bin") + ":" + env.get("PATH", "")
159
183
  else:
160
- return self.run_local_dir_sandbox_directly(sbx_config, env, temp_file_path)
161
- except Exception as e:
162
- logger.error(f"Executing tool {self.tool_name} has an unexpected error: {e}")
163
- logger.error(f"Logging out tool {self.tool_name} auto-generated code for debugging: \n\n{code}")
164
- raise e
165
- finally:
166
- # Clean up the temp file
167
- os.remove(temp_file_path)
168
-
169
- @trace_method
170
- def run_local_dir_sandbox_venv(
171
- self,
172
- sbx_config: SandboxConfig,
173
- env: Dict[str, str],
174
- temp_file_path: str,
175
- ) -> ToolExecutionResult:
176
- local_configs = sbx_config.get_local_config()
177
- sandbox_dir = os.path.expanduser(local_configs.sandbox_dir) # Expand tilde
178
- venv_path = os.path.join(sandbox_dir, local_configs.venv_name)
179
-
180
- # Recreate venv if required
181
- if self.force_recreate_venv or not os.path.isdir(venv_path):
182
- logger.warning(f"Virtual environment directory does not exist at: {venv_path}, creating one now...")
183
- log_event(name="start create_venv_for_local_sandbox", attributes={"venv_path": venv_path})
184
- create_venv_for_local_sandbox(
185
- sandbox_dir_path=sandbox_dir, venv_path=venv_path, env=env, force_recreate=self.force_recreate_venv
186
- )
187
- log_event(name="finish create_venv_for_local_sandbox")
188
-
189
- log_event(name="start install_pip_requirements_for_sandbox", attributes={"local_configs": local_configs.model_dump_json()})
190
- install_pip_requirements_for_sandbox(local_configs, env=env)
191
- log_event(name="finish install_pip_requirements_for_sandbox", attributes={"local_configs": local_configs.model_dump_json()})
192
-
193
- # Ensure Python executable exists
194
- python_executable = find_python_executable(local_configs)
195
- if not os.path.isfile(python_executable):
196
- raise FileNotFoundError(f"Python executable not found in virtual environment: {python_executable}")
184
+ python_executable = sys.executable
197
185
 
198
- # Set up environment variables
199
- env["VIRTUAL_ENV"] = venv_path
200
- env["PATH"] = os.path.join(venv_path, "bin") + ":" + env["PATH"]
201
- env["PYTHONWARNINGS"] = "ignore"
186
+ env["PYTHONWARNINGS"] = "ignore"
202
187
 
203
- # Execute the code
204
- try:
205
188
  log_event(name="start subprocess")
206
189
  result = subprocess.run(
207
190
  [python_executable, temp_file_path],
@@ -213,19 +196,19 @@ class ToolExecutionSandbox:
213
196
  )
214
197
  log_event(name="finish subprocess")
215
198
  func_result, stdout = self.parse_out_function_results_markers(result.stdout)
216
- func_return, agent_state = self.parse_best_effort(func_result)
199
+ func_return, parsed_agent_state = self.parse_best_effort(func_result)
217
200
 
218
201
  return ToolExecutionResult(
219
202
  status="success",
220
203
  func_return=func_return,
221
- agent_state=agent_state,
204
+ agent_state=parsed_agent_state,
222
205
  stdout=[stdout] if stdout else [],
223
206
  stderr=[result.stderr] if result.stderr else [],
224
207
  sandbox_config_fingerprint=sbx_config.fingerprint(),
225
208
  )
226
209
 
227
210
  except subprocess.CalledProcessError as e:
228
- logger.error(f"Executing tool {self.tool_name} has process error: {e}")
211
+ logger.error(f"Tool execution failed: {e}")
229
212
  func_return = get_friendly_error_msg(
230
213
  function_name=self.tool_name,
231
214
  exception_name=type(e).__name__,
@@ -245,72 +228,11 @@ class ToolExecutionSandbox:
245
228
 
246
229
  except Exception as e:
247
230
  logger.error(f"Executing tool {self.tool_name} has an unexpected error: {e}")
231
+ logger.error(f"Generated script:\n{code}")
248
232
  raise e
249
233
 
250
- @trace_method
251
- def run_local_dir_sandbox_directly(
252
- self,
253
- sbx_config: SandboxConfig,
254
- env: Dict[str, str],
255
- temp_file_path: str,
256
- ) -> ToolExecutionResult:
257
- status = "success"
258
- func_return, agent_state, stderr = None, None, None
259
-
260
- old_stdout = sys.stdout
261
- old_stderr = sys.stderr
262
- captured_stdout, captured_stderr = io.StringIO(), io.StringIO()
263
-
264
- sys.stdout = captured_stdout
265
- sys.stderr = captured_stderr
266
-
267
- try:
268
- with self.temporary_env_vars(env):
269
-
270
- # Read and compile the Python script
271
- with open(temp_file_path, "r", encoding="utf-8") as f:
272
- source = f.read()
273
- code_obj = compile(source, temp_file_path, "exec")
274
-
275
- # Provide a dict for globals
276
- globals_dict = dict(env) # or {}
277
- # If you need to mimic `__main__` behavior:
278
- globals_dict["__name__"] = "__main__"
279
- globals_dict["__file__"] = temp_file_path
280
-
281
- # Execute the compiled code
282
- log_event(name="start exec", attributes={"temp_file_path": temp_file_path})
283
- exec(code_obj, globals_dict)
284
- log_event(name="finish exec", attributes={"temp_file_path": temp_file_path})
285
-
286
- # Get result from the global dict
287
- func_result = globals_dict.get(self.LOCAL_SANDBOX_RESULT_VAR_NAME)
288
- func_return, agent_state = self.parse_best_effort(func_result)
289
-
290
- except Exception as e:
291
- func_return = get_friendly_error_msg(
292
- function_name=self.tool_name,
293
- exception_name=type(e).__name__,
294
- exception_message=str(e),
295
- )
296
- traceback.print_exc(file=sys.stderr)
297
- status = "error"
298
-
299
- # Restore stdout/stderr
300
- sys.stdout = old_stdout
301
- sys.stderr = old_stderr
302
-
303
- stdout_output = [captured_stdout.getvalue()] if captured_stdout.getvalue() else []
304
- stderr_output = [captured_stderr.getvalue()] if captured_stderr.getvalue() else []
305
-
306
- return ToolExecutionResult(
307
- status=status,
308
- func_return=func_return,
309
- agent_state=agent_state,
310
- stdout=stdout_output,
311
- stderr=stderr_output,
312
- sandbox_config_fingerprint=sbx_config.fingerprint(),
313
- )
234
+ finally:
235
+ os.remove(temp_file_path)
314
236
 
315
237
  def parse_out_function_results_markers(self, text: str):
316
238
  if self.LOCAL_SANDBOX_RESULT_START_MARKER not in text:
@@ -69,7 +69,7 @@ class AsyncToolSandboxLocal(AsyncToolSandboxBase):
69
69
  else:
70
70
  sbx_config = self.sandbox_config_manager.get_or_create_default_sandbox_config(sandbox_type=SandboxType.LOCAL, actor=self.user)
71
71
  local_configs = sbx_config.get_local_config()
72
- use_venv = local_configs.use_venv
72
+ force_create_venv = local_configs.force_create_venv
73
73
 
74
74
  # Prepare environment variables
75
75
  env = os.environ.copy()
@@ -92,7 +92,7 @@ class AsyncToolSandboxLocal(AsyncToolSandboxBase):
92
92
 
93
93
  # If using a virtual environment, ensure it's prepared in parallel
94
94
  venv_preparation_task = None
95
- if use_venv:
95
+ if force_create_venv:
96
96
  venv_path = str(os.path.join(sandbox_dir, local_configs.venv_name))
97
97
  venv_preparation_task = asyncio.create_task(self._prepare_venv(local_configs, venv_path, env))
98
98
 
@@ -110,7 +110,7 @@ class AsyncToolSandboxLocal(AsyncToolSandboxBase):
110
110
 
111
111
  # Determine the python executable and environment for the subprocess
112
112
  exec_env = env.copy()
113
- if use_venv:
113
+ if force_create_venv:
114
114
  venv_path = str(os.path.join(sandbox_dir, local_configs.venv_name))
115
115
  python_executable = find_python_executable(local_configs)
116
116
  exec_env["VIRTUAL_ENV"] = venv_path
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "letta-nightly"
3
- version = "0.7.3.dev20250424104224"
3
+ version = "0.7.4.dev20250424184820"
4
4
  packages = [
5
5
  {include = "letta"},
6
6
  ]