agno 2.1.1__py3-none-any.whl → 2.1.2__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 +12 -0
- agno/db/base.py +8 -4
- agno/db/dynamo/dynamo.py +69 -17
- agno/db/firestore/firestore.py +68 -29
- agno/db/gcs_json/gcs_json_db.py +68 -17
- agno/db/in_memory/in_memory_db.py +83 -14
- agno/db/json/json_db.py +79 -15
- agno/db/mongo/mongo.py +27 -8
- agno/db/mysql/mysql.py +17 -3
- agno/db/postgres/postgres.py +21 -3
- agno/db/redis/redis.py +38 -11
- agno/db/singlestore/singlestore.py +14 -3
- agno/db/sqlite/sqlite.py +34 -46
- agno/knowledge/reader/field_labeled_csv_reader.py +294 -0
- agno/knowledge/reader/pdf_reader.py +28 -52
- agno/knowledge/reader/reader_factory.py +12 -0
- agno/memory/manager.py +12 -4
- agno/models/anthropic/claude.py +4 -1
- agno/models/aws/bedrock.py +52 -112
- agno/os/app.py +24 -30
- agno/os/interfaces/a2a/__init__.py +3 -0
- agno/os/interfaces/a2a/a2a.py +42 -0
- agno/os/interfaces/a2a/router.py +252 -0
- agno/os/interfaces/a2a/utils.py +924 -0
- agno/os/interfaces/agui/router.py +12 -0
- agno/os/router.py +38 -8
- agno/os/routers/memory/memory.py +5 -3
- agno/os/routers/memory/schemas.py +1 -0
- agno/os/utils.py +36 -10
- agno/team/team.py +12 -0
- agno/tools/mcp.py +46 -1
- agno/utils/merge_dict.py +22 -1
- agno/utils/streamlit.py +1 -1
- agno/workflow/parallel.py +90 -14
- agno/workflow/step.py +30 -27
- agno/workflow/workflow.py +5 -3
- {agno-2.1.1.dist-info → agno-2.1.2.dist-info}/METADATA +16 -14
- {agno-2.1.1.dist-info → agno-2.1.2.dist-info}/RECORD +41 -36
- {agno-2.1.1.dist-info → agno-2.1.2.dist-info}/WHEEL +0 -0
- {agno-2.1.1.dist-info → agno-2.1.2.dist-info}/licenses/LICENSE +0 -0
- {agno-2.1.1.dist-info → agno-2.1.2.dist-info}/top_level.txt +0 -0
agno/workflow/step.py
CHANGED
|
@@ -211,6 +211,8 @@ class Step:
|
|
|
211
211
|
if step_input.previous_step_outputs:
|
|
212
212
|
step_input.previous_step_content = step_input.get_last_step_content()
|
|
213
213
|
|
|
214
|
+
session_state_copy = copy(session_state) if session_state is not None else {}
|
|
215
|
+
|
|
214
216
|
# Execute with retries
|
|
215
217
|
for attempt in range(self.max_retries + 1):
|
|
216
218
|
try:
|
|
@@ -223,7 +225,6 @@ class Step:
|
|
|
223
225
|
if inspect.isgeneratorfunction(self.active_executor):
|
|
224
226
|
content = ""
|
|
225
227
|
final_response = None
|
|
226
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
227
228
|
try:
|
|
228
229
|
for chunk in self._call_custom_function(
|
|
229
230
|
self.active_executor, step_input, session_state_copy
|
|
@@ -244,7 +245,7 @@ class Step:
|
|
|
244
245
|
final_response = e.value
|
|
245
246
|
|
|
246
247
|
# Merge session_state changes back
|
|
247
|
-
if
|
|
248
|
+
if session_state is not None:
|
|
248
249
|
merge_dictionaries(session_state, session_state_copy)
|
|
249
250
|
|
|
250
251
|
if final_response is not None:
|
|
@@ -253,11 +254,10 @@ class Step:
|
|
|
253
254
|
response = StepOutput(content=content)
|
|
254
255
|
else:
|
|
255
256
|
# Execute function with signature inspection for session_state support
|
|
256
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
257
257
|
result = self._call_custom_function(self.active_executor, step_input, session_state_copy) # type: ignore
|
|
258
258
|
|
|
259
259
|
# Merge session_state changes back
|
|
260
|
-
if
|
|
260
|
+
if session_state is not None:
|
|
261
261
|
merge_dictionaries(session_state, session_state_copy)
|
|
262
262
|
|
|
263
263
|
# If function returns StepOutput, use it directly
|
|
@@ -292,7 +292,6 @@ class Step:
|
|
|
292
292
|
if isinstance(self.active_executor, Team):
|
|
293
293
|
kwargs["store_member_responses"] = True
|
|
294
294
|
|
|
295
|
-
session_state_copy = copy(session_state)
|
|
296
295
|
response = self.active_executor.run( # type: ignore
|
|
297
296
|
input=message, # type: ignore
|
|
298
297
|
images=images,
|
|
@@ -305,8 +304,9 @@ class Step:
|
|
|
305
304
|
**kwargs,
|
|
306
305
|
)
|
|
307
306
|
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
if session_state is not None:
|
|
308
|
+
# Update workflow session state
|
|
309
|
+
merge_dictionaries(session_state, session_state_copy) # type: ignore
|
|
310
310
|
|
|
311
311
|
if store_executor_outputs and workflow_run_response is not None:
|
|
312
312
|
self._store_executor_response(workflow_run_response, response) # type: ignore
|
|
@@ -365,6 +365,9 @@ class Step:
|
|
|
365
365
|
if step_input.previous_step_outputs:
|
|
366
366
|
step_input.previous_step_content = step_input.get_last_step_content()
|
|
367
367
|
|
|
368
|
+
# Create session_state copy once to avoid duplication
|
|
369
|
+
session_state_copy = copy(session_state) if session_state is not None else {}
|
|
370
|
+
|
|
368
371
|
# Emit StepStartedEvent
|
|
369
372
|
if stream_intermediate_steps and workflow_run_response:
|
|
370
373
|
yield StepStartedEvent(
|
|
@@ -395,7 +398,6 @@ class Step:
|
|
|
395
398
|
if inspect.isgeneratorfunction(self.active_executor):
|
|
396
399
|
log_debug("Function returned iterable, streaming events")
|
|
397
400
|
content = ""
|
|
398
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
399
401
|
try:
|
|
400
402
|
iterator = self._call_custom_function(self.active_executor, step_input, session_state_copy) # type: ignore
|
|
401
403
|
for event in iterator: # type: ignore
|
|
@@ -414,7 +416,7 @@ class Step:
|
|
|
414
416
|
yield event # type: ignore[misc]
|
|
415
417
|
|
|
416
418
|
# Merge session_state changes back
|
|
417
|
-
if
|
|
419
|
+
if session_state is not None:
|
|
418
420
|
merge_dictionaries(session_state, session_state_copy)
|
|
419
421
|
|
|
420
422
|
if not final_response:
|
|
@@ -424,11 +426,10 @@ class Step:
|
|
|
424
426
|
final_response = e.value
|
|
425
427
|
|
|
426
428
|
else:
|
|
427
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
428
429
|
result = self._call_custom_function(self.active_executor, step_input, session_state_copy) # type: ignore
|
|
429
430
|
|
|
430
431
|
# Merge session_state changes back
|
|
431
|
-
if
|
|
432
|
+
if session_state is not None:
|
|
432
433
|
merge_dictionaries(session_state, session_state_copy)
|
|
433
434
|
|
|
434
435
|
if isinstance(result, StepOutput):
|
|
@@ -462,7 +463,6 @@ class Step:
|
|
|
462
463
|
if isinstance(self.active_executor, Team):
|
|
463
464
|
kwargs["store_member_responses"] = True
|
|
464
465
|
|
|
465
|
-
session_state_copy = copy(session_state)
|
|
466
466
|
response_stream = self.active_executor.run( # type: ignore[call-overload, misc]
|
|
467
467
|
input=message,
|
|
468
468
|
images=images,
|
|
@@ -493,8 +493,9 @@ class Step:
|
|
|
493
493
|
break
|
|
494
494
|
yield event # type: ignore[misc]
|
|
495
495
|
|
|
496
|
-
|
|
497
|
-
|
|
496
|
+
if session_state is not None:
|
|
497
|
+
# Update workflow session state
|
|
498
|
+
merge_dictionaries(session_state, session_state_copy) # type: ignore
|
|
498
499
|
|
|
499
500
|
if store_executor_outputs and workflow_run_response is not None:
|
|
500
501
|
self._store_executor_response(workflow_run_response, active_executor_run_response) # type: ignore
|
|
@@ -565,6 +566,9 @@ class Step:
|
|
|
565
566
|
if step_input.previous_step_outputs:
|
|
566
567
|
step_input.previous_step_content = step_input.get_last_step_content()
|
|
567
568
|
|
|
569
|
+
# Create session_state copy once to avoid duplication
|
|
570
|
+
session_state_copy = copy(session_state) if session_state is not None else {}
|
|
571
|
+
|
|
568
572
|
# Execute with retries
|
|
569
573
|
for attempt in range(self.max_retries + 1):
|
|
570
574
|
try:
|
|
@@ -576,7 +580,6 @@ class Step:
|
|
|
576
580
|
):
|
|
577
581
|
content = ""
|
|
578
582
|
final_response = None
|
|
579
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
580
583
|
try:
|
|
581
584
|
if inspect.isgeneratorfunction(self.active_executor):
|
|
582
585
|
iterator = self._call_custom_function(
|
|
@@ -615,7 +618,7 @@ class Step:
|
|
|
615
618
|
final_response = e.value
|
|
616
619
|
|
|
617
620
|
# Merge session_state changes back
|
|
618
|
-
if
|
|
621
|
+
if session_state is not None:
|
|
619
622
|
merge_dictionaries(session_state, session_state_copy)
|
|
620
623
|
|
|
621
624
|
if final_response is not None:
|
|
@@ -623,7 +626,6 @@ class Step:
|
|
|
623
626
|
else:
|
|
624
627
|
response = StepOutput(content=content)
|
|
625
628
|
else:
|
|
626
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
627
629
|
if inspect.iscoroutinefunction(self.active_executor):
|
|
628
630
|
result = await self._acall_custom_function(
|
|
629
631
|
self.active_executor, step_input, session_state_copy
|
|
@@ -632,7 +634,7 @@ class Step:
|
|
|
632
634
|
result = self._call_custom_function(self.active_executor, step_input, session_state_copy) # type: ignore
|
|
633
635
|
|
|
634
636
|
# Merge session_state changes back
|
|
635
|
-
if
|
|
637
|
+
if session_state is not None:
|
|
636
638
|
merge_dictionaries(session_state, session_state_copy)
|
|
637
639
|
|
|
638
640
|
# If function returns StepOutput, use it directly
|
|
@@ -668,7 +670,6 @@ class Step:
|
|
|
668
670
|
if isinstance(self.active_executor, Team):
|
|
669
671
|
kwargs["store_member_responses"] = True
|
|
670
672
|
|
|
671
|
-
session_state_copy = copy(session_state)
|
|
672
673
|
response = await self.active_executor.arun( # type: ignore
|
|
673
674
|
input=message, # type: ignore
|
|
674
675
|
images=images,
|
|
@@ -681,8 +682,9 @@ class Step:
|
|
|
681
682
|
**kwargs,
|
|
682
683
|
)
|
|
683
684
|
|
|
684
|
-
|
|
685
|
-
|
|
685
|
+
if session_state is not None:
|
|
686
|
+
# Update workflow session state
|
|
687
|
+
merge_dictionaries(session_state, session_state_copy) # type: ignore
|
|
686
688
|
|
|
687
689
|
if store_executor_outputs and workflow_run_response is not None:
|
|
688
690
|
self._store_executor_response(workflow_run_response, response) # type: ignore
|
|
@@ -728,6 +730,9 @@ class Step:
|
|
|
728
730
|
if step_input.previous_step_outputs:
|
|
729
731
|
step_input.previous_step_content = step_input.get_last_step_content()
|
|
730
732
|
|
|
733
|
+
# Create session_state copy once to avoid duplication
|
|
734
|
+
session_state_copy = copy(session_state) if session_state is not None else {}
|
|
735
|
+
|
|
731
736
|
if stream_intermediate_steps and workflow_run_response:
|
|
732
737
|
# Emit StepStartedEvent
|
|
733
738
|
yield StepStartedEvent(
|
|
@@ -751,8 +756,6 @@ class Step:
|
|
|
751
756
|
log_debug(f"Executing async function executor for step: {self.name}")
|
|
752
757
|
import inspect
|
|
753
758
|
|
|
754
|
-
session_state_copy = copy(session_state) if session_state else None
|
|
755
|
-
|
|
756
759
|
# Check if the function is an async generator
|
|
757
760
|
if inspect.isasyncgenfunction(self.active_executor):
|
|
758
761
|
content = ""
|
|
@@ -812,7 +815,7 @@ class Step:
|
|
|
812
815
|
final_response = StepOutput(content=str(result))
|
|
813
816
|
|
|
814
817
|
# Merge session_state changes back
|
|
815
|
-
if
|
|
818
|
+
if session_state is not None:
|
|
816
819
|
merge_dictionaries(session_state, session_state_copy)
|
|
817
820
|
else:
|
|
818
821
|
# For agents and teams, prepare message with context
|
|
@@ -840,7 +843,6 @@ class Step:
|
|
|
840
843
|
if isinstance(self.active_executor, Team):
|
|
841
844
|
kwargs["store_member_responses"] = True
|
|
842
845
|
|
|
843
|
-
session_state_copy = copy(session_state)
|
|
844
846
|
response_stream = self.active_executor.arun( # type: ignore
|
|
845
847
|
input=message,
|
|
846
848
|
images=images,
|
|
@@ -871,8 +873,9 @@ class Step:
|
|
|
871
873
|
break
|
|
872
874
|
yield event # type: ignore[misc]
|
|
873
875
|
|
|
874
|
-
|
|
875
|
-
|
|
876
|
+
if session_state is not None:
|
|
877
|
+
# Update workflow session state
|
|
878
|
+
merge_dictionaries(session_state, session_state_copy) # type: ignore
|
|
876
879
|
|
|
877
880
|
if store_executor_outputs and workflow_run_response is not None:
|
|
878
881
|
self._store_executor_response(workflow_run_response, active_executor_run_response) # type: ignore
|
agno/workflow/workflow.py
CHANGED
|
@@ -875,10 +875,10 @@ class Workflow:
|
|
|
875
875
|
return func(**call_kwargs)
|
|
876
876
|
except TypeError as e:
|
|
877
877
|
# If signature inspection fails, fall back to original method
|
|
878
|
-
logger.
|
|
879
|
-
f"
|
|
878
|
+
logger.error(
|
|
879
|
+
f"Function signature inspection failed: {e}. Falling back to original calling convention."
|
|
880
880
|
)
|
|
881
|
-
return func(**
|
|
881
|
+
return func(**kwargs)
|
|
882
882
|
|
|
883
883
|
def _execute(
|
|
884
884
|
self,
|
|
@@ -2158,6 +2158,7 @@ class Workflow:
|
|
|
2158
2158
|
additional_data=additional_data,
|
|
2159
2159
|
user_id=user_id,
|
|
2160
2160
|
session_id=session_id,
|
|
2161
|
+
session_state=session_state,
|
|
2161
2162
|
audio=audio,
|
|
2162
2163
|
images=images,
|
|
2163
2164
|
videos=videos,
|
|
@@ -2176,6 +2177,7 @@ class Workflow:
|
|
|
2176
2177
|
additional_data=additional_data,
|
|
2177
2178
|
user_id=user_id,
|
|
2178
2179
|
session_id=session_id,
|
|
2180
|
+
session_state=session_state,
|
|
2179
2181
|
audio=audio,
|
|
2180
2182
|
images=images,
|
|
2181
2183
|
videos=videos,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agno
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.2
|
|
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
|
|
@@ -23,6 +23,7 @@ Description-Content-Type: text/markdown
|
|
|
23
23
|
License-File: LICENSE
|
|
24
24
|
Requires-Dist: docstring-parser
|
|
25
25
|
Requires-Dist: gitpython
|
|
26
|
+
Requires-Dist: h11>=0.16.0
|
|
26
27
|
Requires-Dist: httpx
|
|
27
28
|
Requires-Dist: packaging
|
|
28
29
|
Requires-Dist: pydantic-settings
|
|
@@ -247,6 +248,8 @@ Requires-Dist: chonkie[st]; extra == "chonkie"
|
|
|
247
248
|
Requires-Dist: chonkie; extra == "chonkie"
|
|
248
249
|
Provides-Extra: agui
|
|
249
250
|
Requires-Dist: ag-ui-protocol; extra == "agui"
|
|
251
|
+
Provides-Extra: a2a
|
|
252
|
+
Requires-Dist: a2a-sdk; extra == "a2a"
|
|
250
253
|
Provides-Extra: huggingface
|
|
251
254
|
Requires-Dist: huggingface-hub; extra == "huggingface"
|
|
252
255
|
Provides-Extra: performance
|
|
@@ -267,7 +270,6 @@ Requires-Dist: agno[anthropic]; extra == "models"
|
|
|
267
270
|
Requires-Dist: agno[azure]; extra == "models"
|
|
268
271
|
Requires-Dist: agno[cerebras]; extra == "models"
|
|
269
272
|
Requires-Dist: agno[cohere]; extra == "models"
|
|
270
|
-
Requires-Dist: agno[infinity]; extra == "models"
|
|
271
273
|
Requires-Dist: agno[google]; extra == "models"
|
|
272
274
|
Requires-Dist: agno[groq]; extra == "models"
|
|
273
275
|
Requires-Dist: agno[ibm]; extra == "models"
|
|
@@ -379,11 +381,11 @@ Dynamic: license-file
|
|
|
379
381
|
|
|
380
382
|
## What is Agno?
|
|
381
383
|
|
|
382
|
-
[Agno](https://docs.agno.com) is a high-performance runtime for multi-agent systems. Use it to build, run and manage
|
|
384
|
+
[Agno](https://docs.agno.com) is a high-performance SDK and runtime for multi-agent systems. Use it to build, run and manage multi-agent systems in your cloud.
|
|
383
385
|
|
|
384
|
-
Agno
|
|
386
|
+
Agno is the fastest framework for building agents with built-in memory, knowledge, session management, human in the loop and best-in-class MCP support. You can put agents together as multi-agent teams or step-based agentic workflows.
|
|
385
387
|
|
|
386
|
-
In 10 lines of code, we can build an Agent that
|
|
388
|
+
In 10 lines of code, we can build an Agent that uses tools to achieve a task.
|
|
387
389
|
|
|
388
390
|
```python hackernews_agent.py
|
|
389
391
|
from agno.agent import Agent
|
|
@@ -391,22 +393,22 @@ from agno.models.anthropic import Claude
|
|
|
391
393
|
from agno.tools.hackernews import HackerNewsTools
|
|
392
394
|
|
|
393
395
|
agent = Agent(
|
|
394
|
-
model=Claude(id="claude-sonnet-4-
|
|
396
|
+
model=Claude(id="claude-sonnet-4-5"),
|
|
395
397
|
tools=[HackerNewsTools()],
|
|
396
398
|
markdown=True,
|
|
397
399
|
)
|
|
398
|
-
agent.print_response("
|
|
400
|
+
agent.print_response("Write a report on trending startups and products.", stream=True)
|
|
399
401
|
```
|
|
400
402
|
|
|
401
403
|
But the real advantage of Agno is its [AgentOS](https://docs.agno.com/agent-os/introduction) runtime:
|
|
402
404
|
|
|
403
|
-
1. You get a pre-built FastAPI app for
|
|
404
|
-
2. You also get a
|
|
405
|
-
3. Your AgentOS runs in your cloud and you get complete
|
|
405
|
+
1. You get a pre-built FastAPI app for serving your agents, teams and workflows, meaning you start building your AI product on day one. This is a remarkable advantage over other solutions.
|
|
406
|
+
2. You also get a UI that connects directly to the pre-built FastAPI app. Use it to test, monitor and manage your system. This gives you unmatched visibility and control.
|
|
407
|
+
3. Your AgentOS runs in your cloud and you get complete privacy because no data ever leaves your system. This is incredible for security conscious enterprises that can't send data to external services.
|
|
406
408
|
|
|
407
|
-
For organizations building agents, Agno provides the complete solution. You get the fastest framework for building agents (speed of development and execution), a pre-built FastAPI app that
|
|
409
|
+
For organizations building agents, Agno provides the complete solution. You get the fastest framework for building agents (speed of development and execution), a pre-built FastAPI app that get you building product on day one, and a control plane for managing your system.
|
|
408
410
|
|
|
409
|
-
We bring a novel architecture that no other framework provides, your AgentOS runs securely in your cloud, and the control plane connects directly to it from your browser. You don't need to send data to external services or pay retention costs, you get complete privacy and control.
|
|
411
|
+
We bring a novel architecture that no other framework provides, your AgentOS runs securely in your cloud, and the control plane connects directly to it from your browser. You don't need to send data to any external services or pay retention costs, you get complete privacy and control.
|
|
410
412
|
|
|
411
413
|
## Getting started
|
|
412
414
|
|
|
@@ -463,10 +465,10 @@ source .venvs/perfenv/bin/activate
|
|
|
463
465
|
# pip install openai agno langgraph langchain_openai
|
|
464
466
|
|
|
465
467
|
# Agno
|
|
466
|
-
python evals/performance/
|
|
468
|
+
python cookbook/evals/performance/instantiate_agent_with_tool.py
|
|
467
469
|
|
|
468
470
|
# LangGraph
|
|
469
|
-
python evals/performance/
|
|
471
|
+
python cookbook/evals/performance/comparison/langgraph_instantiation.py
|
|
470
472
|
```
|
|
471
473
|
|
|
472
474
|
> The following evaluation is run on an Apple M4 MacBook Pro. It also runs as a Github action on this repo.
|
|
@@ -4,7 +4,7 @@ agno/exceptions.py,sha256=-JelI3vzaHTWySKM1LqtLoH1Otm841QqAwsiboztG14,4748
|
|
|
4
4
|
agno/media.py,sha256=eTfYb_pwhX_PCIVPSrW4VYRqmoxKABEF1aZClrVvQ30,16500
|
|
5
5
|
agno/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
6
6
|
agno/agent/__init__.py,sha256=s7S3FgsjZxuaabzi8L5n4aSH8IZAiZ7XaNNcySGR-EQ,1051
|
|
7
|
-
agno/agent/agent.py,sha256=
|
|
7
|
+
agno/agent/agent.py,sha256=9yLUKQTiXKcJtqEg4NSSA9wjbDqec7nwRbOh3NY0v44,346965
|
|
8
8
|
agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
|
|
10
10
|
agno/api/api.py,sha256=Z7iWbrjheJcGLeeDYrtTCWiKTVqjH0uJI35UNWOtAXw,973
|
|
@@ -28,41 +28,41 @@ agno/cloud/aws/s3/api_client.py,sha256=nW-Jn8WPILIvdH8niQOPpKMXlAIDB2xYTz0GHRy4P
|
|
|
28
28
|
agno/cloud/aws/s3/bucket.py,sha256=5dkKhjWVmf8dyQEyCTd6DkQlKADBnm0-_VKQgKqtJQM,7798
|
|
29
29
|
agno/cloud/aws/s3/object.py,sha256=ttZPbLm3o63oGIhKgAr_bIf9DOpJlXRmrEVlkbTcJbk,1766
|
|
30
30
|
agno/db/__init__.py,sha256=bfd_tpKsIKCjZosnFqID26VoWqy88v8gzkf9kLHToY4,625
|
|
31
|
-
agno/db/base.py,sha256=
|
|
31
|
+
agno/db/base.py,sha256=fGNdKHixsHjfVYQo3NxTiDQBFCvOxChUJynAQmih7NY,8670
|
|
32
32
|
agno/db/utils.py,sha256=eL0prfDrTEfOwNlOZeoZE4pu59bNJET22uh8wgzz-cw,4879
|
|
33
33
|
agno/db/dynamo/__init__.py,sha256=fZ7NwKbyhoIu7_4T6hVz44HkIINXMnTfFrDrgB6bpEo,67
|
|
34
|
-
agno/db/dynamo/dynamo.py,sha256=
|
|
34
|
+
agno/db/dynamo/dynamo.py,sha256=o4zmI2Nvul4ZLRoUokUCwko1n4dKsJe6hB0xRbb3dpA,71487
|
|
35
35
|
agno/db/dynamo/schemas.py,sha256=ZqeR4QdqMVi53iz2qcs-d5Y6MDfmhHSuP7vot__hLoI,11638
|
|
36
36
|
agno/db/dynamo/utils.py,sha256=3Kwkq7FqUac6Q6BjwuzWzfyo4ANnS8FIz7_n3EEnbYo,25047
|
|
37
37
|
agno/db/firestore/__init__.py,sha256=lYAJjUs4jMxJFty1GYZw464K35zeuBlcoFR9uuIQYtI,79
|
|
38
|
-
agno/db/firestore/firestore.py,sha256=
|
|
38
|
+
agno/db/firestore/firestore.py,sha256=zfmEZiCXpxuTgoruVXLjy8TLjqw8dptgsvvP9f4B7Gs,61519
|
|
39
39
|
agno/db/firestore/schemas.py,sha256=k8YuG_PC_Hd3WCLaDkk4bAJP8BmAWmrt6VXuG1wr2Ak,4132
|
|
40
40
|
agno/db/firestore/utils.py,sha256=FVR1XQjnsZsG3IrFyvTOHICd0lgD99aajUJ-UAvVEOg,10332
|
|
41
41
|
agno/db/gcs_json/__init__.py,sha256=aTR4o3aFrzfANHtRw7nX9uc5_GsY52ch0rmoo7uXuc4,76
|
|
42
|
-
agno/db/gcs_json/gcs_json_db.py,sha256=
|
|
42
|
+
agno/db/gcs_json/gcs_json_db.py,sha256=mjyqMjvXBJoM4L0OOyO19NLQIanReS64Pb7bM__RYJw,46974
|
|
43
43
|
agno/db/gcs_json/utils.py,sha256=Ist4HuQoYvC2BKr01oTxDp9mfMirz1UBBDKElbXg2bg,6610
|
|
44
44
|
agno/db/in_memory/__init__.py,sha256=OvR_FONhOh9PmcRfUA_6gvplZT5UGIBAgVKqVg6SWTA,80
|
|
45
|
-
agno/db/in_memory/in_memory_db.py,sha256=
|
|
45
|
+
agno/db/in_memory/in_memory_db.py,sha256=gieZm2o9EH-vJwxaqxiK_3qfs0hVDazYWpxGdHVl3F0,41214
|
|
46
46
|
agno/db/in_memory/utils.py,sha256=X02wny18w5uvGE3caokPbCQTG6t7OErWNPkK3Umru3s,5780
|
|
47
47
|
agno/db/json/__init__.py,sha256=zyPTmVF9S-OwXCL7FSkrDmunZ_Q14YZO3NYUv1Pa14Y,62
|
|
48
|
-
agno/db/json/json_db.py,sha256=
|
|
48
|
+
agno/db/json/json_db.py,sha256=WkPhdkvDKYOc6Q-QUOlhV1G9-VPo0YQzpU1qrmPHMis,47585
|
|
49
49
|
agno/db/json/utils.py,sha256=__c14xMdyw1AlyV7-DAGDr8YicqhfCbSS5C8OkVN2So,6658
|
|
50
50
|
agno/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
51
51
|
agno/db/migrations/v1_to_v2.py,sha256=bBc96nKf8CjkuhTEdcKdr3hUgPpRMVwE71ozVCnux4c,23969
|
|
52
52
|
agno/db/mongo/__init__.py,sha256=EPa9QkGNVwnuej72LhZDCeASMXa-e0pR20jsgwa9BhY,63
|
|
53
|
-
agno/db/mongo/mongo.py,sha256=
|
|
53
|
+
agno/db/mongo/mongo.py,sha256=PfHk_CFMTFnzK3JHm8C6NlAmMbmKZb98265B7D9l36E,67959
|
|
54
54
|
agno/db/mongo/schemas.py,sha256=MAhfwx7_zxKucnZpgq_YSZANaF5MqiZ6qDByhdIREk8,2054
|
|
55
55
|
agno/db/mongo/utils.py,sha256=dmVo0HGIG7IPKdCjuRDcO0ZOtyXcNkP6S2G-XBFqzZE,6906
|
|
56
56
|
agno/db/mysql/__init__.py,sha256=ohBMZ1E6ctioEF0XX5PjC4LtUQrc6lFkjsE4ojyXA8g,63
|
|
57
|
-
agno/db/mysql/mysql.py,sha256=
|
|
57
|
+
agno/db/mysql/mysql.py,sha256=y2HQdFrJ-bp1igRgDrfpec1mdf6hCUL6Nrwsa0QXYv4,85122
|
|
58
58
|
agno/db/mysql/schemas.py,sha256=2OAaX7ILykFCJBcEWH6kFXzNI8JnnYZCXClbVUoRbLc,5482
|
|
59
59
|
agno/db/mysql/utils.py,sha256=7E83u2gKOkr7lxFPGM2ucLvfJarbEtNRxOeZQhLYKzU,10066
|
|
60
60
|
agno/db/postgres/__init__.py,sha256=eEdY4emRxmBmxeZUhAYSaObgcqKdd6C9IxUSk1U0gDY,75
|
|
61
|
-
agno/db/postgres/postgres.py,sha256=
|
|
61
|
+
agno/db/postgres/postgres.py,sha256=BKQrsQZYZ0NRzaSfBNaHPNmzmH73jNPD4Tje31okjNA,80934
|
|
62
62
|
agno/db/postgres/schemas.py,sha256=adbKcMapqeXsEYeF6feWe2ja1paRzCMOkQSHHN6Psp8,5275
|
|
63
63
|
agno/db/postgres/utils.py,sha256=iaY0ZqJgzadCitxSbsRchCtBE5WeUApfIj-VbdH9MJI,9447
|
|
64
64
|
agno/db/redis/__init__.py,sha256=rZWeZ4CpVeKP-enVQ-SRoJ777i0rdGNgoNDRS9gsfAc,63
|
|
65
|
-
agno/db/redis/redis.py,sha256=
|
|
65
|
+
agno/db/redis/redis.py,sha256=6B2hga3YSI4qM3X3XF8I2UBjHyNI65UIgfrQ5qQo-Po,55789
|
|
66
66
|
agno/db/redis/schemas.py,sha256=LE1NApES1ao5X770HXB7jvrk2n31KiOWAsl5Z0xMG08,3637
|
|
67
67
|
agno/db/redis/utils.py,sha256=z1pyakjlCQ_FyQUXe8pPer-pQDG70GLDOYQLNl4Oxrg,8955
|
|
68
68
|
agno/db/schemas/__init__.py,sha256=HIKc2Apyk6ENJb_Py6sgNdbl6H7eo6PD5QMTmkdJSwI,72
|
|
@@ -72,11 +72,11 @@ agno/db/schemas/memory.py,sha256=kKlJ6AWpbwz-ZJfBJieartPP0QqeeoKAXx2Ity4Yj-Y,146
|
|
|
72
72
|
agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
73
73
|
agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
|
|
74
74
|
agno/db/singlestore/schemas.py,sha256=yDXBGtswAuVxKX1_GvKIBt6IlEor2HiAbYPrwX5SSJ8,5489
|
|
75
|
-
agno/db/singlestore/singlestore.py,sha256=
|
|
75
|
+
agno/db/singlestore/singlestore.py,sha256=RpuK51wYWUrg1hFzOTMQvs-55-r0gCWPz5yCG84hNL4,83197
|
|
76
76
|
agno/db/singlestore/utils.py,sha256=LG0NhOx5B5oJY-Kcc_3ipNzBT1J-mBGx8TARUkRtWv8,11377
|
|
77
77
|
agno/db/sqlite/__init__.py,sha256=LocJ-suv6xpdun8HUxgbD3bTgmQArQvLJkbpb1pRGy0,67
|
|
78
78
|
agno/db/sqlite/schemas.py,sha256=-L3hmlg80PAPmfexPrWtnepSzlmZHrbyPZ754nJlVdE,5191
|
|
79
|
-
agno/db/sqlite/sqlite.py,sha256=
|
|
79
|
+
agno/db/sqlite/sqlite.py,sha256=DPsqdUMCZ2Zlo0L4wcz-hi2EG6nNwvNKrevkm95weTM,83033
|
|
80
80
|
agno/db/sqlite/utils.py,sha256=52FbQrmMHXicxocqbXM5B7iBGgVTSft0r_9PyckLSt0,9434
|
|
81
81
|
agno/eval/__init__.py,sha256=vCYcIbfOkT2lL8vZJ9zsea6j3byp5A-mxEb_45VaD8I,449
|
|
82
82
|
agno/eval/accuracy.py,sha256=UZmxOtVP3p3fFzby2YyjE4-Tza2MMtQiBrfhK9mJrx4,32531
|
|
@@ -130,11 +130,12 @@ agno/knowledge/reader/arxiv_reader.py,sha256=PtqP3bB4eZAYUlK9_ytPCFiy4icvMj7bIZN
|
|
|
130
130
|
agno/knowledge/reader/base.py,sha256=9D3GU6RdGIvVD1cdOHNieA8vCIZxUBJ6HLbwl1Ol-1I,3631
|
|
131
131
|
agno/knowledge/reader/csv_reader.py,sha256=GZiRh9yx0TM_GAEOQiBp3VfffbwGBZ7M2e5eSs45gIs,6491
|
|
132
132
|
agno/knowledge/reader/docx_reader.py,sha256=oLQzbtZJg3wNFFzddrV77iDIV2Az4gvM32DLA0QrKZE,3309
|
|
133
|
+
agno/knowledge/reader/field_labeled_csv_reader.py,sha256=ECcg9Fr0DtxKiAF0bLRwTIxVaM3Ivp_EPTgaeWTHNwA,11764
|
|
133
134
|
agno/knowledge/reader/firecrawl_reader.py,sha256=SCbcRLkMrUb2WiC6SPuAoZULtHITa2VAmBtZlGmamGM,6855
|
|
134
135
|
agno/knowledge/reader/json_reader.py,sha256=KfDgHno_XHORIGaoA1Q2Y5M7nkcTFM9IUzWXkjVjYKQ,3245
|
|
135
136
|
agno/knowledge/reader/markdown_reader.py,sha256=HoSEkX2Svl2tEMDyzAmRNmwxsterb3i3-1-EQR6N4IU,5272
|
|
136
|
-
agno/knowledge/reader/pdf_reader.py,sha256=
|
|
137
|
-
agno/knowledge/reader/reader_factory.py,sha256=
|
|
137
|
+
agno/knowledge/reader/pdf_reader.py,sha256=wTWG1U5sz_DjXqNLMpYxzK0aJy4yzTZF9WdgrEwrouI,17187
|
|
138
|
+
agno/knowledge/reader/reader_factory.py,sha256=YKJIBMGQJ7sMhOHVMKSAt36HvfAJi6w6ZXusoa965GM,10224
|
|
138
139
|
agno/knowledge/reader/s3_reader.py,sha256=j_xBDWV9l5Uhsr88glQ0dCMS-ijvqw8gdMc1Bzfm394,3547
|
|
139
140
|
agno/knowledge/reader/text_reader.py,sha256=Vkk3mWhjyazPv77Z9PGO1nRVk8cmVkUFIWZFCVqTkOI,4444
|
|
140
141
|
agno/knowledge/reader/web_search_reader.py,sha256=GMc59AxwS1zTyBEmnwzJCEbPmK4ut1eWy8EV5XXTRSk,14585
|
|
@@ -149,7 +150,7 @@ agno/knowledge/reranker/cohere.py,sha256=2Be5blVyeZ3vYlnFa2NYvJuytjaCB8G2OWJ11pQ
|
|
|
149
150
|
agno/knowledge/reranker/infinity.py,sha256=N9geg9xZqRdJZksfQcvbGJgMymXrQVJl_K5KICWqH8o,7193
|
|
150
151
|
agno/knowledge/reranker/sentence_transformer.py,sha256=ZN4SqnMZsUhg5G7AzlONM1_UjezfNrjFYXpNVHD4U-U,1912
|
|
151
152
|
agno/memory/__init__.py,sha256=XWKJU5SJObYZqEKMZ2XYwgH8-YeuWUoSRfT4dEI5HnY,101
|
|
152
|
-
agno/memory/manager.py,sha256=
|
|
153
|
+
agno/memory/manager.py,sha256=szd2QhMyzBT_AD-UkwvTMonPrN2_hXBKVxYFIzy6lnA,42473
|
|
153
154
|
agno/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
155
|
agno/models/base.py,sha256=bjP0Xt5-Jlk1I_7wHmuv8lhUPE75WzZ_iF3U-d81TUI,85214
|
|
155
156
|
agno/models/defaults.py,sha256=1_fe4-ZbNriE8BgqxVRVi4KGzEYxYKYsz4hn6CZNEEM,40
|
|
@@ -160,9 +161,9 @@ agno/models/utils.py,sha256=PprNlVI8d8loHayjRsrc4TL38sfkFMS3EVZcF5cLXoA,669
|
|
|
160
161
|
agno/models/aimlapi/__init__.py,sha256=XQcFRvt4qJ8ol9nCC0XKEkVEDivdNf3nZNoJZMZ5m8M,78
|
|
161
162
|
agno/models/aimlapi/aimlapi.py,sha256=9Qh-b8HvFSvmPP3VBNGT00qy9izHLMWgR-KDQCE5CM0,1493
|
|
162
163
|
agno/models/anthropic/__init__.py,sha256=nbReX3p17JCwfrMDR9hR7-OaEFZm80I7dng93dl-Fhw,77
|
|
163
|
-
agno/models/anthropic/claude.py,sha256=
|
|
164
|
+
agno/models/anthropic/claude.py,sha256=7chDZrLdh_ocFLOy3qHwOY_pfZrJ-EWrB3otLv97fNU,26488
|
|
164
165
|
agno/models/aws/__init__.py,sha256=TbcwQwv9A7KjqBM5RQBR8x46GvyyCxbBCjwkpjfVGKE,352
|
|
165
|
-
agno/models/aws/bedrock.py,sha256=
|
|
166
|
+
agno/models/aws/bedrock.py,sha256=8Yhxumoy2yL9QScVAZqm2jKoHP39lXCsd718N9-_Tao,28881
|
|
166
167
|
agno/models/aws/claude.py,sha256=sL47z9fM3jxGbARkr0mlAVYEKKX854J3u-Qeb5gIADo,14746
|
|
167
168
|
agno/models/azure/__init__.py,sha256=EoFdJHjayvmv_VOmaW9cJguwA1K5OFS_nFeazyn0B2w,605
|
|
168
169
|
agno/models/azure/ai_foundry.py,sha256=V75lk4pH_RVFzVhWYz9-ZSA3dcaQe2SpRF1lrAm_agw,18673
|
|
@@ -239,19 +240,23 @@ agno/models/vllm/vllm.py,sha256=UtiiSvUR4pG_1CzuhY5MWduRgzM2hGVTakKJ6ZBdQmo,2730
|
|
|
239
240
|
agno/models/xai/__init__.py,sha256=ukcCxnCHxTtkJNA2bAMTX4MhCv1wJcbiq8ZIfYczIxs,55
|
|
240
241
|
agno/models/xai/xai.py,sha256=jA6_39tfapkjkHKdzbKaNq1t9qIvO1IaZY1hQqEmFVs,4181
|
|
241
242
|
agno/os/__init__.py,sha256=h8oQu7vhD5RZf09jkyM_Kt1Kdq_d5kFB9gJju8QPwcY,55
|
|
242
|
-
agno/os/app.py,sha256=
|
|
243
|
+
agno/os/app.py,sha256=8qX4zF16Ly-U0zxrNwuA_L8BIea6bMLRYqiP_qonr10,24937
|
|
243
244
|
agno/os/auth.py,sha256=FyBtAKWtg-qSunCas5m5pK1dVEmikOSZvcCp5r25tTA,1844
|
|
244
245
|
agno/os/config.py,sha256=u4R9yazQXIcKjR3QzEIZw_XAe_OHp3xn0ff7SVkj2jA,2893
|
|
245
246
|
agno/os/mcp.py,sha256=w9x8dN-UuIhRrU8azvjPB95RHIcOKh5IXlRCClCfpN4,8104
|
|
246
|
-
agno/os/router.py,sha256
|
|
247
|
+
agno/os/router.py,sha256=-w_VXQm2QscNAAeDehAgQ9CStNpPr06qhPmYYhiZslM,69930
|
|
247
248
|
agno/os/schema.py,sha256=bdmGLQoBJyetiAZeajJG_gEKLaQSSEwiDwKy0q4Pa-M,38278
|
|
248
249
|
agno/os/settings.py,sha256=Cn5_8lZI8Vx1UaUYqs9h6Qp4IMDFn4f3c35uppiaMy4,1343
|
|
249
|
-
agno/os/utils.py,sha256=
|
|
250
|
+
agno/os/utils.py,sha256=IUi608rikks17lsOFia6LK_6YlMB6M5xe6pS90t0xV4,17901
|
|
250
251
|
agno/os/interfaces/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
251
252
|
agno/os/interfaces/base.py,sha256=vXkr1tRjWHTcmBlQFzvQjqURLhObmFtUAx82uij_j48,542
|
|
253
|
+
agno/os/interfaces/a2a/__init__.py,sha256=Fs7--dx9drvtVS9QjsCCm0P7c-hJ7TzU8gNwKTQsZDA,62
|
|
254
|
+
agno/os/interfaces/a2a/a2a.py,sha256=UiTX-GOuXxp1CQzRgtmgSSYNn2iFC_vKYnC37OidygM,1337
|
|
255
|
+
agno/os/interfaces/a2a/router.py,sha256=wyQS4wdIukK-FM7749Ev7KBsZ8r-NxM8dBR-0nuARHE,11141
|
|
256
|
+
agno/os/interfaces/a2a/utils.py,sha256=rTn9x0UGbX53EiAsljf87PmzYwLuvqaobUWpCn35ut0,39285
|
|
252
257
|
agno/os/interfaces/agui/__init__.py,sha256=1zrGICk4roXUINwSFZfqH6sBsbHmD5KjGYVJMGg4fKQ,66
|
|
253
258
|
agno/os/interfaces/agui/agui.py,sha256=PKGoDDbtQFmEC0zRwZmsjS_5t9bJWJ-ZGwxEQsu9P-U,1415
|
|
254
|
-
agno/os/interfaces/agui/router.py,sha256=
|
|
259
|
+
agno/os/interfaces/agui/router.py,sha256=TBVADofGBw16x0wSF-aOEfNrebNtoX_WzHENcKsnu6s,4835
|
|
255
260
|
agno/os/interfaces/agui/utils.py,sha256=bfWxYh2w2O3aroRlaOc2f4ZJXEVavya1IqvCntqY9Xw,19162
|
|
256
261
|
agno/os/interfaces/slack/__init__.py,sha256=F095kOcgiyk_KzIozNNieKwpVc_NR8HYpuO4bKiCNN0,70
|
|
257
262
|
agno/os/interfaces/slack/router.py,sha256=RuD0Y0YOdlyqaj37W5outpM7dHTlEX6R63V4IrETSYc,5710
|
|
@@ -274,8 +279,8 @@ agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyH
|
|
|
274
279
|
agno/os/routers/knowledge/knowledge.py,sha256=nCbVU2aCenIvpbmIIWjupgICO3GHbiD76q81P-lD0r8,38604
|
|
275
280
|
agno/os/routers/knowledge/schemas.py,sha256=w8XZZsWCVNmd2s_rihq2PDcgXhF7H_yO7WHU_OgY6OU,4397
|
|
276
281
|
agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
|
|
277
|
-
agno/os/routers/memory/memory.py,sha256=
|
|
278
|
-
agno/os/routers/memory/schemas.py,sha256=
|
|
282
|
+
agno/os/routers/memory/memory.py,sha256=LYqcMlRaBIZMr2Vi2bMkRFd3BJqDgpRPS-wshaTYNYg,17723
|
|
283
|
+
agno/os/routers/memory/schemas.py,sha256=yhQUF5m_y5bJQj1N4mKesUG3xmpE2TyZqF92LNqzm1w,1701
|
|
279
284
|
agno/os/routers/metrics/__init__.py,sha256=Uw6wWEikLpF5hHxBkHtFyaTuz7OUerGYWk0JW7teUGQ,97
|
|
280
285
|
agno/os/routers/metrics/metrics.py,sha256=0cUsYWlknzTxeAUklswNlWOWl1m7F4NH-mfdv9ex_QY,8021
|
|
281
286
|
agno/os/routers/metrics/schemas.py,sha256=E7F31CXg9_JiBqeNZWFsZCraShqEHIDD8pDfS4E2oco,1633
|
|
@@ -303,7 +308,7 @@ agno/session/summary.py,sha256=THBbzE48V81p4dKUX2W8OvbpsNO5dI6BdtqDyjfcVqw,8433
|
|
|
303
308
|
agno/session/team.py,sha256=0lS-9ljtG17iyC0n8sq_7aEy9MZsdfMf8VgObqJ_3tg,10384
|
|
304
309
|
agno/session/workflow.py,sha256=8dWTona5jen1iPYwjcvxq1XG5EQDFnd28BEjcbqzl4s,5004
|
|
305
310
|
agno/team/__init__.py,sha256=toHidBOo5M3n_TIVtIKHgcDbLL9HR-_U-YQYuIt_XtE,847
|
|
306
|
-
agno/team/team.py,sha256=
|
|
311
|
+
agno/team/team.py,sha256=1gCJR6aF5KS3nx-6xClQhu3fCx0cWjRx0PekbBEje-w,337610
|
|
307
312
|
agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
|
|
308
313
|
agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
|
|
309
314
|
agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
|
|
@@ -360,7 +365,7 @@ agno/tools/linear.py,sha256=yA3Yci-Dnid0rZPeXds4aZY8hL7KjloZkES9thKEPe8,13775
|
|
|
360
365
|
agno/tools/linkup.py,sha256=EzX4_ARW96DkFe1IXAFlPQI5rdhhdhmNTX1tB5IVFWs,2123
|
|
361
366
|
agno/tools/local_file_system.py,sha256=wWyhM5-lqDgDO_YNzRA8ekG-m2n89k8fWr8M1BWiQWo,3157
|
|
362
367
|
agno/tools/lumalab.py,sha256=6WnZXbThKY2jL9zLswq1PVsbFm2jz81qshWqBZi59oo,6808
|
|
363
|
-
agno/tools/mcp.py,sha256=
|
|
368
|
+
agno/tools/mcp.py,sha256=xsKZ1EY3-DmHlDPeWTlVBCJv5DKkTKX_KZvmC1o8M-w,27765
|
|
364
369
|
agno/tools/mcp_toolbox.py,sha256=HOCerjBTTcJ3WnWwkMNlk5zkAAUFUUB-jHTZ6CvApX0,12622
|
|
365
370
|
agno/tools/mem0.py,sha256=5W5pZwJmBTt-_l4nvBdNQHavXFSKV9mVdJg5aso4JBI,7680
|
|
366
371
|
agno/tools/memori.py,sha256=tubBYj0rQFbBXadhWxwTjjmb3Rnims536AVPkGdCMcw,13181
|
|
@@ -445,7 +450,7 @@ agno/utils/location.py,sha256=VhXIwSWdr7L4DEJoUeVI92Y-rJ32NUcYzFRnzLgX-es,658
|
|
|
445
450
|
agno/utils/log.py,sha256=Ycg4_MEkXyOz25OkY272JHWxIZP1nB4OScwJ-r8BMGk,7791
|
|
446
451
|
agno/utils/mcp.py,sha256=v5juISDNtdQaUK1DmJnAAGuNiSp0491TDwErgjEdhF8,5113
|
|
447
452
|
agno/utils/media.py,sha256=Lk0sbSHmoKlQi3hLKorowCKGF74xdeMfqIj6Gt21Zek,5891
|
|
448
|
-
agno/utils/merge_dict.py,sha256=
|
|
453
|
+
agno/utils/merge_dict.py,sha256=L-t3BuKZD5fG-7fscTGG2nKSKcVCXXkdGgKR1TgQRXQ,1497
|
|
449
454
|
agno/utils/message.py,sha256=HcTDVdgZOfwqGL0YW5QNEeNoSLUvTawCo6_USJzsd6M,2423
|
|
450
455
|
agno/utils/openai.py,sha256=quhHsggz0uSZc9Lt-aVsveHSS1LT2r1fMgC0IpG43Tg,10300
|
|
451
456
|
agno/utils/pickle.py,sha256=Ip6CPNxAWF3MVrUhMTW7e3IcpKhYG0IA-NKbdUYr94c,1008
|
|
@@ -457,7 +462,7 @@ agno/utils/response_iterator.py,sha256=MgtadrOuMcw2vJcVvhJdMKRzpVddhLWUIkGFbBz7Z
|
|
|
457
462
|
agno/utils/safe_formatter.py,sha256=zLrW6O-nGUZvXoDkZOTgVpjeUFTmMUj8pk3FLvW_XjM,809
|
|
458
463
|
agno/utils/serialize.py,sha256=XvQA_KSkVd5qI1QuZwdQpCsl1IOKddFu52Jl6WQASqU,904
|
|
459
464
|
agno/utils/shell.py,sha256=JaY14Fq3ulodG4SeSdLEoOZDI4JJlmCbdgwK5beJuc8,700
|
|
460
|
-
agno/utils/streamlit.py,sha256=
|
|
465
|
+
agno/utils/streamlit.py,sha256=zr5t3lOvj0kFBIAMVPqqtOJDl6qM9bz-W-k028hfb4U,17977
|
|
461
466
|
agno/utils/string.py,sha256=iO1etmjHVxnPMTixAKlpR1vnBnRapYL2pm_cjhS06Ww,7557
|
|
462
467
|
agno/utils/team.py,sha256=VXdm41WhsC6Rb20fHcpO4H55obQ6R435luAAZ4Jc3yQ,1853
|
|
463
468
|
agno/utils/timer.py,sha256=Fuax69yh1cVIzCYMmJDB4HpTsPM8Iiq1VaTWz1vJtF8,1282
|
|
@@ -525,14 +530,14 @@ agno/vectordb/weaviate/weaviate.py,sha256=ZXK81-mTZmPUzUi2U6B5oY2vvJ5eWCv2Hqrwin
|
|
|
525
530
|
agno/workflow/__init__.py,sha256=lwavZXIkgqajbSf1jMqzE7kbXBIFmk5niI_NgpVI-gA,542
|
|
526
531
|
agno/workflow/condition.py,sha256=JFWPnwEeOIkQWexGYDK9pToPyf_siRCW92rkFdA4yTc,28452
|
|
527
532
|
agno/workflow/loop.py,sha256=cTVkRX5pwfZH5O19Q3W3YS9bcSKmEszkDwfR0V72rV8,30635
|
|
528
|
-
agno/workflow/parallel.py,sha256=
|
|
533
|
+
agno/workflow/parallel.py,sha256=msc1n1ga5KZjMySZ7JGFVAMYCgJ8PjPIcR0ue5GnIG0,33667
|
|
529
534
|
agno/workflow/router.py,sha256=ZAiVsh2F_9ssKj0_RzHWzfgimaZ5hfb3Ni1Xx_SkVR0,26625
|
|
530
|
-
agno/workflow/step.py,sha256=
|
|
535
|
+
agno/workflow/step.py,sha256=JgqvINTmY8Y0RnQP5wQ4v03K479XK3YTa36ZZWYg_Z8,52289
|
|
531
536
|
agno/workflow/steps.py,sha256=uRE4oGWs2cA-TrX881AEa69zu6rheXH81mNOZiRrNvg,23719
|
|
532
537
|
agno/workflow/types.py,sha256=ajZg2hQ9VmJQrmqwXpsIAOnkelYQmWNjbb7ZS-Y3Xpo,17632
|
|
533
|
-
agno/workflow/workflow.py,sha256=
|
|
534
|
-
agno-2.1.
|
|
535
|
-
agno-2.1.
|
|
536
|
-
agno-2.1.
|
|
537
|
-
agno-2.1.
|
|
538
|
-
agno-2.1.
|
|
538
|
+
agno/workflow/workflow.py,sha256=QSMWhff996gYkPOzcj-qv_HA51z54ts9a4UTemOMTkA,115187
|
|
539
|
+
agno-2.1.2.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
540
|
+
agno-2.1.2.dist-info/METADATA,sha256=WBDPmWLZjVh7nMQW8a056PVRP3eWEPv_7NybMJPuXSM,22009
|
|
541
|
+
agno-2.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
542
|
+
agno-2.1.2.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
|
|
543
|
+
agno-2.1.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|