agno 2.4.6__py3-none-any.whl → 2.4.8__py3-none-any.whl
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/agent/agent.py +5 -1
- agno/db/base.py +2 -0
- agno/db/postgres/postgres.py +5 -5
- agno/db/singlestore/singlestore.py +4 -5
- agno/db/sqlite/sqlite.py +4 -4
- agno/knowledge/embedder/aws_bedrock.py +325 -106
- agno/knowledge/knowledge.py +83 -1853
- agno/knowledge/loaders/__init__.py +29 -0
- agno/knowledge/loaders/azure_blob.py +423 -0
- agno/knowledge/loaders/base.py +187 -0
- agno/knowledge/loaders/gcs.py +267 -0
- agno/knowledge/loaders/github.py +415 -0
- agno/knowledge/loaders/s3.py +281 -0
- agno/knowledge/loaders/sharepoint.py +439 -0
- agno/knowledge/reader/website_reader.py +2 -2
- agno/knowledge/remote_knowledge.py +151 -0
- agno/knowledge/reranker/aws_bedrock.py +299 -0
- agno/learn/machine.py +5 -6
- agno/learn/stores/session_context.py +10 -2
- agno/models/azure/openai_chat.py +6 -11
- agno/models/neosantara/__init__.py +5 -0
- agno/models/neosantara/neosantara.py +42 -0
- agno/models/utils.py +5 -0
- agno/os/app.py +4 -1
- agno/os/interfaces/agui/router.py +1 -1
- agno/os/routers/components/components.py +2 -0
- agno/os/routers/knowledge/knowledge.py +0 -1
- agno/os/routers/registry/registry.py +340 -192
- agno/os/routers/workflows/router.py +7 -1
- agno/os/schema.py +104 -0
- agno/registry/registry.py +4 -0
- agno/run/workflow.py +3 -0
- agno/session/workflow.py +1 -1
- agno/skills/utils.py +100 -2
- agno/team/team.py +6 -3
- agno/tools/mcp/mcp.py +26 -1
- agno/vectordb/lancedb/lance_db.py +22 -7
- agno/workflow/__init__.py +4 -0
- agno/workflow/cel.py +299 -0
- agno/workflow/condition.py +280 -58
- agno/workflow/loop.py +177 -46
- agno/workflow/parallel.py +75 -4
- agno/workflow/router.py +260 -44
- agno/workflow/step.py +14 -7
- agno/workflow/steps.py +43 -0
- agno/workflow/workflow.py +104 -46
- {agno-2.4.6.dist-info → agno-2.4.8.dist-info}/METADATA +25 -37
- {agno-2.4.6.dist-info → agno-2.4.8.dist-info}/RECORD +51 -39
- {agno-2.4.6.dist-info → agno-2.4.8.dist-info}/WHEEL +0 -0
- {agno-2.4.6.dist-info → agno-2.4.8.dist-info}/licenses/LICENSE +0 -0
- {agno-2.4.6.dist-info → agno-2.4.8.dist-info}/top_level.txt +0 -0
agno/workflow/workflow.py
CHANGED
|
@@ -106,6 +106,43 @@ STEP_TYPE_MAPPING = {
|
|
|
106
106
|
Router: StepType.ROUTER,
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
|
|
110
|
+
def _step_from_dict(
|
|
111
|
+
data: Dict[str, Any],
|
|
112
|
+
registry: Optional["Registry"] = None,
|
|
113
|
+
db: Optional["BaseDb"] = None,
|
|
114
|
+
links: Optional[List[Dict[str, Any]]] = None,
|
|
115
|
+
) -> Union[Step, Steps, Loop, Parallel, Condition, Router]:
|
|
116
|
+
"""
|
|
117
|
+
Deserialize a step from a dictionary based on its type.
|
|
118
|
+
|
|
119
|
+
Args:
|
|
120
|
+
data: Dictionary containing step configuration with a "type" field
|
|
121
|
+
registry: Optional registry for rehydrating non-serializable objects
|
|
122
|
+
db: Optional database for loading agents/teams in steps
|
|
123
|
+
links: Optional links for this step version
|
|
124
|
+
|
|
125
|
+
Returns:
|
|
126
|
+
The appropriate step type instance (Step, Steps, Loop, Parallel, Condition, or Router)
|
|
127
|
+
"""
|
|
128
|
+
step_type = data.get("type", "Step")
|
|
129
|
+
|
|
130
|
+
if step_type == "Loop":
|
|
131
|
+
return Loop.from_dict(data, registry=registry, db=db, links=links)
|
|
132
|
+
elif step_type == "Parallel":
|
|
133
|
+
return Parallel.from_dict(data, registry=registry, db=db, links=links)
|
|
134
|
+
elif step_type == "Steps":
|
|
135
|
+
return Steps.from_dict(data, registry=registry, db=db, links=links)
|
|
136
|
+
elif step_type == "Condition":
|
|
137
|
+
return Condition.from_dict(data, registry=registry, db=db, links=links)
|
|
138
|
+
elif step_type == "Router":
|
|
139
|
+
return Router.from_dict(data, registry=registry, db=db, links=links)
|
|
140
|
+
elif step_type == "Step":
|
|
141
|
+
return Step.from_dict(data, registry=registry, db=db, links=links)
|
|
142
|
+
else:
|
|
143
|
+
raise ValueError(f"Unknown step type: {step_type}")
|
|
144
|
+
|
|
145
|
+
|
|
109
146
|
WorkflowSteps = Union[
|
|
110
147
|
Callable[
|
|
111
148
|
["Workflow", WorkflowExecutionInput],
|
|
@@ -597,7 +634,6 @@ class Workflow:
|
|
|
597
634
|
config["telemetry"] = self.telemetry
|
|
598
635
|
|
|
599
636
|
# --- Steps ---
|
|
600
|
-
# TODO: Implement steps serialization for step types other than Step
|
|
601
637
|
if self.steps and isinstance(self.steps, list):
|
|
602
638
|
config["steps"] = [step.to_dict() for step in self.steps if hasattr(step, "to_dict")]
|
|
603
639
|
|
|
@@ -630,7 +666,7 @@ class Workflow:
|
|
|
630
666
|
db_data = config["db"]
|
|
631
667
|
db_id = db_data.get("id")
|
|
632
668
|
|
|
633
|
-
#
|
|
669
|
+
# Try to get the db from the registry
|
|
634
670
|
if registry and db_id:
|
|
635
671
|
registry_db = registry.get_db(db_id)
|
|
636
672
|
if registry_db is not None:
|
|
@@ -655,7 +691,7 @@ class Workflow:
|
|
|
655
691
|
# --- Handle steps reconstruction ---
|
|
656
692
|
steps: Optional[WorkflowSteps] = None
|
|
657
693
|
if "steps" in config and config["steps"]:
|
|
658
|
-
steps = [
|
|
694
|
+
steps = [_step_from_dict(step_data, db=db, links=links, registry=registry) for step_data in config["steps"]]
|
|
659
695
|
del config["steps"]
|
|
660
696
|
|
|
661
697
|
return cls(
|
|
@@ -681,7 +717,7 @@ class Workflow:
|
|
|
681
717
|
store_events=config.get("store_events", False),
|
|
682
718
|
store_executor_outputs=config.get("store_executor_outputs", True),
|
|
683
719
|
# --- Schema settings ---
|
|
684
|
-
|
|
720
|
+
input_schema=config.get("input_schema"),
|
|
685
721
|
# --- Metadata ---
|
|
686
722
|
metadata=config.get("metadata"),
|
|
687
723
|
# --- Debug and telemetry settings ---
|
|
@@ -723,40 +759,53 @@ class Workflow:
|
|
|
723
759
|
saved_versions: Dict[str, int] = {}
|
|
724
760
|
|
|
725
761
|
# Collect all links
|
|
726
|
-
all_links = []
|
|
727
|
-
|
|
762
|
+
all_links: List[Dict[str, Any]] = []
|
|
763
|
+
|
|
764
|
+
def _save_step_agents(
|
|
765
|
+
step: Any,
|
|
766
|
+
position: int,
|
|
767
|
+
saved_versions: Dict[str, int],
|
|
768
|
+
all_links: List[Dict[str, Any]],
|
|
769
|
+
) -> None:
|
|
770
|
+
"""Recursively save agents/teams in steps, including nested containers."""
|
|
771
|
+
if isinstance(step, Step):
|
|
772
|
+
# Save agent if present
|
|
773
|
+
if step.agent and isinstance(step.agent, Agent):
|
|
774
|
+
agent_version = step.agent.save(
|
|
775
|
+
db=db_,
|
|
776
|
+
stage=stage,
|
|
777
|
+
label=label,
|
|
778
|
+
notes=notes,
|
|
779
|
+
)
|
|
780
|
+
if step.agent.id is not None and agent_version is not None:
|
|
781
|
+
saved_versions[step.agent.id] = agent_version
|
|
782
|
+
|
|
783
|
+
# Save team if present
|
|
784
|
+
if step.team and isinstance(step.team, Team):
|
|
785
|
+
team_version = step.team.save(db=db_, stage=stage, label=label, notes=notes)
|
|
786
|
+
if step.team.id is not None and team_version is not None:
|
|
787
|
+
saved_versions[step.team.id] = team_version
|
|
788
|
+
|
|
789
|
+
# Add links with position and pinned version
|
|
790
|
+
for link in step.get_links(position=position):
|
|
791
|
+
if link["child_component_id"] in saved_versions:
|
|
792
|
+
link["child_version"] = saved_versions[link["child_component_id"]]
|
|
793
|
+
all_links.append(link)
|
|
794
|
+
|
|
795
|
+
elif isinstance(step, (Parallel, Loop, Steps, Condition)):
|
|
796
|
+
# Recursively process nested steps
|
|
797
|
+
for nested_position, nested_step in enumerate(step.steps):
|
|
798
|
+
_save_step_agents(nested_step, nested_position, saved_versions, all_links)
|
|
799
|
+
|
|
800
|
+
elif isinstance(step, Router):
|
|
801
|
+
# Router uses 'choices' instead of 'steps'
|
|
802
|
+
for nested_position, nested_step in enumerate(step.choices):
|
|
803
|
+
_save_step_agents(nested_step, nested_position, saved_versions, all_links)
|
|
728
804
|
|
|
729
805
|
try:
|
|
730
806
|
steps_to_save = self.steps if isinstance(self.steps, list) else []
|
|
731
807
|
for position, step in enumerate(steps_to_save):
|
|
732
|
-
|
|
733
|
-
if isinstance(step, Step):
|
|
734
|
-
# TODO: Allow not saving a new config if the agent/team already has a published config and no changes have been made
|
|
735
|
-
# Save agent/team if present and capture version
|
|
736
|
-
if step.agent and isinstance(step.agent, Agent):
|
|
737
|
-
agent_version = step.agent.save(
|
|
738
|
-
db=db_,
|
|
739
|
-
stage=stage,
|
|
740
|
-
label=label,
|
|
741
|
-
notes=notes,
|
|
742
|
-
)
|
|
743
|
-
if step.agent.id is not None and agent_version is not None:
|
|
744
|
-
saved_versions[step.agent.id] = agent_version
|
|
745
|
-
|
|
746
|
-
if step.team and isinstance(step.team, Team):
|
|
747
|
-
team_version = step.team.save(db=db_, stage=stage, label=label, notes=notes)
|
|
748
|
-
if step.team.id is not None and team_version is not None:
|
|
749
|
-
saved_versions[step.team.id] = team_version
|
|
750
|
-
|
|
751
|
-
# Add step config
|
|
752
|
-
steps_config.append(step.to_dict())
|
|
753
|
-
|
|
754
|
-
# Add links with position and pinned version
|
|
755
|
-
for link in step.get_links(position=position):
|
|
756
|
-
# Pin the version if we just saved it
|
|
757
|
-
if link["child_component_id"] in saved_versions:
|
|
758
|
-
link["child_version"] = saved_versions[link["child_component_id"]]
|
|
759
|
-
all_links.append(link)
|
|
808
|
+
_save_step_agents(step, position, saved_versions, all_links)
|
|
760
809
|
|
|
761
810
|
db_.upsert_component(
|
|
762
811
|
component_id=self.id,
|
|
@@ -1346,7 +1395,7 @@ class Workflow:
|
|
|
1346
1395
|
|
|
1347
1396
|
# ALSO broadcast through websocket manager for reconnected clients
|
|
1348
1397
|
# This ensures clients who reconnect after workflow started still receive events
|
|
1349
|
-
if buffer_run_id:
|
|
1398
|
+
if buffer_run_id and websocket_handler:
|
|
1350
1399
|
try:
|
|
1351
1400
|
import asyncio
|
|
1352
1401
|
|
|
@@ -1392,6 +1441,9 @@ class Workflow:
|
|
|
1392
1441
|
event.workflow_id = workflow_run_response.workflow_id
|
|
1393
1442
|
if hasattr(event, "workflow_run_id"):
|
|
1394
1443
|
event.workflow_run_id = workflow_run_response.run_id
|
|
1444
|
+
# Set session_id to match workflow's session_id for consistent event tracking
|
|
1445
|
+
if hasattr(event, "session_id") and workflow_run_response.session_id:
|
|
1446
|
+
event.session_id = workflow_run_response.session_id
|
|
1395
1447
|
if hasattr(event, "step_id") and step_id:
|
|
1396
1448
|
event.step_id = step_id
|
|
1397
1449
|
if hasattr(event, "step_name") and step_name is not None:
|
|
@@ -5037,17 +5089,23 @@ def get_workflows(
|
|
|
5037
5089
|
try:
|
|
5038
5090
|
components, _ = db.list_components(component_type=ComponentType.WORKFLOW)
|
|
5039
5091
|
for component in components:
|
|
5040
|
-
|
|
5041
|
-
|
|
5042
|
-
|
|
5043
|
-
|
|
5044
|
-
|
|
5045
|
-
|
|
5046
|
-
|
|
5047
|
-
|
|
5048
|
-
|
|
5049
|
-
|
|
5050
|
-
|
|
5092
|
+
try:
|
|
5093
|
+
config = db.get_config(component_id=component["component_id"])
|
|
5094
|
+
if config is not None:
|
|
5095
|
+
workflow_config = config.get("config")
|
|
5096
|
+
if workflow_config is not None:
|
|
5097
|
+
component_id = component["component_id"]
|
|
5098
|
+
if "id" not in workflow_config:
|
|
5099
|
+
workflow_config["id"] = component_id
|
|
5100
|
+
workflow = Workflow.from_dict(workflow_config, db=db, registry=registry)
|
|
5101
|
+
# Ensure workflow.id is set to the component_id
|
|
5102
|
+
workflow.id = component_id
|
|
5103
|
+
workflows.append(workflow)
|
|
5104
|
+
except Exception as e:
|
|
5105
|
+
component_id = component.get("component_id", "unknown")
|
|
5106
|
+
log_error(f"Error loading Workflow {component_id} from database: {e}")
|
|
5107
|
+
# Continue loading other workflows even if this one fails
|
|
5108
|
+
continue
|
|
5051
5109
|
return workflows
|
|
5052
5110
|
|
|
5053
5111
|
except Exception as e:
|
|
@@ -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
|
|
|
@@ -6,7 +6,7 @@ agno/media.py,sha256=PisfrNwkx2yVOW8p6LXlV237jI06Y6kGjd7wUMk5170,17121
|
|
|
6
6
|
agno/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
agno/table.py,sha256=9hHFnInNsrj0ZKtWjGDP5c6kbmNdtQvDDYT2j2CZJ6o,198
|
|
8
8
|
agno/agent/__init__.py,sha256=YwN1bvBECSRRQ9mOCZ40eCO4WN5xEPEh0jxWyc83vX4,1190
|
|
9
|
-
agno/agent/agent.py,sha256=
|
|
9
|
+
agno/agent/agent.py,sha256=_0Bk6NxUkWW6_4Q0CBw5ne2VPRlduZYsSOzl9CDIzhs,563890
|
|
10
10
|
agno/agent/remote.py,sha256=3PvPEXLH4QAGVsPnoD0qKDv05swRZpB0gw9bQDCJiLw,19667
|
|
11
11
|
agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
|
|
@@ -41,7 +41,7 @@ agno/compression/manager.py,sha256=batKFOY0z1KLpgM__DODVMiqI-Sa1ixN4GGWfiCn26w,1
|
|
|
41
41
|
agno/culture/__init__.py,sha256=nVScbcUeBmkj8l-rJWGOVGytwp5xB6IfUEL_h6atzQw,118
|
|
42
42
|
agno/culture/manager.py,sha256=sh48GgfkgwQth2vB5ulgrbv2HGAfVidABrwAYEzWGBs,39833
|
|
43
43
|
agno/db/__init__.py,sha256=bfd_tpKsIKCjZosnFqID26VoWqy88v8gzkf9kLHToY4,625
|
|
44
|
-
agno/db/base.py,sha256=
|
|
44
|
+
agno/db/base.py,sha256=6r5Bzn59kLxL-6y-HXIcTHzAhJFZDai3UAse2iGaD-k,51535
|
|
45
45
|
agno/db/utils.py,sha256=vkzNHmkkFD5fRFyMs0RAYatgjv_3oMoQ9X0Ri6qygbQ,6814
|
|
46
46
|
agno/db/async_postgres/__init__.py,sha256=ja_thcYP3bP0DD3da6iUVDR_w2-S6B3M-UxBlkRfAvY,76
|
|
47
47
|
agno/db/dynamo/__init__.py,sha256=fZ7NwKbyhoIu7_4T6hVz44HkIINXMnTfFrDrgB6bpEo,67
|
|
@@ -79,7 +79,7 @@ agno/db/mysql/schemas.py,sha256=_Qkx0plM5oPsthnLHpQOoMLcIbjpTKiaLDbxPNKh7ak,9892
|
|
|
79
79
|
agno/db/mysql/utils.py,sha256=wo-QamkH6dOBmCv1tsY5yp-0L7ca2CD2Yj9BpqpcLhs,17799
|
|
80
80
|
agno/db/postgres/__init__.py,sha256=Ojk00nTCzQFiH2ViD7KIBjgpkTKLRNPCwWnuXMKtNXY,154
|
|
81
81
|
agno/db/postgres/async_postgres.py,sha256=adju222IPFyY_vd5mRc876aP2s08jSpQaebOGDoQWnc,128247
|
|
82
|
-
agno/db/postgres/postgres.py,sha256=
|
|
82
|
+
agno/db/postgres/postgres.py,sha256=TPYFpDvLh4wInoTN1mcPpZ7_2fdS7KGMzlP9Tc8LC_8,185515
|
|
83
83
|
agno/db/postgres/schemas.py,sha256=YrRG0HTSrW5L4lQgLlbpNrwT-rutUq2I4k5MT2PHQX0,12677
|
|
84
84
|
agno/db/postgres/utils.py,sha256=_nVMb1iHwNf829aWK-jdE5nEpfuDitFdyoBJc-vkfaY,16239
|
|
85
85
|
agno/db/redis/__init__.py,sha256=rZWeZ4CpVeKP-enVQ-SRoJ777i0rdGNgoNDRS9gsfAc,63
|
|
@@ -94,12 +94,12 @@ agno/db/schemas/memory.py,sha256=soOeuQgLYHng0qZxzrRHf1lN574IW55lXGP403Qn1oY,207
|
|
|
94
94
|
agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
95
|
agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
|
|
96
96
|
agno/db/singlestore/schemas.py,sha256=wPzSrSQ3hVdUw385nmr8UmurHV6vtpAVuhYUlaLh1K4,9750
|
|
97
|
-
agno/db/singlestore/singlestore.py,sha256=
|
|
97
|
+
agno/db/singlestore/singlestore.py,sha256=zCqDFd-YHPj7TsOUEr5cC7B67DtceKOI06wGjlmpnKo,121934
|
|
98
98
|
agno/db/singlestore/utils.py,sha256=vJ6QM-wbJBzA8l5ULYbJ5KLB9c3-GZqtb0NWdy5gg2c,14225
|
|
99
99
|
agno/db/sqlite/__init__.py,sha256=09V3i4y0-tBjt60--57ivZ__SaaS67GCsDT4Apzv-5Y,138
|
|
100
100
|
agno/db/sqlite/async_sqlite.py,sha256=BzvBibnsK654K48gx-aWzV7FhmYNS324JBUnoldILTk,136969
|
|
101
101
|
agno/db/sqlite/schemas.py,sha256=uOhtTee4bdmDyl3xsGW8cnVDKB-j0-fZ0vVLikzMY90,12239
|
|
102
|
-
agno/db/sqlite/sqlite.py,sha256=
|
|
102
|
+
agno/db/sqlite/sqlite.py,sha256=pwBeJB7ACreSkfJSkQC_9PYRGbIMr7Rz3_0r5y2PLEU,176615
|
|
103
103
|
agno/db/sqlite/utils.py,sha256=PZp-g4oUf6Iw1kuDAmOpIBtfyg4poKiG_DxXP4EonFI,15721
|
|
104
104
|
agno/db/surrealdb/__init__.py,sha256=C8qp5-Nx9YnSmgKEtGua-sqG_ntCXONBw1qqnNyKPqI,75
|
|
105
105
|
agno/db/surrealdb/metrics.py,sha256=oKDRyjRQ6KR3HaO8zDHQLVMG7-0NDkOFOKX5I7mD5FA,10336
|
|
@@ -127,8 +127,9 @@ agno/integrations/discord/client.py,sha256=HbXQHHOKKSVFZs0sIJlzoW9bLigbBgOE2kP0I
|
|
|
127
127
|
agno/knowledge/__init__.py,sha256=MTLKRRh6eqz-w_gw56rqdwV9FoeE9zjX8xYUCCdYg8A,243
|
|
128
128
|
agno/knowledge/content.py,sha256=q2bjcjDhfge_UrQAcygrv5R9ZTk7vozzKnQpatDQWRo,2295
|
|
129
129
|
agno/knowledge/filesystem.py,sha256=zq7xMDkH64x4UM9jcKLIBmPOJcrud2e-lb-pMtaFUSI,15102
|
|
130
|
-
agno/knowledge/knowledge.py,sha256=
|
|
130
|
+
agno/knowledge/knowledge.py,sha256=UESS4nZjr5n2CFs0BZ4gtCjeL5zLDaT-5T77nHcB6As,140239
|
|
131
131
|
agno/knowledge/protocol.py,sha256=_hSe0czvTOmu9_NtzsaOxDCnTMYklObxYTphQB3pZ9M,4248
|
|
132
|
+
agno/knowledge/remote_knowledge.py,sha256=0ZKpb75JlV-TNSh-GyLuJ4b_mVlHwMkgH0Y4-cgZyTw,5924
|
|
132
133
|
agno/knowledge/types.py,sha256=4NnkL_h2W-7GQnHW-yIqMNPUCWLzo5qBXF99gfsMe08,773
|
|
133
134
|
agno/knowledge/utils.py,sha256=GJHL1vAOrD6KFEpOiN4Gsgz70fRG0E-jooKIBdfq4zI,9853
|
|
134
135
|
agno/knowledge/chunking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -144,7 +145,7 @@ agno/knowledge/chunking/strategy.py,sha256=M8-2i5uXZCEYHswuzLcyAdZL1cgczd7-SAK3-
|
|
|
144
145
|
agno/knowledge/document/__init__.py,sha256=vxMAu103larPlcpJFG3sBg-sCATf-LZZO_SlOwlEY5E,81
|
|
145
146
|
agno/knowledge/document/base.py,sha256=kvoLSAxc8snrayo_-C6L3HxJVXwZiXd7Maq6VToLgfg,2087
|
|
146
147
|
agno/knowledge/embedder/__init__.py,sha256=RdjcB1qoXuGVLlIkD-hn3B4zs8ycabmCVRmZsG3RhCQ,81
|
|
147
|
-
agno/knowledge/embedder/aws_bedrock.py,sha256=
|
|
148
|
+
agno/knowledge/embedder/aws_bedrock.py,sha256=qTOt1NxIzF69mJvOuK9WHecGqkJjv23a7jnwxUj-iFg,23247
|
|
148
149
|
agno/knowledge/embedder/azure_openai.py,sha256=Fv-Yn7eHZnw3qhVU6AktLpj8kYy3E7ynLPOYAJryCYs,8521
|
|
149
150
|
agno/knowledge/embedder/base.py,sha256=PUyo0zzk1TlImKsmWORLhc74rNSEKIQcMcjP1sE7Pyk,746
|
|
150
151
|
agno/knowledge/embedder/cohere.py,sha256=riT-Q7sGaG-BgkYtaq9ONXLuoUt99TncOWLzfOSWwtE,14499
|
|
@@ -162,6 +163,13 @@ agno/knowledge/embedder/sentence_transformer.py,sha256=_d4XgV07bj1hkKnuzZGvP--v_
|
|
|
162
163
|
agno/knowledge/embedder/together.py,sha256=Pt524Lh6YRDKfD8rfmLu0Qlw4dDh4vLz7KEMIvIULBk,387
|
|
163
164
|
agno/knowledge/embedder/vllm.py,sha256=whtZs4OGzE9aXeK-L1UmwwnpgAgxFlxAfiHREroj8yA,10952
|
|
164
165
|
agno/knowledge/embedder/voyageai.py,sha256=E6RjQRaa5d2BHmkW09QG68ncrgBV2Vqq25ZR8vegEFs,6602
|
|
166
|
+
agno/knowledge/loaders/__init__.py,sha256=DxpMfmFXuUEZqFzboiV5ay7p4y64wGoAQVXU9nM2pos,923
|
|
167
|
+
agno/knowledge/loaders/azure_blob.py,sha256=BihO5rIJ4b4tFmdRy9qyGfPkkMt49-IzI9Ts9TUh8HE,18671
|
|
168
|
+
agno/knowledge/loaders/base.py,sha256=87Fp1kLq9YbvdiWuV-u__3VcTmQd7ffU5Uo2Drg1eRo,6131
|
|
169
|
+
agno/knowledge/loaders/gcs.py,sha256=vJf0GM-5_xIEfjj3N6UM-1m1SIHd0q87tuFhWQeNoY0,10679
|
|
170
|
+
agno/knowledge/loaders/github.py,sha256=ssK0r6DYkNQkljMyIaBL6Laa7kNS13poH8dBuPj4nRs,18102
|
|
171
|
+
agno/knowledge/loaders/s3.py,sha256=DK3qx4eCiUPh1ewO1AzWsm_ftG6hQ3yvjZCiZ1SBOgc,11486
|
|
172
|
+
agno/knowledge/loaders/sharepoint.py,sha256=XQxro960RI8O-RjlTY7g4egogtpVzwm4NZOaq21qLwk,19305
|
|
165
173
|
agno/knowledge/reader/__init__.py,sha256=edjnCwyDjM9Q5JPMi4K9mll8a3CdV52iagUKAgGiaas,159
|
|
166
174
|
agno/knowledge/reader/arxiv_reader.py,sha256=su1A9VmQBtt5q_5rbsmFh_l3DPnXKrASBp3O5lpU1R4,2780
|
|
167
175
|
agno/knowledge/reader/base.py,sha256=jntGjnQ8Y05cz3eqvSt5cgicotPqX2hl_2grrIShlFI,3885
|
|
@@ -179,7 +187,7 @@ agno/knowledge/reader/s3_reader.py,sha256=F1glvjOpArXPSN8uCdjtnEe-S8HTJ-w7Av34bs
|
|
|
179
187
|
agno/knowledge/reader/tavily_reader.py,sha256=LpKdMb9Z6UpDyNq137voesolGE8uCGjqf398JsQqkgY,7228
|
|
180
188
|
agno/knowledge/reader/text_reader.py,sha256=RNiH-vkAyxR7bTsmmxDwZxmFWnOLYgStvN2XFonoA7o,4607
|
|
181
189
|
agno/knowledge/reader/web_search_reader.py,sha256=bhFJqqlaRxJSQYE1oMlUiImW4DriOH1GwS5MAkBXyHA,12118
|
|
182
|
-
agno/knowledge/reader/website_reader.py,sha256=
|
|
190
|
+
agno/knowledge/reader/website_reader.py,sha256=lDh8IYXPHfNBnLw2FaC3aWtUZAZphaOuq2CSGLHhC1E,19430
|
|
183
191
|
agno/knowledge/reader/wikipedia_reader.py,sha256=C5aMlTwRHRW7FFh2c-JKZLlX5l0PzW6khq5Tu37FwbU,3137
|
|
184
192
|
agno/knowledge/reader/youtube_reader.py,sha256=k12hrCE2ib9Pp9deE4oktRxHEKQddNbdOjOzTkqLA1I,3031
|
|
185
193
|
agno/knowledge/reader/utils/__init__.py,sha256=kGCRfjiPPJJnFE_1w190KJbSktPAd7fhONpguwLOprY,389
|
|
@@ -188,6 +196,7 @@ agno/knowledge/remote_content/__init__.py,sha256=3zIQf3-iUK0Jy3_DtrmFhJSPol-DOSQ
|
|
|
188
196
|
agno/knowledge/remote_content/config.py,sha256=vRCGYH_yvktB22QG6bDP4UXMitF0y2Riddkgw8xCPsk,7833
|
|
189
197
|
agno/knowledge/remote_content/remote_content.py,sha256=0LtdtGHx-n9l12qDvxVYWb6Nc0907HVc-RcRQtrM7h4,5731
|
|
190
198
|
agno/knowledge/reranker/__init__.py,sha256=6EK9EUQQY0ar-Jnev4hmlNyq2GwS_6UDMJXD2IBcFvE,74
|
|
199
|
+
agno/knowledge/reranker/aws_bedrock.py,sha256=d1ps7rvOz2FSQFZe1qruKptO6BX5c2elWe_423ky7x8,10600
|
|
191
200
|
agno/knowledge/reranker/base.py,sha256=GsPcMmBiI5gOX8XABpmQNeP478mp5ma-W-1n37P0-QM,376
|
|
192
201
|
agno/knowledge/reranker/cohere.py,sha256=2Be5blVyeZ3vYlnFa2NYvJuytjaCB8G2OWJ11pQz7vQ,2178
|
|
193
202
|
agno/knowledge/reranker/infinity.py,sha256=N9geg9xZqRdJZksfQcvbGJgMymXrQVJl_K5KICWqH8o,7193
|
|
@@ -195,7 +204,7 @@ agno/knowledge/reranker/sentence_transformer.py,sha256=ZN4SqnMZsUhg5G7AzlONM1_Uj
|
|
|
195
204
|
agno/learn/__init__.py,sha256=w4uS6ZDzfYyrYI9FjDP5mlYi6slCvU0XZ6jdV3HFSf8,1624
|
|
196
205
|
agno/learn/config.py,sha256=GxysFhbix8RdyDf_2kORTbcLUSdzRJfjEG-2y29OEkk,15791
|
|
197
206
|
agno/learn/curate.py,sha256=ywbtEkN9T1Bl1eJ794L24zLb_BX5H65bebjh4su1lvc,5248
|
|
198
|
-
agno/learn/machine.py,sha256=
|
|
207
|
+
agno/learn/machine.py,sha256=I6tJFrNUolnjDluOurBr0wp0Q411B-B2RBTMjRJeEDY,25516
|
|
199
208
|
agno/learn/schemas.py,sha256=Qb9TRITzXJ6QNciRAz7ijrER11hmYmzzC2vxs8M_USo,40491
|
|
200
209
|
agno/learn/utils.py,sha256=dUL_oKWHPyUWF5e2muJyNo9W4Y7fwePESI_APQUZ12g,5672
|
|
201
210
|
agno/learn/stores/__init__.py,sha256=c5kC8X5bgZwwRG7epKU5IHdJ-eA9qKcC9G756Xrk2CA,1306
|
|
@@ -203,7 +212,7 @@ agno/learn/stores/decision_log.py,sha256=gzGhHKe8YZ3I8C_xuTJzAobUmVQRhrFZSZ5W9py
|
|
|
203
212
|
agno/learn/stores/entity_memory.py,sha256=6liU6aoR7C2tI91fgU2BUChtTYlCLM1dH4Ad6Iu7dOY,117078
|
|
204
213
|
agno/learn/stores/learned_knowledge.py,sha256=raSP6T4zEEYRzEtepA4Vi042yqZpWbM7mIcPSFZiFh8,57001
|
|
205
214
|
agno/learn/stores/protocol.py,sha256=SaB76BIXCQMTcEHQDNxUxPnOE2Jx9MMPj3tNsk9_VJk,3324
|
|
206
|
-
agno/learn/stores/session_context.py,sha256=
|
|
215
|
+
agno/learn/stores/session_context.py,sha256=j3uKhDZKE_U8iILy765adTtgfe1DS8dEBWcEt8YMMpw,48562
|
|
207
216
|
agno/learn/stores/user_memory.py,sha256=le3Vi1hsokopWeMkme9t-ju6GCP1w6z16iJ6Mi6hKdQ,55648
|
|
208
217
|
agno/learn/stores/user_profile.py,sha256=p-TDwaD6HDbFdELysQaLO_eo1UOARgENVAjdjv6TAdw,40763
|
|
209
218
|
agno/memory/__init__.py,sha256=hB7aQmxTHTMX4prgoLabas1Ic_LvT777oR_ECIXyAiM,419
|
|
@@ -218,7 +227,7 @@ agno/models/defaults.py,sha256=1_fe4-ZbNriE8BgqxVRVi4KGzEYxYKYsz4hn6CZNEEM,40
|
|
|
218
227
|
agno/models/message.py,sha256=5bZOFdZuhsQw06nNppvFJq-JGI4lqQt4sVhdjfEFBZM,19976
|
|
219
228
|
agno/models/metrics.py,sha256=bQJ5DMoFcrb2EyA2VUm4u9HVGbgTKO5F1o2A_t_7hqI,4913
|
|
220
229
|
agno/models/response.py,sha256=xZQ-2L5tciX70hTbniSp2XLt9OTBuasW4_lsWMGGfoM,7976
|
|
221
|
-
agno/models/utils.py,sha256=
|
|
230
|
+
agno/models/utils.py,sha256=xcaT504taSQdcsFGVXPFrDpcPuXNrtL5Tq7atxlwjaA,7533
|
|
222
231
|
agno/models/aimlapi/__init__.py,sha256=XQcFRvt4qJ8ol9nCC0XKEkVEDivdNf3nZNoJZMZ5m8M,78
|
|
223
232
|
agno/models/aimlapi/aimlapi.py,sha256=ELPv8RuEc6qUq4JxWEJVRITsK71rzUxw6_cP3Zd8Vz0,2179
|
|
224
233
|
agno/models/anthropic/__init__.py,sha256=nbReX3p17JCwfrMDR9hR7-OaEFZm80I7dng93dl-Fhw,77
|
|
@@ -228,7 +237,7 @@ agno/models/aws/bedrock.py,sha256=qK95OEoJBwkMj3NFB-o9F2JTp1Z_ygp6dBupxFI24fM,32
|
|
|
228
237
|
agno/models/aws/claude.py,sha256=d_vwWtZZw3KHOOTLrPV_C7IWozIMxNafAHmxesyg1mk,9097
|
|
229
238
|
agno/models/azure/__init__.py,sha256=EoFdJHjayvmv_VOmaW9cJguwA1K5OFS_nFeazyn0B2w,605
|
|
230
239
|
agno/models/azure/ai_foundry.py,sha256=VMIci3geZ5KGq-ua7k0eHH33gBFOWbJWamEsxtmiaqg,19915
|
|
231
|
-
agno/models/azure/openai_chat.py,sha256=
|
|
240
|
+
agno/models/azure/openai_chat.py,sha256=9qBIHzs7EjZ2f6hy9nkgyw2hsV9m4Ut4YlST5T8GfrQ,5874
|
|
232
241
|
agno/models/cerebras/__init__.py,sha256=F3vE0lmMu-qDQ_Y7hg_czJitLsvNu4SfPv174wg1cq8,376
|
|
233
242
|
agno/models/cerebras/cerebras.py,sha256=Q2AgXTXRNDh9CryjbTqNxpCg2USUzErDIRTU5tv0tEQ,23122
|
|
234
243
|
agno/models/cerebras/cerebras_openai.py,sha256=ut4_xz6gKWKA-kJZCWjpk0RuCrvLe0YDrzofxh9E7_U,4907
|
|
@@ -275,6 +284,8 @@ agno/models/n1n/__init__.py,sha256=CymyKzTZWr-klifwaxzGTMDSVaPxBVtKOHQ-4VaPiWg,5
|
|
|
275
284
|
agno/models/n1n/n1n.py,sha256=UW7MPHNAU0sfMTaHh7HIYcWVSuc_-I16KrrlsqF1I2U,1977
|
|
276
285
|
agno/models/nebius/__init__.py,sha256=gW2yvxIfV2gxxOnBtTP8MCpI9AvMbIE6VTw-gY01Uvg,67
|
|
277
286
|
agno/models/nebius/nebius.py,sha256=T1slyayVfxSXNVVpylqogdWk8fNzvCJhzdWfhRCRdw8,1893
|
|
287
|
+
agno/models/neosantara/__init__.py,sha256=PMsFKCbOT09Bd3TNiowRHZMojWEkzvaM7kQbl8qAqrA,90
|
|
288
|
+
agno/models/neosantara/neosantara.py,sha256=tzdKMwj0VVoHFSfMJZGaAJKqKpfIS4wA6G3GR46tF7M,1601
|
|
278
289
|
agno/models/nexus/__init__.py,sha256=q9pwjZ2KXpG1B3Cy8ujrj3_s0a_LI5SaekXJL6mh4gE,63
|
|
279
290
|
agno/models/nexus/nexus.py,sha256=rJcBQXR1aqUiLWMPBRuHIEh87wVrsqXup1hr_smanBQ,635
|
|
280
291
|
agno/models/nvidia/__init__.py,sha256=O0g3_0_ciOz0AH4Y4CAL7YRfhdDPAvhDzNjJmgWKT78,74
|
|
@@ -311,13 +322,13 @@ agno/models/vllm/vllm.py,sha256=qaWgYcmegJZL52ZjmuIoryBpZ9LpOvYHFY-AYxVirA4,2806
|
|
|
311
322
|
agno/models/xai/__init__.py,sha256=ukcCxnCHxTtkJNA2bAMTX4MhCv1wJcbiq8ZIfYczIxs,55
|
|
312
323
|
agno/models/xai/xai.py,sha256=i7QoRiVdmoQ1E8Zw_e60qQgF85geZXWRPtEKioIInSU,4796
|
|
313
324
|
agno/os/__init__.py,sha256=h8oQu7vhD5RZf09jkyM_Kt1Kdq_d5kFB9gJju8QPwcY,55
|
|
314
|
-
agno/os/app.py,sha256=
|
|
325
|
+
agno/os/app.py,sha256=crRPtU3kuvVvYyhDq4etzmJnViv0mh1EJ7ElYf5rB0A,47837
|
|
315
326
|
agno/os/auth.py,sha256=3-0FUvj5o5e0qOl1ixEJ8NLdchpr8AroKaK_4pojp7w,11291
|
|
316
327
|
agno/os/config.py,sha256=z0wNd576_qsQGsQWsMRIZzjknDVEPlKWF_pHE6VBUyY,3538
|
|
317
328
|
agno/os/managers.py,sha256=j7Y07yEsW03iKEy1itb3sq3PXcJS3ipJbK4rTqk6_Ow,13086
|
|
318
329
|
agno/os/mcp.py,sha256=TNkq9y20RBrCFx3iIk1MPrct6gCTYV0KMPS_1EwNghs,31393
|
|
319
330
|
agno/os/router.py,sha256=WiWtf7FHXR8_IzT3Bbi2lX4j4DAhBLL06zbDhVR0Iog,12401
|
|
320
|
-
agno/os/schema.py,sha256=
|
|
331
|
+
agno/os/schema.py,sha256=qYnKOUCQDfQpXmdRRerkj3Z_XaXqw3YBOociuI0KLt0,38045
|
|
321
332
|
agno/os/scopes.py,sha256=gH3Obo618gHKt5h-N1OkWqB4UPl2LZygd7GW7pKzdAc,15696
|
|
322
333
|
agno/os/settings.py,sha256=gS9pN1w21wsa5XqDkK-RfQmroAaqoX4KZBfRuhUevkM,1556
|
|
323
334
|
agno/os/utils.py,sha256=x60JkKFgteAFoRarBJTaKiaQd4584EjVLqHfCryWUtw,39195
|
|
@@ -329,7 +340,7 @@ agno/os/interfaces/a2a/router.py,sha256=Upd7DZz9qk5cnaFLqfQ-05HSBdwL4ZPdfRfn63RM
|
|
|
329
340
|
agno/os/interfaces/a2a/utils.py,sha256=coYLdYehsX_ffa4iycc0PdYLSiqt9lAxOLJTlaSriVo,40304
|
|
330
341
|
agno/os/interfaces/agui/__init__.py,sha256=1zrGICk4roXUINwSFZfqH6sBsbHmD5KjGYVJMGg4fKQ,66
|
|
331
342
|
agno/os/interfaces/agui/agui.py,sha256=KjQ3qrTCtFWDcHk3ViPguV6FvSuYKrAwENbDzUCcscM,1543
|
|
332
|
-
agno/os/interfaces/agui/router.py,sha256=
|
|
343
|
+
agno/os/interfaces/agui/router.py,sha256=bBXqAzlaDo33ZXiV36CQVlD9lfIoA5hD77ESiQ78wCI,5654
|
|
333
344
|
agno/os/interfaces/agui/utils.py,sha256=veRYnk8EVSuF2owJjNFUhQRsyqbxIlFQnAqjB0KY0mU,23645
|
|
334
345
|
agno/os/interfaces/slack/__init__.py,sha256=F095kOcgiyk_KzIozNNieKwpVc_NR8HYpuO4bKiCNN0,70
|
|
335
346
|
agno/os/interfaces/slack/router.py,sha256=PqlObVE396in76wN5bef8YxeFWYANwlcrvw0Fau3vGY,6402
|
|
@@ -350,13 +361,13 @@ agno/os/routers/agents/__init__.py,sha256=nr1H0Mp7NlWPnvu0ccaHVSPHz-lXg43TRMApkU
|
|
|
350
361
|
agno/os/routers/agents/router.py,sha256=zfj9JuruHiucl-3jqOTp0sWkHydI7rHNCD20q3Hej-c,26615
|
|
351
362
|
agno/os/routers/agents/schema.py,sha256=4jVKsM-KVSQEwN4EIzUT3fzs7OF7QQ6sdS8f40_IGPk,12940
|
|
352
363
|
agno/os/routers/components/__init__.py,sha256=yzvMCbvRYU2pMRWNNgDH9hmVq4jhMqsUG2aIeEyNcpE,109
|
|
353
|
-
agno/os/routers/components/components.py,sha256=
|
|
364
|
+
agno/os/routers/components/components.py,sha256=E6tI3-vduXhWIMMRaK1BjGhOZDoJvcFJoy39iFdGTsQ,18854
|
|
354
365
|
agno/os/routers/evals/__init__.py,sha256=3s0M-Ftg5A3rFyRfTATs-0aNA6wcbj_5tCvtwH9gORQ,87
|
|
355
366
|
agno/os/routers/evals/evals.py,sha256=9DErwITEV6O1BAr28asB29Yvgy8C5wtzQyz-ys-yJzw,23478
|
|
356
367
|
agno/os/routers/evals/schemas.py,sha256=ouz-tsFNsPMnYE4Y7Cti_ZbBHsL6XiXFQVXz97BYe_k,7767
|
|
357
368
|
agno/os/routers/evals/utils.py,sha256=MjOPY0xNdJZY04_4YQxsv3FPCsKTMDix8jyKDWwn6kc,8367
|
|
358
369
|
agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyHXOWooMaU,105
|
|
359
|
-
agno/os/routers/knowledge/knowledge.py,sha256=
|
|
370
|
+
agno/os/routers/knowledge/knowledge.py,sha256=gAhaxATlW2g93wubA9u4jktOSkZ0-EcO0sQXHr-qR_k,57087
|
|
360
371
|
agno/os/routers/knowledge/schemas.py,sha256=Db_K8OVXCfjmrWucDzvioIHqGkKPeFGEroRrN7sON1Y,9523
|
|
361
372
|
agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
|
|
362
373
|
agno/os/routers/memory/memory.py,sha256=SAXNlJTsQ-orSQymlQ-XVgN6RLlui3W9tB0NVSOWLrA,32854
|
|
@@ -365,7 +376,7 @@ agno/os/routers/metrics/__init__.py,sha256=Uw6wWEikLpF5hHxBkHtFyaTuz7OUerGYWk0JW
|
|
|
365
376
|
agno/os/routers/metrics/metrics.py,sha256=HmABUctqrgaQ1zF3vVQp8AH8EvAd1ntLoJ-2BR9FqIw,9488
|
|
366
377
|
agno/os/routers/metrics/schemas.py,sha256=dZGVMQtKn5yykNsi65iV9X8tZXKGCPZymZhE46fF8Tw,2875
|
|
367
378
|
agno/os/routers/registry/__init__.py,sha256=85ZU3JL7qWRp-bwHFzw-SmcRzkUrHq__Q1Dwt2Fk6LA,101
|
|
368
|
-
agno/os/routers/registry/registry.py,sha256=
|
|
379
|
+
agno/os/routers/registry/registry.py,sha256=dlXEs0JsxNEvsfqcw_J_JTn171eQtZ3NMggQyZWwPns,22664
|
|
369
380
|
agno/os/routers/session/__init__.py,sha256=du4LO9aZwiY1t59VcV9M6wiAfftFFlUZc-YXsTGy9LI,97
|
|
370
381
|
agno/os/routers/session/session.py,sha256=oDAwi6iZTsqkDwt0MehCCUox5IC838CG7TFdgePHQ4c,57764
|
|
371
382
|
agno/os/routers/teams/__init__.py,sha256=j2aPA09mwwn_vOG8p2uX0sDR-qNbLLRlPlprqM789NY,88
|
|
@@ -375,7 +386,7 @@ agno/os/routers/traces/__init__.py,sha256=v-QMRjlrw1iLkh2UawukKWfZ2R66L-OQmAGR-k
|
|
|
375
386
|
agno/os/routers/traces/schemas.py,sha256=_O7tfF3aAPR-R1Q9noakWxjbI20UxkemVh7P2Dkw71I,20034
|
|
376
387
|
agno/os/routers/traces/traces.py,sha256=63SZ_oMeHsnxmg6khZ5-FPr2PcHCu1m9Sq48kh3n-6A,24413
|
|
377
388
|
agno/os/routers/workflows/__init__.py,sha256=1VnCzNTwxT9Z9EHskfqtrl1zhXGPPKuR4TktYdKd1RI,146
|
|
378
|
-
agno/os/routers/workflows/router.py,sha256=
|
|
389
|
+
agno/os/routers/workflows/router.py,sha256=YqZwQGU5g0t3bXi98BubfRa2QfaNM3iK0-sq3K0HVZE,32558
|
|
379
390
|
agno/os/routers/workflows/schema.py,sha256=lDTblUnW60cc96opo2OY1Yc8wwtduvLZGax3v0X-5Ac,5749
|
|
380
391
|
agno/reasoning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
381
392
|
agno/reasoning/anthropic.py,sha256=qv1cAUCN7DX7Ka4VKyXkgrnTGBZl0Om0FFaRghJ8gSo,6310
|
|
@@ -391,7 +402,7 @@ agno/reasoning/openai.py,sha256=BrZVv0ciZgzoq71h0Ra7mg1czeMRhzDGUMtyPQHgeuQ,8140
|
|
|
391
402
|
agno/reasoning/step.py,sha256=6DaOb_0DJRz9Yh1w_mxcRaOSVzIQDrj3lQ6rzHLdIwA,1220
|
|
392
403
|
agno/reasoning/vertexai.py,sha256=LJeS9VFYUF_16lqPCdTM5xBYlk9KcXY72WkvQi6ynWM,6150
|
|
393
404
|
agno/registry/__init__.py,sha256=nsqlkNEFS2SvZkPWITJuRJ8kRSa6hAloUq8jFX8u4JA,68
|
|
394
|
-
agno/registry/registry.py,sha256=
|
|
405
|
+
agno/registry/registry.py,sha256=l8mOT3VkmIpmsmYyRoA7_9u-KTrHNAOm9F84QhZKDIs,2631
|
|
395
406
|
agno/remote/__init__.py,sha256=zgDS3cO_6VavICojsmG8opJ49wLwydftGE6i6_yPDTo,66
|
|
396
407
|
agno/remote/base.py,sha256=D2TDs7rmlbxgbLEArga7jq9IgdKSzhs_jzoUO43WDQo,23358
|
|
397
408
|
agno/run/__init__.py,sha256=GZwloCe48rEAjkb_xOJ7piOjICmHawiR1d4SqBtUd-k,222
|
|
@@ -401,7 +412,7 @@ agno/run/cancel.py,sha256=Tyxg4lxwSvO2wSZDG4OF82ORQU6MYBu94YLqrEnK09Y,3019
|
|
|
401
412
|
agno/run/messages.py,sha256=rAC4CLW-xBA6qFS1BOvcjJ9j_qYf0a7sX1mcdY04zMU,1126
|
|
402
413
|
agno/run/requirement.py,sha256=5M_L-3nKLPDS0tUxTbFNvgXgWfWUyEohQz_3bxNc39M,6817
|
|
403
414
|
agno/run/team.py,sha256=F3IRagtwuXil-wizeo9LVuv5jhS7R90nAleO5kuWFR4,30764
|
|
404
|
-
agno/run/workflow.py,sha256=
|
|
415
|
+
agno/run/workflow.py,sha256=s8Q6jZ48E6GXQ7DiWni91s041YQMhC-tbQ-JKoL6WPk,25260
|
|
405
416
|
agno/run/cancellation_management/__init__.py,sha256=tA_u4MeG2dgm8cWJRXy0X6HF4mv6Kc55gykoSnuMPf0,406
|
|
406
417
|
agno/run/cancellation_management/base.py,sha256=nNh5yqfjp4Bpn03RE7T2jzLbzvY007ckzGhd-XKmZpk,2408
|
|
407
418
|
agno/run/cancellation_management/in_memory_cancellation_manager.py,sha256=p04IxrXG8FcHG3X-YS-ApNAdVj8kY1ZKBeUavdypZjM,3956
|
|
@@ -410,19 +421,19 @@ agno/session/__init__.py,sha256=p6eqzWcLSHiMex2yZvkwv2yrFUNdGs21TGMS49xrEC4,376
|
|
|
410
421
|
agno/session/agent.py,sha256=8vVtwwUC5moGWdRcG99Ik6Ay7gbFRrPPnT1ncOUFQIg,10365
|
|
411
422
|
agno/session/summary.py,sha256=9JnDyQyggckd3zx6L8Q5f-lglZvrFQxvPjGU8gLCgR4,10292
|
|
412
423
|
agno/session/team.py,sha256=J7QIy8oCi2_eWs0ToDs7VHHfeFQI34cF4i1Yx7Tbv_M,13388
|
|
413
|
-
agno/session/workflow.py,sha256=
|
|
424
|
+
agno/session/workflow.py,sha256=9aYmd4g-Cb5jrGlfW6CWeGlcRRJ3TSOyoruJOxoLbJ8,19687
|
|
414
425
|
agno/skills/__init__.py,sha256=nGwBH_8uqu6Dmj4lojjfsQSH7A-LjqvCEzjUcJs0R3U,502
|
|
415
426
|
agno/skills/agent_skills.py,sha256=8MlFblQTeYin7ioQ2FKBM9l1DZCG_O5c73OaA0Uo14g,13647
|
|
416
427
|
agno/skills/errors.py,sha256=jltbTsKSl-_MESUVtIO9XZWQOn34KCNYPIW4XnsFWKs,772
|
|
417
428
|
agno/skills/skill.py,sha256=-MTxSJk0w5DITejVExtwUaBV_eJXdMIZ_rxYXSl5Ij8,2534
|
|
418
|
-
agno/skills/utils.py,sha256=
|
|
429
|
+
agno/skills/utils.py,sha256=ps_VmJTOrWC0dzRF8D2WOT7CnUX1IRbuVwMFnt2KhUs,5981
|
|
419
430
|
agno/skills/validator.py,sha256=_g0UEO3e8AEIUqvg_GCTMzmOOIYU5XKYxgyP0YGKTe4,8082
|
|
420
431
|
agno/skills/loaders/__init__.py,sha256=1Lb6T2BkyQECIKIk-n5F6Unxm7CT1PEan_iYrTMtmrU,141
|
|
421
432
|
agno/skills/loaders/base.py,sha256=Syt6lIOe-m_Kz68ndwuVed3wZFAPvYDDnJkhypazYJ8,743
|
|
422
433
|
agno/skills/loaders/local.py,sha256=7budE7d-JG86XyqnRwo495yiYWDjj16yDV67aiSacOQ,7478
|
|
423
434
|
agno/team/__init__.py,sha256=Ff5VMcZnkimttdCcRFEL852JgInlWCkpdlgyfhXfIo8,971
|
|
424
435
|
agno/team/remote.py,sha256=BgUEQsTFA4tehDas1YO7lwQCj3cLJrxfoSFVOYm_1po,16979
|
|
425
|
-
agno/team/team.py,sha256=
|
|
436
|
+
agno/team/team.py,sha256=STW-Ju0wHGz7sXL-HWS2FtAnOF6GiNfhqR4q_5bidr8,477323
|
|
426
437
|
agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
|
|
427
438
|
agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
|
|
428
439
|
agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
|
|
@@ -544,7 +555,7 @@ agno/tools/zendesk.py,sha256=OgvK0bQGIHnRmN8X6OxyGI7P0Si6w4sodZr6FfmNR50,3084
|
|
|
544
555
|
agno/tools/zep.py,sha256=i3yDNlVJLM0CK8SFHi-64fs0DfHMUwqu1CCrMvzJ95M,19305
|
|
545
556
|
agno/tools/zoom.py,sha256=PD3l-JJ6VK1XJLXF8ciPScS6oRH8CHl7OQtoiZq8VK0,15963
|
|
546
557
|
agno/tools/mcp/__init__.py,sha256=VqnrxQzDMGcT9gRI5sXAmZ1ccuomGNCfHYQSYxlyZaw,278
|
|
547
|
-
agno/tools/mcp/mcp.py,sha256=
|
|
558
|
+
agno/tools/mcp/mcp.py,sha256=Id00Kni0eONxr_gcWy-_cV3jfCt-T2ZkIFg1REDcCjQ,27524
|
|
548
559
|
agno/tools/mcp/multi_mcp.py,sha256=lYO_euSw_gJdky6cZyJtQ53s1igrsMaxR-bL8DJMF60,25659
|
|
549
560
|
agno/tools/mcp/params.py,sha256=Ng9RhXeUgHCDh2mzPAKoAdsTctKfurrt5VYmbrUgfVA,666
|
|
550
561
|
agno/tools/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -633,7 +644,7 @@ agno/vectordb/clickhouse/index.py,sha256=_YW-8AuEYy5kzOHi0zIzjngpQPgJOBdSrn9BfEL
|
|
|
633
644
|
agno/vectordb/couchbase/__init__.py,sha256=dKZkcQLFN4r2_NIdXby4inzAAn4BDMlb9T2BW_i0_gQ,93
|
|
634
645
|
agno/vectordb/couchbase/couchbase.py,sha256=SDyNQGq_wD5mkUIQGkYtR7AZCUxf7fIw50YmI0N1T5U,65636
|
|
635
646
|
agno/vectordb/lancedb/__init__.py,sha256=tb9qvinKyWMTLjJYMwW_lhYHFvrfWTfHODtBfMj-NLE,111
|
|
636
|
-
agno/vectordb/lancedb/lance_db.py,sha256=
|
|
647
|
+
agno/vectordb/lancedb/lance_db.py,sha256=xk7Iq9xzutuzTwdF9-zasLkWuFbvJpmD57sMYmGW7sc,42468
|
|
637
648
|
agno/vectordb/langchaindb/__init__.py,sha256=BxGs6tcEKTiydbVJL3P5djlnafS5Bbgql3u1k6vhW2w,108
|
|
638
649
|
agno/vectordb/langchaindb/langchaindb.py,sha256=AS-Jrh7gXKYkSHFiXKiD0kwL-FUFz10VbYksm8UEBAU,6391
|
|
639
650
|
agno/vectordb/lightrag/__init__.py,sha256=fgQpA8pZW-jEHI91SZ_xgmROmv14oKdwCQZ8LpyipaE,84
|
|
@@ -663,19 +674,20 @@ agno/vectordb/upstashdb/upstashdb.py,sha256=AAalti8wCNGikjTE_mDLVQmyuPiNVrY_KFsH
|
|
|
663
674
|
agno/vectordb/weaviate/__init__.py,sha256=CF56_hm_DJq2JOYyzKwyrnGaSJoAFWHDvqvx5Z2SSI0,212
|
|
664
675
|
agno/vectordb/weaviate/index.py,sha256=y4XYPRZFksMfrrF85B4hn5AtmXM4SH--4CyLo27EHgM,253
|
|
665
676
|
agno/vectordb/weaviate/weaviate.py,sha256=B5mP2uGIbgMA1uP_JGWpjAJ7IUGm4ZHpVke_lQY0it4,40639
|
|
666
|
-
agno/workflow/__init__.py,sha256=
|
|
677
|
+
agno/workflow/__init__.py,sha256=xkd7MDog05bqKJHl-pbRexrGjZuCzYi5Mu_eGlTrjt0,902
|
|
667
678
|
agno/workflow/agent.py,sha256=PSt7X8BOgO9Rmh1YnT3I9HBq360IjdXfaKNzffqqiRw,12173
|
|
668
|
-
agno/workflow/
|
|
669
|
-
agno/workflow/
|
|
670
|
-
agno/workflow/
|
|
679
|
+
agno/workflow/cel.py,sha256=ye_t6HN11isEX9aSNgd88tN1uuj9R7IGPI3RueLmoOY,10066
|
|
680
|
+
agno/workflow/condition.py,sha256=1C5wj_pg5HBI64eQrUCuly80LUjDSCykj17mFGtKIlA,43692
|
|
681
|
+
agno/workflow/loop.py,sha256=FbxvBA_spgnkwXq3cqWZEU9eoSVrKrmDnCJ-YTZvpSw,39547
|
|
682
|
+
agno/workflow/parallel.py,sha256=tEHncu9gQBLKWnNNzIHMiiNi8iGSmPJf3cd3CEj7uOs,40008
|
|
671
683
|
agno/workflow/remote.py,sha256=-turwcZ0Nm0rsltJAFfG6IzyhTujJZs9lPoV-W2anUs,14144
|
|
672
|
-
agno/workflow/router.py,sha256=
|
|
673
|
-
agno/workflow/step.py,sha256=
|
|
674
|
-
agno/workflow/steps.py,sha256=
|
|
684
|
+
agno/workflow/router.py,sha256=XDgsiUoiU9JGHjpsRFhexgWiRs_Y5nPwIegoiHmUR9M,40927
|
|
685
|
+
agno/workflow/step.py,sha256=9hQzoIVUmHNZA1PCKoB-m9e5-dAUxQokrwux2ii9g0k,78271
|
|
686
|
+
agno/workflow/steps.py,sha256=GfuxfvCoN7B16BtHPo7zYgB-i8_9DYnYr8XIjiWNXkY,28260
|
|
675
687
|
agno/workflow/types.py,sha256=t4304WCKB19QFdV3ixXZICcU8wtBza4EBCIz5Ve6MSQ,18035
|
|
676
|
-
agno/workflow/workflow.py,sha256=
|
|
677
|
-
agno-2.4.
|
|
678
|
-
agno-2.4.
|
|
679
|
-
agno-2.4.
|
|
680
|
-
agno-2.4.
|
|
681
|
-
agno-2.4.
|
|
688
|
+
agno/workflow/workflow.py,sha256=98v9TDNeep0GnHb3mOfaluXplC0lWZEajJ3gpZpyXaw,221055
|
|
689
|
+
agno-2.4.8.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
690
|
+
agno-2.4.8.dist-info/METADATA,sha256=dzuJgPy_zeAexRGHfnQmjdQvvFWHlNhDP_VgdNnWKbg,21526
|
|
691
|
+
agno-2.4.8.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
|
|
692
|
+
agno-2.4.8.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
|
|
693
|
+
agno-2.4.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|