letta-nightly 0.6.15.dev20250126103925__tar.gz → 0.6.16.dev20250127104048__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.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/PKG-INFO +1 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/__init__.py +1 -2
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/agent.py +5 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli_config.py +1 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/client.py +4 -20
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/schema_generator.py +24 -11
- letta_nightly-0.6.16.dev20250127104048/letta/llm_api/anthropic.py +907 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/llm_api_tools.py +28 -13
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/openai.py +8 -3
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/constants.py +1 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/message.py +6 -5
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/providers.py +125 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/tool.py +0 -4
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/interface.py +15 -3
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/agents.py +2 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/tools.py +1 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/server.py +23 -5
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/helpers/agent_manager_helper.py +22 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/tool_manager.py +1 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/settings.py +3 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/streaming_utils.py +5 -1
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/pyproject.toml +1 -2
- letta_nightly-0.6.15.dev20250126103925/letta/llm_api/anthropic.py +0 -429
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/LICENSE +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/README.md +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/__main__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/benchmark/benchmark.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/benchmark/constants.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/chat_only_agent.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli_load.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/streaming.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/utils.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/config.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/constants.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/data_sources/connectors.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/data_sources/connectors_helper.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/embeddings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/errors.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/ast_parsers.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/base.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/extras.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/multi_agent.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/functions.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/helpers.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/helpers/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/helpers/tool_rule_solver.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/examples/basic.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/examples/cs_phd.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/interface.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/aws_bedrock.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/azure_openai.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/azure_openai_constants.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/cohere.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/google_ai.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/helpers.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/mistral.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/README.md +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/chat_completion_proxy.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/function_parser.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/json.gbnf +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/json_func_calls_with_inner_thoughts.gbnf +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/json_parser.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/koboldcpp/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/koboldcpp/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llamacpp/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llamacpp/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/simple_summary_wrapper.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/lmstudio/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/lmstudio/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/ollama/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/ollama/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/simple.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/utils.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/vllm/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/legacy_api.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/legacy_settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/settings.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/log.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/main.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/memory.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/offline_memory_agent.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/openai_backcompat/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/openai_backcompat/openai_object.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/__all__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/agent.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/agents_tags.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/base.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/block.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/blocks_agents.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/custom_columns.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/enums.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/errors.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/file.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/job.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/job_messages.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/message.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/mixins.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/organization.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/passage.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/provider.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sandbox_config.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/source.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sources_agents.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sqlalchemy_base.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sqlite_functions.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/step.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/tool.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/tools_agents.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/user.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/anna_pa.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/google_search_persona.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/memgpt_doc.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/memgpt_starter.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/o1_persona.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/offline_memory_persona.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam_pov.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sqldb/test.db +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/gpt_summarize.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/gpt_system.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_base.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_convo_only.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_doc.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/pytest.ini +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/agent.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/block.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/embedding_config.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/embedding_config_overrides.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/enums.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/environment_variables.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/file.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/health.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/job.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_base.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_message.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_request.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_response.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/llm_config.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/llm_config_overrides.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/memory.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completion_request.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completion_response.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completions.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/embedding_response.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/openai.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/organization.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/passage.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/run.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/sandbox_config.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/source.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/step.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/tool_rule.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/usage.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/user.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/constants.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/generate_openapi_schema.sh +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/app.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth/index.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth_token.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/blocks.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/health.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/jobs.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/llms.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/organizations.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/providers.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/runs.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/sandbox_configs.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/sources.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/tags.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/users.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/static_files.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/utils.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/startup.sh +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/assets/index-048c9598.js +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/assets/index-0e31b727.css +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/favicon.ico +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/index.html +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/utils.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/example_client.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/interface.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/protocol.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/server.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/__init__.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/agent_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/block_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/job_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/message_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/organization_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/passage_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/per_agent_lock_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/provider_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/sandbox_config_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/source_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/step_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/tool_execution_sandbox.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/user_manager.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/streaming_interface.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/system.py +0 -0
- {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/utils.py +0 -0
{letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/agent.py
RENAMED
|
@@ -466,7 +466,10 @@ class Agent(BaseAgent):
|
|
|
466
466
|
if isinstance(heartbeat_request, str) and heartbeat_request.lower().strip() == "true":
|
|
467
467
|
heartbeat_request = True
|
|
468
468
|
|
|
469
|
-
if
|
|
469
|
+
if heartbeat_request is None:
|
|
470
|
+
heartbeat_request = False
|
|
471
|
+
|
|
472
|
+
if not isinstance(heartbeat_request, bool):
|
|
470
473
|
self.logger.warning(
|
|
471
474
|
f"{CLI_WARNING_PREFIX}'request_heartbeat' arg parsed was not a bool or None, type={type(heartbeat_request)}, value={heartbeat_request}"
|
|
472
475
|
)
|
|
@@ -728,6 +731,7 @@ class Agent(BaseAgent):
|
|
|
728
731
|
# (if yes) Step 4: call the function
|
|
729
732
|
# (if yes) Step 5: send the info on the function call and function response to LLM
|
|
730
733
|
response_message = response.choices[0].message
|
|
734
|
+
|
|
731
735
|
response_message.model_copy() # TODO why are we copying here?
|
|
732
736
|
all_response_messages, heartbeat_request, function_failed = self._handle_ai_response(
|
|
733
737
|
response_message,
|
|
@@ -135,7 +135,7 @@ def add_tool(
|
|
|
135
135
|
func = eval(func_def.name)
|
|
136
136
|
|
|
137
137
|
# 4. Add or update the tool
|
|
138
|
-
tool = client.create_or_update_tool(func=func,
|
|
138
|
+
tool = client.create_or_update_tool(func=func, tags=tags, update=update)
|
|
139
139
|
print(f"Tool {tool.name} added successfully")
|
|
140
140
|
|
|
141
141
|
|
|
@@ -185,20 +185,15 @@ class AbstractClient(object):
|
|
|
185
185
|
def load_composio_tool(self, action: "ActionType") -> Tool:
|
|
186
186
|
raise NotImplementedError
|
|
187
187
|
|
|
188
|
-
def create_tool(
|
|
189
|
-
self, func, name: Optional[str] = None, tags: Optional[List[str]] = None, return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT
|
|
190
|
-
) -> Tool:
|
|
188
|
+
def create_tool(self, func, tags: Optional[List[str]] = None, return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT) -> Tool:
|
|
191
189
|
raise NotImplementedError
|
|
192
190
|
|
|
193
|
-
def create_or_update_tool(
|
|
194
|
-
self, func, name: Optional[str] = None, tags: Optional[List[str]] = None, return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT
|
|
195
|
-
) -> Tool:
|
|
191
|
+
def create_or_update_tool(self, func, tags: Optional[List[str]] = None, return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT) -> Tool:
|
|
196
192
|
raise NotImplementedError
|
|
197
193
|
|
|
198
194
|
def update_tool(
|
|
199
195
|
self,
|
|
200
196
|
id: str,
|
|
201
|
-
name: Optional[str] = None,
|
|
202
197
|
description: Optional[str] = None,
|
|
203
198
|
func: Optional[Callable] = None,
|
|
204
199
|
tags: Optional[List[str]] = None,
|
|
@@ -1546,7 +1541,6 @@ class RESTClient(AbstractClient):
|
|
|
1546
1541
|
def create_tool(
|
|
1547
1542
|
self,
|
|
1548
1543
|
func: Callable,
|
|
1549
|
-
name: Optional[str] = None,
|
|
1550
1544
|
tags: Optional[List[str]] = None,
|
|
1551
1545
|
return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT,
|
|
1552
1546
|
) -> Tool:
|
|
@@ -1566,7 +1560,7 @@ class RESTClient(AbstractClient):
|
|
|
1566
1560
|
source_type = "python"
|
|
1567
1561
|
|
|
1568
1562
|
# call server function
|
|
1569
|
-
request = ToolCreate(source_type=source_type, source_code=source_code,
|
|
1563
|
+
request = ToolCreate(source_type=source_type, source_code=source_code, return_char_limit=return_char_limit)
|
|
1570
1564
|
if tags:
|
|
1571
1565
|
request.tags = tags
|
|
1572
1566
|
response = requests.post(f"{self.base_url}/{self.api_prefix}/tools", json=request.model_dump(), headers=self.headers)
|
|
@@ -1577,7 +1571,6 @@ class RESTClient(AbstractClient):
|
|
|
1577
1571
|
def create_or_update_tool(
|
|
1578
1572
|
self,
|
|
1579
1573
|
func: Callable,
|
|
1580
|
-
name: Optional[str] = None,
|
|
1581
1574
|
tags: Optional[List[str]] = None,
|
|
1582
1575
|
return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT,
|
|
1583
1576
|
) -> Tool:
|
|
@@ -1597,7 +1590,7 @@ class RESTClient(AbstractClient):
|
|
|
1597
1590
|
source_type = "python"
|
|
1598
1591
|
|
|
1599
1592
|
# call server function
|
|
1600
|
-
request = ToolCreate(source_type=source_type, source_code=source_code,
|
|
1593
|
+
request = ToolCreate(source_type=source_type, source_code=source_code, return_char_limit=return_char_limit)
|
|
1601
1594
|
if tags:
|
|
1602
1595
|
request.tags = tags
|
|
1603
1596
|
response = requests.put(f"{self.base_url}/{self.api_prefix}/tools", json=request.model_dump(), headers=self.headers)
|
|
@@ -1608,7 +1601,6 @@ class RESTClient(AbstractClient):
|
|
|
1608
1601
|
def update_tool(
|
|
1609
1602
|
self,
|
|
1610
1603
|
id: str,
|
|
1611
|
-
name: Optional[str] = None,
|
|
1612
1604
|
description: Optional[str] = None,
|
|
1613
1605
|
func: Optional[Callable] = None,
|
|
1614
1606
|
tags: Optional[List[str]] = None,
|
|
@@ -1639,7 +1631,6 @@ class RESTClient(AbstractClient):
|
|
|
1639
1631
|
source_type=source_type,
|
|
1640
1632
|
source_code=source_code,
|
|
1641
1633
|
tags=tags,
|
|
1642
|
-
name=name,
|
|
1643
1634
|
return_char_limit=return_char_limit,
|
|
1644
1635
|
)
|
|
1645
1636
|
response = requests.patch(f"{self.base_url}/{self.api_prefix}/tools/{id}", json=request.model_dump(), headers=self.headers)
|
|
@@ -2976,7 +2967,6 @@ class LocalClient(AbstractClient):
|
|
|
2976
2967
|
def create_tool(
|
|
2977
2968
|
self,
|
|
2978
2969
|
func,
|
|
2979
|
-
name: Optional[str] = None,
|
|
2980
2970
|
tags: Optional[List[str]] = None,
|
|
2981
2971
|
description: Optional[str] = None,
|
|
2982
2972
|
return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT,
|
|
@@ -3018,7 +3008,6 @@ class LocalClient(AbstractClient):
|
|
|
3018
3008
|
def create_or_update_tool(
|
|
3019
3009
|
self,
|
|
3020
3010
|
func,
|
|
3021
|
-
name: Optional[str] = None,
|
|
3022
3011
|
tags: Optional[List[str]] = None,
|
|
3023
3012
|
description: Optional[str] = None,
|
|
3024
3013
|
return_char_limit: int = FUNCTION_RETURN_CHAR_LIMIT,
|
|
@@ -3028,7 +3017,6 @@ class LocalClient(AbstractClient):
|
|
|
3028
3017
|
|
|
3029
3018
|
Args:
|
|
3030
3019
|
func (callable): The function to create a tool for.
|
|
3031
|
-
name: (str): Name of the tool (must be unique per-user.)
|
|
3032
3020
|
tags (Optional[List[str]], optional): Tags for the tool. Defaults to None.
|
|
3033
3021
|
description (str, optional): The description.
|
|
3034
3022
|
return_char_limit (int): The character limit for the tool's return value. Defaults to FUNCTION_RETURN_CHAR_LIMIT.
|
|
@@ -3046,7 +3034,6 @@ class LocalClient(AbstractClient):
|
|
|
3046
3034
|
Tool(
|
|
3047
3035
|
source_type=source_type,
|
|
3048
3036
|
source_code=source_code,
|
|
3049
|
-
name=name,
|
|
3050
3037
|
tags=tags,
|
|
3051
3038
|
description=description,
|
|
3052
3039
|
return_char_limit=return_char_limit,
|
|
@@ -3057,7 +3044,6 @@ class LocalClient(AbstractClient):
|
|
|
3057
3044
|
def update_tool(
|
|
3058
3045
|
self,
|
|
3059
3046
|
id: str,
|
|
3060
|
-
name: Optional[str] = None,
|
|
3061
3047
|
description: Optional[str] = None,
|
|
3062
3048
|
func: Optional[Callable] = None,
|
|
3063
3049
|
tags: Optional[List[str]] = None,
|
|
@@ -3068,7 +3054,6 @@ class LocalClient(AbstractClient):
|
|
|
3068
3054
|
|
|
3069
3055
|
Args:
|
|
3070
3056
|
id (str): ID of the tool
|
|
3071
|
-
name (str): Name of the tool
|
|
3072
3057
|
func (callable): Function to wrap in a tool
|
|
3073
3058
|
tags (List[str]): Tags for the tool
|
|
3074
3059
|
return_char_limit (int): The character limit for the tool's return value. Defaults to FUNCTION_RETURN_CHAR_LIMIT.
|
|
@@ -3080,7 +3065,6 @@ class LocalClient(AbstractClient):
|
|
|
3080
3065
|
"source_type": "python", # Always include source_type
|
|
3081
3066
|
"source_code": parse_source_code(func) if func else None,
|
|
3082
3067
|
"tags": tags,
|
|
3083
|
-
"name": name,
|
|
3084
3068
|
"description": description,
|
|
3085
3069
|
"return_char_limit": return_char_limit,
|
|
3086
3070
|
}
|
|
@@ -437,6 +437,7 @@ def generate_tool_schema_for_composio(
|
|
|
437
437
|
name: str,
|
|
438
438
|
description: str,
|
|
439
439
|
append_heartbeat: bool = True,
|
|
440
|
+
strict: bool = False,
|
|
440
441
|
) -> Dict[str, Any]:
|
|
441
442
|
properties_json = {}
|
|
442
443
|
required_fields = parameters_model.required or []
|
|
@@ -473,14 +474,26 @@ def generate_tool_schema_for_composio(
|
|
|
473
474
|
required_fields.append("request_heartbeat")
|
|
474
475
|
|
|
475
476
|
# Return the final schema
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
"
|
|
482
|
-
"
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
477
|
+
if strict:
|
|
478
|
+
# https://platform.openai.com/docs/guides/function-calling#strict-mode
|
|
479
|
+
return {
|
|
480
|
+
"name": name,
|
|
481
|
+
"description": description,
|
|
482
|
+
"strict": True, # NOTE
|
|
483
|
+
"parameters": {
|
|
484
|
+
"type": "object",
|
|
485
|
+
"properties": properties_json,
|
|
486
|
+
"additionalProperties": False, # NOTE
|
|
487
|
+
"required": required_fields,
|
|
488
|
+
},
|
|
489
|
+
}
|
|
490
|
+
else:
|
|
491
|
+
return {
|
|
492
|
+
"name": name,
|
|
493
|
+
"description": description,
|
|
494
|
+
"parameters": {
|
|
495
|
+
"type": "object",
|
|
496
|
+
"properties": properties_json,
|
|
497
|
+
"required": required_fields,
|
|
498
|
+
},
|
|
499
|
+
}
|