letta-nightly 0.7.14.dev20250513104323__tar.gz → 0.7.15.dev20250514104255__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.
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/PKG-INFO +1 -1
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/__init__.py +1 -1
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/base_agent.py +8 -2
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/letta_agent.py +12 -1
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interfaces/anthropic_streaming_interface.py +19 -2
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/openai.py +11 -13
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/llm_config.py +2 -1
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/db.py +1 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/blocks.py +10 -3
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/block_manager.py +62 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/pyproject.toml +1 -1
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/LICENSE +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/README.md +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/__main__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/ephemeral_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/exceptions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/letta_agent_batch.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/voice_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agents/voice_sleeptime_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/benchmark/benchmark.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/benchmark/constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/cli/cli.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/cli/cli_config.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/cli/cli_load.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/client/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/client/client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/client/streaming.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/client/utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/config.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/data_sources/connectors.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/data_sources/connectors_helper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/embeddings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/errors.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/ast_parsers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/async_composio_toolset.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/composio_helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/function_sets/base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/function_sets/extras.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/function_sets/multi_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/function_sets/voice.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/functions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/base_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/exceptions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/sse_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/stdio_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/mcp_client/types.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/functions/schema_generator.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/dynamic_multi_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/round_robin_multi_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/sleeptime_multi_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/sleeptime_multi_agent_v2.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/groups/supervisor_multi_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/composio_helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/converters.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/datetime_helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/json_helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/message_helper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/tool_execution_helper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/helpers/tool_rule_solver.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/humans/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/humans/examples/basic.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/humans/examples/cs_phd.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interfaces/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interfaces/openai_chat_completions_streaming_interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interfaces/utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/jobs/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/jobs/helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/jobs/llm_batch_job_polling.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/jobs/scheduler.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/jobs/types.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/anthropic.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/anthropic_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/aws_bedrock.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/azure_openai.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/azure_openai_constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/cohere.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/deepseek.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/google_ai_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/google_constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/google_vertex_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/helpers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/llm_api_tools.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/llm_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/llm_client_base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/mistral.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/llm_api/openai_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/README.md +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/chat_completion_proxy.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/function_parser.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/grammars/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/grammars/json.gbnf +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/json_parser.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/koboldcpp/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/koboldcpp/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llamacpp/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llamacpp/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/lmstudio/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/lmstudio/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/ollama/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/ollama/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/settings/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/settings/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/settings/simple.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/vllm/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/webui/api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/webui/legacy_api.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/webui/legacy_settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/local_llm/webui/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/log.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/main.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/memory.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/openai_backcompat/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/openai_backcompat/openai_object.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/__all__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/agents_tags.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/block.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/block_history.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/blocks_agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/custom_columns.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/enums.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/errors.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/file.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/group.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/groups_agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/groups_blocks.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/identities_agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/identities_blocks.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/identity.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/job.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/job_messages.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/llm_batch_items.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/llm_batch_job.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/message.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/mixins.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/organization.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/passage.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/provider.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/sandbox_config.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/source.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/sources_agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/sqlalchemy_base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/sqlite_functions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/step.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/tool.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/tools_agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/orm/user.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/anna_pa.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/google_search_persona.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/memgpt_doc.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/memgpt_starter.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/o1_persona.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sam.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sam_pov.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sleeptime_doc_persona.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sleeptime_memory_persona.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/sqldb/test.db +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/personas/examples/voice_memory_persona.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/gpt_summarize.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/gpt_system.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_base.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_chat.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_convo_only.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_doc.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_memory_only.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/memgpt_sleeptime_chat.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/sleeptime.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/sleeptime_doc_ingest.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/voice_chat.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/prompts/system/voice_sleeptime.txt +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/pytest.ini +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/block.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/embedding_config.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/embedding_config_overrides.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/enums.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/environment_variables.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/file.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/group.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/health.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/identity.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/job.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/letta_base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/letta_message.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/letta_message_content.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/letta_request.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/letta_response.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/llm_batch_job.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/llm_config_overrides.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/memory.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/message.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/openai/chat_completion_request.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/openai/chat_completion_response.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/openai/chat_completions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/openai/embedding_response.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/openai/openai.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/organization.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/passage.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/providers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/response_format.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/run.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/sandbox_config.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/source.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/step.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/tool.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/tool_execution_result.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/tool_rule.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/usage.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/schemas/user.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_agent.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_agent_environment_variable.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_block.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_custom_fields.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_message.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_tag.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/marshmallow_tool.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/serialize_schemas/pydantic_agent_schema.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/constants.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/generate_openapi_schema.sh +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/app.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/auth/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/auth/index.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/auth_token.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/chat_completions_interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/json_parser.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/agents.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/embeddings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/groups.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/health.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/identities.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/jobs.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/llms.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/messages.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/organizations.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/providers.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/runs.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/sandbox_configs.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/sources.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/steps.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/tags.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/tools.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/users.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/routers/v1/voice.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/static_files.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/rest_api/utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/server.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/startup.sh +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/static_files/assets/index-048c9598.js +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/static_files/assets/index-0e31b727.css +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/static_files/favicon.ico +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/static_files/index.html +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/ws_api/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/ws_api/example_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/ws_api/interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/ws_api/protocol.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/ws_api/server.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/agent_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/group_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/helpers/agent_manager_helper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/helpers/tool_execution_helper.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/identity_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/job_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/llm_batch_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/mcp/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/mcp/base_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/mcp/sse_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/mcp/stdio_client.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/mcp/types.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/message_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/organization_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/passage_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/per_agent_lock_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/provider_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/sandbox_config_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/source_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/step_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/summarizer/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/summarizer/enums.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/summarizer/summarizer.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_executor/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_executor/tool_execution_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_executor/tool_execution_sandbox.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_executor/tool_executor.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_sandbox/__init__.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_sandbox/base.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_sandbox/e2b_sandbox.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/tool_sandbox/local_sandbox.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/services/user_manager.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/settings.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/streaming_interface.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/streaming_utils.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/system.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/tracing.py +0 -0
- {letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/utils.py +0 -0
@@ -127,7 +127,13 @@ class BaseAgent(ABC):
|
|
127
127
|
logger.exception(f"Failed to rebuild memory for agent id={agent_state.id} and actor=({self.actor.id}, {self.actor.name})")
|
128
128
|
raise
|
129
129
|
|
130
|
-
async def _rebuild_memory_async(
|
130
|
+
async def _rebuild_memory_async(
|
131
|
+
self,
|
132
|
+
in_context_messages: List[Message],
|
133
|
+
agent_state: AgentState,
|
134
|
+
num_messages: int | None = None, # storing these calculations is specific to the voice agent
|
135
|
+
num_archival_memories: int | None = None,
|
136
|
+
) -> List[Message]:
|
131
137
|
"""
|
132
138
|
Async version of function above. For now before breaking up components, changes should be made in both places.
|
133
139
|
"""
|
@@ -165,7 +171,7 @@ class BaseAgent(ABC):
|
|
165
171
|
logger.debug(f"Rebuilding system with new memory...\nDiff:\n{diff}")
|
166
172
|
|
167
173
|
# [DB Call] Update Messages
|
168
|
-
new_system_message = self.message_manager.update_message_by_id_async(
|
174
|
+
new_system_message = await self.message_manager.update_message_by_id_async(
|
169
175
|
curr_system_message.id, message_update=MessageUpdate(content=new_system_message_str), actor=self.actor
|
170
176
|
)
|
171
177
|
return [new_system_message] + in_context_messages[1:]
|
@@ -60,6 +60,10 @@ class LettaAgent(BaseAgent):
|
|
60
60
|
|
61
61
|
self.last_function_response = self._load_last_function_response()
|
62
62
|
|
63
|
+
# Cached archival memory/message size
|
64
|
+
self.num_messages = self.message_manager.size(actor=self.actor, agent_id=agent_id)
|
65
|
+
self.num_archival_memories = self.passage_manager.size(actor=self.actor, agent_id=agent_id)
|
66
|
+
|
63
67
|
@trace_method
|
64
68
|
async def step(self, input_messages: List[MessageCreate], max_steps: int = 10) -> LettaResponse:
|
65
69
|
agent_state = self.agent_manager.get_agent_by_id(self.agent_id, actor=self.actor)
|
@@ -164,6 +168,11 @@ class LettaAgent(BaseAgent):
|
|
164
168
|
message_ids = [m.id for m in (current_in_context_messages + new_in_context_messages)]
|
165
169
|
self.agent_manager.set_in_context_messages(agent_id=self.agent_id, message_ids=message_ids, actor=self.actor)
|
166
170
|
|
171
|
+
# TODO: This may be out of sync, if in between steps users add files
|
172
|
+
# NOTE (cliandy): temporary for now for particlar use cases.
|
173
|
+
self.num_messages = self.message_manager.size(actor=self.actor, agent_id=agent_state.id)
|
174
|
+
self.num_archival_memories = self.passage_manager.size(actor=self.actor, agent_id=agent_state.id)
|
175
|
+
|
167
176
|
# TODO: Also yield out a letta usage stats SSE
|
168
177
|
|
169
178
|
yield f"data: {MessageStreamStatus.done.model_dump_json()}\n\n"
|
@@ -179,7 +188,9 @@ class LettaAgent(BaseAgent):
|
|
179
188
|
stream: bool,
|
180
189
|
) -> ChatCompletion | AsyncStream[ChatCompletionChunk]:
|
181
190
|
if settings.experimental_enable_async_db_engine:
|
182
|
-
in_context_messages = await self._rebuild_memory_async(
|
191
|
+
in_context_messages = await self._rebuild_memory_async(
|
192
|
+
in_context_messages, agent_state, num_messages=self.num_messages, num_archival_memories=self.num_archival_memories
|
193
|
+
)
|
183
194
|
else:
|
184
195
|
if settings.experimental_skip_rebuild_memory and agent_state.llm_config.model_endpoint_type == "google_vertex":
|
185
196
|
logger.info("Skipping memory rebuild")
|
@@ -83,6 +83,9 @@ class AnthropicStreamingInterface:
|
|
83
83
|
self.inner_thoughts_complete = False
|
84
84
|
self.put_inner_thoughts_in_kwarg = put_inner_thoughts_in_kwarg
|
85
85
|
|
86
|
+
# Buffer to handle partial XML tags across chunks
|
87
|
+
self.partial_tag_buffer = ""
|
88
|
+
|
86
89
|
def get_tool_call_object(self) -> ToolCall:
|
87
90
|
"""Useful for agent loop"""
|
88
91
|
return ToolCall(id=self.tool_call_id, function=FunctionCall(arguments=self.accumulated_tool_call_args, name=self.tool_call_name))
|
@@ -154,8 +157,22 @@ class AnthropicStreamingInterface:
|
|
154
157
|
f"Streaming integrity failed - received BetaTextDelta object while not in TEXT EventMode: {delta}"
|
155
158
|
)
|
156
159
|
|
157
|
-
#
|
158
|
-
|
160
|
+
# Combine buffer with current text to handle tags split across chunks
|
161
|
+
combined_text = self.partial_tag_buffer + delta.text
|
162
|
+
|
163
|
+
# Remove all occurrences of </thinking> tag
|
164
|
+
cleaned_text = combined_text.replace("</thinking>", "")
|
165
|
+
|
166
|
+
# Extract just the new content (without the buffer part)
|
167
|
+
if len(self.partial_tag_buffer) <= len(cleaned_text):
|
168
|
+
delta.text = cleaned_text[len(self.partial_tag_buffer) :]
|
169
|
+
else:
|
170
|
+
# Edge case: the tag was removed and now the text is shorter than the buffer
|
171
|
+
delta.text = ""
|
172
|
+
|
173
|
+
# Store the last 10 characters (or all if less than 10) for the next chunk
|
174
|
+
# This is enough to catch "</thinking" which is 10 characters
|
175
|
+
self.partial_tag_buffer = combined_text[-10:] if len(combined_text) > 10 else combined_text
|
159
176
|
self.accumulated_inner_thoughts.append(delta.text)
|
160
177
|
|
161
178
|
reasoning_message = ReasoningMessage(
|
@@ -393,7 +393,9 @@ def openai_chat_completions_process_stream(
|
|
393
393
|
if tool_call_delta.id is not None:
|
394
394
|
# TODO assert that we're not overwriting?
|
395
395
|
# TODO += instead of =?
|
396
|
-
|
396
|
+
try:
|
397
|
+
accum_message.tool_calls[tool_call_delta.index].id = tool_call_delta.id
|
398
|
+
except IndexError:
|
397
399
|
warnings.warn(
|
398
400
|
f"Tool call index out of range ({tool_call_delta.index})\ncurrent tool calls: {accum_message.tool_calls}\ncurrent delta: {tool_call_delta}"
|
399
401
|
)
|
@@ -403,25 +405,21 @@ def openai_chat_completions_process_stream(
|
|
403
405
|
accum_message.tool_calls[tool_call_delta.index].id = tool_call_delta.id
|
404
406
|
if tool_call_delta.function is not None:
|
405
407
|
if tool_call_delta.function.name is not None:
|
406
|
-
|
407
|
-
|
408
|
-
|
408
|
+
try:
|
409
|
+
accum_message.tool_calls[
|
410
|
+
tool_call_delta.index
|
411
|
+
].function.name += tool_call_delta.function.name # TODO check for parallel tool calls
|
412
|
+
except IndexError:
|
409
413
|
warnings.warn(
|
410
414
|
f"Tool call index out of range ({tool_call_delta.index})\ncurrent tool calls: {accum_message.tool_calls}\ncurrent delta: {tool_call_delta}"
|
411
415
|
)
|
412
|
-
# force index 0
|
413
|
-
# accum_message.tool_calls[0].function.name = tool_call_delta.function.name
|
414
|
-
else:
|
415
|
-
accum_message.tool_calls[tool_call_delta.index].function.name = tool_call_delta.function.name
|
416
416
|
if tool_call_delta.function.arguments is not None:
|
417
|
-
|
417
|
+
try:
|
418
|
+
accum_message.tool_calls[tool_call_delta.index].function.arguments += tool_call_delta.function.arguments
|
419
|
+
except IndexError:
|
418
420
|
warnings.warn(
|
419
421
|
f"Tool call index out of range ({tool_call_delta.index})\ncurrent tool calls: {accum_message.tool_calls}\ncurrent delta: {tool_call_delta}"
|
420
422
|
)
|
421
|
-
# force index 0
|
422
|
-
# accum_message.tool_calls[0].function.arguments += tool_call_delta.function.arguments
|
423
|
-
else:
|
424
|
-
accum_message.tool_calls[tool_call_delta.index].function.arguments += tool_call_delta.function.arguments
|
425
423
|
|
426
424
|
if message_delta.function_call is not None:
|
427
425
|
raise NotImplementedError(f"Old function_call style not support with stream=True")
|
@@ -75,7 +75,8 @@ class LLMConfig(BaseModel):
|
|
75
75
|
description="The reasoning effort to use when generating text reasoning models",
|
76
76
|
)
|
77
77
|
max_reasoning_tokens: int = Field(
|
78
|
-
0,
|
78
|
+
0,
|
79
|
+
description="Configurable thinking budget for extended thinking. Used for enable_reasoner and also for Google Vertex models like Gemini 2.5 Flash. Minimum value is 1024 when used with enable_reasoner.",
|
79
80
|
)
|
80
81
|
|
81
82
|
# FIXME hack to silence pydantic protected namespace warning
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/server/db.py
RENAMED
@@ -123,6 +123,7 @@ class DatabaseRegistry:
|
|
123
123
|
async_pg_uri = pg_uri.replace("postgresql://", "postgresql+asyncpg://")
|
124
124
|
else:
|
125
125
|
async_pg_uri = f"postgresql+asyncpg://{pg_uri.split('://', 1)[1]}" if "://" in pg_uri else pg_uri
|
126
|
+
async_pg_uri = async_pg_uri.replace("sslmode=", "ssl=")
|
126
127
|
|
127
128
|
async_engine = create_async_engine(
|
128
129
|
async_pg_uri,
|
@@ -15,19 +15,26 @@ router = APIRouter(prefix="/blocks", tags=["blocks"])
|
|
15
15
|
|
16
16
|
|
17
17
|
@router.get("/", response_model=List[Block], operation_id="list_blocks")
|
18
|
-
def list_blocks(
|
18
|
+
async def list_blocks(
|
19
19
|
# query parameters
|
20
20
|
label: Optional[str] = Query(None, description="Labels to include (e.g. human, persona)"),
|
21
21
|
templates_only: bool = Query(False, description="Whether to include only templates"),
|
22
22
|
name: Optional[str] = Query(None, description="Name of the block"),
|
23
23
|
identity_id: Optional[str] = Query(None, description="Search agents by identifier id"),
|
24
24
|
identifier_keys: Optional[List[str]] = Query(None, description="Search agents by identifier keys"),
|
25
|
+
limit: Optional[int] = Query(50, description="Number of blocks to return"),
|
25
26
|
server: SyncServer = Depends(get_letta_server),
|
26
27
|
actor_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
27
28
|
):
|
28
29
|
actor = server.user_manager.get_user_or_default(user_id=actor_id)
|
29
|
-
return server.block_manager.
|
30
|
-
actor=actor,
|
30
|
+
return await server.block_manager.get_blocks_async(
|
31
|
+
actor=actor,
|
32
|
+
label=label,
|
33
|
+
is_template=templates_only,
|
34
|
+
template_name=name,
|
35
|
+
identity_id=identity_id,
|
36
|
+
identifier_keys=identifier_keys,
|
37
|
+
limit=limit,
|
31
38
|
)
|
32
39
|
|
33
40
|
|
@@ -117,6 +117,68 @@ class BlockManager:
|
|
117
117
|
|
118
118
|
return [block.to_pydantic() for block in blocks]
|
119
119
|
|
120
|
+
@enforce_types
|
121
|
+
async def get_blocks_async(
|
122
|
+
self,
|
123
|
+
actor: PydanticUser,
|
124
|
+
label: Optional[str] = None,
|
125
|
+
is_template: Optional[bool] = None,
|
126
|
+
template_name: Optional[str] = None,
|
127
|
+
identity_id: Optional[str] = None,
|
128
|
+
identifier_keys: Optional[List[str]] = None,
|
129
|
+
limit: Optional[int] = 50,
|
130
|
+
) -> List[PydanticBlock]:
|
131
|
+
"""Async version of get_blocks method. Retrieve blocks based on various optional filters."""
|
132
|
+
from sqlalchemy import select
|
133
|
+
from sqlalchemy.orm import noload
|
134
|
+
|
135
|
+
from letta.orm.sqlalchemy_base import AccessType
|
136
|
+
|
137
|
+
async with db_registry.async_session() as session:
|
138
|
+
# Start with a basic query
|
139
|
+
query = select(BlockModel)
|
140
|
+
|
141
|
+
# Explicitly avoid loading relationships
|
142
|
+
query = query.options(noload(BlockModel.agents), noload(BlockModel.identities), noload(BlockModel.groups))
|
143
|
+
|
144
|
+
# Apply access control
|
145
|
+
query = BlockModel.apply_access_predicate(query, actor, ["read"], AccessType.ORGANIZATION)
|
146
|
+
|
147
|
+
# Add filters
|
148
|
+
query = query.where(BlockModel.organization_id == actor.organization_id)
|
149
|
+
if label:
|
150
|
+
query = query.where(BlockModel.label == label)
|
151
|
+
|
152
|
+
if is_template is not None:
|
153
|
+
query = query.where(BlockModel.is_template == is_template)
|
154
|
+
|
155
|
+
if template_name:
|
156
|
+
query = query.where(BlockModel.template_name == template_name)
|
157
|
+
|
158
|
+
if identifier_keys:
|
159
|
+
query = (
|
160
|
+
query.join(BlockModel.identities)
|
161
|
+
.filter(BlockModel.identities.property.mapper.class_.identifier_key.in_(identifier_keys))
|
162
|
+
.distinct(BlockModel.id)
|
163
|
+
)
|
164
|
+
|
165
|
+
if identity_id:
|
166
|
+
query = (
|
167
|
+
query.join(BlockModel.identities)
|
168
|
+
.filter(BlockModel.identities.property.mapper.class_.id == identity_id)
|
169
|
+
.distinct(BlockModel.id)
|
170
|
+
)
|
171
|
+
|
172
|
+
# Add limit
|
173
|
+
if limit:
|
174
|
+
query = query.limit(limit)
|
175
|
+
|
176
|
+
# Execute the query
|
177
|
+
result = await session.execute(query)
|
178
|
+
blocks = result.scalars().all()
|
179
|
+
|
180
|
+
return [block.to_pydantic() for block in blocks]
|
181
|
+
|
120
182
|
@enforce_types
|
121
183
|
def get_block_by_id(self, block_id: str, actor: Optional[PydanticUser] = None) -> Optional[PydanticBlock]:
|
122
184
|
"""Retrieve a block by its name."""
|
File without changes
|
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/__main__.py
RENAMED
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/agent.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/cli/cli.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/config.py
RENAMED
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/constants.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/errors.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{letta_nightly-0.7.14.dev20250513104323 → letta_nightly-0.7.15.dev20250514104255}/letta/interface.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|