letta-nightly 0.6.12.dev20250121104040__tar.gz → 0.6.13.dev20250122185528__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of letta-nightly might be problematic. Click here for more details.
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/PKG-INFO +1 -1
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/__init__.py +1 -1
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/client/client.py +28 -24
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/agent.py +10 -10
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/agents.py +12 -52
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/providers.py +1 -1
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/tools.py +0 -17
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/server.py +3 -3
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/pyproject.toml +1 -1
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/LICENSE +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/README.md +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/__main__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/agent.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/benchmark/benchmark.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/benchmark/constants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/chat_only_agent.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/cli/cli.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/cli/cli_config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/cli/cli_load.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/client/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/client/streaming.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/client/utils.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/constants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/data_sources/connectors.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/data_sources/connectors_helper.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/embeddings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/errors.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/ast_parsers.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/function_sets/base.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/function_sets/extras.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/function_sets/multi_agent.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/functions.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/helpers.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/functions/schema_generator.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/helpers/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/helpers/tool_rule_solver.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/humans/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/humans/examples/basic.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/humans/examples/cs_phd.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/interface.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/anthropic.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/aws_bedrock.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/azure_openai.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/azure_openai_constants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/cohere.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/google_ai.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/helpers.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/llm_api_tools.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/mistral.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/llm_api/openai.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/README.md +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/chat_completion_proxy.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/constants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/function_parser.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/grammars/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/grammars/json.gbnf +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/json_parser.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/koboldcpp/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/koboldcpp/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llamacpp/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llamacpp/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/lmstudio/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/lmstudio/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/ollama/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/ollama/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/settings/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/settings/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/settings/simple.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/utils.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/vllm/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/webui/api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/webui/legacy_api.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/webui/legacy_settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/local_llm/webui/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/log.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/main.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/memory.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/offline_memory_agent.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/openai_backcompat/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/openai_backcompat/openai_object.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/__all__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/agent.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/agents_tags.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/base.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/block.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/blocks_agents.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/custom_columns.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/enums.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/errors.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/file.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/job.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/job_messages.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/job_usage_statistics.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/message.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/mixins.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/organization.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/passage.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/provider.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/sandbox_config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/source.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/sources_agents.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/sqlalchemy_base.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/sqlite_functions.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/step.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/tool.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/tools_agents.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/orm/user.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/anna_pa.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/google_search_persona.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/memgpt_doc.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/memgpt_starter.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/o1_persona.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/offline_memory_persona.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/sam.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/sam_pov.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/personas/examples/sqldb/test.db +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/gpt_summarize.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/gpt_system.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_base.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_chat.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_convo_only.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_doc.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/pytest.ini +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/block.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/embedding_config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/enums.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/environment_variables.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/file.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/health.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/job.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/letta_base.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/letta_message.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/letta_request.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/letta_response.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/llm_config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/memory.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/message.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/openai/chat_completion_request.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/openai/chat_completion_response.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/openai/chat_completions.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/openai/embedding_response.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/openai/openai.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/organization.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/passage.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/providers.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/run.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/sandbox_config.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/source.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/step.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/tool.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/tool_rule.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/usage.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/schemas/user.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/constants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/generate_openapi_schema.sh +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/app.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/auth/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/auth/index.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/auth_token.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/interface.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/assistants/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/assistants/assistants.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/assistants/schemas.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/chat_completions/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/openai/chat_completions/chat_completions.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/blocks.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/health.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/jobs.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/llms.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/organizations.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/runs.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/sandbox_configs.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/sources.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/tags.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/routers/v1/users.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/static_files.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/rest_api/utils.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/startup.sh +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/static_files/assets/index-048c9598.js +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/static_files/assets/index-0e31b727.css +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/static_files/favicon.ico +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/static_files/index.html +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/utils.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/ws_api/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/ws_api/example_client.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/ws_api/interface.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/ws_api/protocol.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/server/ws_api/server.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/__init__.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/agent_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/block_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/helpers/agent_manager_helper.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/job_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/message_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/organization_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/passage_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/per_agent_lock_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/provider_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/sandbox_config_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/source_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/step_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/tool_execution_sandbox.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/tool_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/services/user_manager.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/settings.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/streaming_interface.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/streaming_utils.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/system.py +0 -0
- {letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/utils.py +0 -0
|
@@ -776,7 +776,7 @@ class RESTClient(AbstractClient):
|
|
|
776
776
|
Returns:
|
|
777
777
|
memory (Memory): In-context memory of the agent
|
|
778
778
|
"""
|
|
779
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
779
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory", headers=self.headers)
|
|
780
780
|
if response.status_code != 200:
|
|
781
781
|
raise ValueError(f"Failed to get in-context memory: {response.text}")
|
|
782
782
|
return Memory(**response.json())
|
|
@@ -797,7 +797,7 @@ class RESTClient(AbstractClient):
|
|
|
797
797
|
"""
|
|
798
798
|
memory_update_dict = {section: value}
|
|
799
799
|
response = requests.patch(
|
|
800
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
800
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory", json=memory_update_dict, headers=self.headers
|
|
801
801
|
)
|
|
802
802
|
if response.status_code != 200:
|
|
803
803
|
raise ValueError(f"Failed to update in-context memory: {response.text}")
|
|
@@ -814,10 +814,10 @@ class RESTClient(AbstractClient):
|
|
|
814
814
|
summary (ArchivalMemorySummary): Summary of the archival memory
|
|
815
815
|
|
|
816
816
|
"""
|
|
817
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
817
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/context", headers=self.headers)
|
|
818
818
|
if response.status_code != 200:
|
|
819
819
|
raise ValueError(f"Failed to get archival memory summary: {response.text}")
|
|
820
|
-
return ArchivalMemorySummary(
|
|
820
|
+
return ArchivalMemorySummary(size=response.json().get("num_archival_memory", 0))
|
|
821
821
|
|
|
822
822
|
def get_recall_memory_summary(self, agent_id: str) -> RecallMemorySummary:
|
|
823
823
|
"""
|
|
@@ -829,10 +829,10 @@ class RESTClient(AbstractClient):
|
|
|
829
829
|
Returns:
|
|
830
830
|
summary (RecallMemorySummary): Summary of the recall memory
|
|
831
831
|
"""
|
|
832
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
832
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/context", headers=self.headers)
|
|
833
833
|
if response.status_code != 200:
|
|
834
834
|
raise ValueError(f"Failed to get recall memory summary: {response.text}")
|
|
835
|
-
return RecallMemorySummary(
|
|
835
|
+
return RecallMemorySummary(size=response.json().get("num_recall_memory", 0))
|
|
836
836
|
|
|
837
837
|
def get_in_context_messages(self, agent_id: str) -> List[Message]:
|
|
838
838
|
"""
|
|
@@ -844,10 +844,10 @@ class RESTClient(AbstractClient):
|
|
|
844
844
|
Returns:
|
|
845
845
|
messages (List[Message]): List of in-context messages
|
|
846
846
|
"""
|
|
847
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
847
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/context", headers=self.headers)
|
|
848
848
|
if response.status_code != 200:
|
|
849
|
-
raise ValueError(f"Failed to get
|
|
850
|
-
return [Message(**message) for message in response.json()]
|
|
849
|
+
raise ValueError(f"Failed to get recall memory summary: {response.text}")
|
|
850
|
+
return [Message(**message) for message in response.json().get("messages", "")]
|
|
851
851
|
|
|
852
852
|
# agent interactions
|
|
853
853
|
|
|
@@ -889,7 +889,9 @@ class RESTClient(AbstractClient):
|
|
|
889
889
|
params["before"] = str(before)
|
|
890
890
|
if after:
|
|
891
891
|
params["after"] = str(after)
|
|
892
|
-
response = requests.get(
|
|
892
|
+
response = requests.get(
|
|
893
|
+
f"{self.base_url}/{self.api_prefix}/agents/{str(agent_id)}/archival_memory", params=params, headers=self.headers
|
|
894
|
+
)
|
|
893
895
|
assert response.status_code == 200, f"Failed to get archival memory: {response.text}"
|
|
894
896
|
return [Passage(**passage) for passage in response.json()]
|
|
895
897
|
|
|
@@ -906,7 +908,7 @@ class RESTClient(AbstractClient):
|
|
|
906
908
|
"""
|
|
907
909
|
request = CreateArchivalMemory(text=memory)
|
|
908
910
|
response = requests.post(
|
|
909
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
911
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/archival_memory", headers=self.headers, json=request.model_dump()
|
|
910
912
|
)
|
|
911
913
|
if response.status_code != 200:
|
|
912
914
|
raise ValueError(f"Failed to insert archival memory: {response.text}")
|
|
@@ -920,7 +922,7 @@ class RESTClient(AbstractClient):
|
|
|
920
922
|
agent_id (str): ID of the agent
|
|
921
923
|
memory_id (str): ID of the memory
|
|
922
924
|
"""
|
|
923
|
-
response = requests.delete(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
925
|
+
response = requests.delete(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/archival_memory/{memory_id}", headers=self.headers)
|
|
924
926
|
assert response.status_code == 200, f"Failed to delete archival memory: {response.text}"
|
|
925
927
|
|
|
926
928
|
# messages (recall memory)
|
|
@@ -1463,12 +1465,14 @@ class RESTClient(AbstractClient):
|
|
|
1463
1465
|
Returns:
|
|
1464
1466
|
id (str): ID of the tool (`None` if not found)
|
|
1465
1467
|
"""
|
|
1466
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/tools
|
|
1467
|
-
if response.status_code
|
|
1468
|
-
return None
|
|
1469
|
-
elif response.status_code != 200:
|
|
1468
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/tools", headers=self.headers)
|
|
1469
|
+
if response.status_code != 200:
|
|
1470
1470
|
raise ValueError(f"Failed to get tool: {response.text}")
|
|
1471
|
-
|
|
1471
|
+
|
|
1472
|
+
tools = [tool for tool in [Tool(**tool) for tool in response.json()] if tool.name == tool_name]
|
|
1473
|
+
if not tools:
|
|
1474
|
+
return None
|
|
1475
|
+
return tools[0].id
|
|
1472
1476
|
|
|
1473
1477
|
def upsert_base_tools(self) -> List[Tool]:
|
|
1474
1478
|
response = requests.post(f"{self.base_url}/{self.api_prefix}/tools/add-base-tools/", headers=self.headers)
|
|
@@ -1852,7 +1856,7 @@ class RESTClient(AbstractClient):
|
|
|
1852
1856
|
memory (Memory): The updated memory
|
|
1853
1857
|
"""
|
|
1854
1858
|
response = requests.post(
|
|
1855
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
1859
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory/blocks",
|
|
1856
1860
|
headers=self.headers,
|
|
1857
1861
|
json=create_block.model_dump(),
|
|
1858
1862
|
)
|
|
@@ -1893,14 +1897,14 @@ class RESTClient(AbstractClient):
|
|
|
1893
1897
|
memory (Memory): The updated memory
|
|
1894
1898
|
"""
|
|
1895
1899
|
response = requests.delete(
|
|
1896
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
1900
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory/blocks/{block_label}",
|
|
1897
1901
|
headers=self.headers,
|
|
1898
1902
|
)
|
|
1899
1903
|
if response.status_code != 200:
|
|
1900
1904
|
raise ValueError(f"Failed to remove agent memory block: {response.text}")
|
|
1901
1905
|
return Memory(**response.json())
|
|
1902
1906
|
|
|
1903
|
-
def
|
|
1907
|
+
def list_agent_memory_blocks(self, agent_id: str) -> List[Block]:
|
|
1904
1908
|
"""
|
|
1905
1909
|
Get all the blocks in the agent's core memory
|
|
1906
1910
|
|
|
@@ -1910,7 +1914,7 @@ class RESTClient(AbstractClient):
|
|
|
1910
1914
|
Returns:
|
|
1911
1915
|
blocks (List[Block]): The blocks in the agent's core memory
|
|
1912
1916
|
"""
|
|
1913
|
-
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
1917
|
+
response = requests.get(f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory/blocks", headers=self.headers)
|
|
1914
1918
|
if response.status_code != 200:
|
|
1915
1919
|
raise ValueError(f"Failed to get agent memory blocks: {response.text}")
|
|
1916
1920
|
return [Block(**block) for block in response.json()]
|
|
@@ -1927,7 +1931,7 @@ class RESTClient(AbstractClient):
|
|
|
1927
1931
|
block (Block): The block corresponding to the label
|
|
1928
1932
|
"""
|
|
1929
1933
|
response = requests.get(
|
|
1930
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
1934
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory/blocks/{label}",
|
|
1931
1935
|
headers=self.headers,
|
|
1932
1936
|
)
|
|
1933
1937
|
if response.status_code != 200:
|
|
@@ -1960,7 +1964,7 @@ class RESTClient(AbstractClient):
|
|
|
1960
1964
|
if limit:
|
|
1961
1965
|
data["limit"] = limit
|
|
1962
1966
|
response = requests.patch(
|
|
1963
|
-
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/
|
|
1967
|
+
f"{self.base_url}/{self.api_prefix}/agents/{agent_id}/core_memory/blocks/{label}",
|
|
1964
1968
|
headers=self.headers,
|
|
1965
1969
|
json=data,
|
|
1966
1970
|
)
|
|
@@ -3523,7 +3527,7 @@ class LocalClient(AbstractClient):
|
|
|
3523
3527
|
"""
|
|
3524
3528
|
return self.server.agent_manager.detach_block_with_label(agent_id=agent_id, block_label=block_label, actor=self.user)
|
|
3525
3529
|
|
|
3526
|
-
def
|
|
3530
|
+
def list_agent_memory_blocks(self, agent_id: str) -> List[Block]:
|
|
3527
3531
|
"""
|
|
3528
3532
|
Get all the blocks in the agent's core memory
|
|
3529
3533
|
|
|
@@ -123,7 +123,7 @@ class CreateAgent(BaseModel, validate_assignment=True): #
|
|
|
123
123
|
)
|
|
124
124
|
description: Optional[str] = Field(None, description="The description of the agent.")
|
|
125
125
|
metadata_: Optional[Dict] = Field(None, description="The metadata of the agent.", alias="metadata_")
|
|
126
|
-
|
|
126
|
+
model: Optional[str] = Field(
|
|
127
127
|
None,
|
|
128
128
|
description="The LLM configuration handle used by the agent, specified in the format "
|
|
129
129
|
"provider/model-name, as an alternative to specifying llm_config.",
|
|
@@ -139,7 +139,7 @@ class CreateAgent(BaseModel, validate_assignment=True): #
|
|
|
139
139
|
tool_exec_environment_variables: Optional[Dict[str, str]] = Field(
|
|
140
140
|
None, description="The environment variables for tool execution specific to this agent."
|
|
141
141
|
)
|
|
142
|
-
|
|
142
|
+
memory_variables: Optional[Dict[str, str]] = Field(None, description="The variables that should be set for the agent.")
|
|
143
143
|
|
|
144
144
|
@field_validator("name")
|
|
145
145
|
@classmethod
|
|
@@ -166,17 +166,17 @@ class CreateAgent(BaseModel, validate_assignment=True): #
|
|
|
166
166
|
|
|
167
167
|
return name
|
|
168
168
|
|
|
169
|
-
@field_validator("
|
|
169
|
+
@field_validator("model")
|
|
170
170
|
@classmethod
|
|
171
|
-
def
|
|
172
|
-
if not
|
|
173
|
-
return
|
|
171
|
+
def validate_model(cls, model: Optional[str]) -> Optional[str]:
|
|
172
|
+
if not model:
|
|
173
|
+
return model
|
|
174
174
|
|
|
175
|
-
provider_name, model_name =
|
|
175
|
+
provider_name, model_name = model.split("/", 1)
|
|
176
176
|
if not provider_name or not model_name:
|
|
177
177
|
raise ValueError("The llm config handle should be in the format provider/model-name")
|
|
178
178
|
|
|
179
|
-
return
|
|
179
|
+
return model
|
|
180
180
|
|
|
181
181
|
@field_validator("embedding")
|
|
182
182
|
@classmethod
|
|
@@ -184,8 +184,8 @@ class CreateAgent(BaseModel, validate_assignment=True): #
|
|
|
184
184
|
if not embedding:
|
|
185
185
|
return embedding
|
|
186
186
|
|
|
187
|
-
provider_name,
|
|
188
|
-
if not provider_name or not
|
|
187
|
+
provider_name, embedding_name = embedding.split("/", 1)
|
|
188
|
+
if not provider_name or not embedding_name:
|
|
189
189
|
raise ValueError("The embedding config handle should be in the format provider/model-name")
|
|
190
190
|
|
|
191
191
|
return embedding
|
|
@@ -14,7 +14,7 @@ from letta.schemas.job import JobStatus, JobUpdate
|
|
|
14
14
|
from letta.schemas.letta_message import LettaMessageUnion
|
|
15
15
|
from letta.schemas.letta_request import LettaRequest, LettaStreamingRequest
|
|
16
16
|
from letta.schemas.letta_response import LettaResponse
|
|
17
|
-
from letta.schemas.memory import
|
|
17
|
+
from letta.schemas.memory import ContextWindowOverview, CreateArchivalMemory, Memory
|
|
18
18
|
from letta.schemas.message import Message, MessageUpdate
|
|
19
19
|
from letta.schemas.passage import Passage
|
|
20
20
|
from letta.schemas.run import Run
|
|
@@ -113,7 +113,7 @@ def update_agent(
|
|
|
113
113
|
server: "SyncServer" = Depends(get_letta_server),
|
|
114
114
|
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
115
115
|
):
|
|
116
|
-
"""Update an
|
|
116
|
+
"""Update an existing agent"""
|
|
117
117
|
actor = server.user_manager.get_user_or_default(user_id=user_id)
|
|
118
118
|
return server.agent_manager.update_agent(agent_id=agent_id, agent_update=update_agent, actor=actor)
|
|
119
119
|
|
|
@@ -212,21 +212,8 @@ def get_agent_sources(
|
|
|
212
212
|
return server.agent_manager.list_attached_sources(agent_id=agent_id, actor=actor)
|
|
213
213
|
|
|
214
214
|
|
|
215
|
-
@router.get("/{agent_id}/memory/messages", response_model=List[Message], operation_id="list_agent_in_context_messages")
|
|
216
|
-
def get_agent_in_context_messages(
|
|
217
|
-
agent_id: str,
|
|
218
|
-
server: "SyncServer" = Depends(get_letta_server),
|
|
219
|
-
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
220
|
-
):
|
|
221
|
-
"""
|
|
222
|
-
Retrieve the messages in the context of a specific agent.
|
|
223
|
-
"""
|
|
224
|
-
actor = server.user_manager.get_user_or_default(user_id=user_id)
|
|
225
|
-
return server.agent_manager.get_in_context_messages(agent_id=agent_id, actor=actor)
|
|
226
|
-
|
|
227
|
-
|
|
228
215
|
# TODO: remove? can also get with agent blocks
|
|
229
|
-
@router.get("/{agent_id}/
|
|
216
|
+
@router.get("/{agent_id}/core_memory", response_model=Memory, operation_id="get_agent_memory")
|
|
230
217
|
def get_agent_memory(
|
|
231
218
|
agent_id: str,
|
|
232
219
|
server: "SyncServer" = Depends(get_letta_server),
|
|
@@ -241,7 +228,7 @@ def get_agent_memory(
|
|
|
241
228
|
return server.get_agent_memory(agent_id=agent_id, actor=actor)
|
|
242
229
|
|
|
243
230
|
|
|
244
|
-
@router.get("/{agent_id}/
|
|
231
|
+
@router.get("/{agent_id}/core_memory/blocks/{block_label}", response_model=Block, operation_id="get_agent_memory_block")
|
|
245
232
|
def get_agent_memory_block(
|
|
246
233
|
agent_id: str,
|
|
247
234
|
block_label: str,
|
|
@@ -259,8 +246,8 @@ def get_agent_memory_block(
|
|
|
259
246
|
raise HTTPException(status_code=404, detail=str(e))
|
|
260
247
|
|
|
261
248
|
|
|
262
|
-
@router.get("/{agent_id}/
|
|
263
|
-
def
|
|
249
|
+
@router.get("/{agent_id}/core_memory/blocks", response_model=List[Block], operation_id="list_agent_memory_blocks")
|
|
250
|
+
def list_agent_memory_blocks(
|
|
264
251
|
agent_id: str,
|
|
265
252
|
server: "SyncServer" = Depends(get_letta_server),
|
|
266
253
|
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
@@ -276,7 +263,7 @@ def get_agent_memory_blocks(
|
|
|
276
263
|
raise HTTPException(status_code=404, detail=str(e))
|
|
277
264
|
|
|
278
265
|
|
|
279
|
-
@router.post("/{agent_id}/
|
|
266
|
+
@router.post("/{agent_id}/core_memory/blocks", response_model=Memory, operation_id="add_agent_memory_block")
|
|
280
267
|
def add_agent_memory_block(
|
|
281
268
|
agent_id: str,
|
|
282
269
|
create_block: CreateBlock = Body(...),
|
|
@@ -299,7 +286,7 @@ def add_agent_memory_block(
|
|
|
299
286
|
return agent.memory
|
|
300
287
|
|
|
301
288
|
|
|
302
|
-
@router.delete("/{agent_id}/
|
|
289
|
+
@router.delete("/{agent_id}/core_memory/blocks/{block_label}", response_model=Memory, operation_id="remove_agent_memory_block_by_label")
|
|
303
290
|
def remove_agent_memory_block(
|
|
304
291
|
agent_id: str,
|
|
305
292
|
# TODO should this be block_id, or the label?
|
|
@@ -319,7 +306,7 @@ def remove_agent_memory_block(
|
|
|
319
306
|
return agent.memory
|
|
320
307
|
|
|
321
308
|
|
|
322
|
-
@router.patch("/{agent_id}/
|
|
309
|
+
@router.patch("/{agent_id}/core_memory/blocks/{block_label}", response_model=Block, operation_id="update_agent_memory_block_by_label")
|
|
323
310
|
def update_agent_memory_block(
|
|
324
311
|
agent_id: str,
|
|
325
312
|
block_label: str,
|
|
@@ -341,34 +328,7 @@ def update_agent_memory_block(
|
|
|
341
328
|
return block
|
|
342
329
|
|
|
343
330
|
|
|
344
|
-
@router.get("/{agent_id}/
|
|
345
|
-
def get_agent_recall_memory_summary(
|
|
346
|
-
agent_id: str,
|
|
347
|
-
server: "SyncServer" = Depends(get_letta_server),
|
|
348
|
-
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
349
|
-
):
|
|
350
|
-
"""
|
|
351
|
-
Retrieve the summary of the recall memory of a specific agent.
|
|
352
|
-
"""
|
|
353
|
-
actor = server.user_manager.get_user_or_default(user_id=user_id)
|
|
354
|
-
|
|
355
|
-
return server.get_recall_memory_summary(agent_id=agent_id, actor=actor)
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
@router.get("/{agent_id}/memory/archival", response_model=ArchivalMemorySummary, operation_id="get_agent_archival_memory_summary")
|
|
359
|
-
def get_agent_archival_memory_summary(
|
|
360
|
-
agent_id: str,
|
|
361
|
-
server: "SyncServer" = Depends(get_letta_server),
|
|
362
|
-
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
363
|
-
):
|
|
364
|
-
"""
|
|
365
|
-
Retrieve the summary of the archival memory of a specific agent.
|
|
366
|
-
"""
|
|
367
|
-
actor = server.user_manager.get_user_or_default(user_id=user_id)
|
|
368
|
-
return server.get_archival_memory_summary(agent_id=agent_id, actor=actor)
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
@router.get("/{agent_id}/archival", response_model=List[Passage], operation_id="list_agent_archival_memory")
|
|
331
|
+
@router.get("/{agent_id}/archival_memory", response_model=List[Passage], operation_id="list_agent_archival_memory")
|
|
372
332
|
def get_agent_archival_memory(
|
|
373
333
|
agent_id: str,
|
|
374
334
|
server: "SyncServer" = Depends(get_letta_server),
|
|
@@ -394,7 +354,7 @@ def get_agent_archival_memory(
|
|
|
394
354
|
)
|
|
395
355
|
|
|
396
356
|
|
|
397
|
-
@router.post("/{agent_id}/
|
|
357
|
+
@router.post("/{agent_id}/archival_memory", response_model=List[Passage], operation_id="create_agent_archival_memory")
|
|
398
358
|
def insert_agent_archival_memory(
|
|
399
359
|
agent_id: str,
|
|
400
360
|
request: CreateArchivalMemory = Body(...),
|
|
@@ -411,7 +371,7 @@ def insert_agent_archival_memory(
|
|
|
411
371
|
|
|
412
372
|
# TODO(ethan): query or path parameter for memory_id?
|
|
413
373
|
# @router.delete("/{agent_id}/archival")
|
|
414
|
-
@router.delete("/{agent_id}/
|
|
374
|
+
@router.delete("/{agent_id}/archival_memory/{memory_id}", response_model=None, operation_id="delete_agent_archival_memory")
|
|
415
375
|
def delete_agent_archival_memory(
|
|
416
376
|
agent_id: str,
|
|
417
377
|
memory_id: str,
|
|
@@ -45,7 +45,7 @@ def create_provider(
|
|
|
45
45
|
return provider
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
@router.
|
|
48
|
+
@router.patch("/", tags=["providers"], response_model=Provider, operation_id="update_provider")
|
|
49
49
|
def update_provider(
|
|
50
50
|
request: ProviderUpdate = Body(...),
|
|
51
51
|
server: "SyncServer" = Depends(get_letta_server),
|
|
@@ -48,23 +48,6 @@ def get_tool(
|
|
|
48
48
|
return tool
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
@router.get("/name/{tool_name}", response_model=str, operation_id="get_tool_id_by_name")
|
|
52
|
-
def get_tool_id(
|
|
53
|
-
tool_name: str,
|
|
54
|
-
server: SyncServer = Depends(get_letta_server),
|
|
55
|
-
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
|
|
56
|
-
):
|
|
57
|
-
"""
|
|
58
|
-
Get a tool ID by name
|
|
59
|
-
"""
|
|
60
|
-
actor = server.user_manager.get_user_or_default(user_id=user_id)
|
|
61
|
-
tool = server.tool_manager.get_tool_by_name(tool_name=tool_name, actor=actor)
|
|
62
|
-
if tool:
|
|
63
|
-
return tool.id
|
|
64
|
-
else:
|
|
65
|
-
raise HTTPException(status_code=404, detail=f"Tool with name {tool_name} and organization id {actor.organization_id} not found.")
|
|
66
|
-
|
|
67
|
-
|
|
68
51
|
@router.get("/", response_model=List[Tool], operation_id="list_tools")
|
|
69
52
|
def list_tools(
|
|
70
53
|
cursor: Optional[str] = None,
|
|
@@ -773,9 +773,9 @@ class SyncServer(Server):
|
|
|
773
773
|
interface: Union[AgentInterface, None] = None,
|
|
774
774
|
) -> AgentState:
|
|
775
775
|
if request.llm_config is None:
|
|
776
|
-
if request.
|
|
777
|
-
raise ValueError("Must specify either
|
|
778
|
-
request.llm_config = self.get_llm_config_from_handle(handle=request.
|
|
776
|
+
if request.model is None:
|
|
777
|
+
raise ValueError("Must specify either model or llm_config in request")
|
|
778
|
+
request.llm_config = self.get_llm_config_from_handle(handle=request.model, context_window_limit=request.context_window_limit)
|
|
779
779
|
|
|
780
780
|
if request.embedding_config is None:
|
|
781
781
|
if request.embedding is None:
|
|
File without changes
|
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/__main__.py
RENAMED
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/agent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/cli/cli.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/config.py
RENAMED
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/letta/constants.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/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
|
{letta_nightly-0.6.12.dev20250121104040 → letta_nightly-0.6.13.dev20250122185528}/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
|