agno 2.2.11__tar.gz → 2.2.13__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (580) hide show
  1. {agno-2.2.11 → agno-2.2.13}/PKG-INFO +1 -1
  2. {agno-2.2.11 → agno-2.2.13}/agno/agent/agent.py +62 -47
  3. {agno-2.2.11 → agno-2.2.13}/agno/db/mysql/mysql.py +1 -1
  4. {agno-2.2.11 → agno-2.2.13}/agno/db/singlestore/singlestore.py +1 -1
  5. {agno-2.2.11 → agno-2.2.13}/agno/db/sqlite/async_sqlite.py +1 -1
  6. {agno-2.2.11 → agno-2.2.13}/agno/db/sqlite/sqlite.py +1 -1
  7. agno-2.2.13/agno/filters.py +354 -0
  8. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/knowledge.py +43 -22
  9. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/slack/router.py +53 -33
  10. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/slack/slack.py +9 -1
  11. {agno-2.2.11 → agno-2.2.13}/agno/os/router.py +25 -1
  12. {agno-2.2.11 → agno-2.2.13}/agno/run/base.py +3 -2
  13. {agno-2.2.11 → agno-2.2.13}/agno/session/agent.py +10 -5
  14. {agno-2.2.11 → agno-2.2.13}/agno/team/team.py +44 -17
  15. {agno-2.2.11 → agno-2.2.13}/agno/utils/agent.py +22 -17
  16. {agno-2.2.11 → agno-2.2.13}/agno/utils/gemini.py +15 -5
  17. {agno-2.2.11 → agno-2.2.13}/agno/utils/knowledge.py +12 -5
  18. {agno-2.2.11 → agno-2.2.13}/agno/utils/log.py +1 -0
  19. {agno-2.2.11 → agno-2.2.13}/agno/utils/print_response/agent.py +5 -4
  20. {agno-2.2.11 → agno-2.2.13}/agno/utils/print_response/team.py +5 -4
  21. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/base.py +2 -4
  22. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/cassandra/cassandra.py +12 -5
  23. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/chroma/chromadb.py +10 -4
  24. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/clickhouse/clickhousedb.py +12 -4
  25. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/couchbase/couchbase.py +12 -3
  26. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/lancedb/lance_db.py +69 -144
  27. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/langchaindb/langchaindb.py +13 -4
  28. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/lightrag/lightrag.py +8 -3
  29. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/llamaindex/llamaindexdb.py +10 -4
  30. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/milvus/milvus.py +16 -5
  31. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/mongodb/mongodb.py +14 -3
  32. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/pgvector/pgvector.py +73 -15
  33. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/pineconedb/pineconedb.py +6 -2
  34. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/qdrant/qdrant.py +25 -13
  35. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/redis/redisdb.py +37 -30
  36. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/singlestore/singlestore.py +9 -4
  37. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/surrealdb/surrealdb.py +13 -3
  38. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/upstashdb/upstashdb.py +8 -5
  39. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/weaviate/weaviate.py +29 -12
  40. {agno-2.2.11 → agno-2.2.13}/agno/workflow/step.py +116 -52
  41. {agno-2.2.11 → agno-2.2.13}/agno/workflow/workflow.py +12 -6
  42. {agno-2.2.11 → agno-2.2.13}/agno.egg-info/PKG-INFO +1 -1
  43. {agno-2.2.11 → agno-2.2.13}/agno.egg-info/SOURCES.txt +1 -0
  44. {agno-2.2.11 → agno-2.2.13}/pyproject.toml +1 -1
  45. {agno-2.2.11 → agno-2.2.13}/LICENSE +0 -0
  46. {agno-2.2.11 → agno-2.2.13}/README.md +0 -0
  47. {agno-2.2.11 → agno-2.2.13}/agno/__init__.py +0 -0
  48. {agno-2.2.11 → agno-2.2.13}/agno/agent/__init__.py +0 -0
  49. {agno-2.2.11 → agno-2.2.13}/agno/api/__init__.py +0 -0
  50. {agno-2.2.11 → agno-2.2.13}/agno/api/agent.py +0 -0
  51. {agno-2.2.11 → agno-2.2.13}/agno/api/api.py +0 -0
  52. {agno-2.2.11 → agno-2.2.13}/agno/api/evals.py +0 -0
  53. {agno-2.2.11 → agno-2.2.13}/agno/api/os.py +0 -0
  54. {agno-2.2.11 → agno-2.2.13}/agno/api/routes.py +0 -0
  55. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/__init__.py +0 -0
  56. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/agent.py +0 -0
  57. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/evals.py +0 -0
  58. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/os.py +0 -0
  59. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/response.py +0 -0
  60. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/team.py +0 -0
  61. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/utils.py +0 -0
  62. {agno-2.2.11 → agno-2.2.13}/agno/api/schemas/workflows.py +0 -0
  63. {agno-2.2.11 → agno-2.2.13}/agno/api/settings.py +0 -0
  64. {agno-2.2.11 → agno-2.2.13}/agno/api/team.py +0 -0
  65. {agno-2.2.11 → agno-2.2.13}/agno/api/workflow.py +0 -0
  66. {agno-2.2.11 → agno-2.2.13}/agno/cloud/aws/base.py +0 -0
  67. {agno-2.2.11 → agno-2.2.13}/agno/cloud/aws/s3/__init__.py +0 -0
  68. {agno-2.2.11 → agno-2.2.13}/agno/cloud/aws/s3/api_client.py +0 -0
  69. {agno-2.2.11 → agno-2.2.13}/agno/cloud/aws/s3/bucket.py +0 -0
  70. {agno-2.2.11 → agno-2.2.13}/agno/cloud/aws/s3/object.py +0 -0
  71. {agno-2.2.11 → agno-2.2.13}/agno/culture/__init__.py +0 -0
  72. {agno-2.2.11 → agno-2.2.13}/agno/culture/manager.py +0 -0
  73. {agno-2.2.11 → agno-2.2.13}/agno/db/__init__.py +0 -0
  74. {agno-2.2.11 → agno-2.2.13}/agno/db/async_postgres/__init__.py +0 -0
  75. {agno-2.2.11 → agno-2.2.13}/agno/db/base.py +0 -0
  76. {agno-2.2.11 → agno-2.2.13}/agno/db/dynamo/__init__.py +0 -0
  77. {agno-2.2.11 → agno-2.2.13}/agno/db/dynamo/dynamo.py +0 -0
  78. {agno-2.2.11 → agno-2.2.13}/agno/db/dynamo/schemas.py +0 -0
  79. {agno-2.2.11 → agno-2.2.13}/agno/db/dynamo/utils.py +0 -0
  80. {agno-2.2.11 → agno-2.2.13}/agno/db/firestore/__init__.py +0 -0
  81. {agno-2.2.11 → agno-2.2.13}/agno/db/firestore/firestore.py +0 -0
  82. {agno-2.2.11 → agno-2.2.13}/agno/db/firestore/schemas.py +0 -0
  83. {agno-2.2.11 → agno-2.2.13}/agno/db/firestore/utils.py +0 -0
  84. {agno-2.2.11 → agno-2.2.13}/agno/db/gcs_json/__init__.py +0 -0
  85. {agno-2.2.11 → agno-2.2.13}/agno/db/gcs_json/gcs_json_db.py +0 -0
  86. {agno-2.2.11 → agno-2.2.13}/agno/db/gcs_json/utils.py +0 -0
  87. {agno-2.2.11 → agno-2.2.13}/agno/db/in_memory/__init__.py +0 -0
  88. {agno-2.2.11 → agno-2.2.13}/agno/db/in_memory/in_memory_db.py +0 -0
  89. {agno-2.2.11 → agno-2.2.13}/agno/db/in_memory/utils.py +0 -0
  90. {agno-2.2.11 → agno-2.2.13}/agno/db/json/__init__.py +0 -0
  91. {agno-2.2.11 → agno-2.2.13}/agno/db/json/json_db.py +0 -0
  92. {agno-2.2.11 → agno-2.2.13}/agno/db/json/utils.py +0 -0
  93. {agno-2.2.11 → agno-2.2.13}/agno/db/migrations/__init__.py +0 -0
  94. {agno-2.2.11 → agno-2.2.13}/agno/db/migrations/v1_to_v2.py +0 -0
  95. {agno-2.2.11 → agno-2.2.13}/agno/db/mongo/__init__.py +0 -0
  96. {agno-2.2.11 → agno-2.2.13}/agno/db/mongo/async_mongo.py +0 -0
  97. {agno-2.2.11 → agno-2.2.13}/agno/db/mongo/mongo.py +0 -0
  98. {agno-2.2.11 → agno-2.2.13}/agno/db/mongo/schemas.py +0 -0
  99. {agno-2.2.11 → agno-2.2.13}/agno/db/mongo/utils.py +0 -0
  100. {agno-2.2.11 → agno-2.2.13}/agno/db/mysql/__init__.py +0 -0
  101. {agno-2.2.11 → agno-2.2.13}/agno/db/mysql/schemas.py +0 -0
  102. {agno-2.2.11 → agno-2.2.13}/agno/db/mysql/utils.py +0 -0
  103. {agno-2.2.11 → agno-2.2.13}/agno/db/postgres/__init__.py +0 -0
  104. {agno-2.2.11 → agno-2.2.13}/agno/db/postgres/async_postgres.py +0 -0
  105. {agno-2.2.11 → agno-2.2.13}/agno/db/postgres/postgres.py +0 -0
  106. {agno-2.2.11 → agno-2.2.13}/agno/db/postgres/schemas.py +0 -0
  107. {agno-2.2.11 → agno-2.2.13}/agno/db/postgres/utils.py +0 -0
  108. {agno-2.2.11 → agno-2.2.13}/agno/db/redis/__init__.py +0 -0
  109. {agno-2.2.11 → agno-2.2.13}/agno/db/redis/redis.py +0 -0
  110. {agno-2.2.11 → agno-2.2.13}/agno/db/redis/schemas.py +0 -0
  111. {agno-2.2.11 → agno-2.2.13}/agno/db/redis/utils.py +0 -0
  112. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/__init__.py +0 -0
  113. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/culture.py +0 -0
  114. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/evals.py +0 -0
  115. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/knowledge.py +0 -0
  116. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/memory.py +0 -0
  117. {agno-2.2.11 → agno-2.2.13}/agno/db/schemas/metrics.py +0 -0
  118. {agno-2.2.11 → agno-2.2.13}/agno/db/singlestore/__init__.py +0 -0
  119. {agno-2.2.11 → agno-2.2.13}/agno/db/singlestore/schemas.py +0 -0
  120. {agno-2.2.11 → agno-2.2.13}/agno/db/singlestore/utils.py +0 -0
  121. {agno-2.2.11 → agno-2.2.13}/agno/db/sqlite/__init__.py +0 -0
  122. {agno-2.2.11 → agno-2.2.13}/agno/db/sqlite/schemas.py +0 -0
  123. {agno-2.2.11 → agno-2.2.13}/agno/db/sqlite/utils.py +0 -0
  124. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/__init__.py +0 -0
  125. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/metrics.py +0 -0
  126. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/models.py +0 -0
  127. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/queries.py +0 -0
  128. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/surrealdb.py +0 -0
  129. {agno-2.2.11 → agno-2.2.13}/agno/db/surrealdb/utils.py +0 -0
  130. {agno-2.2.11 → agno-2.2.13}/agno/db/utils.py +0 -0
  131. {agno-2.2.11 → agno-2.2.13}/agno/debug.py +0 -0
  132. {agno-2.2.11 → agno-2.2.13}/agno/eval/__init__.py +0 -0
  133. {agno-2.2.11 → agno-2.2.13}/agno/eval/accuracy.py +0 -0
  134. {agno-2.2.11 → agno-2.2.13}/agno/eval/performance.py +0 -0
  135. {agno-2.2.11 → agno-2.2.13}/agno/eval/reliability.py +0 -0
  136. {agno-2.2.11 → agno-2.2.13}/agno/eval/utils.py +0 -0
  137. {agno-2.2.11 → agno-2.2.13}/agno/exceptions.py +0 -0
  138. {agno-2.2.11 → agno-2.2.13}/agno/guardrails/__init__.py +0 -0
  139. {agno-2.2.11 → agno-2.2.13}/agno/guardrails/base.py +0 -0
  140. {agno-2.2.11 → agno-2.2.13}/agno/guardrails/openai.py +0 -0
  141. {agno-2.2.11 → agno-2.2.13}/agno/guardrails/pii.py +0 -0
  142. {agno-2.2.11 → agno-2.2.13}/agno/guardrails/prompt_injection.py +0 -0
  143. {agno-2.2.11 → agno-2.2.13}/agno/integrations/__init__.py +0 -0
  144. {agno-2.2.11 → agno-2.2.13}/agno/integrations/discord/__init__.py +0 -0
  145. {agno-2.2.11 → agno-2.2.13}/agno/integrations/discord/client.py +0 -0
  146. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/__init__.py +0 -0
  147. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/__init__.py +0 -0
  148. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/agentic.py +0 -0
  149. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/document.py +0 -0
  150. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/fixed.py +0 -0
  151. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/markdown.py +0 -0
  152. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/recursive.py +0 -0
  153. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/row.py +0 -0
  154. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/semantic.py +0 -0
  155. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/chunking/strategy.py +0 -0
  156. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/content.py +0 -0
  157. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/document/__init__.py +0 -0
  158. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/document/base.py +0 -0
  159. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/__init__.py +0 -0
  160. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/aws_bedrock.py +0 -0
  161. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/azure_openai.py +0 -0
  162. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/base.py +0 -0
  163. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/cohere.py +0 -0
  164. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/fastembed.py +0 -0
  165. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/fireworks.py +0 -0
  166. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/google.py +0 -0
  167. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/huggingface.py +0 -0
  168. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/jina.py +0 -0
  169. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/langdb.py +0 -0
  170. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/mistral.py +0 -0
  171. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/nebius.py +0 -0
  172. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/ollama.py +0 -0
  173. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/openai.py +0 -0
  174. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/sentence_transformer.py +0 -0
  175. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/together.py +0 -0
  176. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/vllm.py +0 -0
  177. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/embedder/voyageai.py +0 -0
  178. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/__init__.py +0 -0
  179. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/arxiv_reader.py +0 -0
  180. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/base.py +0 -0
  181. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/csv_reader.py +0 -0
  182. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/docx_reader.py +0 -0
  183. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/field_labeled_csv_reader.py +0 -0
  184. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/firecrawl_reader.py +0 -0
  185. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/json_reader.py +0 -0
  186. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/markdown_reader.py +0 -0
  187. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/pdf_reader.py +0 -0
  188. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/pptx_reader.py +0 -0
  189. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/reader_factory.py +0 -0
  190. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/s3_reader.py +0 -0
  191. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/tavily_reader.py +0 -0
  192. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/text_reader.py +0 -0
  193. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/web_search_reader.py +0 -0
  194. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/website_reader.py +0 -0
  195. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/wikipedia_reader.py +0 -0
  196. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reader/youtube_reader.py +0 -0
  197. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/remote_content/__init__.py +0 -0
  198. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/remote_content/remote_content.py +0 -0
  199. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reranker/__init__.py +0 -0
  200. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reranker/base.py +0 -0
  201. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reranker/cohere.py +0 -0
  202. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reranker/infinity.py +0 -0
  203. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/reranker/sentence_transformer.py +0 -0
  204. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/types.py +0 -0
  205. {agno-2.2.11 → agno-2.2.13}/agno/knowledge/utils.py +0 -0
  206. {agno-2.2.11 → agno-2.2.13}/agno/media.py +0 -0
  207. {agno-2.2.11 → agno-2.2.13}/agno/memory/__init__.py +0 -0
  208. {agno-2.2.11 → agno-2.2.13}/agno/memory/manager.py +0 -0
  209. {agno-2.2.11 → agno-2.2.13}/agno/models/__init__.py +0 -0
  210. {agno-2.2.11 → agno-2.2.13}/agno/models/aimlapi/__init__.py +0 -0
  211. {agno-2.2.11 → agno-2.2.13}/agno/models/aimlapi/aimlapi.py +0 -0
  212. {agno-2.2.11 → agno-2.2.13}/agno/models/anthropic/__init__.py +0 -0
  213. {agno-2.2.11 → agno-2.2.13}/agno/models/anthropic/claude.py +0 -0
  214. {agno-2.2.11 → agno-2.2.13}/agno/models/aws/__init__.py +0 -0
  215. {agno-2.2.11 → agno-2.2.13}/agno/models/aws/bedrock.py +0 -0
  216. {agno-2.2.11 → agno-2.2.13}/agno/models/aws/claude.py +0 -0
  217. {agno-2.2.11 → agno-2.2.13}/agno/models/azure/__init__.py +0 -0
  218. {agno-2.2.11 → agno-2.2.13}/agno/models/azure/ai_foundry.py +0 -0
  219. {agno-2.2.11 → agno-2.2.13}/agno/models/azure/openai_chat.py +0 -0
  220. {agno-2.2.11 → agno-2.2.13}/agno/models/base.py +0 -0
  221. {agno-2.2.11 → agno-2.2.13}/agno/models/cerebras/__init__.py +0 -0
  222. {agno-2.2.11 → agno-2.2.13}/agno/models/cerebras/cerebras.py +0 -0
  223. {agno-2.2.11 → agno-2.2.13}/agno/models/cerebras/cerebras_openai.py +0 -0
  224. {agno-2.2.11 → agno-2.2.13}/agno/models/cohere/__init__.py +0 -0
  225. {agno-2.2.11 → agno-2.2.13}/agno/models/cohere/chat.py +0 -0
  226. {agno-2.2.11 → agno-2.2.13}/agno/models/cometapi/__init__.py +0 -0
  227. {agno-2.2.11 → agno-2.2.13}/agno/models/cometapi/cometapi.py +0 -0
  228. {agno-2.2.11 → agno-2.2.13}/agno/models/dashscope/__init__.py +0 -0
  229. {agno-2.2.11 → agno-2.2.13}/agno/models/dashscope/dashscope.py +0 -0
  230. {agno-2.2.11 → agno-2.2.13}/agno/models/deepinfra/__init__.py +0 -0
  231. {agno-2.2.11 → agno-2.2.13}/agno/models/deepinfra/deepinfra.py +0 -0
  232. {agno-2.2.11 → agno-2.2.13}/agno/models/deepseek/__init__.py +0 -0
  233. {agno-2.2.11 → agno-2.2.13}/agno/models/deepseek/deepseek.py +0 -0
  234. {agno-2.2.11 → agno-2.2.13}/agno/models/defaults.py +0 -0
  235. {agno-2.2.11 → agno-2.2.13}/agno/models/fireworks/__init__.py +0 -0
  236. {agno-2.2.11 → agno-2.2.13}/agno/models/fireworks/fireworks.py +0 -0
  237. {agno-2.2.11 → agno-2.2.13}/agno/models/google/__init__.py +0 -0
  238. {agno-2.2.11 → agno-2.2.13}/agno/models/google/gemini.py +0 -0
  239. {agno-2.2.11 → agno-2.2.13}/agno/models/groq/__init__.py +0 -0
  240. {agno-2.2.11 → agno-2.2.13}/agno/models/groq/groq.py +0 -0
  241. {agno-2.2.11 → agno-2.2.13}/agno/models/huggingface/__init__.py +0 -0
  242. {agno-2.2.11 → agno-2.2.13}/agno/models/huggingface/huggingface.py +0 -0
  243. {agno-2.2.11 → agno-2.2.13}/agno/models/ibm/__init__.py +0 -0
  244. {agno-2.2.11 → agno-2.2.13}/agno/models/ibm/watsonx.py +0 -0
  245. {agno-2.2.11 → agno-2.2.13}/agno/models/internlm/__init__.py +0 -0
  246. {agno-2.2.11 → agno-2.2.13}/agno/models/internlm/internlm.py +0 -0
  247. {agno-2.2.11 → agno-2.2.13}/agno/models/langdb/__init__.py +0 -0
  248. {agno-2.2.11 → agno-2.2.13}/agno/models/langdb/langdb.py +0 -0
  249. {agno-2.2.11 → agno-2.2.13}/agno/models/litellm/__init__.py +0 -0
  250. {agno-2.2.11 → agno-2.2.13}/agno/models/litellm/chat.py +0 -0
  251. {agno-2.2.11 → agno-2.2.13}/agno/models/litellm/litellm_openai.py +0 -0
  252. {agno-2.2.11 → agno-2.2.13}/agno/models/llama_cpp/__init__.py +0 -0
  253. {agno-2.2.11 → agno-2.2.13}/agno/models/llama_cpp/llama_cpp.py +0 -0
  254. {agno-2.2.11 → agno-2.2.13}/agno/models/lmstudio/__init__.py +0 -0
  255. {agno-2.2.11 → agno-2.2.13}/agno/models/lmstudio/lmstudio.py +0 -0
  256. {agno-2.2.11 → agno-2.2.13}/agno/models/message.py +0 -0
  257. {agno-2.2.11 → agno-2.2.13}/agno/models/meta/__init__.py +0 -0
  258. {agno-2.2.11 → agno-2.2.13}/agno/models/meta/llama.py +0 -0
  259. {agno-2.2.11 → agno-2.2.13}/agno/models/meta/llama_openai.py +0 -0
  260. {agno-2.2.11 → agno-2.2.13}/agno/models/metrics.py +0 -0
  261. {agno-2.2.11 → agno-2.2.13}/agno/models/mistral/__init__.py +0 -0
  262. {agno-2.2.11 → agno-2.2.13}/agno/models/mistral/mistral.py +0 -0
  263. {agno-2.2.11 → agno-2.2.13}/agno/models/nebius/__init__.py +0 -0
  264. {agno-2.2.11 → agno-2.2.13}/agno/models/nebius/nebius.py +0 -0
  265. {agno-2.2.11 → agno-2.2.13}/agno/models/nexus/__init__.py +0 -0
  266. {agno-2.2.11 → agno-2.2.13}/agno/models/nexus/nexus.py +0 -0
  267. {agno-2.2.11 → agno-2.2.13}/agno/models/nvidia/__init__.py +0 -0
  268. {agno-2.2.11 → agno-2.2.13}/agno/models/nvidia/nvidia.py +0 -0
  269. {agno-2.2.11 → agno-2.2.13}/agno/models/ollama/__init__.py +0 -0
  270. {agno-2.2.11 → agno-2.2.13}/agno/models/ollama/chat.py +0 -0
  271. {agno-2.2.11 → agno-2.2.13}/agno/models/openai/__init__.py +0 -0
  272. {agno-2.2.11 → agno-2.2.13}/agno/models/openai/chat.py +0 -0
  273. {agno-2.2.11 → agno-2.2.13}/agno/models/openai/like.py +0 -0
  274. {agno-2.2.11 → agno-2.2.13}/agno/models/openai/responses.py +0 -0
  275. {agno-2.2.11 → agno-2.2.13}/agno/models/openrouter/__init__.py +0 -0
  276. {agno-2.2.11 → agno-2.2.13}/agno/models/openrouter/openrouter.py +0 -0
  277. {agno-2.2.11 → agno-2.2.13}/agno/models/perplexity/__init__.py +0 -0
  278. {agno-2.2.11 → agno-2.2.13}/agno/models/perplexity/perplexity.py +0 -0
  279. {agno-2.2.11 → agno-2.2.13}/agno/models/portkey/__init__.py +0 -0
  280. {agno-2.2.11 → agno-2.2.13}/agno/models/portkey/portkey.py +0 -0
  281. {agno-2.2.11 → agno-2.2.13}/agno/models/requesty/__init__.py +0 -0
  282. {agno-2.2.11 → agno-2.2.13}/agno/models/requesty/requesty.py +0 -0
  283. {agno-2.2.11 → agno-2.2.13}/agno/models/response.py +0 -0
  284. {agno-2.2.11 → agno-2.2.13}/agno/models/sambanova/__init__.py +0 -0
  285. {agno-2.2.11 → agno-2.2.13}/agno/models/sambanova/sambanova.py +0 -0
  286. {agno-2.2.11 → agno-2.2.13}/agno/models/siliconflow/__init__.py +0 -0
  287. {agno-2.2.11 → agno-2.2.13}/agno/models/siliconflow/siliconflow.py +0 -0
  288. {agno-2.2.11 → agno-2.2.13}/agno/models/together/__init__.py +0 -0
  289. {agno-2.2.11 → agno-2.2.13}/agno/models/together/together.py +0 -0
  290. {agno-2.2.11 → agno-2.2.13}/agno/models/utils.py +0 -0
  291. {agno-2.2.11 → agno-2.2.13}/agno/models/vercel/__init__.py +0 -0
  292. {agno-2.2.11 → agno-2.2.13}/agno/models/vercel/v0.py +0 -0
  293. {agno-2.2.11 → agno-2.2.13}/agno/models/vertexai/__init__.py +0 -0
  294. {agno-2.2.11 → agno-2.2.13}/agno/models/vertexai/claude.py +0 -0
  295. {agno-2.2.11 → agno-2.2.13}/agno/models/vllm/__init__.py +0 -0
  296. {agno-2.2.11 → agno-2.2.13}/agno/models/vllm/vllm.py +0 -0
  297. {agno-2.2.11 → agno-2.2.13}/agno/models/xai/__init__.py +0 -0
  298. {agno-2.2.11 → agno-2.2.13}/agno/models/xai/xai.py +0 -0
  299. {agno-2.2.11 → agno-2.2.13}/agno/os/__init__.py +0 -0
  300. {agno-2.2.11 → agno-2.2.13}/agno/os/app.py +0 -0
  301. {agno-2.2.11 → agno-2.2.13}/agno/os/auth.py +0 -0
  302. {agno-2.2.11 → agno-2.2.13}/agno/os/config.py +0 -0
  303. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/__init__.py +0 -0
  304. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/a2a/__init__.py +0 -0
  305. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/a2a/a2a.py +0 -0
  306. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/a2a/router.py +0 -0
  307. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/a2a/utils.py +0 -0
  308. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/agui/__init__.py +0 -0
  309. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/agui/agui.py +0 -0
  310. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/agui/router.py +0 -0
  311. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/agui/utils.py +0 -0
  312. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/base.py +0 -0
  313. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/slack/__init__.py +0 -0
  314. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/slack/security.py +0 -0
  315. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/whatsapp/__init__.py +0 -0
  316. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/whatsapp/router.py +0 -0
  317. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/whatsapp/security.py +0 -0
  318. {agno-2.2.11 → agno-2.2.13}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
  319. {agno-2.2.11 → agno-2.2.13}/agno/os/mcp.py +0 -0
  320. {agno-2.2.11 → agno-2.2.13}/agno/os/middleware/__init__.py +0 -0
  321. {agno-2.2.11 → agno-2.2.13}/agno/os/middleware/jwt.py +0 -0
  322. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/__init__.py +0 -0
  323. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/evals/__init__.py +0 -0
  324. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/evals/evals.py +0 -0
  325. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/evals/schemas.py +0 -0
  326. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/evals/utils.py +0 -0
  327. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/health.py +0 -0
  328. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/home.py +0 -0
  329. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/knowledge/__init__.py +0 -0
  330. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/knowledge/knowledge.py +0 -0
  331. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/knowledge/schemas.py +0 -0
  332. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/memory/__init__.py +0 -0
  333. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/memory/memory.py +0 -0
  334. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/memory/schemas.py +0 -0
  335. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/metrics/__init__.py +0 -0
  336. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/metrics/metrics.py +0 -0
  337. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/metrics/schemas.py +0 -0
  338. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/session/__init__.py +0 -0
  339. {agno-2.2.11 → agno-2.2.13}/agno/os/routers/session/session.py +0 -0
  340. {agno-2.2.11 → agno-2.2.13}/agno/os/schema.py +0 -0
  341. {agno-2.2.11 → agno-2.2.13}/agno/os/settings.py +0 -0
  342. {agno-2.2.11 → agno-2.2.13}/agno/os/utils.py +0 -0
  343. {agno-2.2.11 → agno-2.2.13}/agno/py.typed +0 -0
  344. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/__init__.py +0 -0
  345. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/anthropic.py +0 -0
  346. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/azure_ai_foundry.py +0 -0
  347. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/deepseek.py +0 -0
  348. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/default.py +0 -0
  349. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/gemini.py +0 -0
  350. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/groq.py +0 -0
  351. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/helpers.py +0 -0
  352. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/ollama.py +0 -0
  353. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/openai.py +0 -0
  354. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/step.py +0 -0
  355. {agno-2.2.11 → agno-2.2.13}/agno/reasoning/vertexai.py +0 -0
  356. {agno-2.2.11 → agno-2.2.13}/agno/run/__init__.py +0 -0
  357. {agno-2.2.11 → agno-2.2.13}/agno/run/agent.py +0 -0
  358. {agno-2.2.11 → agno-2.2.13}/agno/run/cancel.py +0 -0
  359. {agno-2.2.11 → agno-2.2.13}/agno/run/messages.py +0 -0
  360. {agno-2.2.11 → agno-2.2.13}/agno/run/team.py +0 -0
  361. {agno-2.2.11 → agno-2.2.13}/agno/run/workflow.py +0 -0
  362. {agno-2.2.11 → agno-2.2.13}/agno/session/__init__.py +0 -0
  363. {agno-2.2.11 → agno-2.2.13}/agno/session/summary.py +0 -0
  364. {agno-2.2.11 → agno-2.2.13}/agno/session/team.py +0 -0
  365. {agno-2.2.11 → agno-2.2.13}/agno/session/workflow.py +0 -0
  366. {agno-2.2.11 → agno-2.2.13}/agno/team/__init__.py +0 -0
  367. {agno-2.2.11 → agno-2.2.13}/agno/tools/__init__.py +0 -0
  368. {agno-2.2.11 → agno-2.2.13}/agno/tools/agentql.py +0 -0
  369. {agno-2.2.11 → agno-2.2.13}/agno/tools/airflow.py +0 -0
  370. {agno-2.2.11 → agno-2.2.13}/agno/tools/api.py +0 -0
  371. {agno-2.2.11 → agno-2.2.13}/agno/tools/apify.py +0 -0
  372. {agno-2.2.11 → agno-2.2.13}/agno/tools/arxiv.py +0 -0
  373. {agno-2.2.11 → agno-2.2.13}/agno/tools/aws_lambda.py +0 -0
  374. {agno-2.2.11 → agno-2.2.13}/agno/tools/aws_ses.py +0 -0
  375. {agno-2.2.11 → agno-2.2.13}/agno/tools/baidusearch.py +0 -0
  376. {agno-2.2.11 → agno-2.2.13}/agno/tools/bitbucket.py +0 -0
  377. {agno-2.2.11 → agno-2.2.13}/agno/tools/brandfetch.py +0 -0
  378. {agno-2.2.11 → agno-2.2.13}/agno/tools/bravesearch.py +0 -0
  379. {agno-2.2.11 → agno-2.2.13}/agno/tools/brightdata.py +0 -0
  380. {agno-2.2.11 → agno-2.2.13}/agno/tools/browserbase.py +0 -0
  381. {agno-2.2.11 → agno-2.2.13}/agno/tools/calcom.py +0 -0
  382. {agno-2.2.11 → agno-2.2.13}/agno/tools/calculator.py +0 -0
  383. {agno-2.2.11 → agno-2.2.13}/agno/tools/cartesia.py +0 -0
  384. {agno-2.2.11 → agno-2.2.13}/agno/tools/clickup.py +0 -0
  385. {agno-2.2.11 → agno-2.2.13}/agno/tools/confluence.py +0 -0
  386. {agno-2.2.11 → agno-2.2.13}/agno/tools/crawl4ai.py +0 -0
  387. {agno-2.2.11 → agno-2.2.13}/agno/tools/csv_toolkit.py +0 -0
  388. {agno-2.2.11 → agno-2.2.13}/agno/tools/dalle.py +0 -0
  389. {agno-2.2.11 → agno-2.2.13}/agno/tools/daytona.py +0 -0
  390. {agno-2.2.11 → agno-2.2.13}/agno/tools/decorator.py +0 -0
  391. {agno-2.2.11 → agno-2.2.13}/agno/tools/desi_vocal.py +0 -0
  392. {agno-2.2.11 → agno-2.2.13}/agno/tools/discord.py +0 -0
  393. {agno-2.2.11 → agno-2.2.13}/agno/tools/docker.py +0 -0
  394. {agno-2.2.11 → agno-2.2.13}/agno/tools/duckdb.py +0 -0
  395. {agno-2.2.11 → agno-2.2.13}/agno/tools/duckduckgo.py +0 -0
  396. {agno-2.2.11 → agno-2.2.13}/agno/tools/e2b.py +0 -0
  397. {agno-2.2.11 → agno-2.2.13}/agno/tools/eleven_labs.py +0 -0
  398. {agno-2.2.11 → agno-2.2.13}/agno/tools/email.py +0 -0
  399. {agno-2.2.11 → agno-2.2.13}/agno/tools/evm.py +0 -0
  400. {agno-2.2.11 → agno-2.2.13}/agno/tools/exa.py +0 -0
  401. {agno-2.2.11 → agno-2.2.13}/agno/tools/fal.py +0 -0
  402. {agno-2.2.11 → agno-2.2.13}/agno/tools/file.py +0 -0
  403. {agno-2.2.11 → agno-2.2.13}/agno/tools/file_generation.py +0 -0
  404. {agno-2.2.11 → agno-2.2.13}/agno/tools/financial_datasets.py +0 -0
  405. {agno-2.2.11 → agno-2.2.13}/agno/tools/firecrawl.py +0 -0
  406. {agno-2.2.11 → agno-2.2.13}/agno/tools/function.py +0 -0
  407. {agno-2.2.11 → agno-2.2.13}/agno/tools/giphy.py +0 -0
  408. {agno-2.2.11 → agno-2.2.13}/agno/tools/github.py +0 -0
  409. {agno-2.2.11 → agno-2.2.13}/agno/tools/gmail.py +0 -0
  410. {agno-2.2.11 → agno-2.2.13}/agno/tools/google_bigquery.py +0 -0
  411. {agno-2.2.11 → agno-2.2.13}/agno/tools/google_drive.py +0 -0
  412. {agno-2.2.11 → agno-2.2.13}/agno/tools/google_maps.py +0 -0
  413. {agno-2.2.11 → agno-2.2.13}/agno/tools/googlecalendar.py +0 -0
  414. {agno-2.2.11 → agno-2.2.13}/agno/tools/googlesearch.py +0 -0
  415. {agno-2.2.11 → agno-2.2.13}/agno/tools/googlesheets.py +0 -0
  416. {agno-2.2.11 → agno-2.2.13}/agno/tools/hackernews.py +0 -0
  417. {agno-2.2.11 → agno-2.2.13}/agno/tools/jina.py +0 -0
  418. {agno-2.2.11 → agno-2.2.13}/agno/tools/jira.py +0 -0
  419. {agno-2.2.11 → agno-2.2.13}/agno/tools/knowledge.py +0 -0
  420. {agno-2.2.11 → agno-2.2.13}/agno/tools/linear.py +0 -0
  421. {agno-2.2.11 → agno-2.2.13}/agno/tools/linkup.py +0 -0
  422. {agno-2.2.11 → agno-2.2.13}/agno/tools/local_file_system.py +0 -0
  423. {agno-2.2.11 → agno-2.2.13}/agno/tools/lumalab.py +0 -0
  424. {agno-2.2.11 → agno-2.2.13}/agno/tools/mcp/__init__.py +0 -0
  425. {agno-2.2.11 → agno-2.2.13}/agno/tools/mcp/mcp.py +0 -0
  426. {agno-2.2.11 → agno-2.2.13}/agno/tools/mcp/multi_mcp.py +0 -0
  427. {agno-2.2.11 → agno-2.2.13}/agno/tools/mcp/params.py +0 -0
  428. {agno-2.2.11 → agno-2.2.13}/agno/tools/mcp_toolbox.py +0 -0
  429. {agno-2.2.11 → agno-2.2.13}/agno/tools/mem0.py +0 -0
  430. {agno-2.2.11 → agno-2.2.13}/agno/tools/memori.py +0 -0
  431. {agno-2.2.11 → agno-2.2.13}/agno/tools/memory.py +0 -0
  432. {agno-2.2.11 → agno-2.2.13}/agno/tools/mlx_transcribe.py +0 -0
  433. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/__init__.py +0 -0
  434. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/azure_openai.py +0 -0
  435. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/gemini.py +0 -0
  436. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/groq.py +0 -0
  437. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/morph.py +0 -0
  438. {agno-2.2.11 → agno-2.2.13}/agno/tools/models/nebius.py +0 -0
  439. {agno-2.2.11 → agno-2.2.13}/agno/tools/models_labs.py +0 -0
  440. {agno-2.2.11 → agno-2.2.13}/agno/tools/moviepy_video.py +0 -0
  441. {agno-2.2.11 → agno-2.2.13}/agno/tools/neo4j.py +0 -0
  442. {agno-2.2.11 → agno-2.2.13}/agno/tools/newspaper.py +0 -0
  443. {agno-2.2.11 → agno-2.2.13}/agno/tools/newspaper4k.py +0 -0
  444. {agno-2.2.11 → agno-2.2.13}/agno/tools/notion.py +0 -0
  445. {agno-2.2.11 → agno-2.2.13}/agno/tools/openai.py +0 -0
  446. {agno-2.2.11 → agno-2.2.13}/agno/tools/openbb.py +0 -0
  447. {agno-2.2.11 → agno-2.2.13}/agno/tools/opencv.py +0 -0
  448. {agno-2.2.11 → agno-2.2.13}/agno/tools/openweather.py +0 -0
  449. {agno-2.2.11 → agno-2.2.13}/agno/tools/oxylabs.py +0 -0
  450. {agno-2.2.11 → agno-2.2.13}/agno/tools/pandas.py +0 -0
  451. {agno-2.2.11 → agno-2.2.13}/agno/tools/parallel.py +0 -0
  452. {agno-2.2.11 → agno-2.2.13}/agno/tools/postgres.py +0 -0
  453. {agno-2.2.11 → agno-2.2.13}/agno/tools/pubmed.py +0 -0
  454. {agno-2.2.11 → agno-2.2.13}/agno/tools/python.py +0 -0
  455. {agno-2.2.11 → agno-2.2.13}/agno/tools/reasoning.py +0 -0
  456. {agno-2.2.11 → agno-2.2.13}/agno/tools/reddit.py +0 -0
  457. {agno-2.2.11 → agno-2.2.13}/agno/tools/replicate.py +0 -0
  458. {agno-2.2.11 → agno-2.2.13}/agno/tools/resend.py +0 -0
  459. {agno-2.2.11 → agno-2.2.13}/agno/tools/scrapegraph.py +0 -0
  460. {agno-2.2.11 → agno-2.2.13}/agno/tools/searxng.py +0 -0
  461. {agno-2.2.11 → agno-2.2.13}/agno/tools/serpapi.py +0 -0
  462. {agno-2.2.11 → agno-2.2.13}/agno/tools/serper.py +0 -0
  463. {agno-2.2.11 → agno-2.2.13}/agno/tools/shell.py +0 -0
  464. {agno-2.2.11 → agno-2.2.13}/agno/tools/slack.py +0 -0
  465. {agno-2.2.11 → agno-2.2.13}/agno/tools/sleep.py +0 -0
  466. {agno-2.2.11 → agno-2.2.13}/agno/tools/spider.py +0 -0
  467. {agno-2.2.11 → agno-2.2.13}/agno/tools/sql.py +0 -0
  468. {agno-2.2.11 → agno-2.2.13}/agno/tools/streamlit/__init__.py +0 -0
  469. {agno-2.2.11 → agno-2.2.13}/agno/tools/streamlit/components.py +0 -0
  470. {agno-2.2.11 → agno-2.2.13}/agno/tools/tavily.py +0 -0
  471. {agno-2.2.11 → agno-2.2.13}/agno/tools/telegram.py +0 -0
  472. {agno-2.2.11 → agno-2.2.13}/agno/tools/todoist.py +0 -0
  473. {agno-2.2.11 → agno-2.2.13}/agno/tools/tool_registry.py +0 -0
  474. {agno-2.2.11 → agno-2.2.13}/agno/tools/toolkit.py +0 -0
  475. {agno-2.2.11 → agno-2.2.13}/agno/tools/trafilatura.py +0 -0
  476. {agno-2.2.11 → agno-2.2.13}/agno/tools/trello.py +0 -0
  477. {agno-2.2.11 → agno-2.2.13}/agno/tools/twilio.py +0 -0
  478. {agno-2.2.11 → agno-2.2.13}/agno/tools/user_control_flow.py +0 -0
  479. {agno-2.2.11 → agno-2.2.13}/agno/tools/valyu.py +0 -0
  480. {agno-2.2.11 → agno-2.2.13}/agno/tools/visualization.py +0 -0
  481. {agno-2.2.11 → agno-2.2.13}/agno/tools/webbrowser.py +0 -0
  482. {agno-2.2.11 → agno-2.2.13}/agno/tools/webex.py +0 -0
  483. {agno-2.2.11 → agno-2.2.13}/agno/tools/website.py +0 -0
  484. {agno-2.2.11 → agno-2.2.13}/agno/tools/webtools.py +0 -0
  485. {agno-2.2.11 → agno-2.2.13}/agno/tools/whatsapp.py +0 -0
  486. {agno-2.2.11 → agno-2.2.13}/agno/tools/wikipedia.py +0 -0
  487. {agno-2.2.11 → agno-2.2.13}/agno/tools/workflow.py +0 -0
  488. {agno-2.2.11 → agno-2.2.13}/agno/tools/x.py +0 -0
  489. {agno-2.2.11 → agno-2.2.13}/agno/tools/yfinance.py +0 -0
  490. {agno-2.2.11 → agno-2.2.13}/agno/tools/youtube.py +0 -0
  491. {agno-2.2.11 → agno-2.2.13}/agno/tools/zendesk.py +0 -0
  492. {agno-2.2.11 → agno-2.2.13}/agno/tools/zep.py +0 -0
  493. {agno-2.2.11 → agno-2.2.13}/agno/tools/zoom.py +0 -0
  494. {agno-2.2.11 → agno-2.2.13}/agno/utils/__init__.py +0 -0
  495. {agno-2.2.11 → agno-2.2.13}/agno/utils/audio.py +0 -0
  496. {agno-2.2.11 → agno-2.2.13}/agno/utils/certs.py +0 -0
  497. {agno-2.2.11 → agno-2.2.13}/agno/utils/code_execution.py +0 -0
  498. {agno-2.2.11 → agno-2.2.13}/agno/utils/common.py +0 -0
  499. {agno-2.2.11 → agno-2.2.13}/agno/utils/dttm.py +0 -0
  500. {agno-2.2.11 → agno-2.2.13}/agno/utils/enum.py +0 -0
  501. {agno-2.2.11 → agno-2.2.13}/agno/utils/env.py +0 -0
  502. {agno-2.2.11 → agno-2.2.13}/agno/utils/events.py +0 -0
  503. {agno-2.2.11 → agno-2.2.13}/agno/utils/format_str.py +0 -0
  504. {agno-2.2.11 → agno-2.2.13}/agno/utils/functions.py +0 -0
  505. {agno-2.2.11 → agno-2.2.13}/agno/utils/hooks.py +0 -0
  506. {agno-2.2.11 → agno-2.2.13}/agno/utils/http.py +0 -0
  507. {agno-2.2.11 → agno-2.2.13}/agno/utils/json_schema.py +0 -0
  508. {agno-2.2.11 → agno-2.2.13}/agno/utils/location.py +0 -0
  509. {agno-2.2.11 → agno-2.2.13}/agno/utils/mcp.py +0 -0
  510. {agno-2.2.11 → agno-2.2.13}/agno/utils/media.py +0 -0
  511. {agno-2.2.11 → agno-2.2.13}/agno/utils/merge_dict.py +0 -0
  512. {agno-2.2.11 → agno-2.2.13}/agno/utils/message.py +0 -0
  513. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/__init__.py +0 -0
  514. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/ai_foundry.py +0 -0
  515. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/claude.py +0 -0
  516. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/cohere.py +0 -0
  517. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/llama.py +0 -0
  518. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/mistral.py +0 -0
  519. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/openai_responses.py +0 -0
  520. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/schema_utils.py +0 -0
  521. {agno-2.2.11 → agno-2.2.13}/agno/utils/models/watsonx.py +0 -0
  522. {agno-2.2.11 → agno-2.2.13}/agno/utils/openai.py +0 -0
  523. {agno-2.2.11 → agno-2.2.13}/agno/utils/pickle.py +0 -0
  524. {agno-2.2.11 → agno-2.2.13}/agno/utils/pprint.py +0 -0
  525. {agno-2.2.11 → agno-2.2.13}/agno/utils/print_response/__init__.py +0 -0
  526. {agno-2.2.11 → agno-2.2.13}/agno/utils/print_response/workflow.py +0 -0
  527. {agno-2.2.11 → agno-2.2.13}/agno/utils/prompts.py +0 -0
  528. {agno-2.2.11 → agno-2.2.13}/agno/utils/reasoning.py +0 -0
  529. {agno-2.2.11 → agno-2.2.13}/agno/utils/response.py +0 -0
  530. {agno-2.2.11 → agno-2.2.13}/agno/utils/response_iterator.py +0 -0
  531. {agno-2.2.11 → agno-2.2.13}/agno/utils/safe_formatter.py +0 -0
  532. {agno-2.2.11 → agno-2.2.13}/agno/utils/serialize.py +0 -0
  533. {agno-2.2.11 → agno-2.2.13}/agno/utils/shell.py +0 -0
  534. {agno-2.2.11 → agno-2.2.13}/agno/utils/streamlit.py +0 -0
  535. {agno-2.2.11 → agno-2.2.13}/agno/utils/string.py +0 -0
  536. {agno-2.2.11 → agno-2.2.13}/agno/utils/team.py +0 -0
  537. {agno-2.2.11 → agno-2.2.13}/agno/utils/timer.py +0 -0
  538. {agno-2.2.11 → agno-2.2.13}/agno/utils/tools.py +0 -0
  539. {agno-2.2.11 → agno-2.2.13}/agno/utils/web.py +0 -0
  540. {agno-2.2.11 → agno-2.2.13}/agno/utils/whatsapp.py +0 -0
  541. {agno-2.2.11 → agno-2.2.13}/agno/utils/yaml_io.py +0 -0
  542. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/__init__.py +0 -0
  543. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/cassandra/__init__.py +0 -0
  544. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
  545. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/cassandra/index.py +0 -0
  546. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/chroma/__init__.py +0 -0
  547. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/clickhouse/__init__.py +0 -0
  548. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/clickhouse/index.py +0 -0
  549. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/couchbase/__init__.py +0 -0
  550. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/distance.py +0 -0
  551. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/lancedb/__init__.py +0 -0
  552. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/langchaindb/__init__.py +0 -0
  553. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/lightrag/__init__.py +0 -0
  554. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/llamaindex/__init__.py +0 -0
  555. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/milvus/__init__.py +0 -0
  556. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/mongodb/__init__.py +0 -0
  557. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/pgvector/__init__.py +0 -0
  558. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/pgvector/index.py +0 -0
  559. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/pineconedb/__init__.py +0 -0
  560. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/qdrant/__init__.py +0 -0
  561. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/redis/__init__.py +0 -0
  562. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/search.py +0 -0
  563. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/singlestore/__init__.py +0 -0
  564. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/singlestore/index.py +0 -0
  565. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/surrealdb/__init__.py +0 -0
  566. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/upstashdb/__init__.py +0 -0
  567. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/weaviate/__init__.py +0 -0
  568. {agno-2.2.11 → agno-2.2.13}/agno/vectordb/weaviate/index.py +0 -0
  569. {agno-2.2.11 → agno-2.2.13}/agno/workflow/__init__.py +0 -0
  570. {agno-2.2.11 → agno-2.2.13}/agno/workflow/agent.py +0 -0
  571. {agno-2.2.11 → agno-2.2.13}/agno/workflow/condition.py +0 -0
  572. {agno-2.2.11 → agno-2.2.13}/agno/workflow/loop.py +0 -0
  573. {agno-2.2.11 → agno-2.2.13}/agno/workflow/parallel.py +0 -0
  574. {agno-2.2.11 → agno-2.2.13}/agno/workflow/router.py +0 -0
  575. {agno-2.2.11 → agno-2.2.13}/agno/workflow/steps.py +0 -0
  576. {agno-2.2.11 → agno-2.2.13}/agno/workflow/types.py +0 -0
  577. {agno-2.2.11 → agno-2.2.13}/agno.egg-info/dependency_links.txt +0 -0
  578. {agno-2.2.11 → agno-2.2.13}/agno.egg-info/requires.txt +0 -0
  579. {agno-2.2.11 → agno-2.2.13}/agno.egg-info/top_level.txt +0 -0
  580. {agno-2.2.11 → agno-2.2.13}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agno
3
- Version: 2.2.11
3
+ Version: 2.2.13
4
4
  Summary: Agno: a lightweight library for building Multi-Agent Systems
5
5
  Author-email: Ashpreet Bedi <ashpreet@agno.com>
6
6
  Project-URL: homepage, https://agno.com
@@ -38,6 +38,7 @@ from agno.exceptions import (
38
38
  RunCancelledException,
39
39
  StopAgentRun,
40
40
  )
41
+ from agno.filters import FilterExpr
41
42
  from agno.guardrails import BaseGuardrail
42
43
  from agno.knowledge.knowledge import Knowledge
43
44
  from agno.knowledge.types import KnowledgeFilter
@@ -233,7 +234,7 @@ class Agent:
233
234
  knowledge: Optional[Knowledge] = None
234
235
  # Enable RAG by adding references from Knowledge to the user prompt.
235
236
  # Add knowledge_filters to the Agent class attributes
236
- knowledge_filters: Optional[Dict[str, Any]] = None
237
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
237
238
  # Let the agent choose the knowledge filters
238
239
  enable_agentic_knowledge_filters: Optional[bool] = False
239
240
  add_knowledge_to_context: bool = False
@@ -450,7 +451,7 @@ class Agent:
450
451
  store_tool_messages: bool = True,
451
452
  store_history_messages: bool = True,
452
453
  knowledge: Optional[Knowledge] = None,
453
- knowledge_filters: Optional[Dict[str, Any]] = None,
454
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
454
455
  enable_agentic_knowledge_filters: Optional[bool] = None,
455
456
  add_knowledge_to_context: bool = False,
456
457
  knowledge_retriever: Optional[Callable[..., Optional[List[Union[Dict, str]]]]] = None,
@@ -1460,7 +1461,7 @@ class Agent:
1460
1461
  videos: Optional[Sequence[Video]] = None,
1461
1462
  files: Optional[Sequence[File]] = None,
1462
1463
  retries: Optional[int] = None,
1463
- knowledge_filters: Optional[Dict[str, Any]] = None,
1464
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
1464
1465
  add_history_to_context: Optional[bool] = None,
1465
1466
  add_dependencies_to_context: Optional[bool] = None,
1466
1467
  add_session_state_to_context: Optional[bool] = None,
@@ -1487,7 +1488,7 @@ class Agent:
1487
1488
  videos: Optional[Sequence[Video]] = None,
1488
1489
  files: Optional[Sequence[File]] = None,
1489
1490
  retries: Optional[int] = None,
1490
- knowledge_filters: Optional[Dict[str, Any]] = None,
1491
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
1491
1492
  add_history_to_context: Optional[bool] = None,
1492
1493
  add_dependencies_to_context: Optional[bool] = None,
1493
1494
  add_session_state_to_context: Optional[bool] = None,
@@ -1515,7 +1516,7 @@ class Agent:
1515
1516
  videos: Optional[Sequence[Video]] = None,
1516
1517
  files: Optional[Sequence[File]] = None,
1517
1518
  retries: Optional[int] = None,
1518
- knowledge_filters: Optional[Dict[str, Any]] = None,
1519
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
1519
1520
  add_history_to_context: Optional[bool] = None,
1520
1521
  add_dependencies_to_context: Optional[bool] = None,
1521
1522
  add_session_state_to_context: Optional[bool] = None,
@@ -2385,7 +2386,7 @@ class Agent:
2385
2386
  stream_events: Optional[bool] = None,
2386
2387
  stream_intermediate_steps: Optional[bool] = None,
2387
2388
  retries: Optional[int] = None,
2388
- knowledge_filters: Optional[Dict[str, Any]] = None,
2389
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2389
2390
  add_history_to_context: Optional[bool] = None,
2390
2391
  add_dependencies_to_context: Optional[bool] = None,
2391
2392
  add_session_state_to_context: Optional[bool] = None,
@@ -2411,7 +2412,7 @@ class Agent:
2411
2412
  stream_events: Optional[bool] = None,
2412
2413
  stream_intermediate_steps: Optional[bool] = None,
2413
2414
  retries: Optional[int] = None,
2414
- knowledge_filters: Optional[Dict[str, Any]] = None,
2415
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2415
2416
  add_history_to_context: Optional[bool] = None,
2416
2417
  add_dependencies_to_context: Optional[bool] = None,
2417
2418
  add_session_state_to_context: Optional[bool] = None,
@@ -2439,7 +2440,7 @@ class Agent:
2439
2440
  stream_events: Optional[bool] = None,
2440
2441
  stream_intermediate_steps: Optional[bool] = None,
2441
2442
  retries: Optional[int] = None,
2442
- knowledge_filters: Optional[Dict[str, Any]] = None,
2443
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2443
2444
  add_history_to_context: Optional[bool] = None,
2444
2445
  add_dependencies_to_context: Optional[bool] = None,
2445
2446
  add_session_state_to_context: Optional[bool] = None,
@@ -2662,7 +2663,7 @@ class Agent:
2662
2663
  user_id: Optional[str] = None,
2663
2664
  session_id: Optional[str] = None,
2664
2665
  retries: Optional[int] = None,
2665
- knowledge_filters: Optional[Dict[str, Any]] = None,
2666
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2666
2667
  dependencies: Optional[Dict[str, Any]] = None,
2667
2668
  metadata: Optional[Dict[str, Any]] = None,
2668
2669
  debug_mode: Optional[bool] = None,
@@ -2681,7 +2682,7 @@ class Agent:
2681
2682
  user_id: Optional[str] = None,
2682
2683
  session_id: Optional[str] = None,
2683
2684
  retries: Optional[int] = None,
2684
- knowledge_filters: Optional[Dict[str, Any]] = None,
2685
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2685
2686
  dependencies: Optional[Dict[str, Any]] = None,
2686
2687
  metadata: Optional[Dict[str, Any]] = None,
2687
2688
  debug_mode: Optional[bool] = None,
@@ -2700,7 +2701,7 @@ class Agent:
2700
2701
  session_id: Optional[str] = None,
2701
2702
  run_context: Optional[RunContext] = None,
2702
2703
  retries: Optional[int] = None,
2703
- knowledge_filters: Optional[Dict[str, Any]] = None,
2704
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
2704
2705
  dependencies: Optional[Dict[str, Any]] = None,
2705
2706
  metadata: Optional[Dict[str, Any]] = None,
2706
2707
  debug_mode: Optional[bool] = None,
@@ -3223,7 +3224,7 @@ class Agent:
3223
3224
  user_id: Optional[str] = None,
3224
3225
  session_id: Optional[str] = None,
3225
3226
  retries: Optional[int] = None,
3226
- knowledge_filters: Optional[Dict[str, Any]] = None,
3227
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
3227
3228
  dependencies: Optional[Dict[str, Any]] = None,
3228
3229
  metadata: Optional[Dict[str, Any]] = None,
3229
3230
  debug_mode: Optional[bool] = None,
@@ -3242,7 +3243,7 @@ class Agent:
3242
3243
  user_id: Optional[str] = None,
3243
3244
  session_id: Optional[str] = None,
3244
3245
  retries: Optional[int] = None,
3245
- knowledge_filters: Optional[Dict[str, Any]] = None,
3246
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
3246
3247
  dependencies: Optional[Dict[str, Any]] = None,
3247
3248
  metadata: Optional[Dict[str, Any]] = None,
3248
3249
  debug_mode: Optional[bool] = None,
@@ -3261,7 +3262,7 @@ class Agent:
3261
3262
  session_id: Optional[str] = None,
3262
3263
  run_context: Optional[RunContext] = None,
3263
3264
  retries: Optional[int] = None,
3264
- knowledge_filters: Optional[Dict[str, Any]] = None,
3265
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
3265
3266
  dependencies: Optional[Dict[str, Any]] = None,
3266
3267
  metadata: Optional[Dict[str, Any]] = None,
3267
3268
  debug_mode: Optional[bool] = None,
@@ -5344,13 +5345,9 @@ class Agent:
5344
5345
  run_context: RunContext,
5345
5346
  session: AgentSession,
5346
5347
  user_id: Optional[str] = None,
5347
- knowledge_filters: Optional[Dict[str, Any]] = None,
5348
5348
  ) -> List[Union[Toolkit, Callable, Function, Dict]]:
5349
5349
  agent_tools: List[Union[Toolkit, Callable, Function, Dict]] = []
5350
5350
 
5351
- # Consider both run_context.knowledge_filters and knowledge_filters (deprecated)
5352
- run_context.knowledge_filters = run_context.knowledge_filters or knowledge_filters
5353
-
5354
5351
  # Add provided tools
5355
5352
  if self.tools is not None:
5356
5353
  # If not running in async mode, raise if any tool is async
@@ -5419,14 +5416,10 @@ class Agent:
5419
5416
  run_context: RunContext,
5420
5417
  session: AgentSession,
5421
5418
  user_id: Optional[str] = None,
5422
- knowledge_filters: Optional[Dict[str, Any]] = None,
5423
5419
  check_mcp_tools: bool = True,
5424
5420
  ) -> List[Union[Toolkit, Callable, Function, Dict]]:
5425
5421
  agent_tools: List[Union[Toolkit, Callable, Function, Dict]] = []
5426
5422
 
5427
- # Consider both run_context.knowledge_filters and knowledge_filters (deprecated)
5428
- run_context.knowledge_filters = run_context.knowledge_filters or knowledge_filters
5429
-
5430
5423
  # Connect MCP tools
5431
5424
  await self._connect_mcp_tools()
5432
5425
 
@@ -5784,7 +5777,9 @@ class Agent:
5784
5777
  log_warning(f"Error getting session from db: {e}")
5785
5778
  return None
5786
5779
 
5787
- def _upsert_session(self, session: AgentSession) -> Optional[AgentSession]:
5780
+ def _upsert_session(
5781
+ self, session: Union[AgentSession, TeamSession, WorkflowSession]
5782
+ ) -> Optional[Union[AgentSession, TeamSession, WorkflowSession]]:
5788
5783
  """Upsert a Session into the database."""
5789
5784
 
5790
5785
  try:
@@ -5798,7 +5793,9 @@ class Agent:
5798
5793
  log_warning(f"Error upserting session into db: {e}")
5799
5794
  return None
5800
5795
 
5801
- async def _aupsert_session(self, session: AgentSession) -> Optional[AgentSession]:
5796
+ async def _aupsert_session(
5797
+ self, session: Union[AgentSession, TeamSession, WorkflowSession]
5798
+ ) -> Optional[Union[AgentSession, TeamSession, WorkflowSession]]:
5802
5799
  """Upsert a Session into the database."""
5803
5800
  try:
5804
5801
  if not self.db:
@@ -6012,7 +6009,7 @@ class Agent:
6012
6009
  def get_session(
6013
6010
  self,
6014
6011
  session_id: Optional[str] = None,
6015
- ) -> Optional[AgentSession]:
6012
+ ) -> Optional[Union[AgentSession, TeamSession, WorkflowSession]]:
6016
6013
  """Load an AgentSession from database or cache.
6017
6014
 
6018
6015
  Args:
@@ -6073,7 +6070,7 @@ class Agent:
6073
6070
  async def aget_session(
6074
6071
  self,
6075
6072
  session_id: Optional[str] = None,
6076
- ) -> Optional[AgentSession]:
6073
+ ) -> Optional[Union[AgentSession, TeamSession, WorkflowSession]]:
6077
6074
  """Load an AgentSession from database or cache.
6078
6075
 
6079
6076
  Args:
@@ -6128,7 +6125,7 @@ class Agent:
6128
6125
  log_debug(f"AgentSession {session_id_to_load} not found in db")
6129
6126
  return None
6130
6127
 
6131
- def save_session(self, session: AgentSession) -> None:
6128
+ def save_session(self, session: Union[AgentSession, TeamSession, WorkflowSession]) -> None:
6132
6129
  """
6133
6130
  Save the AgentSession to storage
6134
6131
  """
@@ -6150,7 +6147,7 @@ class Agent:
6150
6147
  self._upsert_session(session=session)
6151
6148
  log_debug(f"Created or updated AgentSession record: {session.session_id}")
6152
6149
 
6153
- async def asave_session(self, session: AgentSession) -> None:
6150
+ async def asave_session(self, session: Union[AgentSession, TeamSession, WorkflowSession]) -> None:
6154
6151
  """
6155
6152
  Save the AgentSession to storage
6156
6153
  """
@@ -6226,12 +6223,16 @@ class Agent:
6226
6223
  if session is None:
6227
6224
  raise Exception("Session not found")
6228
6225
 
6226
+ if not hasattr(session, "agent_data"):
6227
+ raise Exception("Session is not an AgentSession")
6228
+
6229
6229
  # -*- Rename Agent
6230
6230
  self.name = name
6231
- if session.agent_data is not None:
6232
- session.agent_data["name"] = name
6231
+
6232
+ if session.agent_data is not None: # type: ignore
6233
+ session.agent_data["name"] = name # type: ignore
6233
6234
  else:
6234
- session.agent_data = {"name": name}
6235
+ session.agent_data = {"name": name} # type: ignore
6235
6236
 
6236
6237
  # -*- Save to storage
6237
6238
  if self._has_async_db():
@@ -6485,7 +6486,7 @@ class Agent:
6485
6486
  raise Exception("Session not found")
6486
6487
 
6487
6488
  # Only filter by agent_id if this is part of a team
6488
- return session.get_messages_from_last_n_runs(
6489
+ return session.get_messages_from_last_n_runs( # type: ignore
6489
6490
  agent_id=self.id if self.team_id is not None else None,
6490
6491
  )
6491
6492
 
@@ -6508,7 +6509,7 @@ class Agent:
6508
6509
  raise Exception("Session not found")
6509
6510
 
6510
6511
  # Only filter by agent_id if this is part of a team
6511
- return session.get_messages_from_last_n_runs(
6512
+ return session.get_messages_from_last_n_runs( # type: ignore
6512
6513
  agent_id=self.id if self.team_id is not None else None,
6513
6514
  )
6514
6515
 
@@ -6529,7 +6530,7 @@ class Agent:
6529
6530
  if session is None:
6530
6531
  raise Exception(f"Session {session_id} not found")
6531
6532
 
6532
- return session.get_session_summary()
6533
+ return session.get_session_summary() # type: ignore
6533
6534
 
6534
6535
  async def aget_session_summary(self, session_id: Optional[str] = None) -> Optional[SessionSummary]:
6535
6536
  """Get the session summary for the given session ID and user ID.
@@ -6548,7 +6549,7 @@ class Agent:
6548
6549
  if session is None:
6549
6550
  raise Exception(f"Session {session_id} not found")
6550
6551
 
6551
- return session.get_session_summary()
6552
+ return session.get_session_summary() # type: ignore
6552
6553
 
6553
6554
  def get_user_memories(self, user_id: Optional[str] = None) -> Optional[List[UserMemory]]:
6554
6555
  """Get the user memories for the given user ID.
@@ -7370,7 +7371,7 @@ class Agent:
7370
7371
  videos: Optional[Sequence[Video]] = None,
7371
7372
  files: Optional[Sequence[File]] = None,
7372
7373
  add_dependencies_to_context: Optional[bool] = None,
7373
- knowledge_filters: Optional[Dict[str, Any]] = None,
7374
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
7374
7375
  **kwargs: Any,
7375
7376
  ) -> Optional[Message]:
7376
7377
  """Return the user message for the Agent.
@@ -7385,7 +7386,6 @@ class Agent:
7385
7386
  dependencies = run_context.dependencies or dependencies
7386
7387
  metadata = run_context.metadata or metadata
7387
7388
  knowledge_filters = run_context.knowledge_filters or knowledge_filters
7388
-
7389
7389
  # Get references from the knowledge base to use in the user message
7390
7390
  references = None
7391
7391
 
@@ -7746,7 +7746,7 @@ class Agent:
7746
7746
  images: Optional[Sequence[Image]] = None,
7747
7747
  videos: Optional[Sequence[Video]] = None,
7748
7748
  files: Optional[Sequence[File]] = None,
7749
- knowledge_filters: Optional[Dict[str, Any]] = None,
7749
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
7750
7750
  add_history_to_context: Optional[bool] = None,
7751
7751
  dependencies: Optional[Dict[str, Any]] = None,
7752
7752
  add_dependencies_to_context: Optional[bool] = None,
@@ -8041,7 +8041,7 @@ class Agent:
8041
8041
  self,
8042
8042
  query: str,
8043
8043
  num_documents: Optional[int] = None,
8044
- filters: Optional[Dict[str, Any]] = None,
8044
+ filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
8045
8045
  **kwargs,
8046
8046
  ) -> Optional[List[Union[Dict[str, Any], str]]]:
8047
8047
  """Get relevant docs from the knowledge base to answer a query.
@@ -8074,6 +8074,10 @@ class Agent:
8074
8074
  if not filters:
8075
8075
  log_warning("No valid filters remain after validation. Search will proceed without filters.")
8076
8076
 
8077
+ if invalid_keys == [] and valid_filters == {}:
8078
+ log_warning("No valid filters provided. Search will proceed without filters.")
8079
+ filters = None
8080
+
8077
8081
  if self.knowledge_retriever is not None and callable(self.knowledge_retriever):
8078
8082
  from inspect import signature
8079
8083
 
@@ -8120,7 +8124,7 @@ class Agent:
8120
8124
  self,
8121
8125
  query: str,
8122
8126
  num_documents: Optional[int] = None,
8123
- filters: Optional[Dict[str, Any]] = None,
8127
+ filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
8124
8128
  **kwargs,
8125
8129
  ) -> Optional[List[Union[Dict[str, Any], str]]]:
8126
8130
  """Get relevant documents from knowledge base asynchronously."""
@@ -8143,6 +8147,10 @@ class Agent:
8143
8147
  if not filters:
8144
8148
  log_warning("No valid filters remain after validation. Search will proceed without filters.")
8145
8149
 
8150
+ if invalid_keys == [] and valid_filters == {}:
8151
+ log_warning("No valid filters provided. Search will proceed without filters.")
8152
+ filters = None
8153
+
8146
8154
  if self.knowledge_retriever is not None and callable(self.knowledge_retriever):
8147
8155
  from inspect import isawaitable, signature
8148
8156
 
@@ -9464,7 +9472,7 @@ class Agent:
9464
9472
  def _get_search_knowledge_base_function(
9465
9473
  self,
9466
9474
  run_response: RunOutput,
9467
- knowledge_filters: Optional[Dict[str, Any]] = None,
9475
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
9468
9476
  async_mode: bool = False,
9469
9477
  ) -> Function:
9470
9478
  """Factory function to create a search_knowledge_base function with filters."""
@@ -9540,7 +9548,7 @@ class Agent:
9540
9548
  def _search_knowledge_base_with_agentic_filters_function(
9541
9549
  self,
9542
9550
  run_response: RunOutput,
9543
- knowledge_filters: Optional[Dict[str, Any]] = None,
9551
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
9544
9552
  async_mode: bool = False,
9545
9553
  ) -> Function:
9546
9554
  """Factory function to create a search_knowledge_base function with filters."""
@@ -9810,7 +9818,7 @@ class Agent:
9810
9818
  stream_events: Optional[bool] = None,
9811
9819
  stream_intermediate_steps: Optional[bool] = None,
9812
9820
  markdown: Optional[bool] = None,
9813
- knowledge_filters: Optional[Dict[str, Any]] = None,
9821
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
9814
9822
  add_history_to_context: Optional[bool] = None,
9815
9823
  add_dependencies_to_context: Optional[bool] = None,
9816
9824
  dependencies: Optional[Dict[str, Any]] = None,
@@ -9924,7 +9932,7 @@ class Agent:
9924
9932
  stream_events: Optional[bool] = None,
9925
9933
  stream_intermediate_steps: Optional[bool] = None,
9926
9934
  markdown: Optional[bool] = None,
9927
- knowledge_filters: Optional[Dict[str, Any]] = None,
9935
+ knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
9928
9936
  add_history_to_context: Optional[bool] = None,
9929
9937
  dependencies: Optional[Dict[str, Any]] = None,
9930
9938
  add_dependencies_to_context: Optional[bool] = None,
@@ -10105,7 +10113,9 @@ class Agent:
10105
10113
 
10106
10114
  return None
10107
10115
 
10108
- def _get_effective_filters(self, knowledge_filters: Optional[Dict[str, Any]] = None) -> Optional[Dict[str, Any]]:
10116
+ def _get_effective_filters(
10117
+ self, knowledge_filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
10118
+ ) -> Optional[Any]:
10109
10119
  """
10110
10120
  Determine which knowledge filters to use, with priority to run-level filters.
10111
10121
 
@@ -10124,8 +10134,13 @@ class Agent:
10124
10134
  # If run has filters, they override agent filters
10125
10135
  if knowledge_filters:
10126
10136
  if effective_filters:
10127
- # Merge filters, with run filters taking priority
10128
- effective_filters.update(knowledge_filters)
10137
+ if isinstance(knowledge_filters, dict):
10138
+ if isinstance(effective_filters, dict):
10139
+ effective_filters.update(knowledge_filters)
10140
+ else:
10141
+ effective_filters = knowledge_filters
10142
+ elif isinstance(knowledge_filters, list):
10143
+ effective_filters = [*effective_filters, *knowledge_filters]
10129
10144
  else:
10130
10145
  effective_filters = knowledge_filters
10131
10146
 
@@ -134,7 +134,7 @@ class MySQLDb(BaseDb):
134
134
  try:
135
135
  table_schema = get_table_schema_definition(table_type)
136
136
 
137
- log_debug(f"Creating table {db_schema}.{table_name} with schema: {table_schema}")
137
+ log_debug(f"Creating table {table_name}")
138
138
 
139
139
  columns: List[Column] = []
140
140
  indexes: List[str] = []
@@ -197,7 +197,7 @@ class SingleStoreDb(BaseDb):
197
197
  try:
198
198
  table_schema = get_table_schema_definition(table_type)
199
199
 
200
- log_debug(f"Creating table {table_ref} with schema: {table_schema}")
200
+ log_debug(f"Creating table {table_ref}")
201
201
 
202
202
  columns: List[Column] = []
203
203
  indexes: List[str] = []
@@ -150,7 +150,7 @@ class AsyncSqliteDb(AsyncBaseDb):
150
150
  """
151
151
  try:
152
152
  table_schema = get_table_schema_definition(table_type)
153
- log_debug(f"Creating table {table_name} with schema: {table_schema}")
153
+ log_debug(f"Creating table {table_name}")
154
154
 
155
155
  columns: List[Column] = []
156
156
  indexes: List[str] = []
@@ -151,7 +151,7 @@ class SqliteDb(BaseDb):
151
151
  """
152
152
  try:
153
153
  table_schema = get_table_schema_definition(table_type)
154
- log_debug(f"Creating table {table_name} with schema: {table_schema}")
154
+ log_debug(f"Creating table {table_name}")
155
155
 
156
156
  columns: List[Column] = []
157
157
  indexes: List[str] = []