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.
- {agno-2.1.10 → agno-2.2.1}/PKG-INFO +63 -23
- {agno-2.1.10 → agno-2.2.1}/README.md +58 -22
- {agno-2.1.10 → agno-2.2.1}/agno/agent/agent.py +1594 -1248
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/knowledge.py +11 -0
- agno-2.2.1/agno/knowledge/reader/pptx_reader.py +101 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/reader_factory.py +14 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/types.py +1 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/anthropic/claude.py +2 -2
- {agno-2.1.10 → agno-2.2.1}/agno/models/base.py +4 -4
- {agno-2.1.10 → agno-2.2.1}/agno/models/ollama/chat.py +7 -2
- {agno-2.1.10 → agno-2.2.1}/agno/os/app.py +1 -1
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/router.py +2 -2
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/router.py +2 -2
- {agno-2.1.10 → agno-2.2.1}/agno/os/router.py +7 -7
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/schemas.py +31 -31
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/health.py +6 -2
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/schemas.py +49 -47
- agno-2.2.1/agno/os/routers/memory/schemas.py +59 -0
- agno-2.2.1/agno/os/routers/metrics/schemas.py +47 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/session/session.py +382 -7
- {agno-2.1.10 → agno-2.2.1}/agno/os/schema.py +254 -231
- {agno-2.1.10 → agno-2.2.1}/agno/os/utils.py +1 -1
- {agno-2.1.10 → agno-2.2.1}/agno/run/agent.py +54 -1
- {agno-2.1.10 → agno-2.2.1}/agno/run/team.py +48 -0
- {agno-2.1.10 → agno-2.2.1}/agno/run/workflow.py +15 -5
- {agno-2.1.10 → agno-2.2.1}/agno/session/summary.py +45 -13
- {agno-2.1.10 → agno-2.2.1}/agno/session/team.py +90 -5
- {agno-2.1.10 → agno-2.2.1}/agno/team/team.py +1130 -849
- agno-2.2.1/agno/utils/agent.py +372 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/events.py +144 -2
- {agno-2.1.10 → agno-2.2.1}/agno/utils/message.py +60 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/agent.py +10 -6
- {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/team.py +6 -4
- {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/workflow.py +7 -5
- {agno-2.1.10 → agno-2.2.1}/agno/utils/team.py +9 -8
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/condition.py +17 -9
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/loop.py +18 -10
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/parallel.py +14 -6
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/router.py +16 -8
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/step.py +14 -6
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/steps.py +14 -6
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/workflow.py +331 -123
- {agno-2.1.10 → agno-2.2.1}/agno.egg-info/PKG-INFO +63 -23
- {agno-2.1.10 → agno-2.2.1}/agno.egg-info/SOURCES.txt +2 -0
- {agno-2.1.10 → agno-2.2.1}/agno.egg-info/requires.txt +5 -0
- {agno-2.1.10 → agno-2.2.1}/pyproject.toml +5 -2
- agno-2.1.10/agno/os/routers/memory/schemas.py +0 -59
- agno-2.1.10/agno/os/routers/metrics/schemas.py +0 -47
- {agno-2.1.10 → agno-2.2.1}/LICENSE +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/agent/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/agent.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/api.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/evals.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/os.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/routes.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/agent.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/evals.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/os.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/response.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/team.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/schemas/workflows.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/settings.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/team.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/api/workflow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/api_client.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/bucket.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/cloud/aws/s3/object.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/culture/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/culture/manager.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/async_postgres.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/async_postgres/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/dynamo.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/dynamo/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/firestore.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/firestore/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/gcs_json_db.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/gcs_json/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/in_memory_db.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/in_memory/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/json/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/json/json_db.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/json/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/migrations/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/migrations/v1_to_v2.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/mongo.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mongo/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/mysql.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/mysql/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/postgres.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/postgres/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/redis/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/redis/redis.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/redis/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/redis/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/culture.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/evals.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/knowledge.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/memory.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/schemas/metrics.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/singlestore.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/singlestore/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/schemas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/sqlite.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/sqlite/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/metrics.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/models.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/queries.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/surrealdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/surrealdb/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/db/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/debug.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/eval/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/eval/accuracy.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/eval/performance.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/eval/reliability.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/eval/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/exceptions.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/guardrails/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/guardrails/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/guardrails/openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/guardrails/pii.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/guardrails/prompt_injection.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/integrations/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/integrations/discord/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/integrations/discord/client.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/agentic.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/document.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/fixed.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/markdown.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/recursive.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/row.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/semantic.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/chunking/strategy.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/content.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/document/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/document/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/aws_bedrock.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/azure_openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/cohere.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/fastembed.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/fireworks.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/google.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/huggingface.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/jina.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/langdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/mistral.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/nebius.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/ollama.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/sentence_transformer.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/together.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/embedder/voyageai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/arxiv_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/csv_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/docx_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/field_labeled_csv_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/firecrawl_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/json_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/markdown_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/pdf_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/s3_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/text_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/web_search_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/website_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/wikipedia_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reader/youtube_reader.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/remote_content/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/remote_content/remote_content.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/cohere.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/infinity.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/reranker/sentence_transformer.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/knowledge/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/media.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/memory/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/memory/manager.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/aimlapi/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/aimlapi/aimlapi.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/anthropic/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/aws/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/aws/bedrock.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/aws/claude.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/azure/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/azure/ai_foundry.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/azure/openai_chat.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/cerebras.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cerebras/cerebras_openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cohere/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cohere/chat.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cometapi/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/cometapi/cometapi.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/dashscope/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/dashscope/dashscope.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/deepinfra/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/deepinfra/deepinfra.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/deepseek/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/deepseek/deepseek.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/defaults.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/fireworks/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/fireworks/fireworks.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/google/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/google/gemini.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/groq/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/groq/groq.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/huggingface/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/huggingface/huggingface.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/ibm/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/ibm/watsonx.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/internlm/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/internlm/internlm.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/langdb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/langdb/langdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/chat.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/litellm/litellm_openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/llama_cpp/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/llama_cpp/llama_cpp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/lmstudio/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/lmstudio/lmstudio.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/message.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/meta/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/meta/llama.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/meta/llama_openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/metrics.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/mistral/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/mistral/mistral.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nebius/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nebius/nebius.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nexus/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nexus/nexus.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nvidia/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/nvidia/nvidia.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/ollama/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openai/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openai/chat.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openai/like.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openai/responses.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openrouter/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/openrouter/openrouter.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/perplexity/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/perplexity/perplexity.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/portkey/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/portkey/portkey.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/requesty/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/requesty/requesty.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/response.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/sambanova/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/sambanova/sambanova.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/siliconflow/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/siliconflow/siliconflow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/together/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/together/together.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vercel/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vercel/v0.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vertexai/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vertexai/claude.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vllm/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/vllm/vllm.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/xai/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/models/xai/xai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/auth.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/config.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/a2a.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/a2a/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/agui.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/agui/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/router.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/security.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/slack/slack.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/router.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/security.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/mcp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/middleware/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/middleware/jwt.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/evals.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/evals/utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/home.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/knowledge/knowledge.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/memory/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/memory/memory.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/metrics/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/metrics/metrics.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/routers/session/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/os/settings.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/py.typed +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/anthropic.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/azure_ai_foundry.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/deepseek.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/default.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/gemini.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/groq.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/helpers.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/ollama.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/step.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/reasoning/vertexai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/run/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/run/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/run/cancel.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/run/messages.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/session/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/session/agent.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/session/workflow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/team/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/agentql.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/airflow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/api.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/apify.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/arxiv.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/aws_lambda.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/aws_ses.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/baidusearch.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/bitbucket.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/brandfetch.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/bravesearch.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/brightdata.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/browserbase.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/calcom.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/calculator.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/cartesia.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/clickup.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/confluence.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/crawl4ai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/csv_toolkit.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/dalle.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/daytona.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/decorator.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/desi_vocal.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/discord.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/docker.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/duckdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/duckduckgo.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/e2b.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/eleven_labs.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/email.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/evm.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/exa.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/fal.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/file.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/file_generation.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/financial_datasets.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/firecrawl.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/function.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/giphy.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/github.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/gmail.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/google_bigquery.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/google_drive.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/google_maps.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/googlecalendar.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/googlesearch.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/googlesheets.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/hackernews.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/jina.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/jira.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/knowledge.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/linear.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/linkup.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/local_file_system.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/lumalab.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/mcp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/mcp_toolbox.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/mem0.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/memori.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/memory.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/mlx_transcribe.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/azure_openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/gemini.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/groq.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/morph.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models/nebius.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/models_labs.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/moviepy_video.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/neo4j.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/newspaper.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/newspaper4k.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/openbb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/opencv.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/openweather.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/oxylabs.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/pandas.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/postgres.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/pubmed.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/python.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/reasoning.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/reddit.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/replicate.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/resend.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/scrapegraph.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/searxng.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/serpapi.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/serper.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/shell.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/slack.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/sleep.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/spider.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/sql.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/streamlit/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/streamlit/components.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/tavily.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/telegram.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/todoist.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/tool_registry.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/toolkit.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/trafilatura.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/trello.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/twilio.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/user_control_flow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/valyu.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/visualization.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/webbrowser.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/webex.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/website.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/webtools.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/whatsapp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/wikipedia.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/workflow.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/x.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/yfinance.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/youtube.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/zendesk.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/zep.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/tools/zoom.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/audio.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/certs.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/code_execution.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/common.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/dttm.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/enum.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/env.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/format_str.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/functions.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/gemini.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/hooks.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/http.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/json_schema.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/knowledge.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/location.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/log.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/mcp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/media.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/merge_dict.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/ai_foundry.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/claude.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/cohere.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/llama.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/mistral.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/openai_responses.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/schema_utils.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/models/watsonx.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/openai.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/pickle.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/pprint.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/print_response/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/prompts.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/reasoning.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/response.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/response_iterator.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/safe_formatter.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/serialize.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/shell.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/streamlit.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/string.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/timer.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/tools.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/web.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/whatsapp.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/utils/yaml_io.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/base.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/cassandra.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/cassandra/index.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/chroma/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/chroma/chromadb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/clickhousedb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/clickhouse/index.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/couchbase/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/couchbase/couchbase.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/distance.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lancedb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lancedb/lance_db.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/langchaindb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/langchaindb/langchaindb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lightrag/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/lightrag/lightrag.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/llamaindex/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/llamaindex/llamaindexdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/milvus/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/milvus/milvus.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/mongodb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/mongodb/mongodb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/index.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pgvector/pgvector.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pineconedb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/pineconedb/pineconedb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/qdrant/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/qdrant/qdrant.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/search.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/index.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/singlestore/singlestore.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/surrealdb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/surrealdb/surrealdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/upstashdb/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/upstashdb/upstashdb.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/index.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/vectordb/weaviate/weaviate.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/__init__.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno/workflow/types.py +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno.egg-info/dependency_links.txt +0 -0
- {agno-2.1.10 → agno-2.2.1}/agno.egg-info/top_level.txt +0 -0
- {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
|
|
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
|
|
394
|
+
Agno is a multi-agent framework, runtime and control plane. Built for speed, privacy, and scale.
|
|
391
395
|
|
|
392
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
478
|
+
Every part of Agno is built for real-world deployment — where developer experience meets production performance.
|
|
432
479
|
|
|
433
|
-
|
|
480
|
+
## AgentOS - Production Runtime for Multi-Agent Systems
|
|
434
481
|
|
|
435
|
-
|
|
482
|
+
AgentOS is Agno's high-performance runtime for serving multi-agent systems in production. Key features include:
|
|
436
483
|
|
|
437
|
-
|
|
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
|
|
22
|
+
Agno is a multi-agent framework, runtime and control plane. Built for speed, privacy, and scale.
|
|
23
23
|
|
|
24
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
106
|
+
Every part of Agno is built for real-world deployment — where developer experience meets production performance.
|
|
64
107
|
|
|
65
|
-
|
|
108
|
+
## AgentOS - Production Runtime for Multi-Agent Systems
|
|
66
109
|
|
|
67
|
-
|
|
110
|
+
AgentOS is Agno's high-performance runtime for serving multi-agent systems in production. Key features include:
|
|
68
111
|
|
|
69
|
-
|
|
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.
|