agno 2.4.7__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/sqlite/sqlite.py +4 -4
- 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/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/session/workflow.py +1 -1
- agno/skills/utils.py +100 -2
- agno/team/team.py +6 -3
- agno/vectordb/lancedb/lance_db.py +22 -7
- agno/workflow/__init__.py +4 -0
- agno/workflow/cel.py +299 -0
- agno/workflow/condition.py +145 -2
- 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.7.dist-info → agno-2.4.8.dist-info}/METADATA +24 -36
- {agno-2.4.7.dist-info → agno-2.4.8.dist-info}/RECORD +45 -34
- {agno-2.4.7.dist-info → agno-2.4.8.dist-info}/WHEEL +0 -0
- {agno-2.4.7.dist-info → agno-2.4.8.dist-info}/licenses/LICENSE +0 -0
- {agno-2.4.7.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
|
|
@@ -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
|
|
@@ -99,7 +99,7 @@ agno/db/singlestore/utils.py,sha256=vJ6QM-wbJBzA8l5ULYbJ5KLB9c3-GZqtb0NWdy5gg2c,
|
|
|
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
|
|
@@ -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
|
|
@@ -204,7 +212,7 @@ agno/learn/stores/decision_log.py,sha256=gzGhHKe8YZ3I8C_xuTJzAobUmVQRhrFZSZ5W9py
|
|
|
204
212
|
agno/learn/stores/entity_memory.py,sha256=6liU6aoR7C2tI91fgU2BUChtTYlCLM1dH4Ad6Iu7dOY,117078
|
|
205
213
|
agno/learn/stores/learned_knowledge.py,sha256=raSP6T4zEEYRzEtepA4Vi042yqZpWbM7mIcPSFZiFh8,57001
|
|
206
214
|
agno/learn/stores/protocol.py,sha256=SaB76BIXCQMTcEHQDNxUxPnOE2Jx9MMPj3tNsk9_VJk,3324
|
|
207
|
-
agno/learn/stores/session_context.py,sha256=
|
|
215
|
+
agno/learn/stores/session_context.py,sha256=j3uKhDZKE_U8iILy765adTtgfe1DS8dEBWcEt8YMMpw,48562
|
|
208
216
|
agno/learn/stores/user_memory.py,sha256=le3Vi1hsokopWeMkme9t-ju6GCP1w6z16iJ6Mi6hKdQ,55648
|
|
209
217
|
agno/learn/stores/user_profile.py,sha256=p-TDwaD6HDbFdELysQaLO_eo1UOARgENVAjdjv6TAdw,40763
|
|
210
218
|
agno/memory/__init__.py,sha256=hB7aQmxTHTMX4prgoLabas1Ic_LvT777oR_ECIXyAiM,419
|
|
@@ -219,7 +227,7 @@ agno/models/defaults.py,sha256=1_fe4-ZbNriE8BgqxVRVi4KGzEYxYKYsz4hn6CZNEEM,40
|
|
|
219
227
|
agno/models/message.py,sha256=5bZOFdZuhsQw06nNppvFJq-JGI4lqQt4sVhdjfEFBZM,19976
|
|
220
228
|
agno/models/metrics.py,sha256=bQJ5DMoFcrb2EyA2VUm4u9HVGbgTKO5F1o2A_t_7hqI,4913
|
|
221
229
|
agno/models/response.py,sha256=xZQ-2L5tciX70hTbniSp2XLt9OTBuasW4_lsWMGGfoM,7976
|
|
222
|
-
agno/models/utils.py,sha256=
|
|
230
|
+
agno/models/utils.py,sha256=xcaT504taSQdcsFGVXPFrDpcPuXNrtL5Tq7atxlwjaA,7533
|
|
223
231
|
agno/models/aimlapi/__init__.py,sha256=XQcFRvt4qJ8ol9nCC0XKEkVEDivdNf3nZNoJZMZ5m8M,78
|
|
224
232
|
agno/models/aimlapi/aimlapi.py,sha256=ELPv8RuEc6qUq4JxWEJVRITsK71rzUxw6_cP3Zd8Vz0,2179
|
|
225
233
|
agno/models/anthropic/__init__.py,sha256=nbReX3p17JCwfrMDR9hR7-OaEFZm80I7dng93dl-Fhw,77
|
|
@@ -229,7 +237,7 @@ agno/models/aws/bedrock.py,sha256=qK95OEoJBwkMj3NFB-o9F2JTp1Z_ygp6dBupxFI24fM,32
|
|
|
229
237
|
agno/models/aws/claude.py,sha256=d_vwWtZZw3KHOOTLrPV_C7IWozIMxNafAHmxesyg1mk,9097
|
|
230
238
|
agno/models/azure/__init__.py,sha256=EoFdJHjayvmv_VOmaW9cJguwA1K5OFS_nFeazyn0B2w,605
|
|
231
239
|
agno/models/azure/ai_foundry.py,sha256=VMIci3geZ5KGq-ua7k0eHH33gBFOWbJWamEsxtmiaqg,19915
|
|
232
|
-
agno/models/azure/openai_chat.py,sha256=
|
|
240
|
+
agno/models/azure/openai_chat.py,sha256=9qBIHzs7EjZ2f6hy9nkgyw2hsV9m4Ut4YlST5T8GfrQ,5874
|
|
233
241
|
agno/models/cerebras/__init__.py,sha256=F3vE0lmMu-qDQ_Y7hg_czJitLsvNu4SfPv174wg1cq8,376
|
|
234
242
|
agno/models/cerebras/cerebras.py,sha256=Q2AgXTXRNDh9CryjbTqNxpCg2USUzErDIRTU5tv0tEQ,23122
|
|
235
243
|
agno/models/cerebras/cerebras_openai.py,sha256=ut4_xz6gKWKA-kJZCWjpk0RuCrvLe0YDrzofxh9E7_U,4907
|
|
@@ -276,6 +284,8 @@ agno/models/n1n/__init__.py,sha256=CymyKzTZWr-klifwaxzGTMDSVaPxBVtKOHQ-4VaPiWg,5
|
|
|
276
284
|
agno/models/n1n/n1n.py,sha256=UW7MPHNAU0sfMTaHh7HIYcWVSuc_-I16KrrlsqF1I2U,1977
|
|
277
285
|
agno/models/nebius/__init__.py,sha256=gW2yvxIfV2gxxOnBtTP8MCpI9AvMbIE6VTw-gY01Uvg,67
|
|
278
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
|
|
279
289
|
agno/models/nexus/__init__.py,sha256=q9pwjZ2KXpG1B3Cy8ujrj3_s0a_LI5SaekXJL6mh4gE,63
|
|
280
290
|
agno/models/nexus/nexus.py,sha256=rJcBQXR1aqUiLWMPBRuHIEh87wVrsqXup1hr_smanBQ,635
|
|
281
291
|
agno/models/nvidia/__init__.py,sha256=O0g3_0_ciOz0AH4Y4CAL7YRfhdDPAvhDzNjJmgWKT78,74
|
|
@@ -312,13 +322,13 @@ agno/models/vllm/vllm.py,sha256=qaWgYcmegJZL52ZjmuIoryBpZ9LpOvYHFY-AYxVirA4,2806
|
|
|
312
322
|
agno/models/xai/__init__.py,sha256=ukcCxnCHxTtkJNA2bAMTX4MhCv1wJcbiq8ZIfYczIxs,55
|
|
313
323
|
agno/models/xai/xai.py,sha256=i7QoRiVdmoQ1E8Zw_e60qQgF85geZXWRPtEKioIInSU,4796
|
|
314
324
|
agno/os/__init__.py,sha256=h8oQu7vhD5RZf09jkyM_Kt1Kdq_d5kFB9gJju8QPwcY,55
|
|
315
|
-
agno/os/app.py,sha256=
|
|
325
|
+
agno/os/app.py,sha256=crRPtU3kuvVvYyhDq4etzmJnViv0mh1EJ7ElYf5rB0A,47837
|
|
316
326
|
agno/os/auth.py,sha256=3-0FUvj5o5e0qOl1ixEJ8NLdchpr8AroKaK_4pojp7w,11291
|
|
317
327
|
agno/os/config.py,sha256=z0wNd576_qsQGsQWsMRIZzjknDVEPlKWF_pHE6VBUyY,3538
|
|
318
328
|
agno/os/managers.py,sha256=j7Y07yEsW03iKEy1itb3sq3PXcJS3ipJbK4rTqk6_Ow,13086
|
|
319
329
|
agno/os/mcp.py,sha256=TNkq9y20RBrCFx3iIk1MPrct6gCTYV0KMPS_1EwNghs,31393
|
|
320
330
|
agno/os/router.py,sha256=WiWtf7FHXR8_IzT3Bbi2lX4j4DAhBLL06zbDhVR0Iog,12401
|
|
321
|
-
agno/os/schema.py,sha256=
|
|
331
|
+
agno/os/schema.py,sha256=qYnKOUCQDfQpXmdRRerkj3Z_XaXqw3YBOociuI0KLt0,38045
|
|
322
332
|
agno/os/scopes.py,sha256=gH3Obo618gHKt5h-N1OkWqB4UPl2LZygd7GW7pKzdAc,15696
|
|
323
333
|
agno/os/settings.py,sha256=gS9pN1w21wsa5XqDkK-RfQmroAaqoX4KZBfRuhUevkM,1556
|
|
324
334
|
agno/os/utils.py,sha256=x60JkKFgteAFoRarBJTaKiaQd4584EjVLqHfCryWUtw,39195
|
|
@@ -330,7 +340,7 @@ agno/os/interfaces/a2a/router.py,sha256=Upd7DZz9qk5cnaFLqfQ-05HSBdwL4ZPdfRfn63RM
|
|
|
330
340
|
agno/os/interfaces/a2a/utils.py,sha256=coYLdYehsX_ffa4iycc0PdYLSiqt9lAxOLJTlaSriVo,40304
|
|
331
341
|
agno/os/interfaces/agui/__init__.py,sha256=1zrGICk4roXUINwSFZfqH6sBsbHmD5KjGYVJMGg4fKQ,66
|
|
332
342
|
agno/os/interfaces/agui/agui.py,sha256=KjQ3qrTCtFWDcHk3ViPguV6FvSuYKrAwENbDzUCcscM,1543
|
|
333
|
-
agno/os/interfaces/agui/router.py,sha256=
|
|
343
|
+
agno/os/interfaces/agui/router.py,sha256=bBXqAzlaDo33ZXiV36CQVlD9lfIoA5hD77ESiQ78wCI,5654
|
|
334
344
|
agno/os/interfaces/agui/utils.py,sha256=veRYnk8EVSuF2owJjNFUhQRsyqbxIlFQnAqjB0KY0mU,23645
|
|
335
345
|
agno/os/interfaces/slack/__init__.py,sha256=F095kOcgiyk_KzIozNNieKwpVc_NR8HYpuO4bKiCNN0,70
|
|
336
346
|
agno/os/interfaces/slack/router.py,sha256=PqlObVE396in76wN5bef8YxeFWYANwlcrvw0Fau3vGY,6402
|
|
@@ -351,13 +361,13 @@ agno/os/routers/agents/__init__.py,sha256=nr1H0Mp7NlWPnvu0ccaHVSPHz-lXg43TRMApkU
|
|
|
351
361
|
agno/os/routers/agents/router.py,sha256=zfj9JuruHiucl-3jqOTp0sWkHydI7rHNCD20q3Hej-c,26615
|
|
352
362
|
agno/os/routers/agents/schema.py,sha256=4jVKsM-KVSQEwN4EIzUT3fzs7OF7QQ6sdS8f40_IGPk,12940
|
|
353
363
|
agno/os/routers/components/__init__.py,sha256=yzvMCbvRYU2pMRWNNgDH9hmVq4jhMqsUG2aIeEyNcpE,109
|
|
354
|
-
agno/os/routers/components/components.py,sha256=
|
|
364
|
+
agno/os/routers/components/components.py,sha256=E6tI3-vduXhWIMMRaK1BjGhOZDoJvcFJoy39iFdGTsQ,18854
|
|
355
365
|
agno/os/routers/evals/__init__.py,sha256=3s0M-Ftg5A3rFyRfTATs-0aNA6wcbj_5tCvtwH9gORQ,87
|
|
356
366
|
agno/os/routers/evals/evals.py,sha256=9DErwITEV6O1BAr28asB29Yvgy8C5wtzQyz-ys-yJzw,23478
|
|
357
367
|
agno/os/routers/evals/schemas.py,sha256=ouz-tsFNsPMnYE4Y7Cti_ZbBHsL6XiXFQVXz97BYe_k,7767
|
|
358
368
|
agno/os/routers/evals/utils.py,sha256=MjOPY0xNdJZY04_4YQxsv3FPCsKTMDix8jyKDWwn6kc,8367
|
|
359
369
|
agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyHXOWooMaU,105
|
|
360
|
-
agno/os/routers/knowledge/knowledge.py,sha256=
|
|
370
|
+
agno/os/routers/knowledge/knowledge.py,sha256=gAhaxATlW2g93wubA9u4jktOSkZ0-EcO0sQXHr-qR_k,57087
|
|
361
371
|
agno/os/routers/knowledge/schemas.py,sha256=Db_K8OVXCfjmrWucDzvioIHqGkKPeFGEroRrN7sON1Y,9523
|
|
362
372
|
agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
|
|
363
373
|
agno/os/routers/memory/memory.py,sha256=SAXNlJTsQ-orSQymlQ-XVgN6RLlui3W9tB0NVSOWLrA,32854
|
|
@@ -366,7 +376,7 @@ agno/os/routers/metrics/__init__.py,sha256=Uw6wWEikLpF5hHxBkHtFyaTuz7OUerGYWk0JW
|
|
|
366
376
|
agno/os/routers/metrics/metrics.py,sha256=HmABUctqrgaQ1zF3vVQp8AH8EvAd1ntLoJ-2BR9FqIw,9488
|
|
367
377
|
agno/os/routers/metrics/schemas.py,sha256=dZGVMQtKn5yykNsi65iV9X8tZXKGCPZymZhE46fF8Tw,2875
|
|
368
378
|
agno/os/routers/registry/__init__.py,sha256=85ZU3JL7qWRp-bwHFzw-SmcRzkUrHq__Q1Dwt2Fk6LA,101
|
|
369
|
-
agno/os/routers/registry/registry.py,sha256=
|
|
379
|
+
agno/os/routers/registry/registry.py,sha256=dlXEs0JsxNEvsfqcw_J_JTn171eQtZ3NMggQyZWwPns,22664
|
|
370
380
|
agno/os/routers/session/__init__.py,sha256=du4LO9aZwiY1t59VcV9M6wiAfftFFlUZc-YXsTGy9LI,97
|
|
371
381
|
agno/os/routers/session/session.py,sha256=oDAwi6iZTsqkDwt0MehCCUox5IC838CG7TFdgePHQ4c,57764
|
|
372
382
|
agno/os/routers/teams/__init__.py,sha256=j2aPA09mwwn_vOG8p2uX0sDR-qNbLLRlPlprqM789NY,88
|
|
@@ -376,7 +386,7 @@ agno/os/routers/traces/__init__.py,sha256=v-QMRjlrw1iLkh2UawukKWfZ2R66L-OQmAGR-k
|
|
|
376
386
|
agno/os/routers/traces/schemas.py,sha256=_O7tfF3aAPR-R1Q9noakWxjbI20UxkemVh7P2Dkw71I,20034
|
|
377
387
|
agno/os/routers/traces/traces.py,sha256=63SZ_oMeHsnxmg6khZ5-FPr2PcHCu1m9Sq48kh3n-6A,24413
|
|
378
388
|
agno/os/routers/workflows/__init__.py,sha256=1VnCzNTwxT9Z9EHskfqtrl1zhXGPPKuR4TktYdKd1RI,146
|
|
379
|
-
agno/os/routers/workflows/router.py,sha256=
|
|
389
|
+
agno/os/routers/workflows/router.py,sha256=YqZwQGU5g0t3bXi98BubfRa2QfaNM3iK0-sq3K0HVZE,32558
|
|
380
390
|
agno/os/routers/workflows/schema.py,sha256=lDTblUnW60cc96opo2OY1Yc8wwtduvLZGax3v0X-5Ac,5749
|
|
381
391
|
agno/reasoning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
382
392
|
agno/reasoning/anthropic.py,sha256=qv1cAUCN7DX7Ka4VKyXkgrnTGBZl0Om0FFaRghJ8gSo,6310
|
|
@@ -392,7 +402,7 @@ agno/reasoning/openai.py,sha256=BrZVv0ciZgzoq71h0Ra7mg1czeMRhzDGUMtyPQHgeuQ,8140
|
|
|
392
402
|
agno/reasoning/step.py,sha256=6DaOb_0DJRz9Yh1w_mxcRaOSVzIQDrj3lQ6rzHLdIwA,1220
|
|
393
403
|
agno/reasoning/vertexai.py,sha256=LJeS9VFYUF_16lqPCdTM5xBYlk9KcXY72WkvQi6ynWM,6150
|
|
394
404
|
agno/registry/__init__.py,sha256=nsqlkNEFS2SvZkPWITJuRJ8kRSa6hAloUq8jFX8u4JA,68
|
|
395
|
-
agno/registry/registry.py,sha256=
|
|
405
|
+
agno/registry/registry.py,sha256=l8mOT3VkmIpmsmYyRoA7_9u-KTrHNAOm9F84QhZKDIs,2631
|
|
396
406
|
agno/remote/__init__.py,sha256=zgDS3cO_6VavICojsmG8opJ49wLwydftGE6i6_yPDTo,66
|
|
397
407
|
agno/remote/base.py,sha256=D2TDs7rmlbxgbLEArga7jq9IgdKSzhs_jzoUO43WDQo,23358
|
|
398
408
|
agno/run/__init__.py,sha256=GZwloCe48rEAjkb_xOJ7piOjICmHawiR1d4SqBtUd-k,222
|
|
@@ -411,19 +421,19 @@ agno/session/__init__.py,sha256=p6eqzWcLSHiMex2yZvkwv2yrFUNdGs21TGMS49xrEC4,376
|
|
|
411
421
|
agno/session/agent.py,sha256=8vVtwwUC5moGWdRcG99Ik6Ay7gbFRrPPnT1ncOUFQIg,10365
|
|
412
422
|
agno/session/summary.py,sha256=9JnDyQyggckd3zx6L8Q5f-lglZvrFQxvPjGU8gLCgR4,10292
|
|
413
423
|
agno/session/team.py,sha256=J7QIy8oCi2_eWs0ToDs7VHHfeFQI34cF4i1Yx7Tbv_M,13388
|
|
414
|
-
agno/session/workflow.py,sha256=
|
|
424
|
+
agno/session/workflow.py,sha256=9aYmd4g-Cb5jrGlfW6CWeGlcRRJ3TSOyoruJOxoLbJ8,19687
|
|
415
425
|
agno/skills/__init__.py,sha256=nGwBH_8uqu6Dmj4lojjfsQSH7A-LjqvCEzjUcJs0R3U,502
|
|
416
426
|
agno/skills/agent_skills.py,sha256=8MlFblQTeYin7ioQ2FKBM9l1DZCG_O5c73OaA0Uo14g,13647
|
|
417
427
|
agno/skills/errors.py,sha256=jltbTsKSl-_MESUVtIO9XZWQOn34KCNYPIW4XnsFWKs,772
|
|
418
428
|
agno/skills/skill.py,sha256=-MTxSJk0w5DITejVExtwUaBV_eJXdMIZ_rxYXSl5Ij8,2534
|
|
419
|
-
agno/skills/utils.py,sha256=
|
|
429
|
+
agno/skills/utils.py,sha256=ps_VmJTOrWC0dzRF8D2WOT7CnUX1IRbuVwMFnt2KhUs,5981
|
|
420
430
|
agno/skills/validator.py,sha256=_g0UEO3e8AEIUqvg_GCTMzmOOIYU5XKYxgyP0YGKTe4,8082
|
|
421
431
|
agno/skills/loaders/__init__.py,sha256=1Lb6T2BkyQECIKIk-n5F6Unxm7CT1PEan_iYrTMtmrU,141
|
|
422
432
|
agno/skills/loaders/base.py,sha256=Syt6lIOe-m_Kz68ndwuVed3wZFAPvYDDnJkhypazYJ8,743
|
|
423
433
|
agno/skills/loaders/local.py,sha256=7budE7d-JG86XyqnRwo495yiYWDjj16yDV67aiSacOQ,7478
|
|
424
434
|
agno/team/__init__.py,sha256=Ff5VMcZnkimttdCcRFEL852JgInlWCkpdlgyfhXfIo8,971
|
|
425
435
|
agno/team/remote.py,sha256=BgUEQsTFA4tehDas1YO7lwQCj3cLJrxfoSFVOYm_1po,16979
|
|
426
|
-
agno/team/team.py,sha256=
|
|
436
|
+
agno/team/team.py,sha256=STW-Ju0wHGz7sXL-HWS2FtAnOF6GiNfhqR4q_5bidr8,477323
|
|
427
437
|
agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
|
|
428
438
|
agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
|
|
429
439
|
agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
|
|
@@ -634,7 +644,7 @@ agno/vectordb/clickhouse/index.py,sha256=_YW-8AuEYy5kzOHi0zIzjngpQPgJOBdSrn9BfEL
|
|
|
634
644
|
agno/vectordb/couchbase/__init__.py,sha256=dKZkcQLFN4r2_NIdXby4inzAAn4BDMlb9T2BW_i0_gQ,93
|
|
635
645
|
agno/vectordb/couchbase/couchbase.py,sha256=SDyNQGq_wD5mkUIQGkYtR7AZCUxf7fIw50YmI0N1T5U,65636
|
|
636
646
|
agno/vectordb/lancedb/__init__.py,sha256=tb9qvinKyWMTLjJYMwW_lhYHFvrfWTfHODtBfMj-NLE,111
|
|
637
|
-
agno/vectordb/lancedb/lance_db.py,sha256=
|
|
647
|
+
agno/vectordb/lancedb/lance_db.py,sha256=xk7Iq9xzutuzTwdF9-zasLkWuFbvJpmD57sMYmGW7sc,42468
|
|
638
648
|
agno/vectordb/langchaindb/__init__.py,sha256=BxGs6tcEKTiydbVJL3P5djlnafS5Bbgql3u1k6vhW2w,108
|
|
639
649
|
agno/vectordb/langchaindb/langchaindb.py,sha256=AS-Jrh7gXKYkSHFiXKiD0kwL-FUFz10VbYksm8UEBAU,6391
|
|
640
650
|
agno/vectordb/lightrag/__init__.py,sha256=fgQpA8pZW-jEHI91SZ_xgmROmv14oKdwCQZ8LpyipaE,84
|
|
@@ -664,19 +674,20 @@ agno/vectordb/upstashdb/upstashdb.py,sha256=AAalti8wCNGikjTE_mDLVQmyuPiNVrY_KFsH
|
|
|
664
674
|
agno/vectordb/weaviate/__init__.py,sha256=CF56_hm_DJq2JOYyzKwyrnGaSJoAFWHDvqvx5Z2SSI0,212
|
|
665
675
|
agno/vectordb/weaviate/index.py,sha256=y4XYPRZFksMfrrF85B4hn5AtmXM4SH--4CyLo27EHgM,253
|
|
666
676
|
agno/vectordb/weaviate/weaviate.py,sha256=B5mP2uGIbgMA1uP_JGWpjAJ7IUGm4ZHpVke_lQY0it4,40639
|
|
667
|
-
agno/workflow/__init__.py,sha256=
|
|
677
|
+
agno/workflow/__init__.py,sha256=xkd7MDog05bqKJHl-pbRexrGjZuCzYi5Mu_eGlTrjt0,902
|
|
668
678
|
agno/workflow/agent.py,sha256=PSt7X8BOgO9Rmh1YnT3I9HBq360IjdXfaKNzffqqiRw,12173
|
|
669
|
-
agno/workflow/
|
|
670
|
-
agno/workflow/
|
|
671
|
-
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
|
|
672
683
|
agno/workflow/remote.py,sha256=-turwcZ0Nm0rsltJAFfG6IzyhTujJZs9lPoV-W2anUs,14144
|
|
673
|
-
agno/workflow/router.py,sha256=
|
|
674
|
-
agno/workflow/step.py,sha256=
|
|
675
|
-
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
|
|
676
687
|
agno/workflow/types.py,sha256=t4304WCKB19QFdV3ixXZICcU8wtBza4EBCIz5Ve6MSQ,18035
|
|
677
|
-
agno/workflow/workflow.py,sha256=
|
|
678
|
-
agno-2.4.
|
|
679
|
-
agno-2.4.
|
|
680
|
-
agno-2.4.
|
|
681
|
-
agno-2.4.
|
|
682
|
-
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
|