agno 2.1.10__tar.gz → 2.2.1__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 (571) hide show
  1. {agno-2.1.10 → agno-2.2.1}/PKG-INFO +63 -23
  2. {agno-2.1.10 → agno-2.2.1}/README.md +58 -22
  3. {agno-2.1.10 → agno-2.2.1}/agno/agent/agent.py +1594 -1248
  4. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/knowledge.py +11 -0
  5. agno-2.2.1/agno/knowledge/reader/pptx_reader.py +101 -0
  6. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/reader_factory.py +14 -0
  7. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/types.py +1 -0
  8. {agno-2.1.10 → agno-2.2.1}/agno/models/anthropic/claude.py +2 -2
  9. {agno-2.1.10 → agno-2.2.1}/agno/models/base.py +4 -4
  10. {agno-2.1.10 → agno-2.2.1}/agno/models/ollama/chat.py +7 -2
  11. {agno-2.1.10 → agno-2.2.1}/agno/os/app.py +1 -1
  12. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/router.py +2 -2
  13. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/router.py +2 -2
  14. {agno-2.1.10 → agno-2.2.1}/agno/os/router.py +7 -7
  15. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/schemas.py +31 -31
  16. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/health.py +6 -2
  17. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/schemas.py +49 -47
  18. agno-2.2.1/agno/os/routers/memory/schemas.py +59 -0
  19. agno-2.2.1/agno/os/routers/metrics/schemas.py +47 -0
  20. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/session/session.py +382 -7
  21. {agno-2.1.10 → agno-2.2.1}/agno/os/schema.py +254 -231
  22. {agno-2.1.10 → agno-2.2.1}/agno/os/utils.py +1 -1
  23. {agno-2.1.10 → agno-2.2.1}/agno/run/agent.py +54 -1
  24. {agno-2.1.10 → agno-2.2.1}/agno/run/team.py +48 -0
  25. {agno-2.1.10 → agno-2.2.1}/agno/run/workflow.py +15 -5
  26. {agno-2.1.10 → agno-2.2.1}/agno/session/summary.py +45 -13
  27. {agno-2.1.10 → agno-2.2.1}/agno/session/team.py +90 -5
  28. {agno-2.1.10 → agno-2.2.1}/agno/team/team.py +1130 -849
  29. agno-2.2.1/agno/utils/agent.py +372 -0
  30. {agno-2.1.10 → agno-2.2.1}/agno/utils/events.py +144 -2
  31. {agno-2.1.10 → agno-2.2.1}/agno/utils/message.py +60 -0
  32. {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/agent.py +10 -6
  33. {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/team.py +6 -4
  34. {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/workflow.py +7 -5
  35. {agno-2.1.10 → agno-2.2.1}/agno/utils/team.py +9 -8
  36. {agno-2.1.10 → agno-2.2.1}/agno/workflow/condition.py +17 -9
  37. {agno-2.1.10 → agno-2.2.1}/agno/workflow/loop.py +18 -10
  38. {agno-2.1.10 → agno-2.2.1}/agno/workflow/parallel.py +14 -6
  39. {agno-2.1.10 → agno-2.2.1}/agno/workflow/router.py +16 -8
  40. {agno-2.1.10 → agno-2.2.1}/agno/workflow/step.py +14 -6
  41. {agno-2.1.10 → agno-2.2.1}/agno/workflow/steps.py +14 -6
  42. {agno-2.1.10 → agno-2.2.1}/agno/workflow/workflow.py +331 -123
  43. {agno-2.1.10 → agno-2.2.1}/agno.egg-info/PKG-INFO +63 -23
  44. {agno-2.1.10 → agno-2.2.1}/agno.egg-info/SOURCES.txt +2 -0
  45. {agno-2.1.10 → agno-2.2.1}/agno.egg-info/requires.txt +5 -0
  46. {agno-2.1.10 → agno-2.2.1}/pyproject.toml +5 -2
  47. agno-2.1.10/agno/os/routers/memory/schemas.py +0 -59
  48. agno-2.1.10/agno/os/routers/metrics/schemas.py +0 -47
  49. {agno-2.1.10 → agno-2.2.1}/LICENSE +0 -0
  50. {agno-2.1.10 → agno-2.2.1}/agno/__init__.py +0 -0
  51. {agno-2.1.10 → agno-2.2.1}/agno/agent/__init__.py +0 -0
  52. {agno-2.1.10 → agno-2.2.1}/agno/api/__init__.py +0 -0
  53. {agno-2.1.10 → agno-2.2.1}/agno/api/agent.py +0 -0
  54. {agno-2.1.10 → agno-2.2.1}/agno/api/api.py +0 -0
  55. {agno-2.1.10 → agno-2.2.1}/agno/api/evals.py +0 -0
  56. {agno-2.1.10 → agno-2.2.1}/agno/api/os.py +0 -0
  57. {agno-2.1.10 → agno-2.2.1}/agno/api/routes.py +0 -0
  58. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/__init__.py +0 -0
  59. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/agent.py +0 -0
  60. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/evals.py +0 -0
  61. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/os.py +0 -0
  62. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/response.py +0 -0
  63. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/team.py +0 -0
  64. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/utils.py +0 -0
  65. {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/workflows.py +0 -0
  66. {agno-2.1.10 → agno-2.2.1}/agno/api/settings.py +0 -0
  67. {agno-2.1.10 → agno-2.2.1}/agno/api/team.py +0 -0
  68. {agno-2.1.10 → agno-2.2.1}/agno/api/workflow.py +0 -0
  69. {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/base.py +0 -0
  70. {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/__init__.py +0 -0
  71. {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/api_client.py +0 -0
  72. {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/bucket.py +0 -0
  73. {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/object.py +0 -0
  74. {agno-2.1.10 → agno-2.2.1}/agno/culture/__init__.py +0 -0
  75. {agno-2.1.10 → agno-2.2.1}/agno/culture/manager.py +0 -0
  76. {agno-2.1.10 → agno-2.2.1}/agno/db/__init__.py +0 -0
  77. {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/__init__.py +0 -0
  78. {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/async_postgres.py +0 -0
  79. {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/schemas.py +0 -0
  80. {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/utils.py +0 -0
  81. {agno-2.1.10 → agno-2.2.1}/agno/db/base.py +0 -0
  82. {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/__init__.py +0 -0
  83. {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/dynamo.py +0 -0
  84. {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/schemas.py +0 -0
  85. {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/utils.py +0 -0
  86. {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/__init__.py +0 -0
  87. {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/firestore.py +0 -0
  88. {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/schemas.py +0 -0
  89. {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/utils.py +0 -0
  90. {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/__init__.py +0 -0
  91. {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/gcs_json_db.py +0 -0
  92. {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/utils.py +0 -0
  93. {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/__init__.py +0 -0
  94. {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/in_memory_db.py +0 -0
  95. {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/utils.py +0 -0
  96. {agno-2.1.10 → agno-2.2.1}/agno/db/json/__init__.py +0 -0
  97. {agno-2.1.10 → agno-2.2.1}/agno/db/json/json_db.py +0 -0
  98. {agno-2.1.10 → agno-2.2.1}/agno/db/json/utils.py +0 -0
  99. {agno-2.1.10 → agno-2.2.1}/agno/db/migrations/__init__.py +0 -0
  100. {agno-2.1.10 → agno-2.2.1}/agno/db/migrations/v1_to_v2.py +0 -0
  101. {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/__init__.py +0 -0
  102. {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/mongo.py +0 -0
  103. {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/schemas.py +0 -0
  104. {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/utils.py +0 -0
  105. {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/__init__.py +0 -0
  106. {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/mysql.py +0 -0
  107. {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/schemas.py +0 -0
  108. {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/utils.py +0 -0
  109. {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/__init__.py +0 -0
  110. {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/postgres.py +0 -0
  111. {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/schemas.py +0 -0
  112. {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/utils.py +0 -0
  113. {agno-2.1.10 → agno-2.2.1}/agno/db/redis/__init__.py +0 -0
  114. {agno-2.1.10 → agno-2.2.1}/agno/db/redis/redis.py +0 -0
  115. {agno-2.1.10 → agno-2.2.1}/agno/db/redis/schemas.py +0 -0
  116. {agno-2.1.10 → agno-2.2.1}/agno/db/redis/utils.py +0 -0
  117. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/__init__.py +0 -0
  118. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/culture.py +0 -0
  119. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/evals.py +0 -0
  120. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/knowledge.py +0 -0
  121. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/memory.py +0 -0
  122. {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/metrics.py +0 -0
  123. {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/__init__.py +0 -0
  124. {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/schemas.py +0 -0
  125. {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/singlestore.py +0 -0
  126. {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/utils.py +0 -0
  127. {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/__init__.py +0 -0
  128. {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/schemas.py +0 -0
  129. {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/sqlite.py +0 -0
  130. {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/utils.py +0 -0
  131. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/__init__.py +0 -0
  132. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/metrics.py +0 -0
  133. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/models.py +0 -0
  134. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/queries.py +0 -0
  135. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/surrealdb.py +0 -0
  136. {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/utils.py +0 -0
  137. {agno-2.1.10 → agno-2.2.1}/agno/db/utils.py +0 -0
  138. {agno-2.1.10 → agno-2.2.1}/agno/debug.py +0 -0
  139. {agno-2.1.10 → agno-2.2.1}/agno/eval/__init__.py +0 -0
  140. {agno-2.1.10 → agno-2.2.1}/agno/eval/accuracy.py +0 -0
  141. {agno-2.1.10 → agno-2.2.1}/agno/eval/performance.py +0 -0
  142. {agno-2.1.10 → agno-2.2.1}/agno/eval/reliability.py +0 -0
  143. {agno-2.1.10 → agno-2.2.1}/agno/eval/utils.py +0 -0
  144. {agno-2.1.10 → agno-2.2.1}/agno/exceptions.py +0 -0
  145. {agno-2.1.10 → agno-2.2.1}/agno/guardrails/__init__.py +0 -0
  146. {agno-2.1.10 → agno-2.2.1}/agno/guardrails/base.py +0 -0
  147. {agno-2.1.10 → agno-2.2.1}/agno/guardrails/openai.py +0 -0
  148. {agno-2.1.10 → agno-2.2.1}/agno/guardrails/pii.py +0 -0
  149. {agno-2.1.10 → agno-2.2.1}/agno/guardrails/prompt_injection.py +0 -0
  150. {agno-2.1.10 → agno-2.2.1}/agno/integrations/__init__.py +0 -0
  151. {agno-2.1.10 → agno-2.2.1}/agno/integrations/discord/__init__.py +0 -0
  152. {agno-2.1.10 → agno-2.2.1}/agno/integrations/discord/client.py +0 -0
  153. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/__init__.py +0 -0
  154. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/__init__.py +0 -0
  155. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/agentic.py +0 -0
  156. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/document.py +0 -0
  157. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/fixed.py +0 -0
  158. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/markdown.py +0 -0
  159. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/recursive.py +0 -0
  160. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/row.py +0 -0
  161. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/semantic.py +0 -0
  162. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/strategy.py +0 -0
  163. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/content.py +0 -0
  164. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/document/__init__.py +0 -0
  165. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/document/base.py +0 -0
  166. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/__init__.py +0 -0
  167. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/aws_bedrock.py +0 -0
  168. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/azure_openai.py +0 -0
  169. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/base.py +0 -0
  170. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/cohere.py +0 -0
  171. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/fastembed.py +0 -0
  172. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/fireworks.py +0 -0
  173. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/google.py +0 -0
  174. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/huggingface.py +0 -0
  175. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/jina.py +0 -0
  176. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/langdb.py +0 -0
  177. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/mistral.py +0 -0
  178. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/nebius.py +0 -0
  179. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/ollama.py +0 -0
  180. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/openai.py +0 -0
  181. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/sentence_transformer.py +0 -0
  182. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/together.py +0 -0
  183. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/voyageai.py +0 -0
  184. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/__init__.py +0 -0
  185. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/arxiv_reader.py +0 -0
  186. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/base.py +0 -0
  187. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/csv_reader.py +0 -0
  188. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/docx_reader.py +0 -0
  189. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/field_labeled_csv_reader.py +0 -0
  190. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/firecrawl_reader.py +0 -0
  191. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/json_reader.py +0 -0
  192. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/markdown_reader.py +0 -0
  193. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/pdf_reader.py +0 -0
  194. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/s3_reader.py +0 -0
  195. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/text_reader.py +0 -0
  196. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/web_search_reader.py +0 -0
  197. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/website_reader.py +0 -0
  198. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/wikipedia_reader.py +0 -0
  199. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/youtube_reader.py +0 -0
  200. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/remote_content/__init__.py +0 -0
  201. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/remote_content/remote_content.py +0 -0
  202. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/__init__.py +0 -0
  203. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/base.py +0 -0
  204. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/cohere.py +0 -0
  205. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/infinity.py +0 -0
  206. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/sentence_transformer.py +0 -0
  207. {agno-2.1.10 → agno-2.2.1}/agno/knowledge/utils.py +0 -0
  208. {agno-2.1.10 → agno-2.2.1}/agno/media.py +0 -0
  209. {agno-2.1.10 → agno-2.2.1}/agno/memory/__init__.py +0 -0
  210. {agno-2.1.10 → agno-2.2.1}/agno/memory/manager.py +0 -0
  211. {agno-2.1.10 → agno-2.2.1}/agno/models/__init__.py +0 -0
  212. {agno-2.1.10 → agno-2.2.1}/agno/models/aimlapi/__init__.py +0 -0
  213. {agno-2.1.10 → agno-2.2.1}/agno/models/aimlapi/aimlapi.py +0 -0
  214. {agno-2.1.10 → agno-2.2.1}/agno/models/anthropic/__init__.py +0 -0
  215. {agno-2.1.10 → agno-2.2.1}/agno/models/aws/__init__.py +0 -0
  216. {agno-2.1.10 → agno-2.2.1}/agno/models/aws/bedrock.py +0 -0
  217. {agno-2.1.10 → agno-2.2.1}/agno/models/aws/claude.py +0 -0
  218. {agno-2.1.10 → agno-2.2.1}/agno/models/azure/__init__.py +0 -0
  219. {agno-2.1.10 → agno-2.2.1}/agno/models/azure/ai_foundry.py +0 -0
  220. {agno-2.1.10 → agno-2.2.1}/agno/models/azure/openai_chat.py +0 -0
  221. {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/__init__.py +0 -0
  222. {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/cerebras.py +0 -0
  223. {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/cerebras_openai.py +0 -0
  224. {agno-2.1.10 → agno-2.2.1}/agno/models/cohere/__init__.py +0 -0
  225. {agno-2.1.10 → agno-2.2.1}/agno/models/cohere/chat.py +0 -0
  226. {agno-2.1.10 → agno-2.2.1}/agno/models/cometapi/__init__.py +0 -0
  227. {agno-2.1.10 → agno-2.2.1}/agno/models/cometapi/cometapi.py +0 -0
  228. {agno-2.1.10 → agno-2.2.1}/agno/models/dashscope/__init__.py +0 -0
  229. {agno-2.1.10 → agno-2.2.1}/agno/models/dashscope/dashscope.py +0 -0
  230. {agno-2.1.10 → agno-2.2.1}/agno/models/deepinfra/__init__.py +0 -0
  231. {agno-2.1.10 → agno-2.2.1}/agno/models/deepinfra/deepinfra.py +0 -0
  232. {agno-2.1.10 → agno-2.2.1}/agno/models/deepseek/__init__.py +0 -0
  233. {agno-2.1.10 → agno-2.2.1}/agno/models/deepseek/deepseek.py +0 -0
  234. {agno-2.1.10 → agno-2.2.1}/agno/models/defaults.py +0 -0
  235. {agno-2.1.10 → agno-2.2.1}/agno/models/fireworks/__init__.py +0 -0
  236. {agno-2.1.10 → agno-2.2.1}/agno/models/fireworks/fireworks.py +0 -0
  237. {agno-2.1.10 → agno-2.2.1}/agno/models/google/__init__.py +0 -0
  238. {agno-2.1.10 → agno-2.2.1}/agno/models/google/gemini.py +0 -0
  239. {agno-2.1.10 → agno-2.2.1}/agno/models/groq/__init__.py +0 -0
  240. {agno-2.1.10 → agno-2.2.1}/agno/models/groq/groq.py +0 -0
  241. {agno-2.1.10 → agno-2.2.1}/agno/models/huggingface/__init__.py +0 -0
  242. {agno-2.1.10 → agno-2.2.1}/agno/models/huggingface/huggingface.py +0 -0
  243. {agno-2.1.10 → agno-2.2.1}/agno/models/ibm/__init__.py +0 -0
  244. {agno-2.1.10 → agno-2.2.1}/agno/models/ibm/watsonx.py +0 -0
  245. {agno-2.1.10 → agno-2.2.1}/agno/models/internlm/__init__.py +0 -0
  246. {agno-2.1.10 → agno-2.2.1}/agno/models/internlm/internlm.py +0 -0
  247. {agno-2.1.10 → agno-2.2.1}/agno/models/langdb/__init__.py +0 -0
  248. {agno-2.1.10 → agno-2.2.1}/agno/models/langdb/langdb.py +0 -0
  249. {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/__init__.py +0 -0
  250. {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/chat.py +0 -0
  251. {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/litellm_openai.py +0 -0
  252. {agno-2.1.10 → agno-2.2.1}/agno/models/llama_cpp/__init__.py +0 -0
  253. {agno-2.1.10 → agno-2.2.1}/agno/models/llama_cpp/llama_cpp.py +0 -0
  254. {agno-2.1.10 → agno-2.2.1}/agno/models/lmstudio/__init__.py +0 -0
  255. {agno-2.1.10 → agno-2.2.1}/agno/models/lmstudio/lmstudio.py +0 -0
  256. {agno-2.1.10 → agno-2.2.1}/agno/models/message.py +0 -0
  257. {agno-2.1.10 → agno-2.2.1}/agno/models/meta/__init__.py +0 -0
  258. {agno-2.1.10 → agno-2.2.1}/agno/models/meta/llama.py +0 -0
  259. {agno-2.1.10 → agno-2.2.1}/agno/models/meta/llama_openai.py +0 -0
  260. {agno-2.1.10 → agno-2.2.1}/agno/models/metrics.py +0 -0
  261. {agno-2.1.10 → agno-2.2.1}/agno/models/mistral/__init__.py +0 -0
  262. {agno-2.1.10 → agno-2.2.1}/agno/models/mistral/mistral.py +0 -0
  263. {agno-2.1.10 → agno-2.2.1}/agno/models/nebius/__init__.py +0 -0
  264. {agno-2.1.10 → agno-2.2.1}/agno/models/nebius/nebius.py +0 -0
  265. {agno-2.1.10 → agno-2.2.1}/agno/models/nexus/__init__.py +0 -0
  266. {agno-2.1.10 → agno-2.2.1}/agno/models/nexus/nexus.py +0 -0
  267. {agno-2.1.10 → agno-2.2.1}/agno/models/nvidia/__init__.py +0 -0
  268. {agno-2.1.10 → agno-2.2.1}/agno/models/nvidia/nvidia.py +0 -0
  269. {agno-2.1.10 → agno-2.2.1}/agno/models/ollama/__init__.py +0 -0
  270. {agno-2.1.10 → agno-2.2.1}/agno/models/openai/__init__.py +0 -0
  271. {agno-2.1.10 → agno-2.2.1}/agno/models/openai/chat.py +0 -0
  272. {agno-2.1.10 → agno-2.2.1}/agno/models/openai/like.py +0 -0
  273. {agno-2.1.10 → agno-2.2.1}/agno/models/openai/responses.py +0 -0
  274. {agno-2.1.10 → agno-2.2.1}/agno/models/openrouter/__init__.py +0 -0
  275. {agno-2.1.10 → agno-2.2.1}/agno/models/openrouter/openrouter.py +0 -0
  276. {agno-2.1.10 → agno-2.2.1}/agno/models/perplexity/__init__.py +0 -0
  277. {agno-2.1.10 → agno-2.2.1}/agno/models/perplexity/perplexity.py +0 -0
  278. {agno-2.1.10 → agno-2.2.1}/agno/models/portkey/__init__.py +0 -0
  279. {agno-2.1.10 → agno-2.2.1}/agno/models/portkey/portkey.py +0 -0
  280. {agno-2.1.10 → agno-2.2.1}/agno/models/requesty/__init__.py +0 -0
  281. {agno-2.1.10 → agno-2.2.1}/agno/models/requesty/requesty.py +0 -0
  282. {agno-2.1.10 → agno-2.2.1}/agno/models/response.py +0 -0
  283. {agno-2.1.10 → agno-2.2.1}/agno/models/sambanova/__init__.py +0 -0
  284. {agno-2.1.10 → agno-2.2.1}/agno/models/sambanova/sambanova.py +0 -0
  285. {agno-2.1.10 → agno-2.2.1}/agno/models/siliconflow/__init__.py +0 -0
  286. {agno-2.1.10 → agno-2.2.1}/agno/models/siliconflow/siliconflow.py +0 -0
  287. {agno-2.1.10 → agno-2.2.1}/agno/models/together/__init__.py +0 -0
  288. {agno-2.1.10 → agno-2.2.1}/agno/models/together/together.py +0 -0
  289. {agno-2.1.10 → agno-2.2.1}/agno/models/utils.py +0 -0
  290. {agno-2.1.10 → agno-2.2.1}/agno/models/vercel/__init__.py +0 -0
  291. {agno-2.1.10 → agno-2.2.1}/agno/models/vercel/v0.py +0 -0
  292. {agno-2.1.10 → agno-2.2.1}/agno/models/vertexai/__init__.py +0 -0
  293. {agno-2.1.10 → agno-2.2.1}/agno/models/vertexai/claude.py +0 -0
  294. {agno-2.1.10 → agno-2.2.1}/agno/models/vllm/__init__.py +0 -0
  295. {agno-2.1.10 → agno-2.2.1}/agno/models/vllm/vllm.py +0 -0
  296. {agno-2.1.10 → agno-2.2.1}/agno/models/xai/__init__.py +0 -0
  297. {agno-2.1.10 → agno-2.2.1}/agno/models/xai/xai.py +0 -0
  298. {agno-2.1.10 → agno-2.2.1}/agno/os/__init__.py +0 -0
  299. {agno-2.1.10 → agno-2.2.1}/agno/os/auth.py +0 -0
  300. {agno-2.1.10 → agno-2.2.1}/agno/os/config.py +0 -0
  301. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/__init__.py +0 -0
  302. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/__init__.py +0 -0
  303. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/a2a.py +0 -0
  304. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/utils.py +0 -0
  305. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/__init__.py +0 -0
  306. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/agui.py +0 -0
  307. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/utils.py +0 -0
  308. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/base.py +0 -0
  309. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/__init__.py +0 -0
  310. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/router.py +0 -0
  311. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/security.py +0 -0
  312. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/slack.py +0 -0
  313. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/__init__.py +0 -0
  314. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/router.py +0 -0
  315. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/security.py +0 -0
  316. {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
  317. {agno-2.1.10 → agno-2.2.1}/agno/os/mcp.py +0 -0
  318. {agno-2.1.10 → agno-2.2.1}/agno/os/middleware/__init__.py +0 -0
  319. {agno-2.1.10 → agno-2.2.1}/agno/os/middleware/jwt.py +0 -0
  320. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/__init__.py +0 -0
  321. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/__init__.py +0 -0
  322. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/evals.py +0 -0
  323. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/utils.py +0 -0
  324. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/home.py +0 -0
  325. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/__init__.py +0 -0
  326. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/knowledge.py +0 -0
  327. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/memory/__init__.py +0 -0
  328. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/memory/memory.py +0 -0
  329. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/metrics/__init__.py +0 -0
  330. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/metrics/metrics.py +0 -0
  331. {agno-2.1.10 → agno-2.2.1}/agno/os/routers/session/__init__.py +0 -0
  332. {agno-2.1.10 → agno-2.2.1}/agno/os/settings.py +0 -0
  333. {agno-2.1.10 → agno-2.2.1}/agno/py.typed +0 -0
  334. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/__init__.py +0 -0
  335. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/anthropic.py +0 -0
  336. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/azure_ai_foundry.py +0 -0
  337. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/deepseek.py +0 -0
  338. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/default.py +0 -0
  339. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/gemini.py +0 -0
  340. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/groq.py +0 -0
  341. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/helpers.py +0 -0
  342. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/ollama.py +0 -0
  343. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/openai.py +0 -0
  344. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/step.py +0 -0
  345. {agno-2.1.10 → agno-2.2.1}/agno/reasoning/vertexai.py +0 -0
  346. {agno-2.1.10 → agno-2.2.1}/agno/run/__init__.py +0 -0
  347. {agno-2.1.10 → agno-2.2.1}/agno/run/base.py +0 -0
  348. {agno-2.1.10 → agno-2.2.1}/agno/run/cancel.py +0 -0
  349. {agno-2.1.10 → agno-2.2.1}/agno/run/messages.py +0 -0
  350. {agno-2.1.10 → agno-2.2.1}/agno/session/__init__.py +0 -0
  351. {agno-2.1.10 → agno-2.2.1}/agno/session/agent.py +0 -0
  352. {agno-2.1.10 → agno-2.2.1}/agno/session/workflow.py +0 -0
  353. {agno-2.1.10 → agno-2.2.1}/agno/team/__init__.py +0 -0
  354. {agno-2.1.10 → agno-2.2.1}/agno/tools/__init__.py +0 -0
  355. {agno-2.1.10 → agno-2.2.1}/agno/tools/agentql.py +0 -0
  356. {agno-2.1.10 → agno-2.2.1}/agno/tools/airflow.py +0 -0
  357. {agno-2.1.10 → agno-2.2.1}/agno/tools/api.py +0 -0
  358. {agno-2.1.10 → agno-2.2.1}/agno/tools/apify.py +0 -0
  359. {agno-2.1.10 → agno-2.2.1}/agno/tools/arxiv.py +0 -0
  360. {agno-2.1.10 → agno-2.2.1}/agno/tools/aws_lambda.py +0 -0
  361. {agno-2.1.10 → agno-2.2.1}/agno/tools/aws_ses.py +0 -0
  362. {agno-2.1.10 → agno-2.2.1}/agno/tools/baidusearch.py +0 -0
  363. {agno-2.1.10 → agno-2.2.1}/agno/tools/bitbucket.py +0 -0
  364. {agno-2.1.10 → agno-2.2.1}/agno/tools/brandfetch.py +0 -0
  365. {agno-2.1.10 → agno-2.2.1}/agno/tools/bravesearch.py +0 -0
  366. {agno-2.1.10 → agno-2.2.1}/agno/tools/brightdata.py +0 -0
  367. {agno-2.1.10 → agno-2.2.1}/agno/tools/browserbase.py +0 -0
  368. {agno-2.1.10 → agno-2.2.1}/agno/tools/calcom.py +0 -0
  369. {agno-2.1.10 → agno-2.2.1}/agno/tools/calculator.py +0 -0
  370. {agno-2.1.10 → agno-2.2.1}/agno/tools/cartesia.py +0 -0
  371. {agno-2.1.10 → agno-2.2.1}/agno/tools/clickup.py +0 -0
  372. {agno-2.1.10 → agno-2.2.1}/agno/tools/confluence.py +0 -0
  373. {agno-2.1.10 → agno-2.2.1}/agno/tools/crawl4ai.py +0 -0
  374. {agno-2.1.10 → agno-2.2.1}/agno/tools/csv_toolkit.py +0 -0
  375. {agno-2.1.10 → agno-2.2.1}/agno/tools/dalle.py +0 -0
  376. {agno-2.1.10 → agno-2.2.1}/agno/tools/daytona.py +0 -0
  377. {agno-2.1.10 → agno-2.2.1}/agno/tools/decorator.py +0 -0
  378. {agno-2.1.10 → agno-2.2.1}/agno/tools/desi_vocal.py +0 -0
  379. {agno-2.1.10 → agno-2.2.1}/agno/tools/discord.py +0 -0
  380. {agno-2.1.10 → agno-2.2.1}/agno/tools/docker.py +0 -0
  381. {agno-2.1.10 → agno-2.2.1}/agno/tools/duckdb.py +0 -0
  382. {agno-2.1.10 → agno-2.2.1}/agno/tools/duckduckgo.py +0 -0
  383. {agno-2.1.10 → agno-2.2.1}/agno/tools/e2b.py +0 -0
  384. {agno-2.1.10 → agno-2.2.1}/agno/tools/eleven_labs.py +0 -0
  385. {agno-2.1.10 → agno-2.2.1}/agno/tools/email.py +0 -0
  386. {agno-2.1.10 → agno-2.2.1}/agno/tools/evm.py +0 -0
  387. {agno-2.1.10 → agno-2.2.1}/agno/tools/exa.py +0 -0
  388. {agno-2.1.10 → agno-2.2.1}/agno/tools/fal.py +0 -0
  389. {agno-2.1.10 → agno-2.2.1}/agno/tools/file.py +0 -0
  390. {agno-2.1.10 → agno-2.2.1}/agno/tools/file_generation.py +0 -0
  391. {agno-2.1.10 → agno-2.2.1}/agno/tools/financial_datasets.py +0 -0
  392. {agno-2.1.10 → agno-2.2.1}/agno/tools/firecrawl.py +0 -0
  393. {agno-2.1.10 → agno-2.2.1}/agno/tools/function.py +0 -0
  394. {agno-2.1.10 → agno-2.2.1}/agno/tools/giphy.py +0 -0
  395. {agno-2.1.10 → agno-2.2.1}/agno/tools/github.py +0 -0
  396. {agno-2.1.10 → agno-2.2.1}/agno/tools/gmail.py +0 -0
  397. {agno-2.1.10 → agno-2.2.1}/agno/tools/google_bigquery.py +0 -0
  398. {agno-2.1.10 → agno-2.2.1}/agno/tools/google_drive.py +0 -0
  399. {agno-2.1.10 → agno-2.2.1}/agno/tools/google_maps.py +0 -0
  400. {agno-2.1.10 → agno-2.2.1}/agno/tools/googlecalendar.py +0 -0
  401. {agno-2.1.10 → agno-2.2.1}/agno/tools/googlesearch.py +0 -0
  402. {agno-2.1.10 → agno-2.2.1}/agno/tools/googlesheets.py +0 -0
  403. {agno-2.1.10 → agno-2.2.1}/agno/tools/hackernews.py +0 -0
  404. {agno-2.1.10 → agno-2.2.1}/agno/tools/jina.py +0 -0
  405. {agno-2.1.10 → agno-2.2.1}/agno/tools/jira.py +0 -0
  406. {agno-2.1.10 → agno-2.2.1}/agno/tools/knowledge.py +0 -0
  407. {agno-2.1.10 → agno-2.2.1}/agno/tools/linear.py +0 -0
  408. {agno-2.1.10 → agno-2.2.1}/agno/tools/linkup.py +0 -0
  409. {agno-2.1.10 → agno-2.2.1}/agno/tools/local_file_system.py +0 -0
  410. {agno-2.1.10 → agno-2.2.1}/agno/tools/lumalab.py +0 -0
  411. {agno-2.1.10 → agno-2.2.1}/agno/tools/mcp.py +0 -0
  412. {agno-2.1.10 → agno-2.2.1}/agno/tools/mcp_toolbox.py +0 -0
  413. {agno-2.1.10 → agno-2.2.1}/agno/tools/mem0.py +0 -0
  414. {agno-2.1.10 → agno-2.2.1}/agno/tools/memori.py +0 -0
  415. {agno-2.1.10 → agno-2.2.1}/agno/tools/memory.py +0 -0
  416. {agno-2.1.10 → agno-2.2.1}/agno/tools/mlx_transcribe.py +0 -0
  417. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/__init__.py +0 -0
  418. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/azure_openai.py +0 -0
  419. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/gemini.py +0 -0
  420. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/groq.py +0 -0
  421. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/morph.py +0 -0
  422. {agno-2.1.10 → agno-2.2.1}/agno/tools/models/nebius.py +0 -0
  423. {agno-2.1.10 → agno-2.2.1}/agno/tools/models_labs.py +0 -0
  424. {agno-2.1.10 → agno-2.2.1}/agno/tools/moviepy_video.py +0 -0
  425. {agno-2.1.10 → agno-2.2.1}/agno/tools/neo4j.py +0 -0
  426. {agno-2.1.10 → agno-2.2.1}/agno/tools/newspaper.py +0 -0
  427. {agno-2.1.10 → agno-2.2.1}/agno/tools/newspaper4k.py +0 -0
  428. {agno-2.1.10 → agno-2.2.1}/agno/tools/openai.py +0 -0
  429. {agno-2.1.10 → agno-2.2.1}/agno/tools/openbb.py +0 -0
  430. {agno-2.1.10 → agno-2.2.1}/agno/tools/opencv.py +0 -0
  431. {agno-2.1.10 → agno-2.2.1}/agno/tools/openweather.py +0 -0
  432. {agno-2.1.10 → agno-2.2.1}/agno/tools/oxylabs.py +0 -0
  433. {agno-2.1.10 → agno-2.2.1}/agno/tools/pandas.py +0 -0
  434. {agno-2.1.10 → agno-2.2.1}/agno/tools/postgres.py +0 -0
  435. {agno-2.1.10 → agno-2.2.1}/agno/tools/pubmed.py +0 -0
  436. {agno-2.1.10 → agno-2.2.1}/agno/tools/python.py +0 -0
  437. {agno-2.1.10 → agno-2.2.1}/agno/tools/reasoning.py +0 -0
  438. {agno-2.1.10 → agno-2.2.1}/agno/tools/reddit.py +0 -0
  439. {agno-2.1.10 → agno-2.2.1}/agno/tools/replicate.py +0 -0
  440. {agno-2.1.10 → agno-2.2.1}/agno/tools/resend.py +0 -0
  441. {agno-2.1.10 → agno-2.2.1}/agno/tools/scrapegraph.py +0 -0
  442. {agno-2.1.10 → agno-2.2.1}/agno/tools/searxng.py +0 -0
  443. {agno-2.1.10 → agno-2.2.1}/agno/tools/serpapi.py +0 -0
  444. {agno-2.1.10 → agno-2.2.1}/agno/tools/serper.py +0 -0
  445. {agno-2.1.10 → agno-2.2.1}/agno/tools/shell.py +0 -0
  446. {agno-2.1.10 → agno-2.2.1}/agno/tools/slack.py +0 -0
  447. {agno-2.1.10 → agno-2.2.1}/agno/tools/sleep.py +0 -0
  448. {agno-2.1.10 → agno-2.2.1}/agno/tools/spider.py +0 -0
  449. {agno-2.1.10 → agno-2.2.1}/agno/tools/sql.py +0 -0
  450. {agno-2.1.10 → agno-2.2.1}/agno/tools/streamlit/__init__.py +0 -0
  451. {agno-2.1.10 → agno-2.2.1}/agno/tools/streamlit/components.py +0 -0
  452. {agno-2.1.10 → agno-2.2.1}/agno/tools/tavily.py +0 -0
  453. {agno-2.1.10 → agno-2.2.1}/agno/tools/telegram.py +0 -0
  454. {agno-2.1.10 → agno-2.2.1}/agno/tools/todoist.py +0 -0
  455. {agno-2.1.10 → agno-2.2.1}/agno/tools/tool_registry.py +0 -0
  456. {agno-2.1.10 → agno-2.2.1}/agno/tools/toolkit.py +0 -0
  457. {agno-2.1.10 → agno-2.2.1}/agno/tools/trafilatura.py +0 -0
  458. {agno-2.1.10 → agno-2.2.1}/agno/tools/trello.py +0 -0
  459. {agno-2.1.10 → agno-2.2.1}/agno/tools/twilio.py +0 -0
  460. {agno-2.1.10 → agno-2.2.1}/agno/tools/user_control_flow.py +0 -0
  461. {agno-2.1.10 → agno-2.2.1}/agno/tools/valyu.py +0 -0
  462. {agno-2.1.10 → agno-2.2.1}/agno/tools/visualization.py +0 -0
  463. {agno-2.1.10 → agno-2.2.1}/agno/tools/webbrowser.py +0 -0
  464. {agno-2.1.10 → agno-2.2.1}/agno/tools/webex.py +0 -0
  465. {agno-2.1.10 → agno-2.2.1}/agno/tools/website.py +0 -0
  466. {agno-2.1.10 → agno-2.2.1}/agno/tools/webtools.py +0 -0
  467. {agno-2.1.10 → agno-2.2.1}/agno/tools/whatsapp.py +0 -0
  468. {agno-2.1.10 → agno-2.2.1}/agno/tools/wikipedia.py +0 -0
  469. {agno-2.1.10 → agno-2.2.1}/agno/tools/workflow.py +0 -0
  470. {agno-2.1.10 → agno-2.2.1}/agno/tools/x.py +0 -0
  471. {agno-2.1.10 → agno-2.2.1}/agno/tools/yfinance.py +0 -0
  472. {agno-2.1.10 → agno-2.2.1}/agno/tools/youtube.py +0 -0
  473. {agno-2.1.10 → agno-2.2.1}/agno/tools/zendesk.py +0 -0
  474. {agno-2.1.10 → agno-2.2.1}/agno/tools/zep.py +0 -0
  475. {agno-2.1.10 → agno-2.2.1}/agno/tools/zoom.py +0 -0
  476. {agno-2.1.10 → agno-2.2.1}/agno/utils/__init__.py +0 -0
  477. {agno-2.1.10 → agno-2.2.1}/agno/utils/audio.py +0 -0
  478. {agno-2.1.10 → agno-2.2.1}/agno/utils/certs.py +0 -0
  479. {agno-2.1.10 → agno-2.2.1}/agno/utils/code_execution.py +0 -0
  480. {agno-2.1.10 → agno-2.2.1}/agno/utils/common.py +0 -0
  481. {agno-2.1.10 → agno-2.2.1}/agno/utils/dttm.py +0 -0
  482. {agno-2.1.10 → agno-2.2.1}/agno/utils/enum.py +0 -0
  483. {agno-2.1.10 → agno-2.2.1}/agno/utils/env.py +0 -0
  484. {agno-2.1.10 → agno-2.2.1}/agno/utils/format_str.py +0 -0
  485. {agno-2.1.10 → agno-2.2.1}/agno/utils/functions.py +0 -0
  486. {agno-2.1.10 → agno-2.2.1}/agno/utils/gemini.py +0 -0
  487. {agno-2.1.10 → agno-2.2.1}/agno/utils/hooks.py +0 -0
  488. {agno-2.1.10 → agno-2.2.1}/agno/utils/http.py +0 -0
  489. {agno-2.1.10 → agno-2.2.1}/agno/utils/json_schema.py +0 -0
  490. {agno-2.1.10 → agno-2.2.1}/agno/utils/knowledge.py +0 -0
  491. {agno-2.1.10 → agno-2.2.1}/agno/utils/location.py +0 -0
  492. {agno-2.1.10 → agno-2.2.1}/agno/utils/log.py +0 -0
  493. {agno-2.1.10 → agno-2.2.1}/agno/utils/mcp.py +0 -0
  494. {agno-2.1.10 → agno-2.2.1}/agno/utils/media.py +0 -0
  495. {agno-2.1.10 → agno-2.2.1}/agno/utils/merge_dict.py +0 -0
  496. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/__init__.py +0 -0
  497. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/ai_foundry.py +0 -0
  498. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/claude.py +0 -0
  499. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/cohere.py +0 -0
  500. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/llama.py +0 -0
  501. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/mistral.py +0 -0
  502. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/openai_responses.py +0 -0
  503. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/schema_utils.py +0 -0
  504. {agno-2.1.10 → agno-2.2.1}/agno/utils/models/watsonx.py +0 -0
  505. {agno-2.1.10 → agno-2.2.1}/agno/utils/openai.py +0 -0
  506. {agno-2.1.10 → agno-2.2.1}/agno/utils/pickle.py +0 -0
  507. {agno-2.1.10 → agno-2.2.1}/agno/utils/pprint.py +0 -0
  508. {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/__init__.py +0 -0
  509. {agno-2.1.10 → agno-2.2.1}/agno/utils/prompts.py +0 -0
  510. {agno-2.1.10 → agno-2.2.1}/agno/utils/reasoning.py +0 -0
  511. {agno-2.1.10 → agno-2.2.1}/agno/utils/response.py +0 -0
  512. {agno-2.1.10 → agno-2.2.1}/agno/utils/response_iterator.py +0 -0
  513. {agno-2.1.10 → agno-2.2.1}/agno/utils/safe_formatter.py +0 -0
  514. {agno-2.1.10 → agno-2.2.1}/agno/utils/serialize.py +0 -0
  515. {agno-2.1.10 → agno-2.2.1}/agno/utils/shell.py +0 -0
  516. {agno-2.1.10 → agno-2.2.1}/agno/utils/streamlit.py +0 -0
  517. {agno-2.1.10 → agno-2.2.1}/agno/utils/string.py +0 -0
  518. {agno-2.1.10 → agno-2.2.1}/agno/utils/timer.py +0 -0
  519. {agno-2.1.10 → agno-2.2.1}/agno/utils/tools.py +0 -0
  520. {agno-2.1.10 → agno-2.2.1}/agno/utils/web.py +0 -0
  521. {agno-2.1.10 → agno-2.2.1}/agno/utils/whatsapp.py +0 -0
  522. {agno-2.1.10 → agno-2.2.1}/agno/utils/yaml_io.py +0 -0
  523. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/__init__.py +0 -0
  524. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/base.py +0 -0
  525. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/__init__.py +0 -0
  526. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/cassandra.py +0 -0
  527. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
  528. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/index.py +0 -0
  529. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/chroma/__init__.py +0 -0
  530. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/chroma/chromadb.py +0 -0
  531. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/__init__.py +0 -0
  532. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/clickhousedb.py +0 -0
  533. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/index.py +0 -0
  534. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/couchbase/__init__.py +0 -0
  535. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/couchbase/couchbase.py +0 -0
  536. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/distance.py +0 -0
  537. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lancedb/__init__.py +0 -0
  538. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lancedb/lance_db.py +0 -0
  539. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/langchaindb/__init__.py +0 -0
  540. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/langchaindb/langchaindb.py +0 -0
  541. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lightrag/__init__.py +0 -0
  542. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lightrag/lightrag.py +0 -0
  543. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/llamaindex/__init__.py +0 -0
  544. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/llamaindex/llamaindexdb.py +0 -0
  545. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/milvus/__init__.py +0 -0
  546. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/milvus/milvus.py +0 -0
  547. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/mongodb/__init__.py +0 -0
  548. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/mongodb/mongodb.py +0 -0
  549. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/__init__.py +0 -0
  550. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/index.py +0 -0
  551. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/pgvector.py +0 -0
  552. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pineconedb/__init__.py +0 -0
  553. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pineconedb/pineconedb.py +0 -0
  554. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/qdrant/__init__.py +0 -0
  555. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/qdrant/qdrant.py +0 -0
  556. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/search.py +0 -0
  557. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/__init__.py +0 -0
  558. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/index.py +0 -0
  559. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/singlestore.py +0 -0
  560. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/surrealdb/__init__.py +0 -0
  561. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/surrealdb/surrealdb.py +0 -0
  562. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/upstashdb/__init__.py +0 -0
  563. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/upstashdb/upstashdb.py +0 -0
  564. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/__init__.py +0 -0
  565. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/index.py +0 -0
  566. {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/weaviate.py +0 -0
  567. {agno-2.1.10 → agno-2.2.1}/agno/workflow/__init__.py +0 -0
  568. {agno-2.1.10 → agno-2.2.1}/agno/workflow/types.py +0 -0
  569. {agno-2.1.10 → agno-2.2.1}/agno.egg-info/dependency_links.txt +0 -0
  570. {agno-2.1.10 → agno-2.2.1}/agno.egg-info/top_level.txt +0 -0
  571. {agno-2.1.10 → agno-2.2.1}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agno
3
- Version: 2.1.10
3
+ Version: 2.2.1
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
@@ -56,6 +56,7 @@ Requires-Dist: ddgs; extra == "integration-tests"
56
56
  Requires-Dist: yfinance; extra == "integration-tests"
57
57
  Requires-Dist: sqlalchemy; extra == "integration-tests"
58
58
  Requires-Dist: Pillow; extra == "integration-tests"
59
+ Requires-Dist: fastmcp; extra == "integration-tests"
59
60
  Provides-Extra: opentelemetry
60
61
  Requires-Dist: opentelemetry-sdk; extra == "opentelemetry"
61
62
  Requires-Dist: opentelemetry-exporter-otlp; extra == "opentelemetry"
@@ -237,6 +238,8 @@ Requires-Dist: pypdf; extra == "pdf"
237
238
  Requires-Dist: rapidocr_onnxruntime; extra == "pdf"
238
239
  Provides-Extra: docx
239
240
  Requires-Dist: python-docx; extra == "docx"
241
+ Provides-Extra: pptx
242
+ Requires-Dist: python-pptx; extra == "pptx"
240
243
  Provides-Extra: text
241
244
  Requires-Dist: aiofiles; extra == "text"
242
245
  Provides-Extra: csv
@@ -345,6 +348,7 @@ Requires-Dist: agno[upstash]; extra == "vectordbs"
345
348
  Provides-Extra: knowledge
346
349
  Requires-Dist: agno[pdf]; extra == "knowledge"
347
350
  Requires-Dist: agno[docx]; extra == "knowledge"
351
+ Requires-Dist: agno[pptx]; extra == "knowledge"
348
352
  Requires-Dist: agno[text]; extra == "knowledge"
349
353
  Requires-Dist: agno[csv]; extra == "knowledge"
350
354
  Requires-Dist: agno[markdown]; extra == "knowledge"
@@ -387,9 +391,30 @@ Dynamic: license-file
387
391
 
388
392
  ## What is Agno?
389
393
 
390
- Agno is the multi-agent framework, runtime and UI built for speed.
394
+ Agno is a multi-agent framework, runtime and control plane. Built for speed, privacy, and scale.
391
395
 
392
- Use it to build multi-agent systems with memory, knowledge, human in the loop and MCP support. You can orchestrate agents as multi-agent teams (more autonomy) or step-based agentic workflows (more control).
396
+ It provides a rich set of primitives for building:
397
+
398
+ - **Agents** with persistent state, knowledge retrieval, memory, and advanced features like human-in-the-loop, guardrails, dynamic context management and best-in-class MCP support.
399
+ - **Multi-Agent Teams** that operate autonomously under a team leader that maintains shared state and context.
400
+ - **Step-based Workflows** for controlled, deterministic execution. Steps can be Agents, Teams, or a regular python functions and can run sequentially, in parallel, in loops, branches, or conditionally.
401
+
402
+ Agno also provides a FastAPI-powered runtime for serving multi-agent systems in production, covering the entire {build → run → deploy} lifecycle. Building Agents is easy, running them is hard, and that's where Agno shines.
403
+
404
+ ## Getting started
405
+
406
+ If you're new to Agno, follow our [quickstart](https://docs.agno.com/introduction/quickstart) to build your first Agent and chat with it using the AgentOS UI.
407
+
408
+ After that, checkout the [examples gallery](https://docs.agno.com/examples/introduction) and build real-world applications with Agno.
409
+
410
+ ## Documentation, Community & More Examples
411
+
412
+ - Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
413
+ - Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
414
+ - Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
415
+ - Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
416
+
417
+ ## Example
393
418
 
394
419
  Here’s an example of an Agent that connects to an MCP server, manages conversation state in a database, and is served using a FastAPI application that you can interact with using the [AgentOS UI](https://os.agno.com).
395
420
 
@@ -424,23 +449,51 @@ if __name__ == "__main__":
424
449
  agent_os.serve(app="agno_agent:app", reload=True)
425
450
  ```
426
451
 
427
- ## What is the AgentOS?
452
+ ## Designed for Agent Engineering
453
+
454
+ Agno is a remarkably feature-rich framework, purpose-built for large-scale multi-agent deployments.
428
455
 
429
- AgentOS is a high-performance runtime for multi-agent systems. Key features include:
456
+ | **Category** | **Feature** | **Description** |
457
+ |---------------|-------------|-----------------|
458
+ | **Core Intelligence** | **Model Agnostic** | Works with any model provider so you can use your favorite LLMs. |
459
+ | | **Type Safe** | Enforce structured I/O through `input_schema` and `output_schema` for predictable, composable behavior. |
460
+ | | **Dynamic Context Engineering** | Inject variables, state, and retrieved data on the fly into context. Perfect for dependency-driven agents. |
461
+ | **Memory, Knowledge, and Persistence** | **Persistent Storage** | Give your Agents, Teams, and Workflows a database to persist session history, state, and messages. |
462
+ | | **User Memory** | Built-in memory system that allows Agents to recall user-specific context across sessions. |
463
+ | | **Agentic RAG** | Connect to 20+ vector stores (called **Knowledge** in Agno) with hybrid search + reranking out of the box. |
464
+ | | **Culture (Collective Memory)** | Shared knowledge that compounds across agents and time. |
465
+ | **Execution & Control** | **Human-in-the-Loop** | Native support for confirmations, manual overrides, and external tool execution. |
466
+ | | **Guardrails** | Built-in safeguards for validation, security, and prompt protection. |
467
+ | | **Agent Lifecycle Hooks** | Pre- and post-hooks to validate or transform inputs and outputs. |
468
+ | | **MCP Integration** | First-class support for the Model Context Protocol (MCP) to connect Agents with external systems. |
469
+ | | **Toolkits** | 100+ built-in toolkits with thousands of tools, ready for use across data, code, web, and enterprise APIs. |
470
+ | **Runtime & Evaluation** | **Runtime** | Pre-built FastAPI based runtime with SSE compatible endpoints, ready for production on day 1. |
471
+ | | **Control Plane (UI)** | Integrated interface to visualize, monitor, and debug agent activity in real time. |
472
+ | | **Natively Multimodal** | Agents can process and generate text, images, audio, video, and files. |
473
+ | | **Evals** | Measure your Agents' Accuracy, Performance, and Reliability. |
474
+ | **Security & Privacy** | **Private by Design** | Runs entirely in your cloud. The UI connects directly to your AgentOS from your browser, no data is ever sent externally. |
475
+ | | **Data Governance** | Your data lives securely in your Agent database, no external data sharing or vendor lock-in. |
476
+ | | **Access Control** | Role-based access (RBAC) and per-agent permissions to protect sensitive contexts and tools. |
430
477
 
431
- 1. **Pre-built FastAPI runtime**: AgentOS ships with a ready-to-use FastAPI app for running your agents, teams, and workflows. This gives you a major head start in building your AI product.
478
+ Every part of Agno is built for real-world deployment where developer experience meets production performance.
432
479
 
433
- 2. **Integrated UI**: The [AgentOS UI](https://os.agno.com) connects directly to your runtime, letting you test, monitor, and manage your system in real time. This gives you unmatched visibility and control over your system.
480
+ ## AgentOS - Production Runtime for Multi-Agent Systems
434
481
 
435
- 3. **Private by design**: AgentOS runs entirely in your cloud, ensuring complete data privacy. No data ever leaves your system. This is ideal for security-conscious enterprises.
482
+ AgentOS is Agno's high-performance runtime for serving multi-agent systems in production. Key features include:
436
483
 
437
- Here's what the [AgentOS UI](https://os.agno.com) looks like:
484
+ 1. **Pre-built FastAPI Runtime**: AgentOS ships with a ready-to-use FastAPI app for orchestrating your agents, teams, and workflows. This provides a major head start when building an AI product.
485
+
486
+ 2. **Integrated Control Plane**: The [AgentOS UI](https://os.agno.com) connects directly to your runtime, letting you test, monitor, and manage your system in real time. This gives you unmatched visibility and control over your system.
487
+
488
+ 3. **Private by Design**: AgentOS runs entirely in your cloud, ensuring complete data privacy. No data ever leaves your system. This is ideal for security-conscious enterprises.
489
+
490
+ Here's what the [AgentOS UI](https://os.agno.com) looks like in action:
438
491
 
439
492
  https://github.com/user-attachments/assets/feb23db8-15cc-4e88-be7c-01a21a03ebf6
440
493
 
441
494
  ## The Complete Agentic Solution
442
495
 
443
- For companies building agents, Agno provides the complete solution:
496
+ For companies building agents, Agno provides the complete agentic solution:
444
497
 
445
498
  - The fastest framework for building agents, multi-agent teams and agentic workflows.
446
499
  - A ready-to-use FastAPI app that gets you building AI products on day one.
@@ -448,19 +501,6 @@ For companies building agents, Agno provides the complete solution:
448
501
 
449
502
  Agno brings a novel architecture that no other framework provides, your AgentOS runs securely in your cloud, and the control plane connects directly to it from your browser. You don't need to send data to any external services or pay retention costs, you get complete privacy and control.
450
503
 
451
- ## Getting started
452
-
453
- If you're new to Agno, follow our [quickstart](https://docs.agno.com/introduction/quickstart) to build your first Agent and run it using the AgentOS.
454
-
455
- After that, checkout the [examples gallery](https://docs.agno.com/examples/introduction) and build real-world applications with Agno.
456
-
457
- ## Documentation, Community & More Examples
458
-
459
- - Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
460
- - Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
461
- - Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
462
- - Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
463
-
464
504
  ## Setup Your Coding Agent to Use Agno
465
505
 
466
506
  For LLMs and AI assistants to understand and navigate Agno's documentation, we provide an [llms.txt](https://docs.agno.com/llms.txt) or [llms-full.txt](https://docs.agno.com/llms-full.txt) file. This file is built for AI systems to efficiently parse and reference our documentation.
@@ -19,9 +19,30 @@
19
19
 
20
20
  ## What is Agno?
21
21
 
22
- Agno is the multi-agent framework, runtime and UI built for speed.
22
+ Agno is a multi-agent framework, runtime and control plane. Built for speed, privacy, and scale.
23
23
 
24
- Use it to build multi-agent systems with memory, knowledge, human in the loop and MCP support. You can orchestrate agents as multi-agent teams (more autonomy) or step-based agentic workflows (more control).
24
+ It provides a rich set of primitives for building:
25
+
26
+ - **Agents** with persistent state, knowledge retrieval, memory, and advanced features like human-in-the-loop, guardrails, dynamic context management and best-in-class MCP support.
27
+ - **Multi-Agent Teams** that operate autonomously under a team leader that maintains shared state and context.
28
+ - **Step-based Workflows** for controlled, deterministic execution. Steps can be Agents, Teams, or a regular python functions and can run sequentially, in parallel, in loops, branches, or conditionally.
29
+
30
+ Agno also provides a FastAPI-powered runtime for serving multi-agent systems in production, covering the entire {build → run → deploy} lifecycle. Building Agents is easy, running them is hard, and that's where Agno shines.
31
+
32
+ ## Getting started
33
+
34
+ If you're new to Agno, follow our [quickstart](https://docs.agno.com/introduction/quickstart) to build your first Agent and chat with it using the AgentOS UI.
35
+
36
+ After that, checkout the [examples gallery](https://docs.agno.com/examples/introduction) and build real-world applications with Agno.
37
+
38
+ ## Documentation, Community & More Examples
39
+
40
+ - Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
41
+ - Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
42
+ - Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
43
+ - Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
44
+
45
+ ## Example
25
46
 
26
47
  Here’s an example of an Agent that connects to an MCP server, manages conversation state in a database, and is served using a FastAPI application that you can interact with using the [AgentOS UI](https://os.agno.com).
27
48
 
@@ -56,23 +77,51 @@ if __name__ == "__main__":
56
77
  agent_os.serve(app="agno_agent:app", reload=True)
57
78
  ```
58
79
 
59
- ## What is the AgentOS?
80
+ ## Designed for Agent Engineering
81
+
82
+ Agno is a remarkably feature-rich framework, purpose-built for large-scale multi-agent deployments.
60
83
 
61
- AgentOS is a high-performance runtime for multi-agent systems. Key features include:
84
+ | **Category** | **Feature** | **Description** |
85
+ |---------------|-------------|-----------------|
86
+ | **Core Intelligence** | **Model Agnostic** | Works with any model provider so you can use your favorite LLMs. |
87
+ | | **Type Safe** | Enforce structured I/O through `input_schema` and `output_schema` for predictable, composable behavior. |
88
+ | | **Dynamic Context Engineering** | Inject variables, state, and retrieved data on the fly into context. Perfect for dependency-driven agents. |
89
+ | **Memory, Knowledge, and Persistence** | **Persistent Storage** | Give your Agents, Teams, and Workflows a database to persist session history, state, and messages. |
90
+ | | **User Memory** | Built-in memory system that allows Agents to recall user-specific context across sessions. |
91
+ | | **Agentic RAG** | Connect to 20+ vector stores (called **Knowledge** in Agno) with hybrid search + reranking out of the box. |
92
+ | | **Culture (Collective Memory)** | Shared knowledge that compounds across agents and time. |
93
+ | **Execution & Control** | **Human-in-the-Loop** | Native support for confirmations, manual overrides, and external tool execution. |
94
+ | | **Guardrails** | Built-in safeguards for validation, security, and prompt protection. |
95
+ | | **Agent Lifecycle Hooks** | Pre- and post-hooks to validate or transform inputs and outputs. |
96
+ | | **MCP Integration** | First-class support for the Model Context Protocol (MCP) to connect Agents with external systems. |
97
+ | | **Toolkits** | 100+ built-in toolkits with thousands of tools, ready for use across data, code, web, and enterprise APIs. |
98
+ | **Runtime & Evaluation** | **Runtime** | Pre-built FastAPI based runtime with SSE compatible endpoints, ready for production on day 1. |
99
+ | | **Control Plane (UI)** | Integrated interface to visualize, monitor, and debug agent activity in real time. |
100
+ | | **Natively Multimodal** | Agents can process and generate text, images, audio, video, and files. |
101
+ | | **Evals** | Measure your Agents' Accuracy, Performance, and Reliability. |
102
+ | **Security & Privacy** | **Private by Design** | Runs entirely in your cloud. The UI connects directly to your AgentOS from your browser, no data is ever sent externally. |
103
+ | | **Data Governance** | Your data lives securely in your Agent database, no external data sharing or vendor lock-in. |
104
+ | | **Access Control** | Role-based access (RBAC) and per-agent permissions to protect sensitive contexts and tools. |
62
105
 
63
- 1. **Pre-built FastAPI runtime**: AgentOS ships with a ready-to-use FastAPI app for running your agents, teams, and workflows. This gives you a major head start in building your AI product.
106
+ Every part of Agno is built for real-world deployment where developer experience meets production performance.
64
107
 
65
- 2. **Integrated UI**: The [AgentOS UI](https://os.agno.com) connects directly to your runtime, letting you test, monitor, and manage your system in real time. This gives you unmatched visibility and control over your system.
108
+ ## AgentOS - Production Runtime for Multi-Agent Systems
66
109
 
67
- 3. **Private by design**: AgentOS runs entirely in your cloud, ensuring complete data privacy. No data ever leaves your system. This is ideal for security-conscious enterprises.
110
+ AgentOS is Agno's high-performance runtime for serving multi-agent systems in production. Key features include:
68
111
 
69
- Here's what the [AgentOS UI](https://os.agno.com) looks like:
112
+ 1. **Pre-built FastAPI Runtime**: AgentOS ships with a ready-to-use FastAPI app for orchestrating your agents, teams, and workflows. This provides a major head start when building an AI product.
113
+
114
+ 2. **Integrated Control Plane**: The [AgentOS UI](https://os.agno.com) connects directly to your runtime, letting you test, monitor, and manage your system in real time. This gives you unmatched visibility and control over your system.
115
+
116
+ 3. **Private by Design**: AgentOS runs entirely in your cloud, ensuring complete data privacy. No data ever leaves your system. This is ideal for security-conscious enterprises.
117
+
118
+ Here's what the [AgentOS UI](https://os.agno.com) looks like in action:
70
119
 
71
120
  https://github.com/user-attachments/assets/feb23db8-15cc-4e88-be7c-01a21a03ebf6
72
121
 
73
122
  ## The Complete Agentic Solution
74
123
 
75
- For companies building agents, Agno provides the complete solution:
124
+ For companies building agents, Agno provides the complete agentic solution:
76
125
 
77
126
  - The fastest framework for building agents, multi-agent teams and agentic workflows.
78
127
  - A ready-to-use FastAPI app that gets you building AI products on day one.
@@ -80,19 +129,6 @@ For companies building agents, Agno provides the complete solution:
80
129
 
81
130
  Agno brings a novel architecture that no other framework provides, your AgentOS runs securely in your cloud, and the control plane connects directly to it from your browser. You don't need to send data to any external services or pay retention costs, you get complete privacy and control.
82
131
 
83
- ## Getting started
84
-
85
- If you're new to Agno, follow our [quickstart](https://docs.agno.com/introduction/quickstart) to build your first Agent and run it using the AgentOS.
86
-
87
- After that, checkout the [examples gallery](https://docs.agno.com/examples/introduction) and build real-world applications with Agno.
88
-
89
- ## Documentation, Community & More Examples
90
-
91
- - Docs: <a href="https://docs.agno.com" target="_blank" rel="noopener noreferrer">docs.agno.com</a>
92
- - Cookbook: <a href="https://github.com/agno-agi/agno/tree/main/cookbook" target="_blank" rel="noopener noreferrer">Cookbook</a>
93
- - Community forum: <a href="https://community.agno.com/" target="_blank" rel="noopener noreferrer">community.agno.com</a>
94
- - Discord: <a href="https://discord.gg/4MtYHHrgA8" target="_blank" rel="noopener noreferrer">discord</a>
95
-
96
132
  ## Setup Your Coding Agent to Use Agno
97
133
 
98
134
  For LLMs and AI assistants to understand and navigate Agno's documentation, we provide an [llms.txt](https://docs.agno.com/llms.txt) or [llms-full.txt](https://docs.agno.com/llms-full.txt) file. This file is built for AI systems to efficiently parse and reference our documentation.