letta-nightly 0.7.30.dev20250603104343__tar.gz → 0.8.0.dev20250604104349__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 (383) hide show
  1. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/PKG-INFO +7 -2
  2. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/__init__.py +7 -1
  3. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agent.py +14 -7
  4. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/base_agent.py +1 -0
  5. letta_nightly-0.8.0.dev20250604104349/letta/agents/ephemeral_summary_agent.py +104 -0
  6. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/helpers.py +35 -3
  7. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/letta_agent.py +492 -176
  8. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/letta_agent_batch.py +22 -16
  9. letta_nightly-0.8.0.dev20250604104349/letta/agents/prompts/summary_system_prompt.txt +62 -0
  10. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/voice_agent.py +22 -7
  11. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/voice_sleeptime_agent.py +13 -8
  12. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/constants.py +33 -1
  13. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/data_sources/connectors.py +52 -36
  14. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/errors.py +4 -0
  15. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/ast_parsers.py +13 -30
  16. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/function_sets/base.py +3 -1
  17. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/functions.py +2 -0
  18. letta_nightly-0.8.0.dev20250604104349/letta/functions/mcp_client/base_client.py +156 -0
  19. letta_nightly-0.8.0.dev20250604104349/letta/functions/mcp_client/sse_client.py +51 -0
  20. letta_nightly-0.8.0.dev20250604104349/letta/functions/mcp_client/stdio_client.py +109 -0
  21. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/schema_generator.py +22 -22
  22. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/helpers.py +3 -4
  23. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/sleeptime_multi_agent.py +4 -4
  24. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/sleeptime_multi_agent_v2.py +22 -0
  25. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/composio_helpers.py +16 -0
  26. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/converters.py +20 -0
  27. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/datetime_helpers.py +1 -6
  28. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/tool_rule_solver.py +2 -1
  29. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interfaces/anthropic_streaming_interface.py +17 -2
  30. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interfaces/openai_chat_completions_streaming_interface.py +1 -0
  31. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interfaces/openai_streaming_interface.py +18 -2
  32. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/anthropic_client.py +24 -3
  33. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/google_ai_client.py +0 -15
  34. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/google_vertex_client.py +6 -5
  35. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/llm_client_base.py +15 -0
  36. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/openai.py +2 -2
  37. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/openai_client.py +60 -8
  38. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/__init__.py +2 -0
  39. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/agent.py +45 -43
  40. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/base.py +0 -2
  41. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/block.py +1 -0
  42. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/custom_columns.py +13 -0
  43. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/enums.py +5 -0
  44. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/file.py +3 -1
  45. letta_nightly-0.8.0.dev20250604104349/letta/orm/files_agents.py +68 -0
  46. letta_nightly-0.8.0.dev20250604104349/letta/orm/mcp_server.py +48 -0
  47. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/message.py +1 -0
  48. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/organization.py +11 -2
  49. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/passage.py +25 -10
  50. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/sandbox_config.py +5 -2
  51. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/sqlalchemy_base.py +171 -110
  52. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_base.txt +6 -1
  53. letta_nightly-0.8.0.dev20250604104349/letta/prompts/system/memgpt_v2_chat.txt +57 -0
  54. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/sleeptime.txt +2 -0
  55. letta_nightly-0.8.0.dev20250604104349/letta/prompts/system/sleeptime_v2.txt +28 -0
  56. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/agent.py +87 -20
  57. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/block.py +7 -1
  58. letta_nightly-0.8.0.dev20250604104349/letta/schemas/file.py +88 -0
  59. letta_nightly-0.8.0.dev20250604104349/letta/schemas/mcp.py +74 -0
  60. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/memory.py +5 -2
  61. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/message.py +9 -0
  62. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/openai/openai.py +0 -6
  63. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/providers.py +33 -4
  64. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/tool.py +26 -21
  65. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/tool_execution_result.py +5 -0
  66. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/db.py +23 -8
  67. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/app.py +73 -56
  68. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/interface.py +4 -4
  69. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/agents.py +132 -47
  70. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/blocks.py +3 -2
  71. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/embeddings.py +3 -3
  72. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/groups.py +3 -3
  73. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/jobs.py +14 -17
  74. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/organizations.py +10 -10
  75. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/providers.py +12 -10
  76. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/runs.py +3 -3
  77. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/sandbox_configs.py +12 -12
  78. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/sources.py +108 -43
  79. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/steps.py +8 -6
  80. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/tools.py +134 -95
  81. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/utils.py +12 -1
  82. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/server.py +272 -73
  83. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/agent_manager.py +246 -313
  84. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/block_manager.py +30 -9
  85. letta_nightly-0.8.0.dev20250604104349/letta/services/context_window_calculator/context_window_calculator.py +150 -0
  86. letta_nightly-0.8.0.dev20250604104349/letta/services/context_window_calculator/token_counter.py +82 -0
  87. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/chunker/llama_index_chunker.py +29 -0
  88. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/embedder/openai_embedder.py +84 -0
  89. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/file_processor.py +123 -0
  90. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/parser/base_parser.py +9 -0
  91. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/parser/mistral_parser.py +54 -0
  92. letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/types.py +0 -0
  93. letta_nightly-0.8.0.dev20250604104349/letta/services/files_agents_manager.py +184 -0
  94. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/group_manager.py +118 -0
  95. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/helpers/agent_manager_helper.py +76 -21
  96. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/helpers/tool_execution_helper.py +3 -0
  97. letta_nightly-0.8.0.dev20250604104349/letta/services/helpers/tool_parser_helper.py +100 -0
  98. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/identity_manager.py +44 -42
  99. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/job_manager.py +21 -10
  100. letta_nightly-0.8.0.dev20250604104349/letta/services/mcp/__init__.py +0 -0
  101. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/mcp/base_client.py +5 -2
  102. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/mcp/sse_client.py +3 -5
  103. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/mcp/stdio_client.py +3 -5
  104. letta_nightly-0.8.0.dev20250604104349/letta/services/mcp_manager.py +281 -0
  105. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/message_manager.py +40 -26
  106. letta_nightly-0.8.0.dev20250604104349/letta/services/organization_manager.py +134 -0
  107. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/passage_manager.py +211 -13
  108. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/provider_manager.py +48 -2
  109. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/sandbox_config_manager.py +105 -0
  110. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/source_manager.py +4 -5
  111. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/step_manager.py +9 -6
  112. letta_nightly-0.8.0.dev20250604104349/letta/services/summarizer/__init__.py +0 -0
  113. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/summarizer/summarizer.py +50 -23
  114. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/telemetry_manager.py +7 -0
  115. letta_nightly-0.8.0.dev20250604104349/letta/services/tool_executor/__init__.py +0 -0
  116. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_executor/tool_execution_manager.py +11 -52
  117. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_executor/tool_execution_sandbox.py +4 -34
  118. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_executor/tool_executor.py +107 -105
  119. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_manager.py +56 -17
  120. letta_nightly-0.8.0.dev20250604104349/letta/services/tool_sandbox/__init__.py +0 -0
  121. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_sandbox/base.py +39 -92
  122. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_sandbox/e2b_sandbox.py +16 -11
  123. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/tool_sandbox/local_sandbox.py +51 -23
  124. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/user_manager.py +36 -3
  125. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/settings.py +10 -3
  126. letta_nightly-0.8.0.dev20250604104349/letta/templates/__init__.py +0 -0
  127. letta_nightly-0.8.0.dev20250604104349/letta/templates/sandbox_code_file.py.j2 +47 -0
  128. letta_nightly-0.8.0.dev20250604104349/letta/templates/template_helper.py +16 -0
  129. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/tracing.py +30 -1
  130. letta_nightly-0.8.0.dev20250604104349/letta/types/__init__.py +7 -0
  131. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/utils.py +25 -1
  132. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/pyproject.toml +9 -4
  133. letta_nightly-0.7.30.dev20250603104343/letta/functions/mcp_client/base_client.py +0 -102
  134. letta_nightly-0.7.30.dev20250603104343/letta/functions/mcp_client/sse_client.py +0 -33
  135. letta_nightly-0.7.30.dev20250603104343/letta/functions/mcp_client/stdio_client.py +0 -108
  136. letta_nightly-0.7.30.dev20250603104343/letta/schemas/file.py +0 -31
  137. letta_nightly-0.7.30.dev20250603104343/letta/services/organization_manager.py +0 -98
  138. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/LICENSE +0 -0
  139. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/README.md +0 -0
  140. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/__init__.py +0 -0
  141. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/ephemeral_agent.py +0 -0
  142. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/agents/exceptions.py +0 -0
  143. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/cli/cli.py +0 -0
  144. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/cli/cli_load.py +0 -0
  145. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/client/__init__.py +0 -0
  146. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/client/client.py +0 -0
  147. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/client/streaming.py +0 -0
  148. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/client/utils.py +0 -0
  149. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/config.py +0 -0
  150. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/data_sources/connectors_helper.py +0 -0
  151. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/embeddings.py +0 -0
  152. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/__init__.py +0 -0
  153. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/async_composio_toolset.py +0 -0
  154. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/composio_helpers.py +0 -0
  155. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/function_sets/builtin.py +0 -0
  156. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/function_sets/extras.py +0 -0
  157. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/function_sets/multi_agent.py +0 -0
  158. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/function_sets/voice.py +0 -0
  159. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/helpers.py +0 -0
  160. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/interface.py +0 -0
  161. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/mcp_client/__init__.py +0 -0
  162. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/mcp_client/exceptions.py +0 -0
  163. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/functions/mcp_client/types.py +0 -0
  164. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/dynamic_multi_agent.py +0 -0
  165. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/round_robin_multi_agent.py +0 -0
  166. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/groups/supervisor_multi_agent.py +0 -0
  167. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/__init__.py +0 -0
  168. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/json_helpers.py +0 -0
  169. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/message_helper.py +0 -0
  170. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/helpers/tool_execution_helper.py +0 -0
  171. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/humans/__init__.py +0 -0
  172. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/humans/examples/basic.txt +0 -0
  173. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/humans/examples/cs_phd.txt +0 -0
  174. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interface.py +0 -0
  175. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interfaces/__init__.py +0 -0
  176. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/interfaces/utils.py +0 -0
  177. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/jobs/__init__.py +0 -0
  178. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/jobs/helpers.py +0 -0
  179. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/jobs/llm_batch_job_polling.py +0 -0
  180. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/jobs/scheduler.py +0 -0
  181. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/jobs/types.py +0 -0
  182. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/__init__.py +0 -0
  183. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/anthropic.py +0 -0
  184. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/aws_bedrock.py +0 -0
  185. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/azure_openai.py +0 -0
  186. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/azure_openai_constants.py +0 -0
  187. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/cohere.py +0 -0
  188. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/deepseek.py +0 -0
  189. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/google_constants.py +0 -0
  190. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/helpers.py +0 -0
  191. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/llm_api_tools.py +0 -0
  192. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/llm_client.py +0 -0
  193. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/llm_api/mistral.py +0 -0
  194. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/README.md +0 -0
  195. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/__init__.py +0 -0
  196. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/chat_completion_proxy.py +0 -0
  197. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/constants.py +0 -0
  198. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/function_parser.py +0 -0
  199. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/grammars/__init__.py +0 -0
  200. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
  201. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/grammars/json.gbnf +0 -0
  202. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
  203. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/json_parser.py +0 -0
  204. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/koboldcpp/api.py +0 -0
  205. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/koboldcpp/settings.py +0 -0
  206. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llamacpp/api.py +0 -0
  207. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llamacpp/settings.py +0 -0
  208. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
  209. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
  210. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
  211. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
  212. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
  213. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
  214. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
  215. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
  216. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
  217. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/lmstudio/api.py +0 -0
  218. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/lmstudio/settings.py +0 -0
  219. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/ollama/api.py +0 -0
  220. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/ollama/settings.py +0 -0
  221. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/settings/__init__.py +0 -0
  222. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
  223. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/settings/settings.py +0 -0
  224. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/settings/simple.py +0 -0
  225. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/utils.py +0 -0
  226. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/vllm/api.py +0 -0
  227. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/webui/api.py +0 -0
  228. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/webui/legacy_api.py +0 -0
  229. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/webui/legacy_settings.py +0 -0
  230. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/local_llm/webui/settings.py +0 -0
  231. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/log.py +0 -0
  232. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/main.py +0 -0
  233. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/memory.py +0 -0
  234. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/openai_backcompat/__init__.py +0 -0
  235. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/openai_backcompat/openai_object.py +0 -0
  236. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/__all__.py +0 -0
  237. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/agents_tags.py +0 -0
  238. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/block_history.py +0 -0
  239. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/blocks_agents.py +0 -0
  240. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/errors.py +0 -0
  241. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/group.py +0 -0
  242. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/groups_agents.py +0 -0
  243. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/groups_blocks.py +0 -0
  244. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/identities_agents.py +0 -0
  245. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/identities_blocks.py +0 -0
  246. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/identity.py +0 -0
  247. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/job.py +0 -0
  248. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/job_messages.py +0 -0
  249. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/llm_batch_items.py +0 -0
  250. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/llm_batch_job.py +0 -0
  251. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/mixins.py +0 -0
  252. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/provider.py +0 -0
  253. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/provider_trace.py +0 -0
  254. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/source.py +0 -0
  255. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/sources_agents.py +0 -0
  256. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/sqlite_functions.py +0 -0
  257. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/step.py +0 -0
  258. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/tool.py +0 -0
  259. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/tools_agents.py +0 -0
  260. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/orm/user.py +0 -0
  261. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/__init__.py +0 -0
  262. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/anna_pa.txt +0 -0
  263. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/google_search_persona.txt +0 -0
  264. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/memgpt_doc.txt +0 -0
  265. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/memgpt_starter.txt +0 -0
  266. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/o1_persona.txt +0 -0
  267. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sam.txt +0 -0
  268. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sam_pov.txt +0 -0
  269. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
  270. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sleeptime_doc_persona.txt +0 -0
  271. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sleeptime_memory_persona.txt +0 -0
  272. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/sqldb/test.db +0 -0
  273. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/personas/examples/voice_memory_persona.txt +0 -0
  274. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/__init__.py +0 -0
  275. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/gpt_summarize.py +0 -0
  276. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/gpt_system.py +0 -0
  277. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_chat.txt +0 -0
  278. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
  279. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
  280. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_convo_only.txt +0 -0
  281. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_doc.txt +0 -0
  282. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
  283. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
  284. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_memory_only.txt +0 -0
  285. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
  286. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
  287. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
  288. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
  289. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/memgpt_sleeptime_chat.txt +0 -0
  290. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/sleeptime_doc_ingest.txt +0 -0
  291. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/voice_chat.txt +0 -0
  292. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/prompts/system/voice_sleeptime.txt +0 -0
  293. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/pytest.ini +0 -0
  294. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/embedding_config.py +0 -0
  295. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/embedding_config_overrides.py +0 -0
  296. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/enums.py +0 -0
  297. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/environment_variables.py +0 -0
  298. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/group.py +0 -0
  299. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/health.py +0 -0
  300. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/identity.py +0 -0
  301. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/job.py +0 -0
  302. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/letta_base.py +0 -0
  303. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/letta_message.py +0 -0
  304. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/letta_message_content.py +0 -0
  305. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/letta_request.py +0 -0
  306. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/letta_response.py +0 -0
  307. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/llm_batch_job.py +0 -0
  308. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/llm_config.py +0 -0
  309. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/llm_config_overrides.py +0 -0
  310. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/openai/chat_completion_request.py +0 -0
  311. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/openai/chat_completion_response.py +0 -0
  312. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/openai/chat_completions.py +0 -0
  313. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/openai/embedding_response.py +0 -0
  314. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/organization.py +0 -0
  315. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/passage.py +0 -0
  316. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/provider_trace.py +0 -0
  317. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/response_format.py +0 -0
  318. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/run.py +0 -0
  319. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/sandbox_config.py +0 -0
  320. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/source.py +0 -0
  321. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/step.py +0 -0
  322. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/tool_rule.py +0 -0
  323. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/usage.py +0 -0
  324. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/schemas/user.py +0 -0
  325. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/__init__.py +0 -0
  326. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_agent.py +0 -0
  327. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_agent_environment_variable.py +0 -0
  328. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_base.py +0 -0
  329. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_block.py +0 -0
  330. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_custom_fields.py +0 -0
  331. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_message.py +0 -0
  332. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_tag.py +0 -0
  333. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/marshmallow_tool.py +0 -0
  334. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/serialize_schemas/pydantic_agent_schema.py +0 -0
  335. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/__init__.py +0 -0
  336. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/constants.py +0 -0
  337. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/generate_openapi_schema.sh +0 -0
  338. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/__init__.py +0 -0
  339. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/auth/__init__.py +0 -0
  340. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/auth/index.py +0 -0
  341. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/auth_token.py +0 -0
  342. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/chat_completions_interface.py +0 -0
  343. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/json_parser.py +0 -0
  344. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/__init__.py +0 -0
  345. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
  346. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +0 -0
  347. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/__init__.py +0 -0
  348. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/health.py +0 -0
  349. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/identities.py +0 -0
  350. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/llms.py +0 -0
  351. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/messages.py +0 -0
  352. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/tags.py +0 -0
  353. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/telemetry.py +0 -0
  354. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/users.py +0 -0
  355. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/routers/v1/voice.py +0 -0
  356. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/static_files.py +0 -0
  357. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/rest_api/streaming_response.py +0 -0
  358. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/startup.sh +0 -0
  359. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/static_files/assets/index-048c9598.js +0 -0
  360. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/static_files/assets/index-0e31b727.css +0 -0
  361. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/static_files/favicon.ico +0 -0
  362. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/static_files/index.html +0 -0
  363. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
  364. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/utils.py +0 -0
  365. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/ws_api/__init__.py +0 -0
  366. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/ws_api/example_client.py +0 -0
  367. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/ws_api/interface.py +0 -0
  368. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/ws_api/protocol.py +0 -0
  369. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/server/ws_api/server.py +0 -0
  370. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/__init__.py +0 -0
  371. {letta_nightly-0.7.30.dev20250603104343/letta/services/mcp → letta_nightly-0.8.0.dev20250604104349/letta/services/context_window_calculator}/__init__.py +0 -0
  372. {letta_nightly-0.7.30.dev20250603104343/letta/services/summarizer → letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor}/__init__.py +0 -0
  373. {letta_nightly-0.7.30.dev20250603104343/letta/services/tool_executor → letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/chunker}/__init__.py +0 -0
  374. {letta_nightly-0.7.30.dev20250603104343/letta/services/tool_sandbox → letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/embedder}/__init__.py +0 -0
  375. {letta_nightly-0.7.30.dev20250603104343/letta/types → letta_nightly-0.8.0.dev20250604104349/letta/services/file_processor/parser}/__init__.py +0 -0
  376. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/helpers/noop_helper.py +0 -0
  377. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/llm_batch_manager.py +0 -0
  378. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/mcp/types.py +0 -0
  379. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/per_agent_lock_manager.py +0 -0
  380. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/services/summarizer/enums.py +0 -0
  381. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/streaming_interface.py +0 -0
  382. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/streaming_utils.py +0 -0
  383. {letta_nightly-0.7.30.dev20250603104343 → letta_nightly-0.8.0.dev20250604104349}/letta/system.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.7.30.dev20250603104343
3
+ Version: 0.8.0.dev20250604104349
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -16,6 +16,7 @@ Provides-Extra: bedrock
16
16
  Provides-Extra: cloud-tool-sandbox
17
17
  Provides-Extra: desktop
18
18
  Provides-Extra: dev
19
+ Provides-Extra: experimental
19
20
  Provides-Extra: external-tools
20
21
  Provides-Extra: google
21
22
  Provides-Extra: postgres
@@ -27,7 +28,8 @@ Requires-Dist: aiosqlite (>=0.21.0,<0.22.0)
27
28
  Requires-Dist: alembic (>=1.13.3,<2.0.0)
28
29
  Requires-Dist: anthropic (>=0.49.0,<0.50.0)
29
30
  Requires-Dist: apscheduler (>=3.11.0,<4.0.0)
30
- Requires-Dist: asyncpg (>=0.30.0,<0.31.0)
31
+ Requires-Dist: async-lru (>=2.0.5,<3.0.0)
32
+ Requires-Dist: asyncpg (>=0.30.0,<0.31.0) ; extra == "postgres"
31
33
  Requires-Dist: autoflake (>=2.3.0,<3.0.0) ; extra == "dev" or extra == "all"
32
34
  Requires-Dist: black[jupyter] (>=24.2.0,<25.0.0) ; extra == "dev" or extra == "all"
33
35
  Requires-Dist: boto3 (>=1.36.24,<2.0.0) ; extra == "bedrock"
@@ -43,6 +45,7 @@ Requires-Dist: faker (>=36.1.0,<37.0.0)
43
45
  Requires-Dist: fastapi (>=0.115.6,<0.116.0) ; extra == "server" or extra == "desktop" or extra == "all"
44
46
  Requires-Dist: firecrawl-py (>=1.15.0,<2.0.0)
45
47
  Requires-Dist: google-genai (>=1.15.0,<2.0.0) ; extra == "google"
48
+ Requires-Dist: granian[reload,uvloop] (>=2.3.2,<3.0.0) ; extra == "experimental" or extra == "all"
46
49
  Requires-Dist: grpcio (>=1.68.1,<2.0.0)
47
50
  Requires-Dist: grpcio-tools (>=1.68.1,<2.0.0)
48
51
  Requires-Dist: html2text (>=2020.1.16,<2021.0.0)
@@ -59,6 +62,7 @@ Requires-Dist: locust (>=2.31.5,<3.0.0) ; extra == "dev" or extra == "desktop" o
59
62
  Requires-Dist: marshmallow-sqlalchemy (>=1.4.1,<2.0.0)
60
63
  Requires-Dist: matplotlib (>=3.10.1,<4.0.0)
61
64
  Requires-Dist: mcp (>=1.3.0,<2.0.0)
65
+ Requires-Dist: mistralai (>=1.8.1,<2.0.0)
62
66
  Requires-Dist: nltk (>=3.8.1,<4.0.0)
63
67
  Requires-Dist: numpy (>=1.26.2,<2.0.0)
64
68
  Requires-Dist: openai (>=1.60.0,<2.0.0)
@@ -97,6 +101,7 @@ Requires-Dist: tavily-python (>=0.7.2,<0.8.0)
97
101
  Requires-Dist: tqdm (>=4.66.1,<5.0.0)
98
102
  Requires-Dist: typer[all] (>=0.9.0,<0.10.0)
99
103
  Requires-Dist: uvicorn (>=0.24.0.post1,<0.25.0) ; extra == "server" or extra == "desktop" or extra == "all"
104
+ Requires-Dist: uvloop (>=0.21.0,<0.22.0) ; extra == "experimental" or extra == "all"
100
105
  Requires-Dist: wikipedia (>=1.4.0,<2.0.0) ; extra == "external-tools" or extra == "tests" or extra == "desktop" or extra == "all"
101
106
  Description-Content-Type: text/markdown
102
107
 
@@ -1,4 +1,10 @@
1
- __version__ = "0.7.29"
1
+ import os
2
+
3
+ __version__ = "0.8.0"
4
+
5
+ if os.environ.get("LETTA_VERSION"):
6
+ __version__ = os.environ["LETTA_VERSION"]
7
+
2
8
 
3
9
  # import clients
4
10
  from letta.client.client import RESTClient
@@ -27,7 +27,6 @@ from letta.errors import ContextWindowExceededError
27
27
  from letta.functions.ast_parsers import coerce_dict_args_by_annotations, get_function_annotations_from_source
28
28
  from letta.functions.composio_helpers import execute_composio_action, generate_composio_action_from_func_name
29
29
  from letta.functions.functions import get_function_from_module
30
- from letta.functions.mcp_client.base_client import BaseMCPClient
31
30
  from letta.helpers import ToolRulesSolver
32
31
  from letta.helpers.composio_helpers import get_composio_api_key
33
32
  from letta.helpers.datetime_helpers import get_utc_time
@@ -60,7 +59,9 @@ from letta.schemas.usage import LettaUsageStatistics
60
59
  from letta.services.agent_manager import AgentManager
61
60
  from letta.services.block_manager import BlockManager
62
61
  from letta.services.helpers.agent_manager_helper import check_supports_structured_output, compile_memory_metadata_block
62
+ from letta.services.helpers.tool_parser_helper import runtime_override_tool_json_schema
63
63
  from letta.services.job_manager import JobManager
64
+ from letta.services.mcp.base_client import AsyncBaseMCPClient
64
65
  from letta.services.message_manager import MessageManager
65
66
  from letta.services.passage_manager import PassageManager
66
67
  from letta.services.provider_manager import ProviderManager
@@ -103,7 +104,7 @@ class Agent(BaseAgent):
103
104
  # extras
104
105
  first_message_verify_mono: bool = True, # TODO move to config?
105
106
  # MCP sessions, state held in-memory in the server
106
- mcp_clients: Optional[Dict[str, BaseMCPClient]] = None,
107
+ mcp_clients: Optional[Dict[str, AsyncBaseMCPClient]] = None,
107
108
  save_last_response: bool = False,
108
109
  ):
109
110
  assert isinstance(agent_state.memory, Memory), f"Memory object is not of type Memory: {type(agent_state.memory)}"
@@ -168,7 +169,11 @@ class Agent(BaseAgent):
168
169
  self.logger = get_logger(agent_state.id)
169
170
 
170
171
  # MCPClient, state/sessions managed by the server
171
- self.mcp_clients = mcp_clients
172
+ # TODO: This is temporary, as a bridge
173
+ self.mcp_clients = None
174
+ # TODO: no longer supported
175
+ # if mcp_clients:
176
+ # self.mcp_clients = {client_id: client.to_sync_client() for client_id, client in mcp_clients.items()}
172
177
 
173
178
  def load_last_function_response(self):
174
179
  """Load the last function response from message history"""
@@ -217,6 +222,7 @@ class Agent(BaseAgent):
217
222
  # refresh memory from DB (using block ids)
218
223
  self.agent_state.memory = Memory(
219
224
  blocks=[self.block_manager.get_block_by_id(block.id, actor=self.user) for block in self.agent_state.memory.get_blocks()],
225
+ file_blocks=self.agent_state.memory.file_blocks,
220
226
  prompt_template=get_prompt_template_for_agent_type(self.agent_state.agent_type),
221
227
  )
222
228
 
@@ -226,6 +232,7 @@ class Agent(BaseAgent):
226
232
  self.agent_state = self.agent_manager.rebuild_system_prompt(agent_id=self.agent_state.id, actor=self.user)
227
233
 
228
234
  return True
235
+
229
236
  return False
230
237
 
231
238
  def _handle_function_error_response(
@@ -323,7 +330,9 @@ class Agent(BaseAgent):
323
330
  return None
324
331
 
325
332
  allowed_functions = [func for func in agent_state_tool_jsons if func["name"] in allowed_tool_names]
326
- allowed_functions = self._runtime_override_tool_json_schema(allowed_functions)
333
+ allowed_functions = runtime_override_tool_json_schema(
334
+ tool_list=allowed_functions, response_format=self.agent_state.response_format, request_heartbeat=True
335
+ )
327
336
 
328
337
  # For the first message, force the initial tool if one is specified
329
338
  force_tool_call = None
@@ -858,6 +867,7 @@ class Agent(BaseAgent):
858
867
  # only pulling latest block data if shared memory is being used
859
868
  current_persisted_memory = Memory(
860
869
  blocks=[self.block_manager.get_block_by_id(block.id, actor=self.user) for block in self.agent_state.memory.get_blocks()],
870
+ file_blocks=self.agent_state.memory.file_blocks,
861
871
  prompt_template=get_prompt_template_for_agent_type(self.agent_state.agent_type),
862
872
  ) # read blocks from DB
863
873
  self.update_memory_if_changed(current_persisted_memory)
@@ -1225,7 +1235,6 @@ class Agent(BaseAgent):
1225
1235
  memory_edit_timestamp=get_utc_time(),
1226
1236
  previous_message_count=self.message_manager.size(actor=self.user, agent_id=self.agent_state.id),
1227
1237
  archival_memory_size=self.agent_manager.passage_size(actor=self.user, agent_id=self.agent_state.id),
1228
- recent_passages=self.agent_manager.list_passages(actor=self.user, agent_id=self.agent_state.id, ascending=False, limit=10),
1229
1238
  )
1230
1239
  num_tokens_external_memory_summary = count_tokens(external_memory_summary)
1231
1240
 
@@ -1601,8 +1610,6 @@ class Agent(BaseAgent):
1601
1610
  if server_name not in self.mcp_clients:
1602
1611
  raise ValueError(f"Unknown MCP server name: {server_name}")
1603
1612
  mcp_client = self.mcp_clients[server_name]
1604
- if not isinstance(mcp_client, BaseMCPClient):
1605
- raise RuntimeError(f"Expected an MCPClient, but got: {type(mcp_client)}")
1606
1613
 
1607
1614
  # Check that tool exists
1608
1615
  available_tools = mcp_client.list_tools()
@@ -40,6 +40,7 @@ class BaseAgent(ABC):
40
40
  self.message_manager = message_manager
41
41
  self.agent_manager = agent_manager
42
42
  self.actor = actor
43
+ self.logger = get_logger(agent_id)
43
44
 
44
45
  @abstractmethod
45
46
  async def step(self, input_messages: List[MessageCreate], max_steps: int = 10) -> LettaResponse:
@@ -0,0 +1,104 @@
1
+ from pathlib import Path
2
+ from typing import AsyncGenerator, Dict, List
3
+
4
+ from openai import AsyncOpenAI
5
+
6
+ from letta.agents.base_agent import BaseAgent
7
+ from letta.orm.errors import NoResultFound
8
+ from letta.schemas.block import Block, BlockUpdate
9
+ from letta.schemas.enums import MessageRole
10
+ from letta.schemas.letta_message_content import TextContent
11
+ from letta.schemas.message import Message, MessageCreate
12
+ from letta.schemas.openai.chat_completion_request import ChatCompletionRequest
13
+ from letta.schemas.user import User
14
+ from letta.services.agent_manager import AgentManager
15
+ from letta.services.block_manager import BlockManager
16
+ from letta.services.message_manager import MessageManager
17
+
18
+
19
+ class EphemeralSummaryAgent(BaseAgent):
20
+ """
21
+ A stateless summarization agent (thin wrapper around OpenAI)
22
+
23
+ # TODO: Extend to more clients
24
+ """
25
+
26
+ def __init__(
27
+ self,
28
+ target_block_label: str,
29
+ agent_id: str,
30
+ message_manager: MessageManager,
31
+ agent_manager: AgentManager,
32
+ block_manager: BlockManager,
33
+ actor: User,
34
+ ):
35
+ super().__init__(
36
+ agent_id=agent_id,
37
+ openai_client=AsyncOpenAI(),
38
+ message_manager=message_manager,
39
+ agent_manager=agent_manager,
40
+ actor=actor,
41
+ )
42
+ self.target_block_label = target_block_label
43
+ self.block_manager = block_manager
44
+
45
+ async def step(self, input_messages: List[MessageCreate], max_steps: int = 10) -> List[Message]:
46
+ if len(input_messages) > 1:
47
+ raise ValueError("Can only invoke EphemeralSummaryAgent with a single summarization message.")
48
+
49
+ # Check block existence
50
+ try:
51
+ block = await self.agent_manager.get_block_with_label_async(
52
+ agent_id=self.agent_id, block_label=self.target_block_label, actor=self.actor
53
+ )
54
+ except NoResultFound:
55
+ block = await self.block_manager.create_or_update_block_async(
56
+ block=Block(
57
+ value="", label=self.target_block_label, description="Contains recursive summarizations of the conversation so far"
58
+ ),
59
+ actor=self.actor,
60
+ )
61
+ await self.agent_manager.attach_block_async(agent_id=self.agent_id, block_id=block.id, actor=self.actor)
62
+
63
+ if block.value:
64
+ input_message = input_messages[0]
65
+ input_message.content[0].text += f"\n\n--- Previous Summary ---\n{block.value}\n"
66
+
67
+ openai_messages = self.pre_process_input_message(input_messages=input_messages)
68
+ request = self._build_openai_request(openai_messages)
69
+
70
+ # TODO: Extend to generic client
71
+ chat_completion = await self.openai_client.chat.completions.create(**request.model_dump(exclude_unset=True))
72
+ summary = chat_completion.choices[0].message.content.strip()
73
+
74
+ await self.block_manager.update_block_async(block_id=block.id, block_update=BlockUpdate(value=summary), actor=self.actor)
75
+
76
+ print(block)
77
+ print(summary)
78
+
79
+ return [
80
+ Message(
81
+ role=MessageRole.assistant,
82
+ content=[TextContent(text=summary)],
83
+ )
84
+ ]
85
+
86
+ def _build_openai_request(self, openai_messages: List[Dict]) -> ChatCompletionRequest:
87
+ current_dir = Path(__file__).parent
88
+ file_path = current_dir / "prompts" / "summary_system_prompt.txt"
89
+ with open(file_path, "r") as file:
90
+ system = file.read()
91
+
92
+ system_message = [{"role": "system", "content": system}]
93
+
94
+ openai_request = ChatCompletionRequest(
95
+ model="gpt-4o",
96
+ messages=system_message + openai_messages,
97
+ user=self.actor.id,
98
+ max_completion_tokens=4096,
99
+ temperature=0.7,
100
+ )
101
+ return openai_request
102
+
103
+ async def step_stream(self, input_messages: List[MessageCreate], max_steps: int = 10) -> AsyncGenerator[str, None]:
104
+ raise NotImplementedError("EphemeralAgent does not support async step.")
@@ -85,9 +85,7 @@ async def _prepare_in_context_messages_async(
85
85
 
86
86
  if agent_state.message_buffer_autoclear:
87
87
  # If autoclear is enabled, only include the most recent system message (usually at index 0)
88
- current_in_context_messages = [
89
- (await message_manager.get_messages_by_ids_async(message_ids=agent_state.message_ids, actor=actor))[0]
90
- ]
88
+ current_in_context_messages = [await message_manager.get_message_by_id_async(message_id=agent_state.message_ids[0], actor=actor)]
91
89
  else:
92
90
  # Otherwise, include the full list of messages by ID for context
93
91
  current_in_context_messages = await message_manager.get_messages_by_ids_async(message_ids=agent_state.message_ids, actor=actor)
@@ -100,6 +98,40 @@ async def _prepare_in_context_messages_async(
100
98
  return current_in_context_messages, new_in_context_messages
101
99
 
102
100
 
101
+ async def _prepare_in_context_messages_no_persist_async(
102
+ input_messages: List[MessageCreate],
103
+ agent_state: AgentState,
104
+ message_manager: MessageManager,
105
+ actor: User,
106
+ ) -> Tuple[List[Message], List[Message]]:
107
+ """
108
+ Prepares in-context messages for an agent, based on the current state and a new user input.
109
+
110
+ Args:
111
+ input_messages (List[MessageCreate]): The new user input messages to process.
112
+ agent_state (AgentState): The current state of the agent, including message buffer config.
113
+ message_manager (MessageManager): The manager used to retrieve and create messages.
114
+ actor (User): The user performing the action, used for access control and attribution.
115
+
116
+ Returns:
117
+ Tuple[List[Message], List[Message]]: A tuple containing:
118
+ - The current in-context messages (existing context for the agent).
119
+ - The new in-context messages (messages created from the new input).
120
+ """
121
+
122
+ if agent_state.message_buffer_autoclear:
123
+ # If autoclear is enabled, only include the most recent system message (usually at index 0)
124
+ current_in_context_messages = [await message_manager.get_message_by_id_async(message_id=agent_state.message_ids[0], actor=actor)]
125
+ else:
126
+ # Otherwise, include the full list of messages by ID for context
127
+ current_in_context_messages = await message_manager.get_messages_by_ids_async(message_ids=agent_state.message_ids, actor=actor)
128
+
129
+ # Create a new user message from the input but dont store it yet
130
+ new_in_context_messages = create_input_messages(input_messages=input_messages, agent_id=agent_state.id, actor=actor)
131
+
132
+ return current_in_context_messages, new_in_context_messages
133
+
134
+
103
135
  def serialize_message_history(messages: List[str], context: str) -> str:
104
136
  """
105
137
  Produce an XML document like: