agno 2.3.21__tar.gz → 2.3.23__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.3.21 → agno-2.3.23}/PKG-INFO +13 -14
- {agno-2.3.21 → agno-2.3.23}/README.md +11 -12
- {agno-2.3.21 → agno-2.3.23}/agno/agent/agent.py +48 -2
- agno-2.3.23/agno/agent/remote.py +512 -0
- agno-2.3.23/agno/client/a2a/__init__.py +10 -0
- agno-2.3.23/agno/client/a2a/client.py +554 -0
- agno-2.3.23/agno/client/a2a/schemas.py +112 -0
- agno-2.3.23/agno/client/a2a/utils.py +369 -0
- agno-2.3.23/agno/db/migrations/utils.py +19 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/migrations/v1_to_v2.py +54 -16
- {agno-2.3.21 → agno-2.3.23}/agno/db/migrations/versions/v2_3_0.py +92 -53
- {agno-2.3.21 → agno-2.3.23}/agno/db/mysql/async_mysql.py +5 -7
- {agno-2.3.21 → agno-2.3.23}/agno/db/mysql/mysql.py +5 -7
- {agno-2.3.21 → agno-2.3.23}/agno/db/mysql/schemas.py +39 -21
- {agno-2.3.21 → agno-2.3.23}/agno/db/postgres/async_postgres.py +172 -42
- {agno-2.3.21 → agno-2.3.23}/agno/db/postgres/postgres.py +186 -38
- {agno-2.3.21 → agno-2.3.23}/agno/db/postgres/schemas.py +39 -21
- {agno-2.3.21 → agno-2.3.23}/agno/db/postgres/utils.py +6 -2
- {agno-2.3.21 → agno-2.3.23}/agno/db/singlestore/schemas.py +41 -21
- {agno-2.3.21 → agno-2.3.23}/agno/db/singlestore/singlestore.py +14 -3
- {agno-2.3.21 → agno-2.3.23}/agno/db/sqlite/async_sqlite.py +7 -2
- {agno-2.3.21 → agno-2.3.23}/agno/db/sqlite/schemas.py +36 -21
- {agno-2.3.21 → agno-2.3.23}/agno/db/sqlite/sqlite.py +3 -7
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/document.py +3 -2
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/markdown.py +8 -3
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/recursive.py +2 -2
- {agno-2.3.21 → agno-2.3.23}/agno/models/base.py +4 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/google/gemini.py +27 -4
- {agno-2.3.21 → agno-2.3.23}/agno/models/openai/chat.py +1 -1
- {agno-2.3.21 → agno-2.3.23}/agno/models/openai/responses.py +14 -7
- {agno-2.3.21 → agno-2.3.23}/agno/os/middleware/jwt.py +66 -27
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/agents/router.py +3 -3
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/evals/evals.py +2 -2
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/knowledge/knowledge.py +5 -5
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/knowledge/schemas.py +1 -1
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/memory/memory.py +4 -4
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/session/session.py +2 -2
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/teams/router.py +4 -4
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/traces/traces.py +3 -3
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/workflows/router.py +3 -3
- {agno-2.3.21 → agno-2.3.23}/agno/os/schema.py +1 -1
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/deepseek.py +11 -1
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/gemini.py +6 -2
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/groq.py +8 -3
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/openai.py +2 -0
- {agno-2.3.21 → agno-2.3.23}/agno/remote/base.py +106 -9
- agno-2.3.23/agno/skills/__init__.py +17 -0
- agno-2.3.23/agno/skills/agent_skills.py +370 -0
- agno-2.3.23/agno/skills/errors.py +32 -0
- agno-2.3.23/agno/skills/loaders/__init__.py +4 -0
- agno-2.3.23/agno/skills/loaders/base.py +27 -0
- agno-2.3.23/agno/skills/loaders/local.py +216 -0
- agno-2.3.23/agno/skills/skill.py +65 -0
- agno-2.3.23/agno/skills/utils.py +107 -0
- agno-2.3.23/agno/skills/validator.py +277 -0
- agno-2.3.23/agno/team/remote.py +447 -0
- {agno-2.3.21 → agno-2.3.23}/agno/team/team.py +41 -3
- {agno-2.3.21 → agno-2.3.23}/agno/tools/brandfetch.py +27 -18
- {agno-2.3.21 → agno-2.3.23}/agno/tools/browserbase.py +150 -13
- {agno-2.3.21 → agno-2.3.23}/agno/tools/function.py +6 -1
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mcp/mcp.py +300 -17
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mcp/multi_mcp.py +269 -14
- {agno-2.3.21 → agno-2.3.23}/agno/tools/toolkit.py +89 -21
- {agno-2.3.21 → agno-2.3.23}/agno/utils/mcp.py +49 -8
- {agno-2.3.21 → agno-2.3.23}/agno/utils/string.py +43 -1
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/condition.py +4 -2
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/loop.py +20 -1
- agno-2.3.23/agno/workflow/remote.py +362 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/router.py +4 -1
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/steps.py +4 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/workflow.py +14 -0
- {agno-2.3.21 → agno-2.3.23}/agno.egg-info/PKG-INFO +13 -14
- {agno-2.3.21 → agno-2.3.23}/agno.egg-info/SOURCES.txt +14 -0
- {agno-2.3.21 → agno-2.3.23}/agno.egg-info/requires.txt +1 -1
- {agno-2.3.21 → agno-2.3.23}/pyproject.toml +2 -2
- agno-2.3.21/agno/agent/remote.py +0 -351
- agno-2.3.21/agno/team/remote.py +0 -287
- agno-2.3.21/agno/workflow/remote.py +0 -222
- {agno-2.3.21 → agno-2.3.23}/LICENSE +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/agent/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/api.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/evals.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/os.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/routes.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/evals.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/os.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/response.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/schemas/workflows.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/settings.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/api/workflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/client/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/client/os.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/cloud/aws/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/cloud/aws/s3/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/cloud/aws/s3/api_client.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/cloud/aws/s3/bucket.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/cloud/aws/s3/object.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/compression/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/compression/manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/culture/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/culture/manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/async_postgres/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/dynamo/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/dynamo/dynamo.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/dynamo/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/dynamo/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/firestore/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/firestore/firestore.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/firestore/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/firestore/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/gcs_json/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/gcs_json/gcs_json_db.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/gcs_json/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/in_memory/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/in_memory/in_memory_db.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/in_memory/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/json/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/json/json_db.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/json/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/migrations/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/migrations/manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/migrations/versions/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mongo/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mongo/async_mongo.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mongo/mongo.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mongo/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mongo/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mysql/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/mysql/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/postgres/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/redis/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/redis/redis.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/redis/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/redis/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/culture.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/evals.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/knowledge.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/memory.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/schemas/metrics.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/singlestore/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/singlestore/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/sqlite/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/sqlite/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/metrics.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/models.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/queries.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/surrealdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/surrealdb/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/db/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/debug.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/accuracy.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/agent_as_judge.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/performance.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/reliability.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/eval/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/exceptions.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/filters.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/guardrails/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/guardrails/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/guardrails/openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/guardrails/pii.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/guardrails/prompt_injection.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/hooks/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/hooks/decorator.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/integrations/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/integrations/discord/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/integrations/discord/client.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/agentic.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/fixed.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/row.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/semantic.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/chunking/strategy.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/content.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/document/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/document/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/aws_bedrock.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/azure_openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/cohere.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/fastembed.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/fireworks.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/google.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/huggingface.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/jina.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/langdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/mistral.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/nebius.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/ollama.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/sentence_transformer.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/together.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/vllm.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/embedder/voyageai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/knowledge.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/arxiv_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/csv_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/docx_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/field_labeled_csv_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/firecrawl_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/json_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/markdown_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/pdf_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/pptx_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/reader_factory.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/s3_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/tavily_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/text_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/web_search_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/website_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/wikipedia_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reader/youtube_reader.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/remote_content/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/remote_content/remote_content.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reranker/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reranker/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reranker/cohere.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reranker/infinity.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/reranker/sentence_transformer.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/types.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/knowledge/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/media.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/strategies/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/strategies/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/strategies/summarize.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/memory/strategies/types.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/aimlapi/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/aimlapi/aimlapi.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/anthropic/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/anthropic/claude.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/aws/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/aws/bedrock.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/aws/claude.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/azure/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/azure/ai_foundry.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/azure/openai_chat.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cerebras/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cerebras/cerebras.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cerebras/cerebras_openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cohere/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cohere/chat.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cometapi/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/cometapi/cometapi.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/dashscope/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/dashscope/dashscope.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/deepinfra/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/deepinfra/deepinfra.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/deepseek/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/deepseek/deepseek.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/defaults.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/fireworks/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/fireworks/fireworks.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/google/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/google/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/groq/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/groq/groq.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/huggingface/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/huggingface/huggingface.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/ibm/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/ibm/watsonx.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/internlm/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/internlm/internlm.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/langdb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/langdb/langdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/litellm/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/litellm/chat.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/litellm/litellm_openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/llama_cpp/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/llama_cpp/llama_cpp.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/lmstudio/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/lmstudio/lmstudio.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/message.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/meta/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/meta/llama.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/meta/llama_openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/metrics.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/mistral/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/mistral/mistral.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nebius/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nebius/nebius.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nexus/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nexus/nexus.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nvidia/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/nvidia/nvidia.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/ollama/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/ollama/chat.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/openai/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/openai/like.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/openrouter/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/openrouter/openrouter.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/perplexity/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/perplexity/perplexity.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/portkey/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/portkey/portkey.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/requesty/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/requesty/requesty.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/response.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/sambanova/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/sambanova/sambanova.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/siliconflow/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/siliconflow/siliconflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/together/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/together/together.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vercel/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vercel/v0.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vertexai/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vertexai/claude.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vllm/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/vllm/vllm.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/xai/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/models/xai/xai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/app.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/auth.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/config.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/a2a/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/a2a/a2a.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/a2a/router.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/a2a/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/agui/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/agui/agui.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/agui/router.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/agui/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/slack/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/slack/router.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/slack/security.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/slack/slack.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/whatsapp/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/whatsapp/router.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/whatsapp/security.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/managers.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/mcp.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/middleware/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/router.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/agents/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/agents/schema.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/database.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/evals/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/evals/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/evals/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/health.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/home.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/knowledge/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/memory/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/memory/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/metrics/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/metrics/metrics.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/metrics/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/session/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/teams/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/teams/schema.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/traces/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/traces/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/workflows/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/routers/workflows/schema.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/scopes.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/settings.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/os/utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/py.typed +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/anthropic.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/azure_ai_foundry.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/default.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/helpers.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/ollama.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/step.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/reasoning/vertexai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/remote/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/cancel.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/cancellation_management/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/cancellation_management/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/cancellation_management/in_memory_cancellation_manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/cancellation_management/redis_cancellation_manager.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/messages.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/requirement.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/run/workflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/session/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/session/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/session/summary.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/session/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/session/workflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/table.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/team/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/agentql.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/airflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/api.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/apify.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/arxiv.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/aws_lambda.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/aws_ses.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/baidusearch.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/bitbucket.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/bravesearch.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/brightdata.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/calcom.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/calculator.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/cartesia.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/clickup.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/confluence.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/crawl4ai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/csv_toolkit.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/dalle.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/daytona.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/decorator.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/desi_vocal.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/discord.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/docker.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/duckdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/duckduckgo.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/e2b.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/eleven_labs.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/email.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/evm.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/exa.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/fal.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/file.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/file_generation.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/financial_datasets.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/firecrawl.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/giphy.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/github.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/gmail.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/google_bigquery.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/google_drive.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/google_maps.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/googlecalendar.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/googlesheets.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/hackernews.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/jina.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/jira.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/knowledge.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/linear.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/linkup.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/local_file_system.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/lumalab.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mcp/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mcp/params.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mcp_toolbox.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mem0.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/memory.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/mlx_transcribe.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/azure_openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/gemini.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/groq.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/morph.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models/nebius.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/models_labs.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/moviepy_video.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/nano_banana.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/neo4j.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/newspaper.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/newspaper4k.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/notion.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/openbb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/opencv.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/openweather.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/oxylabs.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/pandas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/parallel.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/postgres.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/pubmed.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/python.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/reasoning.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/reddit.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/redshift.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/replicate.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/resend.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/scrapegraph.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/searxng.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/serpapi.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/serper.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/shell.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/shopify.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/slack.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/sleep.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/spider.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/spotify.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/sql.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/streamlit/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/streamlit/components.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/tavily.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/telegram.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/todoist.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/tool_registry.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/trafilatura.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/trello.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/twilio.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/user_control_flow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/valyu.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/visualization.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/webbrowser.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/webex.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/website.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/webtools.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/whatsapp.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/wikipedia.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/workflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/x.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/yfinance.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/youtube.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/zendesk.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/zep.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tools/zoom.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tracing/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tracing/exporter.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tracing/schemas.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/tracing/setup.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/audio.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/certs.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/code_execution.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/common.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/cryptography.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/dttm.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/enum.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/env.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/events.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/format_str.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/functions.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/gemini.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/hooks.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/http.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/json_schema.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/knowledge.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/location.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/log.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/media.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/merge_dict.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/message.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/ai_foundry.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/claude.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/cohere.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/llama.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/mistral.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/openai_responses.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/schema_utils.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/models/watsonx.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/openai.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/os.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/pickle.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/pprint.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/print_response/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/print_response/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/print_response/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/print_response/workflow.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/prompts.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/reasoning.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/remote.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/response.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/response_iterator.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/safe_formatter.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/serialize.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/shell.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/streamlit.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/team.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/timer.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/tokens.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/tools.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/web.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/whatsapp.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/utils/yaml_io.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/base.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/cassandra/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/cassandra/cassandra.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/cassandra/index.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/chroma/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/chroma/chromadb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/clickhouse/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/clickhouse/clickhousedb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/clickhouse/index.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/couchbase/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/couchbase/couchbase.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/distance.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/lancedb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/lancedb/lance_db.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/langchaindb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/langchaindb/langchaindb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/lightrag/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/lightrag/lightrag.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/llamaindex/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/llamaindex/llamaindexdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/milvus/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/milvus/milvus.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/mongodb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/mongodb/mongodb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/pgvector/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/pgvector/index.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/pgvector/pgvector.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/pineconedb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/pineconedb/pineconedb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/qdrant/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/qdrant/qdrant.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/redis/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/redis/redisdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/search.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/singlestore/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/singlestore/index.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/singlestore/singlestore.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/surrealdb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/surrealdb/surrealdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/upstashdb/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/upstashdb/upstashdb.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/weaviate/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/weaviate/index.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/vectordb/weaviate/weaviate.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/__init__.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/agent.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/parallel.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/step.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno/workflow/types.py +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno.egg-info/dependency_links.txt +0 -0
- {agno-2.3.21 → agno-2.3.23}/agno.egg-info/top_level.txt +0 -0
- {agno-2.3.21 → agno-2.3.23}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agno
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.23
|
|
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
|
|
@@ -157,7 +157,7 @@ Requires-Dist: mcp>=1.9.2; extra == "mcp"
|
|
|
157
157
|
Provides-Extra: mem0
|
|
158
158
|
Requires-Dist: mem0ai; extra == "mem0"
|
|
159
159
|
Provides-Extra: memori
|
|
160
|
-
Requires-Dist:
|
|
160
|
+
Requires-Dist: memori>=3.0.5; extra == "memori"
|
|
161
161
|
Provides-Extra: newspaper
|
|
162
162
|
Requires-Dist: newspaper4k; extra == "newspaper"
|
|
163
163
|
Requires-Dist: lxml_html_clean; extra == "newspaper"
|
|
@@ -425,23 +425,22 @@ Dynamic: license-file
|
|
|
425
425
|
|
|
426
426
|
Agno is a multi-agent framework, runtime, and control plane. Use it to build private and secure AI products that run in your cloud.
|
|
427
427
|
|
|
428
|
-
- **Build** agents, teams, and workflows with memory, knowledge, guardrails
|
|
428
|
+
- **Build** agents, teams, and workflows with memory, knowledge, guardrails and 100+ integrations.
|
|
429
429
|
- **Run** in production with a stateless FastAPI runtime. Horizontally scalable.
|
|
430
430
|
- **Manage** with a control plane that connects directly to your runtime — no data leaves your environment.
|
|
431
431
|
|
|
432
432
|
## Why Agno?
|
|
433
433
|
|
|
434
|
-
- **Your cloud, your data:**
|
|
435
|
-
- **
|
|
436
|
-
- **
|
|
434
|
+
- **Your cloud, your data:** Runs entirely in your infrastructure. Nothing leaves your environment.
|
|
435
|
+
- **Ready for production on day one:** Pre-built FastAPI runtime with SSE endpoints, ready to deploy.
|
|
436
|
+
- **Incredibly fast:** 529× faster than LangGraph, 24× lower memory.
|
|
437
437
|
|
|
438
438
|
## Getting Started
|
|
439
439
|
|
|
440
|
-
|
|
440
|
+
Start with the [getting started guide](https://github.com/agno-agi/agno/tree/main/cookbook/00_getting_started), then:
|
|
441
441
|
|
|
442
|
-
Then:
|
|
443
442
|
- Browse the [cookbooks](https://github.com/agno-agi/agno/tree/main/cookbook) for real-world examples
|
|
444
|
-
- Read the [docs](https://docs.agno.com) to learn more
|
|
443
|
+
- Read the [docs](https://docs.agno.com) to learn more
|
|
445
444
|
|
|
446
445
|
## Resources
|
|
447
446
|
|
|
@@ -509,26 +508,26 @@ This isn't a privacy mode or enterprise add-on. It's how Agno works.
|
|
|
509
508
|
|
|
510
509
|
## Features
|
|
511
510
|
|
|
512
|
-
|
|
511
|
+
### Core:
|
|
513
512
|
- Model agnostic — works with OpenAI, Anthropic, Google, local models, whatever
|
|
514
513
|
- Type-safe I/O with `input_schema` and `output_schema`
|
|
515
514
|
- Async-first, built for long-running tasks
|
|
516
515
|
- Natively multimodal (text, images, audio, video, files)
|
|
517
516
|
|
|
518
|
-
|
|
517
|
+
### Memory & Knowledge:
|
|
519
518
|
- Persistent storage for session history and state
|
|
520
519
|
- User memory that persists across sessions
|
|
521
520
|
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
522
521
|
- Culture — shared long-term memory across agents
|
|
523
522
|
|
|
524
|
-
|
|
523
|
+
### Execution:
|
|
525
524
|
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
526
525
|
- Guardrails for validation and security
|
|
527
526
|
- Pre/post hooks for the agent lifecycle
|
|
528
527
|
- First-class MCP and A2A support
|
|
529
528
|
- 100+ built-in toolkits
|
|
530
529
|
|
|
531
|
-
|
|
530
|
+
### Production:
|
|
532
531
|
- Ready-to-use FastAPI runtime
|
|
533
532
|
- Integrated control plane UI
|
|
534
533
|
- Evals for accuracy, performance, latency
|
|
@@ -546,7 +545,7 @@ We're obsessive about performance because agent workloads spawn hundreds of inst
|
|
|
546
545
|
| Instantiation | **3μs** | 1,587μs (529× slower) | 170μs (57× slower) | 210μs (70× slower) |
|
|
547
546
|
| Memory | **6.6 KiB** | 161 KiB (24× higher) | 29 KiB (4× higher) | 66 KiB (10× higher) |
|
|
548
547
|
|
|
549
|
-
Run the benchmarks yourself: [`cookbook/
|
|
548
|
+
Run the benchmarks yourself: [`cookbook/12_evals/performance`](https://github.com/agno-agi/agno/tree/main/cookbook/12_evals/performance)
|
|
550
549
|
|
|
551
550
|
https://github.com/user-attachments/assets/54b98576-1859-4880-9f2d-15e1a426719d
|
|
552
551
|
|
|
@@ -21,23 +21,22 @@
|
|
|
21
21
|
|
|
22
22
|
Agno is a multi-agent framework, runtime, and control plane. Use it to build private and secure AI products that run in your cloud.
|
|
23
23
|
|
|
24
|
-
- **Build** agents, teams, and workflows with memory, knowledge, guardrails
|
|
24
|
+
- **Build** agents, teams, and workflows with memory, knowledge, guardrails and 100+ integrations.
|
|
25
25
|
- **Run** in production with a stateless FastAPI runtime. Horizontally scalable.
|
|
26
26
|
- **Manage** with a control plane that connects directly to your runtime — no data leaves your environment.
|
|
27
27
|
|
|
28
28
|
## Why Agno?
|
|
29
29
|
|
|
30
|
-
- **Your cloud, your data:**
|
|
31
|
-
- **
|
|
32
|
-
- **
|
|
30
|
+
- **Your cloud, your data:** Runs entirely in your infrastructure. Nothing leaves your environment.
|
|
31
|
+
- **Ready for production on day one:** Pre-built FastAPI runtime with SSE endpoints, ready to deploy.
|
|
32
|
+
- **Incredibly fast:** 529× faster than LangGraph, 24× lower memory.
|
|
33
33
|
|
|
34
34
|
## Getting Started
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
Start with the [getting started guide](https://github.com/agno-agi/agno/tree/main/cookbook/00_getting_started), then:
|
|
37
37
|
|
|
38
|
-
Then:
|
|
39
38
|
- Browse the [cookbooks](https://github.com/agno-agi/agno/tree/main/cookbook) for real-world examples
|
|
40
|
-
- Read the [docs](https://docs.agno.com) to learn more
|
|
39
|
+
- Read the [docs](https://docs.agno.com) to learn more
|
|
41
40
|
|
|
42
41
|
## Resources
|
|
43
42
|
|
|
@@ -105,26 +104,26 @@ This isn't a privacy mode or enterprise add-on. It's how Agno works.
|
|
|
105
104
|
|
|
106
105
|
## Features
|
|
107
106
|
|
|
108
|
-
|
|
107
|
+
### Core:
|
|
109
108
|
- Model agnostic — works with OpenAI, Anthropic, Google, local models, whatever
|
|
110
109
|
- Type-safe I/O with `input_schema` and `output_schema`
|
|
111
110
|
- Async-first, built for long-running tasks
|
|
112
111
|
- Natively multimodal (text, images, audio, video, files)
|
|
113
112
|
|
|
114
|
-
|
|
113
|
+
### Memory & Knowledge:
|
|
115
114
|
- Persistent storage for session history and state
|
|
116
115
|
- User memory that persists across sessions
|
|
117
116
|
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
118
117
|
- Culture — shared long-term memory across agents
|
|
119
118
|
|
|
120
|
-
|
|
119
|
+
### Execution:
|
|
121
120
|
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
122
121
|
- Guardrails for validation and security
|
|
123
122
|
- Pre/post hooks for the agent lifecycle
|
|
124
123
|
- First-class MCP and A2A support
|
|
125
124
|
- 100+ built-in toolkits
|
|
126
125
|
|
|
127
|
-
|
|
126
|
+
### Production:
|
|
128
127
|
- Ready-to-use FastAPI runtime
|
|
129
128
|
- Integrated control plane UI
|
|
130
129
|
- Evals for accuracy, performance, latency
|
|
@@ -142,7 +141,7 @@ We're obsessive about performance because agent workloads spawn hundreds of inst
|
|
|
142
141
|
| Instantiation | **3μs** | 1,587μs (529× slower) | 170μs (57× slower) | 210μs (70× slower) |
|
|
143
142
|
| Memory | **6.6 KiB** | 161 KiB (24× higher) | 29 KiB (4× higher) | 66 KiB (10× higher) |
|
|
144
143
|
|
|
145
|
-
Run the benchmarks yourself: [`cookbook/
|
|
144
|
+
Run the benchmarks yourself: [`cookbook/12_evals/performance`](https://github.com/agno-agi/agno/tree/main/cookbook/12_evals/performance)
|
|
146
145
|
|
|
147
146
|
https://github.com/user-attachments/assets/54b98576-1859-4880-9f2d-15e1a426719d
|
|
148
147
|
|
|
@@ -61,6 +61,9 @@ from agno.run.agent import (
|
|
|
61
61
|
RunOutput,
|
|
62
62
|
RunOutputEvent,
|
|
63
63
|
)
|
|
64
|
+
from agno.run.cancel import (
|
|
65
|
+
acancel_run as acancel_run_global,
|
|
66
|
+
)
|
|
64
67
|
from agno.run.cancel import (
|
|
65
68
|
acleanup_run,
|
|
66
69
|
araise_if_cancelled,
|
|
@@ -77,6 +80,7 @@ from agno.run.requirement import RunRequirement
|
|
|
77
80
|
from agno.run.team import TeamRunOutputEvent
|
|
78
81
|
from agno.session import AgentSession, SessionSummaryManager, TeamSession, WorkflowSession
|
|
79
82
|
from agno.session.summary import SessionSummary
|
|
83
|
+
from agno.skills import Skills
|
|
80
84
|
from agno.tools import Toolkit
|
|
81
85
|
from agno.tools.function import Function
|
|
82
86
|
from agno.utils.agent import (
|
|
@@ -264,6 +268,10 @@ class Agent:
|
|
|
264
268
|
knowledge_retriever: Optional[Callable[..., Optional[List[Union[Dict, str]]]]] = None
|
|
265
269
|
references_format: Literal["json", "yaml"] = "json"
|
|
266
270
|
|
|
271
|
+
# --- Skills ---
|
|
272
|
+
# Skills provide structured instructions, reference docs, and scripts for agents
|
|
273
|
+
skills: Optional[Skills] = None
|
|
274
|
+
|
|
267
275
|
# --- Agent Tools ---
|
|
268
276
|
# A list of tools provided to the Model.
|
|
269
277
|
# Tools are functions the model may generate JSON inputs for.
|
|
@@ -487,6 +495,7 @@ class Agent:
|
|
|
487
495
|
add_knowledge_to_context: bool = False,
|
|
488
496
|
knowledge_retriever: Optional[Callable[..., Optional[List[Union[Dict, str]]]]] = None,
|
|
489
497
|
references_format: Literal["json", "yaml"] = "json",
|
|
498
|
+
skills: Optional[Skills] = None,
|
|
490
499
|
metadata: Optional[Dict[str, Any]] = None,
|
|
491
500
|
tools: Optional[Sequence[Union[Toolkit, Callable, Function, Dict]]] = None,
|
|
492
501
|
tool_call_limit: Optional[int] = None,
|
|
@@ -610,6 +619,8 @@ class Agent:
|
|
|
610
619
|
self.knowledge_retriever = knowledge_retriever
|
|
611
620
|
self.references_format = references_format
|
|
612
621
|
|
|
622
|
+
self.skills = skills
|
|
623
|
+
|
|
613
624
|
self.metadata = metadata
|
|
614
625
|
|
|
615
626
|
self.tools = list(tools) if tools else []
|
|
@@ -2022,6 +2033,7 @@ class Agent:
|
|
|
2022
2033
|
run_response=run_response,
|
|
2023
2034
|
run_context=run_context,
|
|
2024
2035
|
session=agent_session,
|
|
2036
|
+
async_mode=True,
|
|
2025
2037
|
)
|
|
2026
2038
|
|
|
2027
2039
|
# 6. Prepare run messages
|
|
@@ -2369,6 +2381,7 @@ class Agent:
|
|
|
2369
2381
|
run_response=run_response,
|
|
2370
2382
|
run_context=run_context,
|
|
2371
2383
|
session=agent_session,
|
|
2384
|
+
async_mode=True,
|
|
2372
2385
|
)
|
|
2373
2386
|
|
|
2374
2387
|
# 6. Prepare run messages
|
|
@@ -3979,6 +3992,7 @@ class Agent:
|
|
|
3979
3992
|
run_response=run_response,
|
|
3980
3993
|
run_context=run_context,
|
|
3981
3994
|
session=agent_session,
|
|
3995
|
+
async_mode=True,
|
|
3982
3996
|
)
|
|
3983
3997
|
|
|
3984
3998
|
# 6. Prepare run messages
|
|
@@ -4285,6 +4299,7 @@ class Agent:
|
|
|
4285
4299
|
run_response=run_response,
|
|
4286
4300
|
run_context=run_context,
|
|
4287
4301
|
session=agent_session,
|
|
4302
|
+
async_mode=True,
|
|
4288
4303
|
)
|
|
4289
4304
|
|
|
4290
4305
|
# 6. Prepare run messages
|
|
@@ -6396,6 +6411,10 @@ class Agent:
|
|
|
6396
6411
|
if self.update_knowledge:
|
|
6397
6412
|
agent_tools.append(self.add_to_knowledge)
|
|
6398
6413
|
|
|
6414
|
+
# Add tools for accessing skills
|
|
6415
|
+
if self.skills is not None:
|
|
6416
|
+
agent_tools.extend(self.skills.get_tools())
|
|
6417
|
+
|
|
6399
6418
|
return agent_tools
|
|
6400
6419
|
|
|
6401
6420
|
async def aget_tools(
|
|
@@ -6489,6 +6508,10 @@ class Agent:
|
|
|
6489
6508
|
if self.update_knowledge:
|
|
6490
6509
|
agent_tools.append(self.add_to_knowledge)
|
|
6491
6510
|
|
|
6511
|
+
# Add tools for accessing skills
|
|
6512
|
+
if self.skills is not None:
|
|
6513
|
+
agent_tools.extend(self.skills.get_tools())
|
|
6514
|
+
|
|
6492
6515
|
return agent_tools
|
|
6493
6516
|
|
|
6494
6517
|
def _determine_tools_for_model(
|
|
@@ -6498,6 +6521,7 @@ class Agent:
|
|
|
6498
6521
|
run_response: RunOutput,
|
|
6499
6522
|
run_context: RunContext,
|
|
6500
6523
|
session: AgentSession,
|
|
6524
|
+
async_mode: bool = False,
|
|
6501
6525
|
) -> List[Union[Function, dict]]:
|
|
6502
6526
|
_function_names = []
|
|
6503
6527
|
_functions: List[Union[Function, dict]] = []
|
|
@@ -6528,7 +6552,8 @@ class Agent:
|
|
|
6528
6552
|
|
|
6529
6553
|
elif isinstance(tool, Toolkit):
|
|
6530
6554
|
# For each function in the toolkit and process entrypoint
|
|
6531
|
-
|
|
6555
|
+
toolkit_functions = tool.get_async_functions() if async_mode else tool.get_functions()
|
|
6556
|
+
for name, _func in toolkit_functions.items():
|
|
6532
6557
|
if name in _function_names:
|
|
6533
6558
|
continue
|
|
6534
6559
|
_function_names.append(name)
|
|
@@ -6758,6 +6783,18 @@ class Agent:
|
|
|
6758
6783
|
"""
|
|
6759
6784
|
return cancel_run_global(run_id)
|
|
6760
6785
|
|
|
6786
|
+
@staticmethod
|
|
6787
|
+
async def acancel_run(run_id: str) -> bool:
|
|
6788
|
+
"""Cancel a running agent execution (async version).
|
|
6789
|
+
|
|
6790
|
+
Args:
|
|
6791
|
+
run_id (str): The run_id to cancel.
|
|
6792
|
+
|
|
6793
|
+
Returns:
|
|
6794
|
+
bool: True if the run was found and marked for cancellation, False otherwise.
|
|
6795
|
+
"""
|
|
6796
|
+
return await acancel_run_global(run_id)
|
|
6797
|
+
|
|
6761
6798
|
# -*- Session Database Functions
|
|
6762
6799
|
def _read_session(
|
|
6763
6800
|
self, session_id: str, session_type: SessionType = SessionType.AGENT
|
|
@@ -7171,7 +7208,6 @@ class Agent:
|
|
|
7171
7208
|
"""
|
|
7172
7209
|
if self._has_async_db():
|
|
7173
7210
|
raise ValueError("Async database not supported for save_session")
|
|
7174
|
-
|
|
7175
7211
|
# If the agent is a member of a team, do not save the session to the database
|
|
7176
7212
|
if (
|
|
7177
7213
|
self.db is not None
|
|
@@ -7937,6 +7973,11 @@ class Agent:
|
|
|
7937
7973
|
# 3.3.8 Then add additional context
|
|
7938
7974
|
if self.additional_context is not None:
|
|
7939
7975
|
system_message_content += f"{self.additional_context}\n"
|
|
7976
|
+
# 3.3.8.1 Then add skills to the system prompt
|
|
7977
|
+
if self.skills is not None:
|
|
7978
|
+
skills_snippet = self.skills.get_system_prompt_snippet()
|
|
7979
|
+
if skills_snippet:
|
|
7980
|
+
system_message_content += f"\n{skills_snippet}\n"
|
|
7940
7981
|
# 3.3.9 Then add memories to the system prompt
|
|
7941
7982
|
if self.add_memories_to_context:
|
|
7942
7983
|
_memory_manager_not_set = False
|
|
@@ -8281,6 +8322,11 @@ class Agent:
|
|
|
8281
8322
|
# 3.3.8 Then add additional context
|
|
8282
8323
|
if self.additional_context is not None:
|
|
8283
8324
|
system_message_content += f"{self.additional_context}\n"
|
|
8325
|
+
# 3.3.8.1 Then add skills to the system prompt
|
|
8326
|
+
if self.skills is not None:
|
|
8327
|
+
skills_snippet = self.skills.get_system_prompt_snippet()
|
|
8328
|
+
if skills_snippet:
|
|
8329
|
+
system_message_content += f"\n{skills_snippet}\n"
|
|
8284
8330
|
# 3.3.9 Then add memories to the system prompt
|
|
8285
8331
|
if self.add_memories_to_context:
|
|
8286
8332
|
_memory_manager_not_set = False
|