agno 2.4.6__tar.gz → 2.4.8__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.4.6 → agno-2.4.8}/PKG-INFO +25 -37
- {agno-2.4.6 → agno-2.4.8}/README.md +21 -35
- {agno-2.4.6 → agno-2.4.8}/agno/agent/agent.py +5 -1
- {agno-2.4.6 → agno-2.4.8}/agno/db/base.py +2 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/postgres/postgres.py +5 -5
- {agno-2.4.6 → agno-2.4.8}/agno/db/singlestore/singlestore.py +4 -5
- {agno-2.4.6 → agno-2.4.8}/agno/db/sqlite/sqlite.py +4 -4
- agno-2.4.8/agno/knowledge/embedder/aws_bedrock.py +562 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/knowledge.py +83 -1853
- agno-2.4.8/agno/knowledge/loaders/__init__.py +29 -0
- agno-2.4.8/agno/knowledge/loaders/azure_blob.py +423 -0
- agno-2.4.8/agno/knowledge/loaders/base.py +187 -0
- agno-2.4.8/agno/knowledge/loaders/gcs.py +267 -0
- agno-2.4.8/agno/knowledge/loaders/github.py +415 -0
- agno-2.4.8/agno/knowledge/loaders/s3.py +281 -0
- agno-2.4.8/agno/knowledge/loaders/sharepoint.py +439 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/website_reader.py +2 -2
- agno-2.4.8/agno/knowledge/remote_knowledge.py +151 -0
- agno-2.4.8/agno/knowledge/reranker/aws_bedrock.py +299 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/machine.py +5 -6
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/session_context.py +10 -2
- {agno-2.4.6 → agno-2.4.8}/agno/models/azure/openai_chat.py +6 -11
- agno-2.4.8/agno/models/neosantara/__init__.py +5 -0
- agno-2.4.8/agno/models/neosantara/neosantara.py +42 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/utils.py +5 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/app.py +4 -1
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/agui/router.py +1 -1
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/components/components.py +2 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/knowledge/knowledge.py +0 -1
- agno-2.4.8/agno/os/routers/registry/registry.py +485 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/workflows/router.py +7 -1
- {agno-2.4.6 → agno-2.4.8}/agno/os/schema.py +104 -0
- {agno-2.4.6 → agno-2.4.8}/agno/registry/registry.py +4 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/workflow.py +3 -0
- {agno-2.4.6 → agno-2.4.8}/agno/session/workflow.py +1 -1
- agno-2.4.8/agno/skills/utils.py +205 -0
- {agno-2.4.6 → agno-2.4.8}/agno/team/team.py +6 -3
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mcp/mcp.py +26 -1
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/lancedb/lance_db.py +22 -7
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/__init__.py +4 -0
- agno-2.4.8/agno/workflow/cel.py +299 -0
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/condition.py +280 -58
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/loop.py +177 -46
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/parallel.py +75 -4
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/router.py +260 -44
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/step.py +14 -7
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/steps.py +43 -0
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/workflow.py +104 -46
- {agno-2.4.6 → agno-2.4.8}/agno.egg-info/PKG-INFO +25 -37
- {agno-2.4.6 → agno-2.4.8}/agno.egg-info/SOURCES.txt +12 -0
- {agno-2.4.6 → agno-2.4.8}/agno.egg-info/requires.txt +4 -1
- {agno-2.4.6 → agno-2.4.8}/pyproject.toml +7 -3
- agno-2.4.6/agno/knowledge/embedder/aws_bedrock.py +0 -343
- agno-2.4.6/agno/os/routers/registry/registry.py +0 -337
- agno-2.4.6/agno/skills/utils.py +0 -107
- {agno-2.4.6 → agno-2.4.8}/LICENSE +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/agent/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/agent/remote.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/api.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/evals.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/os.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/routes.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/evals.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/os.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/response.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/schemas/workflows.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/settings.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/api/workflow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/a2a/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/a2a/client.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/a2a/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/a2a/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/client/os.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/cloud/aws/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/cloud/aws/s3/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/cloud/aws/s3/api_client.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/cloud/aws/s3/bucket.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/cloud/aws/s3/object.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/compression/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/compression/manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/culture/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/culture/manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/async_postgres/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/dynamo/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/dynamo/dynamo.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/dynamo/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/dynamo/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/firestore/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/firestore/firestore.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/firestore/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/firestore/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/gcs_json/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/gcs_json/gcs_json_db.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/gcs_json/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/in_memory/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/in_memory/in_memory_db.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/in_memory/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/json/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/json/json_db.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/json/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/v1_to_v2.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/versions/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/migrations/versions/v2_3_0.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mongo/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mongo/async_mongo.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mongo/mongo.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mongo/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mongo/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mysql/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mysql/async_mysql.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mysql/mysql.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mysql/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/mysql/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/postgres/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/postgres/async_postgres.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/postgres/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/postgres/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/redis/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/redis/redis.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/redis/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/redis/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/culture.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/evals.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/knowledge.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/memory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/schemas/metrics.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/singlestore/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/singlestore/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/singlestore/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/sqlite/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/sqlite/async_sqlite.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/sqlite/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/sqlite/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/metrics.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/models.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/queries.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/surrealdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/surrealdb/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/db/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/debug.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/accuracy.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/agent_as_judge.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/performance.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/reliability.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/eval/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/exceptions.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/filters.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/guardrails/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/guardrails/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/guardrails/openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/guardrails/pii.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/guardrails/prompt_injection.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/hooks/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/hooks/decorator.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/integrations/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/integrations/discord/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/integrations/discord/client.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/agentic.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/code.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/document.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/fixed.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/markdown.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/recursive.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/row.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/semantic.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/chunking/strategy.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/content.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/document/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/document/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/azure_openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/cohere.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/fastembed.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/fireworks.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/google.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/huggingface.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/jina.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/langdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/mistral.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/nebius.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/ollama.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/sentence_transformer.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/together.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/vllm.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/embedder/voyageai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/filesystem.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/protocol.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/arxiv_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/csv_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/docx_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/excel_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/field_labeled_csv_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/firecrawl_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/json_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/markdown_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/pdf_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/pptx_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/reader_factory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/s3_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/tavily_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/text_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/utils/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/utils/spreadsheet.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/web_search_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/wikipedia_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reader/youtube_reader.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/remote_content/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/remote_content/config.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/remote_content/remote_content.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reranker/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reranker/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reranker/cohere.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reranker/infinity.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/reranker/sentence_transformer.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/types.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/knowledge/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/config.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/curate.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/decision_log.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/entity_memory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/learned_knowledge.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/protocol.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/user_memory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/stores/user_profile.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/learn/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/media.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/strategies/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/strategies/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/strategies/summarize.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/memory/strategies/types.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/aimlapi/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/aimlapi/aimlapi.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/anthropic/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/anthropic/claude.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/aws/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/aws/bedrock.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/aws/claude.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/azure/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/azure/ai_foundry.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cerebras/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cerebras/cerebras.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cerebras/cerebras_openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cohere/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cohere/chat.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cometapi/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/cometapi/cometapi.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/dashscope/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/dashscope/dashscope.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/deepinfra/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/deepinfra/deepinfra.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/deepseek/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/deepseek/deepseek.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/defaults.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/fireworks/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/fireworks/fireworks.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/google/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/google/gemini.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/google/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/groq/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/groq/groq.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/huggingface/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/huggingface/huggingface.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/ibm/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/ibm/watsonx.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/internlm/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/internlm/internlm.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/langdb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/langdb/langdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/litellm/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/litellm/chat.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/litellm/litellm_openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/llama_cpp/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/llama_cpp/llama_cpp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/lmstudio/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/lmstudio/lmstudio.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/message.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/meta/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/meta/llama.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/meta/llama_openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/metrics.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/mistral/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/mistral/mistral.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/moonshot/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/moonshot/moonshot.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/n1n/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/n1n/n1n.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nebius/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nebius/nebius.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nexus/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nexus/nexus.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nvidia/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/nvidia/nvidia.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/ollama/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/ollama/chat.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/ollama/responses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openai/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openai/chat.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openai/like.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openai/open_responses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openai/responses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openrouter/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openrouter/openrouter.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/openrouter/responses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/perplexity/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/perplexity/perplexity.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/portkey/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/portkey/portkey.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/requesty/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/requesty/requesty.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/response.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/sambanova/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/sambanova/sambanova.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/siliconflow/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/siliconflow/siliconflow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/together/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/together/together.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vercel/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vercel/v0.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vertexai/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vertexai/claude.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vllm/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/vllm/vllm.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/xai/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/models/xai/xai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/auth.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/config.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/a2a/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/a2a/a2a.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/a2a/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/a2a/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/agui/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/agui/agui.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/agui/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/slack/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/slack/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/slack/security.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/slack/slack.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/whatsapp/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/whatsapp/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/whatsapp/security.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/interfaces/whatsapp/whatsapp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/managers.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/mcp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/middleware/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/middleware/jwt.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/middleware/trailing_slash.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/agents/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/agents/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/agents/schema.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/components/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/database.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/evals/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/evals/evals.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/evals/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/evals/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/health.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/home.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/knowledge/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/knowledge/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/memory/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/memory/memory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/memory/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/metrics/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/metrics/metrics.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/metrics/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/registry/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/session/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/session/session.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/teams/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/teams/router.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/teams/schema.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/traces/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/traces/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/traces/traces.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/workflows/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/routers/workflows/schema.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/scopes.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/settings.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/os/utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/py.typed +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/anthropic.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/azure_ai_foundry.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/deepseek.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/default.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/gemini.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/groq.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/helpers.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/ollama.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/step.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/reasoning/vertexai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/registry/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/remote/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/remote/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/cancel.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/cancellation_management/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/cancellation_management/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/cancellation_management/in_memory_cancellation_manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/cancellation_management/redis_cancellation_manager.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/messages.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/requirement.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/run/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/session/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/session/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/session/summary.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/session/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/agent_skills.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/errors.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/loaders/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/loaders/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/loaders/local.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/skill.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/skills/validator.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/table.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/team/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/team/remote.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/agentql.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/airflow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/api.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/apify.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/arxiv.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/aws_lambda.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/aws_ses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/baidusearch.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/bitbucket.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/brandfetch.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/bravesearch.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/brightdata.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/browserbase.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/calcom.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/calculator.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/cartesia.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/clickup.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/confluence.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/crawl4ai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/csv_toolkit.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/dalle.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/daytona.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/decorator.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/desi_vocal.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/discord.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/docker.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/duckdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/duckduckgo.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/e2b.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/eleven_labs.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/email.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/evm.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/exa.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/fal.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/file.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/file_generation.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/financial_datasets.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/firecrawl.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/function.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/giphy.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/github.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/gmail.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/google_bigquery.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/google_drive.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/google_maps.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/googlecalendar.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/googlesheets.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/hackernews.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/jina.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/jira.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/knowledge.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/linear.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/linkup.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/local_file_system.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/lumalab.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mcp/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mcp/multi_mcp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mcp/params.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mcp_toolbox.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mem0.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/memory.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/mlx_transcribe.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/azure_openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/gemini.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/groq.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/morph.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models/nebius.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/models_labs.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/moviepy_video.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/nano_banana.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/neo4j.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/newspaper.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/newspaper4k.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/notion.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/openbb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/opencv.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/openweather.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/oxylabs.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/pandas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/parallel.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/postgres.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/pubmed.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/python.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/reasoning.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/reddit.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/redshift.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/replicate.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/resend.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/scrapegraph.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/searxng.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/seltz.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/serpapi.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/serper.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/shell.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/shopify.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/slack.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/sleep.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/spider.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/spotify.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/sql.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/streamlit/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/streamlit/components.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/tavily.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/telegram.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/todoist.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/tool_registry.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/toolkit.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/trafilatura.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/trello.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/twilio.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/unsplash.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/user_control_flow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/valyu.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/visualization.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/webbrowser.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/webex.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/websearch.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/website.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/webtools.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/whatsapp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/wikipedia.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/workflow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/x.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/yfinance.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/youtube.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/zendesk.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/zep.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tools/zoom.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tracing/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tracing/exporter.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tracing/schemas.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/tracing/setup.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/audio.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/certs.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/code_execution.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/common.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/cryptography.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/dttm.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/enum.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/env.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/events.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/format_str.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/functions.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/gemini.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/hooks.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/http.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/json_schema.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/knowledge.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/location.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/log.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/mcp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/media.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/merge_dict.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/message.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/ai_foundry.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/claude.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/cohere.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/llama.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/mistral.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/openai_responses.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/schema_utils.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/models/watsonx.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/openai.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/os.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/pickle.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/pprint.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/print_response/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/print_response/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/print_response/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/print_response/workflow.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/prompts.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/reasoning.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/remote.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/response.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/response_iterator.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/safe_formatter.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/serialize.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/shell.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/streamlit.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/string.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/team.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/timer.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/tokens.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/tools.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/web.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/whatsapp.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/utils/yaml_io.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/base.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/cassandra/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/cassandra/cassandra.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/cassandra/extra_param_mixin.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/cassandra/index.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/chroma/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/chroma/chromadb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/clickhouse/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/clickhouse/clickhousedb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/clickhouse/index.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/couchbase/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/couchbase/couchbase.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/distance.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/lancedb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/langchaindb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/langchaindb/langchaindb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/lightrag/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/lightrag/lightrag.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/llamaindex/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/llamaindex/llamaindexdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/milvus/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/milvus/milvus.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/mongodb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/mongodb/mongodb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/pgvector/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/pgvector/index.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/pgvector/pgvector.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/pineconedb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/pineconedb/pineconedb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/qdrant/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/qdrant/qdrant.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/redis/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/redis/redisdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/search.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/singlestore/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/singlestore/index.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/singlestore/singlestore.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/surrealdb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/surrealdb/surrealdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/upstashdb/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/upstashdb/upstashdb.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/weaviate/__init__.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/weaviate/index.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/vectordb/weaviate/weaviate.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/agent.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/remote.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno/workflow/types.py +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno.egg-info/dependency_links.txt +0 -0
- {agno-2.4.6 → agno-2.4.8}/agno.egg-info/top_level.txt +0 -0
- {agno-2.4.6 → agno-2.4.8}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agno
|
|
3
|
-
Version: 2.4.
|
|
3
|
+
Version: 2.4.8
|
|
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
|
|
@@ -107,6 +107,8 @@ Requires-Dist: portkey-ai; extra == "portkey"
|
|
|
107
107
|
Provides-Extra: tokenizers
|
|
108
108
|
Requires-Dist: tiktoken; extra == "tokenizers"
|
|
109
109
|
Requires-Dist: tokenizers; extra == "tokenizers"
|
|
110
|
+
Provides-Extra: cel
|
|
111
|
+
Requires-Dist: cel-python; extra == "cel"
|
|
110
112
|
Provides-Extra: agentql
|
|
111
113
|
Requires-Dist: agentql; extra == "agentql"
|
|
112
114
|
Provides-Extra: apify
|
|
@@ -225,7 +227,7 @@ Requires-Dist: pgvector; extra == "pgvector"
|
|
|
225
227
|
Provides-Extra: chromadb
|
|
226
228
|
Requires-Dist: chromadb; extra == "chromadb"
|
|
227
229
|
Provides-Extra: lancedb
|
|
228
|
-
Requires-Dist: lancedb
|
|
230
|
+
Requires-Dist: lancedb>=0.26.0; extra == "lancedb"
|
|
229
231
|
Requires-Dist: tantivy; extra == "lancedb"
|
|
230
232
|
Provides-Extra: pylance
|
|
231
233
|
Requires-Dist: pylance; extra == "pylance"
|
|
@@ -445,7 +447,7 @@ Dynamic: license-file
|
|
|
445
447
|
</div>
|
|
446
448
|
|
|
447
449
|
<p align="center">
|
|
448
|
-
Build
|
|
450
|
+
Build multi-agent systems that learn.
|
|
449
451
|
</p>
|
|
450
452
|
|
|
451
453
|
<div align="center">
|
|
@@ -460,15 +462,16 @@ Dynamic: license-file
|
|
|
460
462
|
|
|
461
463
|
## What is Agno?
|
|
462
464
|
|
|
463
|
-
**A
|
|
465
|
+
**A framework for building multi-agent systems that learn and improve with every interaction.**
|
|
464
466
|
|
|
465
467
|
Most agents are stateless. They reason, respond, forget. Session history helps, but they're exactly as capable on day 1000 as they were on day 1.
|
|
466
468
|
|
|
467
|
-
Agno agents are different. They remember users across sessions, accumulate knowledge across conversations, and learn from decisions. Insights from one user benefit everyone.
|
|
469
|
+
Agno agents are different. They remember users across sessions, accumulate knowledge across conversations, and learn from decisions. Insights from one user benefit everyone. The system gets smarter over time.
|
|
468
470
|
|
|
469
471
|
Everything runs in your cloud. Your data never leaves your environment.
|
|
470
472
|
|
|
471
473
|
## Quick Example
|
|
474
|
+
|
|
472
475
|
```python
|
|
473
476
|
from agno.agent import Agent
|
|
474
477
|
from agno.db.sqlite import SqliteDb
|
|
@@ -485,46 +488,31 @@ One line. Your agent now remembers users, accumulates knowledge, and improves ov
|
|
|
485
488
|
|
|
486
489
|
## Production Stack
|
|
487
490
|
|
|
491
|
+
Agno provides the complete infrastructure for building multi-agent systems that learn:
|
|
492
|
+
|
|
488
493
|
| Layer | What it does |
|
|
489
494
|
|-------|--------------|
|
|
490
|
-
| **
|
|
495
|
+
| **Framework** | Build agents with learning, tools, knowledge, and guardrails |
|
|
491
496
|
| **Runtime** | Run in production using [AgentOS](https://docs.agno.com/agent-os/introduction) |
|
|
492
497
|
| **Control Plane** | Monitor and manage via the [AgentOS UI](https://os.agno.com) |
|
|
493
498
|
|
|
494
|
-
##
|
|
495
|
-
|
|
496
|
-
**Learning**
|
|
497
|
-
- User profiles that persist across sessions
|
|
498
|
-
- User memories that accumulate over time
|
|
499
|
-
- Learned knowledge that transfers across users
|
|
500
|
-
- Always or agentic learning modes
|
|
499
|
+
## Get Started
|
|
501
500
|
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
- Async-first, built for long-running tasks
|
|
506
|
-
- Natively multimodal (text, images, audio, video, files)
|
|
501
|
+
1. [Build your first agent](https://docs.agno.com/first-agent)
|
|
502
|
+
2. [Build your first multi-agent system](https://docs.agno.com/first-multi-agent-system)
|
|
503
|
+
3. [Deploy to production](https://docs.agno.com/production/overview)
|
|
507
504
|
|
|
508
|
-
|
|
509
|
-
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
510
|
-
- Persistent storage for session history and state
|
|
505
|
+
More: [Docs](https://docs.agno.com) · [Cookbook](https://github.com/agno-agi/agno/tree/main/cookbook)
|
|
511
506
|
|
|
512
|
-
|
|
513
|
-
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
514
|
-
- Guardrails for validation and security
|
|
515
|
-
- First-class MCP and A2A support
|
|
516
|
-
- 100+ built-in toolkits
|
|
517
|
-
|
|
518
|
-
**Production**
|
|
519
|
-
- Ready-to-use FastAPI runtime
|
|
520
|
-
- Integrated control plane UI
|
|
521
|
-
- Evals for accuracy, performance, latency
|
|
522
|
-
|
|
523
|
-
## Getting Started
|
|
507
|
+
## Features
|
|
524
508
|
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
509
|
+
| Category | What you get |
|
|
510
|
+
|----------|--------------|
|
|
511
|
+
| **Learning** | User profiles that persist across sessions. User memories that accumulate over time. Learned knowledge that transfers across users. Always or agentic learning modes. |
|
|
512
|
+
| **Core** | Model-agnostic: OpenAI, Anthropic, Google, local models. Type-safe I/O with `input_schema` and `output_schema`. Async-first, built for long-running tasks. Natively multimodal (text, images, audio, video, files). |
|
|
513
|
+
| **Knowledge** | Agentic RAG with 20+ vector stores, hybrid search, reranking. Persistent storage for session history and state. |
|
|
514
|
+
| **Orchestration** | Human-in-the-loop (confirmations, approvals, overrides). Guardrails for validation and security. First-class MCP and A2A support. 100+ built-in toolkits. |
|
|
515
|
+
| **Production** | Ready-to-use FastAPI runtime. Integrated control plane UI. Evals for accuracy, performance, latency. |
|
|
528
516
|
|
|
529
517
|
## IDE Integration
|
|
530
518
|
|
|
@@ -536,7 +524,7 @@ Also works with VSCode, Windsurf, and similar tools.
|
|
|
536
524
|
|
|
537
525
|
## Contributing
|
|
538
526
|
|
|
539
|
-
See the [contributing guide](https://github.com/agno-agi/agno/blob/
|
|
527
|
+
See the [contributing guide](https://github.com/agno-agi/agno/blob/main/CONTRIBUTING.md).
|
|
540
528
|
|
|
541
529
|
## Telemetry
|
|
542
530
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
Build
|
|
12
|
+
Build multi-agent systems that learn.
|
|
13
13
|
</p>
|
|
14
14
|
|
|
15
15
|
<div align="center">
|
|
@@ -24,15 +24,16 @@
|
|
|
24
24
|
|
|
25
25
|
## What is Agno?
|
|
26
26
|
|
|
27
|
-
**A
|
|
27
|
+
**A framework for building multi-agent systems that learn and improve with every interaction.**
|
|
28
28
|
|
|
29
29
|
Most agents are stateless. They reason, respond, forget. Session history helps, but they're exactly as capable on day 1000 as they were on day 1.
|
|
30
30
|
|
|
31
|
-
Agno agents are different. They remember users across sessions, accumulate knowledge across conversations, and learn from decisions. Insights from one user benefit everyone.
|
|
31
|
+
Agno agents are different. They remember users across sessions, accumulate knowledge across conversations, and learn from decisions. Insights from one user benefit everyone. The system gets smarter over time.
|
|
32
32
|
|
|
33
33
|
Everything runs in your cloud. Your data never leaves your environment.
|
|
34
34
|
|
|
35
35
|
## Quick Example
|
|
36
|
+
|
|
36
37
|
```python
|
|
37
38
|
from agno.agent import Agent
|
|
38
39
|
from agno.db.sqlite import SqliteDb
|
|
@@ -49,46 +50,31 @@ One line. Your agent now remembers users, accumulates knowledge, and improves ov
|
|
|
49
50
|
|
|
50
51
|
## Production Stack
|
|
51
52
|
|
|
53
|
+
Agno provides the complete infrastructure for building multi-agent systems that learn:
|
|
54
|
+
|
|
52
55
|
| Layer | What it does |
|
|
53
56
|
|-------|--------------|
|
|
54
|
-
| **
|
|
57
|
+
| **Framework** | Build agents with learning, tools, knowledge, and guardrails |
|
|
55
58
|
| **Runtime** | Run in production using [AgentOS](https://docs.agno.com/agent-os/introduction) |
|
|
56
59
|
| **Control Plane** | Monitor and manage via the [AgentOS UI](https://os.agno.com) |
|
|
57
60
|
|
|
58
|
-
##
|
|
59
|
-
|
|
60
|
-
**Learning**
|
|
61
|
-
- User profiles that persist across sessions
|
|
62
|
-
- User memories that accumulate over time
|
|
63
|
-
- Learned knowledge that transfers across users
|
|
64
|
-
- Always or agentic learning modes
|
|
61
|
+
## Get Started
|
|
65
62
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
- Async-first, built for long-running tasks
|
|
70
|
-
- Natively multimodal (text, images, audio, video, files)
|
|
63
|
+
1. [Build your first agent](https://docs.agno.com/first-agent)
|
|
64
|
+
2. [Build your first multi-agent system](https://docs.agno.com/first-multi-agent-system)
|
|
65
|
+
3. [Deploy to production](https://docs.agno.com/production/overview)
|
|
71
66
|
|
|
72
|
-
|
|
73
|
-
- Agentic RAG with 20+ vector stores, hybrid search, reranking
|
|
74
|
-
- Persistent storage for session history and state
|
|
67
|
+
More: [Docs](https://docs.agno.com) · [Cookbook](https://github.com/agno-agi/agno/tree/main/cookbook)
|
|
75
68
|
|
|
76
|
-
|
|
77
|
-
- Human-in-the-loop (confirmations, approvals, overrides)
|
|
78
|
-
- Guardrails for validation and security
|
|
79
|
-
- First-class MCP and A2A support
|
|
80
|
-
- 100+ built-in toolkits
|
|
81
|
-
|
|
82
|
-
**Production**
|
|
83
|
-
- Ready-to-use FastAPI runtime
|
|
84
|
-
- Integrated control plane UI
|
|
85
|
-
- Evals for accuracy, performance, latency
|
|
86
|
-
|
|
87
|
-
## Getting Started
|
|
69
|
+
## Features
|
|
88
70
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
71
|
+
| Category | What you get |
|
|
72
|
+
|----------|--------------|
|
|
73
|
+
| **Learning** | User profiles that persist across sessions. User memories that accumulate over time. Learned knowledge that transfers across users. Always or agentic learning modes. |
|
|
74
|
+
| **Core** | Model-agnostic: OpenAI, Anthropic, Google, local models. Type-safe I/O with `input_schema` and `output_schema`. Async-first, built for long-running tasks. Natively multimodal (text, images, audio, video, files). |
|
|
75
|
+
| **Knowledge** | Agentic RAG with 20+ vector stores, hybrid search, reranking. Persistent storage for session history and state. |
|
|
76
|
+
| **Orchestration** | Human-in-the-loop (confirmations, approvals, overrides). Guardrails for validation and security. First-class MCP and A2A support. 100+ built-in toolkits. |
|
|
77
|
+
| **Production** | Ready-to-use FastAPI runtime. Integrated control plane UI. Evals for accuracy, performance, latency. |
|
|
92
78
|
|
|
93
79
|
## IDE Integration
|
|
94
80
|
|
|
@@ -100,7 +86,7 @@ Also works with VSCode, Windsurf, and similar tools.
|
|
|
100
86
|
|
|
101
87
|
## Contributing
|
|
102
88
|
|
|
103
|
-
See the [contributing guide](https://github.com/agno-agi/agno/blob/
|
|
89
|
+
See the [contributing guide](https://github.com/agno-agi/agno/blob/main/CONTRIBUTING.md).
|
|
104
90
|
|
|
105
91
|
## Telemetry
|
|
106
92
|
|
|
@@ -11493,7 +11493,7 @@ class Agent:
|
|
|
11493
11493
|
|
|
11494
11494
|
return get_tool_call_history
|
|
11495
11495
|
|
|
11496
|
-
def _update_session_state_tool(self,
|
|
11496
|
+
def _update_session_state_tool(self, run_context: RunContext, session_state_updates: dict) -> str:
|
|
11497
11497
|
"""
|
|
11498
11498
|
Update the shared session state. Provide any updates as a dictionary of key-value pairs.
|
|
11499
11499
|
Example:
|
|
@@ -11502,6 +11502,10 @@ class Agent:
|
|
|
11502
11502
|
Args:
|
|
11503
11503
|
session_state_updates (dict): The updates to apply to the shared session state. Should be a dictionary of key-value pairs.
|
|
11504
11504
|
"""
|
|
11505
|
+
|
|
11506
|
+
if run_context.session_state is None:
|
|
11507
|
+
run_context.session_state = {}
|
|
11508
|
+
session_state = run_context.session_state
|
|
11505
11509
|
for key, value in session_state_updates.items():
|
|
11506
11510
|
session_state[key] = value
|
|
11507
11511
|
|
|
@@ -576,6 +576,7 @@ class BaseDb(ABC):
|
|
|
576
576
|
component_type: Optional[ComponentType] = None,
|
|
577
577
|
name: Optional[str] = None,
|
|
578
578
|
description: Optional[str] = None,
|
|
579
|
+
current_version: Optional[int] = None,
|
|
579
580
|
metadata: Optional[Dict[str, Any]] = None,
|
|
580
581
|
) -> Dict[str, Any]:
|
|
581
582
|
"""Create or update a component.
|
|
@@ -585,6 +586,7 @@ class BaseDb(ABC):
|
|
|
585
586
|
component_type: Type (agent|team|workflow). Required for create, optional for update.
|
|
586
587
|
name: Display name.
|
|
587
588
|
description: Optional description.
|
|
589
|
+
current_version: Optional current version.
|
|
588
590
|
metadata: Optional metadata dict.
|
|
589
591
|
|
|
590
592
|
Returns:
|
|
@@ -3241,6 +3241,7 @@ class PostgresDb(BaseDb):
|
|
|
3241
3241
|
component_type: Optional[ComponentType] = None,
|
|
3242
3242
|
name: Optional[str] = None,
|
|
3243
3243
|
description: Optional[str] = None,
|
|
3244
|
+
current_version: Optional[int] = None,
|
|
3244
3245
|
metadata: Optional[Dict[str, Any]] = None,
|
|
3245
3246
|
) -> Dict[str, Any]:
|
|
3246
3247
|
"""Create or update a component.
|
|
@@ -3250,6 +3251,7 @@ class PostgresDb(BaseDb):
|
|
|
3250
3251
|
component_type: Type (agent|team|workflow). Required for create, optional for update.
|
|
3251
3252
|
name: Display name.
|
|
3252
3253
|
description: Optional description.
|
|
3254
|
+
current_version: Optional current version.
|
|
3253
3255
|
metadata: Optional metadata dict.
|
|
3254
3256
|
|
|
3255
3257
|
Returns:
|
|
@@ -3317,6 +3319,8 @@ class PostgresDb(BaseDb):
|
|
|
3317
3319
|
updates["name"] = name
|
|
3318
3320
|
if description is not None:
|
|
3319
3321
|
updates["description"] = description
|
|
3322
|
+
if current_version is not None:
|
|
3323
|
+
updates["current_version"] = current_version
|
|
3320
3324
|
if metadata is not None:
|
|
3321
3325
|
updates["metadata"] = metadata
|
|
3322
3326
|
|
|
@@ -3693,8 +3697,8 @@ class PostgresDb(BaseDb):
|
|
|
3693
3697
|
raise ValueError(f"Invalid stage: {stage}")
|
|
3694
3698
|
|
|
3695
3699
|
try:
|
|
3696
|
-
configs_table = self._get_table(table_type="component_configs", create_table_if_not_found=True)
|
|
3697
3700
|
components_table = self._get_table(table_type="components")
|
|
3701
|
+
configs_table = self._get_table(table_type="component_configs", create_table_if_not_found=True)
|
|
3698
3702
|
links_table = self._get_table(table_type="component_links", create_table_if_not_found=True)
|
|
3699
3703
|
|
|
3700
3704
|
if components_table is None:
|
|
@@ -3881,10 +3885,6 @@ class PostgresDb(BaseDb):
|
|
|
3881
3885
|
if config_row is None:
|
|
3882
3886
|
return False
|
|
3883
3887
|
|
|
3884
|
-
# Cannot delete published configs
|
|
3885
|
-
if config_row == "published":
|
|
3886
|
-
raise ValueError(f"Cannot delete published config {component_id} v{version}")
|
|
3887
|
-
|
|
3888
3888
|
# Check if it's current version
|
|
3889
3889
|
current = sess.execute(
|
|
3890
3890
|
select(components_table.c.current_version).where(components_table.c.component_id == component_id)
|
|
@@ -173,8 +173,7 @@ class SingleStoreDb(BaseDb):
|
|
|
173
173
|
column_kwargs["unique"] = True
|
|
174
174
|
columns.append(Column(*column_args, **column_kwargs))
|
|
175
175
|
|
|
176
|
-
|
|
177
|
-
table = Table(table_name, self.metadata, *columns, schema=self.db_schema)
|
|
176
|
+
table = Table(table_name, self.metadata, *columns, schema=self.db_schema, extend_existing=True)
|
|
178
177
|
|
|
179
178
|
return table
|
|
180
179
|
|
|
@@ -240,8 +239,7 @@ class SingleStoreDb(BaseDb):
|
|
|
240
239
|
|
|
241
240
|
columns.append(Column(*column_args, **column_kwargs))
|
|
242
241
|
|
|
243
|
-
|
|
244
|
-
table = Table(table_name, self.metadata, *columns, schema=self.db_schema)
|
|
242
|
+
table = Table(table_name, self.metadata, *columns, schema=self.db_schema, extend_existing=True)
|
|
245
243
|
|
|
246
244
|
# Add multi-column unique constraints with table-specific names
|
|
247
245
|
for constraint in schema_unique_constraints:
|
|
@@ -396,7 +394,8 @@ class SingleStoreDb(BaseDb):
|
|
|
396
394
|
|
|
397
395
|
if table_type == "spans":
|
|
398
396
|
# Ensure traces table exists first (for foreign key)
|
|
399
|
-
|
|
397
|
+
if create_table_if_not_found:
|
|
398
|
+
self._get_table(table_type="traces", create_table_if_not_found=True)
|
|
400
399
|
self.spans_table = self._get_or_create_table(
|
|
401
400
|
table_name=self.span_table_name,
|
|
402
401
|
table_type="spans",
|
|
@@ -3139,6 +3139,7 @@ class SqliteDb(BaseDb):
|
|
|
3139
3139
|
component_type: Optional[ComponentType] = None,
|
|
3140
3140
|
name: Optional[str] = None,
|
|
3141
3141
|
description: Optional[str] = None,
|
|
3142
|
+
current_version: Optional[int] = None,
|
|
3142
3143
|
metadata: Optional[Dict[str, Any]] = None,
|
|
3143
3144
|
) -> Dict[str, Any]:
|
|
3144
3145
|
"""Create or update a component.
|
|
@@ -3148,6 +3149,7 @@ class SqliteDb(BaseDb):
|
|
|
3148
3149
|
component_type: Type (agent|team|workflow). Required for create, optional for update.
|
|
3149
3150
|
name: Display name.
|
|
3150
3151
|
description: Optional description.
|
|
3152
|
+
current_version: Optional current version.
|
|
3151
3153
|
metadata: Optional metadata dict.
|
|
3152
3154
|
|
|
3153
3155
|
Returns:
|
|
@@ -3213,6 +3215,8 @@ class SqliteDb(BaseDb):
|
|
|
3213
3215
|
updates["name"] = name
|
|
3214
3216
|
if description is not None:
|
|
3215
3217
|
updates["description"] = description
|
|
3218
|
+
if current_version is not None:
|
|
3219
|
+
updates["current_version"] = current_version
|
|
3216
3220
|
if metadata is not None:
|
|
3217
3221
|
updates["metadata"] = metadata
|
|
3218
3222
|
|
|
@@ -3759,10 +3763,6 @@ class SqliteDb(BaseDb):
|
|
|
3759
3763
|
if config_row is None:
|
|
3760
3764
|
return False
|
|
3761
3765
|
|
|
3762
|
-
# Cannot delete published configs
|
|
3763
|
-
if config_row.stage == "published":
|
|
3764
|
-
raise ValueError(f"Cannot delete published config {component_id} v{version}")
|
|
3765
|
-
|
|
3766
3766
|
# Check if it's current version
|
|
3767
3767
|
current = sess.execute(
|
|
3768
3768
|
select(components_table.c.current_version).where(components_table.c.component_id == component_id)
|