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.

Files changed (239) hide show
  1. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/PKG-INFO +1 -1
  2. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/__init__.py +1 -2
  3. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/agent.py +5 -1
  4. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli_config.py +1 -1
  5. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/client.py +4 -20
  6. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/schema_generator.py +24 -11
  7. letta_nightly-0.6.16.dev20250127104048/letta/llm_api/anthropic.py +907 -0
  8. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/llm_api_tools.py +28 -13
  9. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/openai.py +8 -3
  10. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/constants.py +1 -0
  11. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/message.py +6 -5
  12. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/providers.py +125 -0
  13. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/tool.py +0 -4
  14. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/interface.py +15 -3
  15. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/agents.py +2 -0
  16. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/tools.py +1 -1
  17. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/server.py +23 -5
  18. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/helpers/agent_manager_helper.py +22 -1
  19. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/tool_manager.py +1 -0
  20. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/settings.py +3 -0
  21. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/streaming_utils.py +5 -1
  22. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/pyproject.toml +1 -2
  23. letta_nightly-0.6.15.dev20250126103925/letta/llm_api/anthropic.py +0 -429
  24. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/LICENSE +0 -0
  25. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/README.md +0 -0
  26. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/__main__.py +0 -0
  27. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/benchmark/benchmark.py +0 -0
  28. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/benchmark/constants.py +0 -0
  29. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/chat_only_agent.py +0 -0
  30. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli.py +0 -0
  31. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/cli/cli_load.py +0 -0
  32. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/__init__.py +0 -0
  33. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/streaming.py +0 -0
  34. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/client/utils.py +0 -0
  35. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/config.py +0 -0
  36. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/constants.py +0 -0
  37. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/data_sources/connectors.py +0 -0
  38. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/data_sources/connectors_helper.py +0 -0
  39. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/embeddings.py +0 -0
  40. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/errors.py +0 -0
  41. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/__init__.py +0 -0
  42. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/ast_parsers.py +0 -0
  43. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/base.py +0 -0
  44. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/extras.py +0 -0
  45. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/function_sets/multi_agent.py +0 -0
  46. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/functions.py +0 -0
  47. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/functions/helpers.py +0 -0
  48. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/helpers/__init__.py +0 -0
  49. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/helpers/tool_rule_solver.py +0 -0
  50. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/__init__.py +0 -0
  51. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/examples/basic.txt +0 -0
  52. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/humans/examples/cs_phd.txt +0 -0
  53. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/interface.py +0 -0
  54. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/__init__.py +0 -0
  55. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/aws_bedrock.py +0 -0
  56. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/azure_openai.py +0 -0
  57. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/azure_openai_constants.py +0 -0
  58. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/cohere.py +0 -0
  59. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/google_ai.py +0 -0
  60. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/helpers.py +0 -0
  61. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/llm_api/mistral.py +0 -0
  62. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/README.md +0 -0
  63. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/__init__.py +0 -0
  64. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/chat_completion_proxy.py +0 -0
  65. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/function_parser.py +0 -0
  66. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/__init__.py +0 -0
  67. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/gbnf_grammar_generator.py +0 -0
  68. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/grammars/json.gbnf +0 -0
  69. {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
  70. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/json_parser.py +0 -0
  71. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/koboldcpp/api.py +0 -0
  72. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/koboldcpp/settings.py +0 -0
  73. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llamacpp/api.py +0 -0
  74. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llamacpp/settings.py +0 -0
  75. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/__init__.py +0 -0
  76. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/airoboros.py +0 -0
  77. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/chatml.py +0 -0
  78. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/configurable_wrapper.py +0 -0
  79. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/dolphin.py +0 -0
  80. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/llama3.py +0 -0
  81. {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
  82. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/wrapper_base.py +0 -0
  83. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/llm_chat_completion_wrappers/zephyr.py +0 -0
  84. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/lmstudio/api.py +0 -0
  85. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/lmstudio/settings.py +0 -0
  86. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/ollama/api.py +0 -0
  87. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/ollama/settings.py +0 -0
  88. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/__init__.py +0 -0
  89. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/deterministic_mirostat.py +0 -0
  90. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/settings.py +0 -0
  91. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/settings/simple.py +0 -0
  92. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/utils.py +0 -0
  93. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/vllm/api.py +0 -0
  94. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/api.py +0 -0
  95. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/legacy_api.py +0 -0
  96. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/legacy_settings.py +0 -0
  97. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/local_llm/webui/settings.py +0 -0
  98. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/log.py +0 -0
  99. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/main.py +0 -0
  100. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/memory.py +0 -0
  101. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/offline_memory_agent.py +0 -0
  102. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/openai_backcompat/__init__.py +0 -0
  103. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/openai_backcompat/openai_object.py +0 -0
  104. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/__all__.py +0 -0
  105. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/__init__.py +0 -0
  106. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/agent.py +0 -0
  107. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/agents_tags.py +0 -0
  108. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/base.py +0 -0
  109. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/block.py +0 -0
  110. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/blocks_agents.py +0 -0
  111. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/custom_columns.py +0 -0
  112. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/enums.py +0 -0
  113. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/errors.py +0 -0
  114. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/file.py +0 -0
  115. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/job.py +0 -0
  116. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/job_messages.py +0 -0
  117. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/message.py +0 -0
  118. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/mixins.py +0 -0
  119. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/organization.py +0 -0
  120. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/passage.py +0 -0
  121. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/provider.py +0 -0
  122. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sandbox_config.py +0 -0
  123. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/source.py +0 -0
  124. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sources_agents.py +0 -0
  125. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sqlalchemy_base.py +0 -0
  126. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/sqlite_functions.py +0 -0
  127. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/step.py +0 -0
  128. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/tool.py +0 -0
  129. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/tools_agents.py +0 -0
  130. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/orm/user.py +0 -0
  131. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/__init__.py +0 -0
  132. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/anna_pa.txt +0 -0
  133. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/google_search_persona.txt +0 -0
  134. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/memgpt_doc.txt +0 -0
  135. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/memgpt_starter.txt +0 -0
  136. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/o1_persona.txt +0 -0
  137. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/offline_memory_persona.txt +0 -0
  138. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam.txt +0 -0
  139. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam_pov.txt +0 -0
  140. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sam_simple_pov_gpt35.txt +0 -0
  141. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/personas/examples/sqldb/test.db +0 -0
  142. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/__init__.py +0 -0
  143. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/gpt_summarize.py +0 -0
  144. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/gpt_system.py +0 -0
  145. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_base.txt +0 -0
  146. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat.txt +0 -0
  147. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat_compressed.txt +0 -0
  148. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_chat_fstring.txt +0 -0
  149. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_convo_only.txt +0 -0
  150. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_doc.txt +0 -0
  151. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_gpt35_extralong.txt +0 -0
  152. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_intuitive_knowledge.txt +0 -0
  153. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_modified_chat.txt +0 -0
  154. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_modified_o1.txt +0 -0
  155. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_offline_memory.txt +0 -0
  156. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/prompts/system/memgpt_offline_memory_chat.txt +0 -0
  157. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/pytest.ini +0 -0
  158. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/agent.py +0 -0
  159. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/block.py +0 -0
  160. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/embedding_config.py +0 -0
  161. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/embedding_config_overrides.py +0 -0
  162. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/enums.py +0 -0
  163. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/environment_variables.py +0 -0
  164. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/file.py +0 -0
  165. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/health.py +0 -0
  166. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/job.py +0 -0
  167. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_base.py +0 -0
  168. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_message.py +0 -0
  169. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_request.py +0 -0
  170. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/letta_response.py +0 -0
  171. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/llm_config.py +0 -0
  172. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/llm_config_overrides.py +0 -0
  173. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/memory.py +0 -0
  174. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completion_request.py +0 -0
  175. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completion_response.py +0 -0
  176. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/chat_completions.py +0 -0
  177. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/embedding_response.py +0 -0
  178. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/openai/openai.py +0 -0
  179. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/organization.py +0 -0
  180. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/passage.py +0 -0
  181. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/run.py +0 -0
  182. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/sandbox_config.py +0 -0
  183. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/source.py +0 -0
  184. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/step.py +0 -0
  185. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/tool_rule.py +0 -0
  186. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/usage.py +0 -0
  187. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/schemas/user.py +0 -0
  188. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/__init__.py +0 -0
  189. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/constants.py +0 -0
  190. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/generate_openapi_schema.sh +0 -0
  191. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/__init__.py +0 -0
  192. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/app.py +0 -0
  193. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth/__init__.py +0 -0
  194. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth/index.py +0 -0
  195. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/auth_token.py +0 -0
  196. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/__init__.py +0 -0
  197. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/__init__.py +0 -0
  198. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/blocks.py +0 -0
  199. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/health.py +0 -0
  200. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/jobs.py +0 -0
  201. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/llms.py +0 -0
  202. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/organizations.py +0 -0
  203. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/providers.py +0 -0
  204. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/runs.py +0 -0
  205. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/sandbox_configs.py +0 -0
  206. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/sources.py +0 -0
  207. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/tags.py +0 -0
  208. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/routers/v1/users.py +0 -0
  209. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/static_files.py +0 -0
  210. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/rest_api/utils.py +0 -0
  211. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/startup.sh +0 -0
  212. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/assets/index-048c9598.js +0 -0
  213. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/assets/index-0e31b727.css +0 -0
  214. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/favicon.ico +0 -0
  215. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/index.html +0 -0
  216. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/static_files/memgpt_logo_transparent.png +0 -0
  217. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/utils.py +0 -0
  218. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/__init__.py +0 -0
  219. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/example_client.py +0 -0
  220. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/interface.py +0 -0
  221. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/protocol.py +0 -0
  222. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/server/ws_api/server.py +0 -0
  223. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/__init__.py +0 -0
  224. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/agent_manager.py +0 -0
  225. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/block_manager.py +0 -0
  226. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/job_manager.py +0 -0
  227. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/message_manager.py +0 -0
  228. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/organization_manager.py +0 -0
  229. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/passage_manager.py +0 -0
  230. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/per_agent_lock_manager.py +0 -0
  231. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/provider_manager.py +0 -0
  232. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/sandbox_config_manager.py +0 -0
  233. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/source_manager.py +0 -0
  234. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/step_manager.py +0 -0
  235. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/tool_execution_sandbox.py +0 -0
  236. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/services/user_manager.py +0 -0
  237. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/streaming_interface.py +0 -0
  238. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/system.py +0 -0
  239. {letta_nightly-0.6.15.dev20250126103925 → letta_nightly-0.6.16.dev20250127104048}/letta/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: letta-nightly
3
- Version: 0.6.15.dev20250126103925
3
+ Version: 0.6.16.dev20250127104048
4
4
  Summary: Create LLM agents with long-term memory and custom tools
5
5
  License: Apache License
6
6
  Author: Letta Team
@@ -1,5 +1,4 @@
1
-
2
- __version__ = "0.6.15"
1
+ __version__ = "0.6.16"
3
2
 
4
3
 
5
4
  # import clients
@@ -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 not isinstance(heartbeat_request, bool) or heartbeat_request is None:
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, name=name, tags=tags, update=update)
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, name=name, return_char_limit=return_char_limit)
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, name=name, return_char_limit=return_char_limit)
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
- return {
477
- "name": name,
478
- "description": description,
479
- "strict": True,
480
- "parameters": {
481
- "type": "object",
482
- "properties": properties_json,
483
- "additionalProperties": False,
484
- "required": required_fields,
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
+ }