agno 2.3.19__py3-none-any.whl → 2.3.20__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 +2466 -2048
- agno/db/dynamo/utils.py +26 -3
- agno/db/firestore/utils.py +25 -10
- agno/db/gcs_json/utils.py +14 -2
- agno/db/in_memory/utils.py +14 -2
- agno/db/json/utils.py +14 -2
- agno/db/mysql/utils.py +13 -3
- agno/db/postgres/utils.py +13 -3
- agno/db/redis/utils.py +26 -10
- agno/db/schemas/memory.py +15 -19
- agno/db/singlestore/utils.py +13 -3
- agno/db/sqlite/utils.py +15 -3
- agno/db/utils.py +22 -0
- agno/models/litellm/chat.py +6 -0
- agno/os/routers/knowledge/schemas.py +1 -1
- agno/os/routers/memory/schemas.py +14 -1
- agno/os/routers/metrics/schemas.py +1 -1
- agno/os/schema.py +11 -9
- agno/run/__init__.py +2 -4
- agno/run/cancel.py +65 -52
- agno/run/cancellation_management/__init__.py +9 -0
- agno/run/cancellation_management/base.py +78 -0
- agno/run/cancellation_management/in_memory_cancellation_manager.py +100 -0
- agno/run/cancellation_management/redis_cancellation_manager.py +236 -0
- agno/team/team.py +1217 -1136
- agno/utils/response.py +1 -13
- agno/vectordb/weaviate/__init__.py +1 -1
- agno/workflow/workflow.py +23 -16
- {agno-2.3.19.dist-info → agno-2.3.20.dist-info}/METADATA +3 -2
- {agno-2.3.19.dist-info → agno-2.3.20.dist-info}/RECORD +33 -29
- {agno-2.3.19.dist-info → agno-2.3.20.dist-info}/WHEEL +0 -0
- {agno-2.3.19.dist-info → agno-2.3.20.dist-info}/licenses/LICENSE +0 -0
- {agno-2.3.19.dist-info → agno-2.3.20.dist-info}/top_level.txt +0 -0
agno/utils/response.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import List, Set, Union
|
|
2
2
|
|
|
3
3
|
from agno.exceptions import RunCancelledException
|
|
4
4
|
from agno.models.response import ToolExecution
|
|
@@ -149,15 +149,3 @@ def get_paused_content(run_output: RunOutput) -> str:
|
|
|
149
149
|
elif external_execution_required:
|
|
150
150
|
paused_content = "I have tools to execute, but it needs external execution."
|
|
151
151
|
return paused_content
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
def generator_wrapper(
|
|
155
|
-
event: Union[RunOutputEvent, TeamRunOutputEvent],
|
|
156
|
-
) -> Iterator[Union[RunOutputEvent, TeamRunOutputEvent]]:
|
|
157
|
-
yield event
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
async def async_generator_wrapper(
|
|
161
|
-
event: Union[RunOutputEvent, TeamRunOutputEvent],
|
|
162
|
-
) -> AsyncIterator[Union[RunOutputEvent, TeamRunOutputEvent]]:
|
|
163
|
-
yield event
|
agno/workflow/workflow.py
CHANGED
|
@@ -37,13 +37,16 @@ from agno.models.metrics import Metrics
|
|
|
37
37
|
from agno.run import RunContext, RunStatus
|
|
38
38
|
from agno.run.agent import RunContentEvent, RunEvent, RunOutput
|
|
39
39
|
from agno.run.cancel import (
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
acleanup_run,
|
|
41
|
+
araise_if_cancelled,
|
|
42
|
+
aregister_run,
|
|
43
43
|
cleanup_run,
|
|
44
44
|
raise_if_cancelled,
|
|
45
45
|
register_run,
|
|
46
46
|
)
|
|
47
|
+
from agno.run.cancel import (
|
|
48
|
+
cancel_run as cancel_run_global,
|
|
49
|
+
)
|
|
47
50
|
from agno.run.team import RunContentEvent as TeamRunContentEvent
|
|
48
51
|
from agno.run.team import TeamRunEvent
|
|
49
52
|
from agno.run.workflow import (
|
|
@@ -1879,6 +1882,7 @@ class Workflow:
|
|
|
1879
1882
|
"""Execute a specific pipeline by name asynchronously"""
|
|
1880
1883
|
from inspect import isasyncgenfunction, iscoroutinefunction, isgeneratorfunction
|
|
1881
1884
|
|
|
1885
|
+
await aregister_run(run_context.run_id)
|
|
1882
1886
|
# Read existing session from database
|
|
1883
1887
|
workflow_session, run_context.session_state = await self._aload_or_create_session(
|
|
1884
1888
|
session_id=session_id, user_id=user_id, session_state=run_context.session_state
|
|
@@ -1902,14 +1906,14 @@ class Workflow:
|
|
|
1902
1906
|
elif isasyncgenfunction(self.steps): # type: ignore
|
|
1903
1907
|
async_gen = await self._acall_custom_function(self.steps, execution_input, **kwargs)
|
|
1904
1908
|
async for chunk in async_gen:
|
|
1905
|
-
|
|
1909
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
1906
1910
|
if hasattr(chunk, "content") and chunk.content is not None and isinstance(chunk.content, str):
|
|
1907
1911
|
content += chunk.content
|
|
1908
1912
|
else:
|
|
1909
1913
|
content += str(chunk)
|
|
1910
1914
|
workflow_run_response.content = content
|
|
1911
1915
|
else:
|
|
1912
|
-
|
|
1916
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
1913
1917
|
workflow_run_response.content = self._call_custom_function(self.steps, execution_input, **kwargs)
|
|
1914
1918
|
workflow_run_response.status = RunStatus.completed
|
|
1915
1919
|
|
|
@@ -1929,7 +1933,7 @@ class Workflow:
|
|
|
1929
1933
|
output_files: List[File] = (execution_input.files or []).copy() # Start with input files
|
|
1930
1934
|
|
|
1931
1935
|
for i, step in enumerate(self.steps): # type: ignore[arg-type]
|
|
1932
|
-
|
|
1936
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
1933
1937
|
step_name = getattr(step, "name", f"step_{i + 1}")
|
|
1934
1938
|
log_debug(f"Async Executing step {i + 1}/{self._get_step_count()}: {step_name}")
|
|
1935
1939
|
|
|
@@ -1944,7 +1948,7 @@ class Workflow:
|
|
|
1944
1948
|
)
|
|
1945
1949
|
|
|
1946
1950
|
# Check for cancellation before executing step
|
|
1947
|
-
|
|
1951
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
1948
1952
|
|
|
1949
1953
|
step_output = await step.aexecute( # type: ignore[union-attr]
|
|
1950
1954
|
step_input,
|
|
@@ -1962,7 +1966,7 @@ class Workflow:
|
|
|
1962
1966
|
)
|
|
1963
1967
|
|
|
1964
1968
|
# Check for cancellation after step execution
|
|
1965
|
-
|
|
1969
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
1966
1970
|
|
|
1967
1971
|
# Update the workflow-level previous_step_outputs dictionary
|
|
1968
1972
|
previous_step_outputs[step_name] = step_output
|
|
@@ -2042,7 +2046,7 @@ class Workflow:
|
|
|
2042
2046
|
else:
|
|
2043
2047
|
self.save_session(session=workflow_session)
|
|
2044
2048
|
# Always clean up the run tracking
|
|
2045
|
-
|
|
2049
|
+
await acleanup_run(workflow_run_response.run_id) # type: ignore
|
|
2046
2050
|
|
|
2047
2051
|
# Log Workflow Telemetry
|
|
2048
2052
|
if self.telemetry:
|
|
@@ -2065,6 +2069,8 @@ class Workflow:
|
|
|
2065
2069
|
"""Execute a specific pipeline by name with event streaming"""
|
|
2066
2070
|
from inspect import isasyncgenfunction, iscoroutinefunction, isgeneratorfunction
|
|
2067
2071
|
|
|
2072
|
+
await aregister_run(run_context.run_id)
|
|
2073
|
+
|
|
2068
2074
|
# Read existing session from database
|
|
2069
2075
|
workflow_session, run_context.session_state = await self._aload_or_create_session(
|
|
2070
2076
|
session_id=session_id, user_id=user_id, session_state=run_context.session_state
|
|
@@ -2096,7 +2102,7 @@ class Workflow:
|
|
|
2096
2102
|
content = ""
|
|
2097
2103
|
async_gen = await self._acall_custom_function(self.steps, execution_input, **kwargs)
|
|
2098
2104
|
async for chunk in async_gen:
|
|
2099
|
-
|
|
2105
|
+
await araise_if_cancelled(workflow_run_response.run_id) # type: ignore
|
|
2100
2106
|
if hasattr(chunk, "content") and chunk.content is not None and isinstance(chunk.content, str):
|
|
2101
2107
|
content += chunk.content
|
|
2102
2108
|
yield chunk
|
|
@@ -2131,7 +2137,7 @@ class Workflow:
|
|
|
2131
2137
|
|
|
2132
2138
|
for i, step in enumerate(self.steps): # type: ignore[arg-type]
|
|
2133
2139
|
if workflow_run_response.run_id:
|
|
2134
|
-
|
|
2140
|
+
await araise_if_cancelled(workflow_run_response.run_id)
|
|
2135
2141
|
step_name = getattr(step, "name", f"step_{i + 1}")
|
|
2136
2142
|
log_debug(f"Async streaming step {i + 1}/{self._get_step_count()}: {step_name}")
|
|
2137
2143
|
|
|
@@ -2169,7 +2175,7 @@ class Workflow:
|
|
|
2169
2175
|
background_tasks=background_tasks,
|
|
2170
2176
|
):
|
|
2171
2177
|
if workflow_run_response.run_id:
|
|
2172
|
-
|
|
2178
|
+
await araise_if_cancelled(workflow_run_response.run_id)
|
|
2173
2179
|
|
|
2174
2180
|
# Accumulate partial data from streaming events
|
|
2175
2181
|
partial_step_content = self._accumulate_partial_step_data(event, partial_step_content) # type: ignore
|
|
@@ -2399,7 +2405,7 @@ class Workflow:
|
|
|
2399
2405
|
await self._alog_workflow_telemetry(session_id=session_id, run_id=workflow_run_response.run_id)
|
|
2400
2406
|
|
|
2401
2407
|
# Always clean up the run tracking
|
|
2402
|
-
|
|
2408
|
+
await acleanup_run(workflow_run_response.run_id) # type: ignore
|
|
2403
2409
|
|
|
2404
2410
|
async def _arun_background(
|
|
2405
2411
|
self,
|
|
@@ -3119,7 +3125,8 @@ class Workflow:
|
|
|
3119
3125
|
if stream:
|
|
3120
3126
|
|
|
3121
3127
|
async def _stream():
|
|
3122
|
-
|
|
3128
|
+
await aregister_run(run_context.run_id)
|
|
3129
|
+
session, _ = await self._aload_session_for_workflow_agent(
|
|
3123
3130
|
run_context.session_id, run_context.user_id, run_context.session_state
|
|
3124
3131
|
)
|
|
3125
3132
|
async for event in self._arun_workflow_agent_stream(
|
|
@@ -3137,7 +3144,8 @@ class Workflow:
|
|
|
3137
3144
|
else:
|
|
3138
3145
|
|
|
3139
3146
|
async def _execute():
|
|
3140
|
-
|
|
3147
|
+
await aregister_run(run_context.run_id)
|
|
3148
|
+
session, _ = await self._aload_session_for_workflow_agent(
|
|
3141
3149
|
run_context.session_id, run_context.user_id, run_context.session_state
|
|
3142
3150
|
)
|
|
3143
3151
|
return await self._arun_workflow_agent(
|
|
@@ -3790,7 +3798,6 @@ class Workflow:
|
|
|
3790
3798
|
|
|
3791
3799
|
# Set the id for the run and register it immediately for cancellation tracking
|
|
3792
3800
|
run_id = run_id or str(uuid4())
|
|
3793
|
-
register_run(run_id)
|
|
3794
3801
|
|
|
3795
3802
|
self.initialize_workflow()
|
|
3796
3803
|
session_id, user_id = self._initialize_session(session_id=session_id, user_id=user_id)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agno
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.20
|
|
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
|
|
@@ -49,6 +49,7 @@ Requires-Dist: uvicorn; extra == "dev"
|
|
|
49
49
|
Requires-Dist: PyJWT; extra == "dev"
|
|
50
50
|
Requires-Dist: mcp; extra == "dev"
|
|
51
51
|
Requires-Dist: openai; extra == "dev"
|
|
52
|
+
Requires-Dist: fakeredis; extra == "dev"
|
|
52
53
|
Provides-Extra: os
|
|
53
54
|
Requires-Dist: fastapi; extra == "os"
|
|
54
55
|
Requires-Dist: uvicorn; extra == "os"
|
|
@@ -424,7 +425,7 @@ Dynamic: license-file
|
|
|
424
425
|
|
|
425
426
|
Agno is an incredibly fast multi-agent framework, runtime and control plane.
|
|
426
427
|
|
|
427
|
-
Companies want to build AI products, run them
|
|
428
|
+
Companies want to build AI products, run them securely in their cloud, and manage their agents with a beautiful UI. This takes more than calling an LLM API, it requires a thoughtfully designed agentic platform.
|
|
428
429
|
|
|
429
430
|
Agno provides the unified stack for building, running and managing multi-agent systems:
|
|
430
431
|
|
|
@@ -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=K1umiV73llHpUidDlng0J3T_YY6tbISfsNKw_2S-L1U,1112
|
|
9
|
-
agno/agent/agent.py,sha256=
|
|
9
|
+
agno/agent/agent.py,sha256=rFTdOH2g17OKbW7PkW2ZbSk49vhuMqbi5CGOeKFt0JE,513187
|
|
10
10
|
agno/agent/remote.py,sha256=mnjOHqgIDv_e7XN3eQS_vlNUppHE_i937XIZpCbI00s,12786
|
|
11
11
|
agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
12
|
agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
|
|
@@ -38,25 +38,25 @@ agno/culture/__init__.py,sha256=nVScbcUeBmkj8l-rJWGOVGytwp5xB6IfUEL_h6atzQw,118
|
|
|
38
38
|
agno/culture/manager.py,sha256=sh48GgfkgwQth2vB5ulgrbv2HGAfVidABrwAYEzWGBs,39833
|
|
39
39
|
agno/db/__init__.py,sha256=bfd_tpKsIKCjZosnFqID26VoWqy88v8gzkf9kLHToY4,625
|
|
40
40
|
agno/db/base.py,sha256=ZxVW353j-te2v7tlJpvRVsJbT8sfG1pUd7cB0Pnr7g0,32257
|
|
41
|
-
agno/db/utils.py,sha256=
|
|
41
|
+
agno/db/utils.py,sha256=lYLgMTZx7pF7M2upww2TCz1tui2FW0m6PWg7QPe-pEo,5727
|
|
42
42
|
agno/db/async_postgres/__init__.py,sha256=ja_thcYP3bP0DD3da6iUVDR_w2-S6B3M-UxBlkRfAvY,76
|
|
43
43
|
agno/db/dynamo/__init__.py,sha256=fZ7NwKbyhoIu7_4T6hVz44HkIINXMnTfFrDrgB6bpEo,67
|
|
44
44
|
agno/db/dynamo/dynamo.py,sha256=QBegFbGEgHfdXUB4AeBfY9WDa3VvFOaP5ru4mEulMkg,108880
|
|
45
45
|
agno/db/dynamo/schemas.py,sha256=NbVLIEqe2D5QYhS9JAAPqK4RdADN3G6fBJbULzGtPKM,18507
|
|
46
|
-
agno/db/dynamo/utils.py,sha256=
|
|
46
|
+
agno/db/dynamo/utils.py,sha256=z-s0FAWfiGJPT_k68rlArP5SnaXlW8ycnGi9dh4Nehc,28005
|
|
47
47
|
agno/db/firestore/__init__.py,sha256=lYAJjUs4jMxJFty1GYZw464K35zeuBlcoFR9uuIQYtI,79
|
|
48
48
|
agno/db/firestore/firestore.py,sha256=UZrzAJXxj5kBdCtWjFTUIO57hl-P4mCtAsp31Hhi4R8,94167
|
|
49
49
|
agno/db/firestore/schemas.py,sha256=dri9lGHxs-IsqvsgL_noFoeAVn9iZflMPsqHkNdA-DM,6123
|
|
50
|
-
agno/db/firestore/utils.py,sha256=
|
|
50
|
+
agno/db/firestore/utils.py,sha256=lshztynSRxYUQxA1LTCPZlugaW4VKOB5TtKjQ1BQ94s,14194
|
|
51
51
|
agno/db/gcs_json/__init__.py,sha256=aTR4o3aFrzfANHtRw7nX9uc5_GsY52ch0rmoo7uXuc4,76
|
|
52
52
|
agno/db/gcs_json/gcs_json_db.py,sha256=n3hZk-QLinaebtvHSO_YeuV0U5hn8mSnrhigJ6ZjTKI,72287
|
|
53
|
-
agno/db/gcs_json/utils.py,sha256
|
|
53
|
+
agno/db/gcs_json/utils.py,sha256=28mvPbfctJUUgNkZyJ4DUoVZhZlyEpw4VVplUdevapM,8373
|
|
54
54
|
agno/db/in_memory/__init__.py,sha256=OvR_FONhOh9PmcRfUA_6gvplZT5UGIBAgVKqVg6SWTA,80
|
|
55
55
|
agno/db/in_memory/in_memory_db.py,sha256=OBd1leLvXyfNYxmKH6ch8RFfwqPF8wpcCq_xXjWsaaU,51254
|
|
56
|
-
agno/db/in_memory/utils.py,sha256=
|
|
56
|
+
agno/db/in_memory/utils.py,sha256=kyD14OoRn5sqxjgternnDZRKyFLbOTcxBMLHVGd-UO4,8426
|
|
57
57
|
agno/db/json/__init__.py,sha256=zyPTmVF9S-OwXCL7FSkrDmunZ_Q14YZO3NYUv1Pa14Y,62
|
|
58
58
|
agno/db/json/json_db.py,sha256=YJYPJfLVldDZXx5pmflg_O8OfaXBbBNLOJHGE5qEuOY,69793
|
|
59
|
-
agno/db/json/utils.py,sha256=
|
|
59
|
+
agno/db/json/utils.py,sha256=P2RCufd7l3WxJmvxuONqrw9X0OgDSd454CtKv8L6oe8,8421
|
|
60
60
|
agno/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
61
61
|
agno/db/migrations/manager.py,sha256=x7jH5UBFFqoUbFETBM94pgNSt9L-rRVlNvUyqHVQ8GM,9635
|
|
62
62
|
agno/db/migrations/v1_to_v2.py,sha256=gj8deaEWUxOr0qJyMfjOpV3LxEh-otOSOxDckeUq0qU,24938
|
|
@@ -71,31 +71,31 @@ agno/db/mysql/__init__.py,sha256=LYeR17sORN-i8lFH7Sfk-THwEcQZP79_WHmpaBj9R7Y,130
|
|
|
71
71
|
agno/db/mysql/async_mysql.py,sha256=LvMhEm6XH4ks_PQkL8K2zoQ1vf8KACO_4XLwYDf4xOE,124498
|
|
72
72
|
agno/db/mysql/mysql.py,sha256=wGDrX6bnzU3C3vrVtnRddzS2uvc_ZLWVooVFvVIRCLc,122344
|
|
73
73
|
agno/db/mysql/schemas.py,sha256=_4p2IWt0zVq-fHuxFhEpWLWxlp3QPKk8xtNMiB1TNOY,9067
|
|
74
|
-
agno/db/mysql/utils.py,sha256=
|
|
74
|
+
agno/db/mysql/utils.py,sha256=wo-QamkH6dOBmCv1tsY5yp-0L7ca2CD2Yj9BpqpcLhs,17799
|
|
75
75
|
agno/db/postgres/__init__.py,sha256=Ojk00nTCzQFiH2ViD7KIBjgpkTKLRNPCwWnuXMKtNXY,154
|
|
76
76
|
agno/db/postgres/async_postgres.py,sha256=e0BEMYbQUYEN_TVH9TbvASaocarGQJB_JvCxw5Fvp_s,108192
|
|
77
77
|
agno/db/postgres/postgres.py,sha256=_-MeYJIvS7ddPpx3o3ETdiCPDQsv8atXmFf531htzPY,118730
|
|
78
78
|
agno/db/postgres/schemas.py,sha256=G0BRG9GcUcO43-TU52nKSEog8v3tdJNwIhEjts9dCns,8405
|
|
79
|
-
agno/db/postgres/utils.py,sha256=
|
|
79
|
+
agno/db/postgres/utils.py,sha256=MeO16Wy7hf-rnm7gIxPmT0SzuDSZlXll0i0AJdWLHS8,16022
|
|
80
80
|
agno/db/redis/__init__.py,sha256=rZWeZ4CpVeKP-enVQ-SRoJ777i0rdGNgoNDRS9gsfAc,63
|
|
81
81
|
agno/db/redis/redis.py,sha256=qq3L43axf9ftp0HFS3HHD9kEsy2qOisONOzg60Lt6cg,82232
|
|
82
82
|
agno/db/redis/schemas.py,sha256=90rDTGUyN1kYZ2KgeFjyOu1SwqYoTc1ErePxGqFlbj0,5217
|
|
83
|
-
agno/db/redis/utils.py,sha256=
|
|
83
|
+
agno/db/redis/utils.py,sha256=09FLk3vT2Y7mb-h4hoio7SHMJ1IZpxhNergaAVs3u6E,11766
|
|
84
84
|
agno/db/schemas/__init__.py,sha256=g72Zr5_nm00yXHStv4pf9PG9bGLKXEK7Av6YQtrDbCQ,147
|
|
85
85
|
agno/db/schemas/culture.py,sha256=w4azKAVLf5X4xyRUFXMIEq0CA0pnyeN03W3eMpqScxo,4342
|
|
86
86
|
agno/db/schemas/evals.py,sha256=dCoA-bQRjKR2cZbbLmjLFWMZ1HEcfxcEfgDrO3K59Sc,824
|
|
87
87
|
agno/db/schemas/knowledge.py,sha256=qVL6jEdaUG92WJw70-FrA7atetPqrpZnLYkYZDuiYho,1227
|
|
88
|
-
agno/db/schemas/memory.py,sha256=
|
|
88
|
+
agno/db/schemas/memory.py,sha256=soOeuQgLYHng0qZxzrRHf1lN574IW55lXGP403Qn1oY,2078
|
|
89
89
|
agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
90
90
|
agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
|
|
91
91
|
agno/db/singlestore/schemas.py,sha256=gnCpoRAztbPiZOCfx9MGBx1sySijwogajSjxIeGpsaA,8923
|
|
92
92
|
agno/db/singlestore/singlestore.py,sha256=C_QkbKPfdrz8ZDtAS-FXpAqJXIM_EsdvmiC5HUD0MN8,119653
|
|
93
|
-
agno/db/singlestore/utils.py,sha256=
|
|
93
|
+
agno/db/singlestore/utils.py,sha256=vJ6QM-wbJBzA8l5ULYbJ5KLB9c3-GZqtb0NWdy5gg2c,14225
|
|
94
94
|
agno/db/sqlite/__init__.py,sha256=09V3i4y0-tBjt60--57ivZ__SaaS67GCsDT4Apzv-5Y,138
|
|
95
95
|
agno/db/sqlite/async_sqlite.py,sha256=KnuED3PcaV7IBKzuWCEvqfVjXlns1xvgYgU5tj1vQjs,123816
|
|
96
96
|
agno/db/sqlite/schemas.py,sha256=1lrIFWEhXYZJIlQYEnOl3XLp3UfsE5ILj2HUPmOf3cg,8265
|
|
97
97
|
agno/db/sqlite/sqlite.py,sha256=o2d0njj7Ojwjio6D49aziJnwEcDm5iq8wf1DScG4MpU,120967
|
|
98
|
-
agno/db/sqlite/utils.py,sha256=
|
|
98
|
+
agno/db/sqlite/utils.py,sha256=PZp-g4oUf6Iw1kuDAmOpIBtfyg4poKiG_DxXP4EonFI,15721
|
|
99
99
|
agno/db/surrealdb/__init__.py,sha256=C8qp5-Nx9YnSmgKEtGua-sqG_ntCXONBw1qqnNyKPqI,75
|
|
100
100
|
agno/db/surrealdb/metrics.py,sha256=oKDRyjRQ6KR3HaO8zDHQLVMG7-0NDkOFOKX5I7mD5FA,10336
|
|
101
101
|
agno/db/surrealdb/models.py,sha256=IUIpdd50MxznOB-hMstEcEHHVlWhll2FNQqVhM-9zIU,12889
|
|
@@ -232,7 +232,7 @@ agno/models/internlm/internlm.py,sha256=tzCgFhNMztR4r93kIE2BEAOzqqqx3P7hLM5G-Dnc
|
|
|
232
232
|
agno/models/langdb/__init__.py,sha256=ubh5nDcxyH33_ONwsmY4tWQz5esRwRjHBe68u9hdAIM,45
|
|
233
233
|
agno/models/langdb/langdb.py,sha256=6Wbk7v1M_kAMfmx01YXms63beGKtHM1rAaPmLPN8yLI,2142
|
|
234
234
|
agno/models/litellm/__init__.py,sha256=5e4yHqepF9-fOE0DMDIKnH6psFV1OcRgfAD5BaoVRgI,353
|
|
235
|
-
agno/models/litellm/chat.py,sha256=
|
|
235
|
+
agno/models/litellm/chat.py,sha256=lJ9mu3C8gjA9L27VQziWfEAvFkViDnKzXIQG29bFsf4,21223
|
|
236
236
|
agno/models/litellm/litellm_openai.py,sha256=npMCj-W76g4NOqq7n89gQjKqchw69ma_kTElD0r_cI0,1456
|
|
237
237
|
agno/models/llama_cpp/__init__.py,sha256=oxOZfqEcOdcB74VLwOTO6bPmXHHA88uaeJO-IkXgr8A,84
|
|
238
238
|
agno/models/llama_cpp/llama_cpp.py,sha256=tWIF0TQH-sK29xCrTe7oy0SjSC-FlOmwmPL1d5IVMPM,673
|
|
@@ -284,7 +284,7 @@ agno/os/config.py,sha256=z0wNd576_qsQGsQWsMRIZzjknDVEPlKWF_pHE6VBUyY,3538
|
|
|
284
284
|
agno/os/managers.py,sha256=j7Y07yEsW03iKEy1itb3sq3PXcJS3ipJbK4rTqk6_Ow,13086
|
|
285
285
|
agno/os/mcp.py,sha256=TNkq9y20RBrCFx3iIk1MPrct6gCTYV0KMPS_1EwNghs,31393
|
|
286
286
|
agno/os/router.py,sha256=Xx3iwxSUSRDEXsQoq5mFuz9MlZIx2YYOkod7RQAaLzw,12348
|
|
287
|
-
agno/os/schema.py,sha256=
|
|
287
|
+
agno/os/schema.py,sha256=ag6NmJcaAuSUyxio25w4tNBEzqWhHjVxRj6PhB-552E,30535
|
|
288
288
|
agno/os/scopes.py,sha256=gH3Obo618gHKt5h-N1OkWqB4UPl2LZygd7GW7pKzdAc,15696
|
|
289
289
|
agno/os/settings.py,sha256=gS9pN1w21wsa5XqDkK-RfQmroAaqoX4KZBfRuhUevkM,1556
|
|
290
290
|
agno/os/utils.py,sha256=CP-ZjCJSpdYDq3PNMbNbuiGZSycJyX_RpOrW37J-J-U,34782
|
|
@@ -321,13 +321,13 @@ agno/os/routers/evals/schemas.py,sha256=xkbOSOX1scmvN782CVqv_MrsiXlxAqXA_esjmy5K
|
|
|
321
321
|
agno/os/routers/evals/utils.py,sha256=cpM8_YAtF40ZdE7D0Ivl2EsQ8WU5C4YvYRQh6yK3nto,8410
|
|
322
322
|
agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyHXOWooMaU,105
|
|
323
323
|
agno/os/routers/knowledge/knowledge.py,sha256=6mv9lUs2xhdvqVV5_dDlAeamA22JAUMW2O8NoJE0d4o,49859
|
|
324
|
-
agno/os/routers/knowledge/schemas.py,sha256=
|
|
324
|
+
agno/os/routers/knowledge/schemas.py,sha256=Uh7v-vGT8lMOoFc2Zh0PFMsPNenHIdDVF1cyKIp-uIU,8877
|
|
325
325
|
agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
|
|
326
326
|
agno/os/routers/memory/memory.py,sha256=ZKKR8SxEo4mjyGVZ11qy4BbnYXI-rnemAvj_N4nGYfc,32830
|
|
327
|
-
agno/os/routers/memory/schemas.py,sha256=
|
|
327
|
+
agno/os/routers/memory/schemas.py,sha256=WQ7OkJnRIMTis5VkbR6wPIG9X_srBlp4jfmYBW0Eqi8,4673
|
|
328
328
|
agno/os/routers/metrics/__init__.py,sha256=Uw6wWEikLpF5hHxBkHtFyaTuz7OUerGYWk0JW7teUGQ,97
|
|
329
329
|
agno/os/routers/metrics/metrics.py,sha256=L947err_dLzp5EoRHnh_tIglHxYnOJa76koLVed595o,9540
|
|
330
|
-
agno/os/routers/metrics/schemas.py,sha256=
|
|
330
|
+
agno/os/routers/metrics/schemas.py,sha256=1zE3Mfi15SNfF_Hy3r_tLK86E-Jox_qWzSG0oPswFQA,2706
|
|
331
331
|
agno/os/routers/session/__init__.py,sha256=du4LO9aZwiY1t59VcV9M6wiAfftFFlUZc-YXsTGy9LI,97
|
|
332
332
|
agno/os/routers/session/session.py,sha256=DOwW6pF1QRdd5V2QqZD-woBq6FDIfYc_0-9pWVmqTVQ,57752
|
|
333
333
|
agno/os/routers/teams/__init__.py,sha256=j2aPA09mwwn_vOG8p2uX0sDR-qNbLLRlPlprqM789NY,88
|
|
@@ -354,14 +354,18 @@ agno/reasoning/step.py,sha256=6DaOb_0DJRz9Yh1w_mxcRaOSVzIQDrj3lQ6rzHLdIwA,1220
|
|
|
354
354
|
agno/reasoning/vertexai.py,sha256=CCdY-ygLEdQLQuo2D-dYC0aDr4FJ9BqtkCkk2U2Ftfs,6174
|
|
355
355
|
agno/remote/__init__.py,sha256=zgDS3cO_6VavICojsmG8opJ49wLwydftGE6i6_yPDTo,66
|
|
356
356
|
agno/remote/base.py,sha256=059JJXC9TcxnkgqGjeHLnodjeIMEqyZ6UyKxJh-ye0c,19545
|
|
357
|
-
agno/run/__init__.py,sha256=
|
|
357
|
+
agno/run/__init__.py,sha256=GZwloCe48rEAjkb_xOJ7piOjICmHawiR1d4SqBtUd-k,222
|
|
358
358
|
agno/run/agent.py,sha256=U678dBfis4W-9r1_YdgqEjo1LhmWJv2YH17CqlB0JvE,29771
|
|
359
359
|
agno/run/base.py,sha256=SqiprPcwBbjVRxSi9zlMqPsN6QDh0UHMvodnRBZnH5c,9814
|
|
360
|
-
agno/run/cancel.py,sha256=
|
|
360
|
+
agno/run/cancel.py,sha256=Tyxg4lxwSvO2wSZDG4OF82ORQU6MYBu94YLqrEnK09Y,3019
|
|
361
361
|
agno/run/messages.py,sha256=rAC4CLW-xBA6qFS1BOvcjJ9j_qYf0a7sX1mcdY04zMU,1126
|
|
362
362
|
agno/run/requirement.py,sha256=5M_L-3nKLPDS0tUxTbFNvgXgWfWUyEohQz_3bxNc39M,6817
|
|
363
363
|
agno/run/team.py,sha256=mbSt4lCjTVGD6d9C3BmDGC8Lam9Wmvm3Lql6GZEY3hs,28826
|
|
364
364
|
agno/run/workflow.py,sha256=PMpOP7i2jl47kIMtw_rxY4U2S-Egxlvxe7QegGFihxA,25134
|
|
365
|
+
agno/run/cancellation_management/__init__.py,sha256=tA_u4MeG2dgm8cWJRXy0X6HF4mv6Kc55gykoSnuMPf0,406
|
|
366
|
+
agno/run/cancellation_management/base.py,sha256=nNh5yqfjp4Bpn03RE7T2jzLbzvY007ckzGhd-XKmZpk,2408
|
|
367
|
+
agno/run/cancellation_management/in_memory_cancellation_manager.py,sha256=p04IxrXG8FcHG3X-YS-ApNAdVj8kY1ZKBeUavdypZjM,3956
|
|
368
|
+
agno/run/cancellation_management/redis_cancellation_manager.py,sha256=t2wj3O8MfH2J4_73Hup9o1GZAZANm1GrVqWCPm5aI30,9271
|
|
365
369
|
agno/session/__init__.py,sha256=p6eqzWcLSHiMex2yZvkwv2yrFUNdGs21TGMS49xrEC4,376
|
|
366
370
|
agno/session/agent.py,sha256=8vVtwwUC5moGWdRcG99Ik6Ay7gbFRrPPnT1ncOUFQIg,10365
|
|
367
371
|
agno/session/summary.py,sha256=9JnDyQyggckd3zx6L8Q5f-lglZvrFQxvPjGU8gLCgR4,10292
|
|
@@ -369,7 +373,7 @@ agno/session/team.py,sha256=J7QIy8oCi2_eWs0ToDs7VHHfeFQI34cF4i1Yx7Tbv_M,13388
|
|
|
369
373
|
agno/session/workflow.py,sha256=nPHnh1N0SJby5JRjysCUI-kTDCelQMFfqosEnnLzPIg,19690
|
|
370
374
|
agno/team/__init__.py,sha256=7oYaEB1iTGbmajpgSd3tjCQAQo6t0PIE8ZT1m5MKTm0,905
|
|
371
375
|
agno/team/remote.py,sha256=mugWS9b1uTxn7HAi-YxGFvEPa7uB9Q-T00KTsqenEAA,10694
|
|
372
|
-
agno/team/team.py,sha256=
|
|
376
|
+
agno/team/team.py,sha256=6SuyLER_sdMVBRGYbhX0yvgtzORYUirpB4ZoVuy6NKI,433456
|
|
373
377
|
agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
|
|
374
378
|
agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
|
|
375
379
|
agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
|
|
@@ -534,7 +538,7 @@ agno/utils/pprint.py,sha256=aTg3gfib3x3VK3E-xJrbBeufK7s77ebTVtWoa2VrYgU,7762
|
|
|
534
538
|
agno/utils/prompts.py,sha256=wQU85SshxCDvZL1vD4rMWSnLhjQZCLXBL3HpOpiirXo,5811
|
|
535
539
|
agno/utils/reasoning.py,sha256=pW5y674EjJ-R6IX8Fyxi_vN9xLG5dLkujPpcfSVL1jU,3862
|
|
536
540
|
agno/utils/remote.py,sha256=MG-Dj2nzTvdOZke3T-wr9UcsCMIJPcTS-BP8_FSv6gc,688
|
|
537
|
-
agno/utils/response.py,sha256=
|
|
541
|
+
agno/utils/response.py,sha256=6gfo3NdpzQJx0W8Ts4HBbJ69ZqqHuM7pJi1RD4zWF6g,6870
|
|
538
542
|
agno/utils/response_iterator.py,sha256=MgtadrOuMcw2vJcVvhJdMKRzpVddhLWUIkGFbBz7ZCQ,379
|
|
539
543
|
agno/utils/safe_formatter.py,sha256=zLrW6O-nGUZvXoDkZOTgVpjeUFTmMUj8pk3FLvW_XjM,809
|
|
540
544
|
agno/utils/serialize.py,sha256=XvQA_KSkVd5qI1QuZwdQpCsl1IOKddFu52Jl6WQASqU,904
|
|
@@ -604,7 +608,7 @@ agno/vectordb/surrealdb/__init__.py,sha256=4GIpJZH0Hb42s1ZR0VS5BQ5RhTAaolmS-_rAI
|
|
|
604
608
|
agno/vectordb/surrealdb/surrealdb.py,sha256=INhIwK9UdnHmt3qOo5q9h9zzSPs3XVjnuSPVrAfU2fc,24698
|
|
605
609
|
agno/vectordb/upstashdb/__init__.py,sha256=set3Sx1F3ZCw0--0AeC036EAS0cC1xKsvQUK5FyloFA,100
|
|
606
610
|
agno/vectordb/upstashdb/upstashdb.py,sha256=AAalti8wCNGikjTE_mDLVQmyuPiNVrY_KFsHiYsGe3M,29307
|
|
607
|
-
agno/vectordb/weaviate/__init__.py,sha256=
|
|
611
|
+
agno/vectordb/weaviate/__init__.py,sha256=CF56_hm_DJq2JOYyzKwyrnGaSJoAFWHDvqvx5Z2SSI0,212
|
|
608
612
|
agno/vectordb/weaviate/index.py,sha256=y4XYPRZFksMfrrF85B4hn5AtmXM4SH--4CyLo27EHgM,253
|
|
609
613
|
agno/vectordb/weaviate/weaviate.py,sha256=cyw1r1a0YyrrJliIk7gZ43GBTlscx4ypV3LhUUom2zc,40638
|
|
610
614
|
agno/workflow/__init__.py,sha256=XS5WhNIReuf77Ahr5OCUYlpEFZLMRpqBo1GQPVi7L4k,679
|
|
@@ -617,9 +621,9 @@ agno/workflow/router.py,sha256=HQDOnErjtiQdY_EskJBV_mZq_k6d1gH6JJPIM2Yfelw,32016
|
|
|
617
621
|
agno/workflow/step.py,sha256=voTmWWihLKDAMeLgYoie96KLCiVpxPFrZoFHEMhA6QM,75046
|
|
618
622
|
agno/workflow/steps.py,sha256=rbfue2M4qYEkgHueojCY1-cB4i1MFjO-jX6uTxyoKwk,27118
|
|
619
623
|
agno/workflow/types.py,sha256=t4304WCKB19QFdV3ixXZICcU8wtBza4EBCIz5Ve6MSQ,18035
|
|
620
|
-
agno/workflow/workflow.py,sha256=
|
|
621
|
-
agno-2.3.
|
|
622
|
-
agno-2.3.
|
|
623
|
-
agno-2.3.
|
|
624
|
-
agno-2.3.
|
|
625
|
-
agno-2.3.
|
|
624
|
+
agno/workflow/workflow.py,sha256=MPBPGuh-9snFx_d83zJXkbMaUtEMqhwJQYNpKOp4p1Q,195871
|
|
625
|
+
agno-2.3.20.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
|
|
626
|
+
agno-2.3.20.dist-info/METADATA,sha256=Joi0h5Zuq0UdML8O9onH4pOFL7rAhTaYTNw_GVU8lv0,31557
|
|
627
|
+
agno-2.3.20.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
628
|
+
agno-2.3.20.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
|
|
629
|
+
agno-2.3.20.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|