agno 2.3.9__py3-none-any.whl → 2.3.11__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.
Files changed (43) hide show
  1. agno/agent/agent.py +0 -12
  2. agno/db/base.py +5 -5
  3. agno/db/dynamo/dynamo.py +2 -2
  4. agno/db/firestore/firestore.py +2 -2
  5. agno/db/gcs_json/gcs_json_db.py +2 -2
  6. agno/db/in_memory/in_memory_db.py +2 -2
  7. agno/db/json/json_db.py +2 -2
  8. agno/db/mongo/async_mongo.py +171 -69
  9. agno/db/mongo/mongo.py +171 -77
  10. agno/db/mysql/async_mysql.py +93 -69
  11. agno/db/mysql/mysql.py +93 -68
  12. agno/db/postgres/async_postgres.py +104 -78
  13. agno/db/postgres/postgres.py +97 -69
  14. agno/db/redis/redis.py +2 -2
  15. agno/db/singlestore/singlestore.py +91 -66
  16. agno/db/sqlite/async_sqlite.py +102 -79
  17. agno/db/sqlite/sqlite.py +97 -69
  18. agno/db/surrealdb/surrealdb.py +2 -2
  19. agno/eval/accuracy.py +11 -8
  20. agno/eval/agent_as_judge.py +9 -8
  21. agno/knowledge/chunking/fixed.py +4 -1
  22. agno/knowledge/embedder/openai.py +1 -1
  23. agno/knowledge/knowledge.py +22 -4
  24. agno/knowledge/utils.py +52 -7
  25. agno/models/base.py +34 -1
  26. agno/models/google/gemini.py +69 -40
  27. agno/models/message.py +3 -0
  28. agno/models/openai/chat.py +21 -0
  29. agno/os/routers/evals/utils.py +15 -37
  30. agno/os/routers/knowledge/knowledge.py +21 -9
  31. agno/team/team.py +14 -8
  32. agno/tools/function.py +37 -23
  33. agno/tools/shopify.py +1519 -0
  34. agno/tools/spotify.py +2 -5
  35. agno/tracing/exporter.py +2 -2
  36. agno/vectordb/base.py +15 -2
  37. agno/vectordb/pgvector/pgvector.py +8 -8
  38. agno/workflow/parallel.py +2 -0
  39. {agno-2.3.9.dist-info → agno-2.3.11.dist-info}/METADATA +1 -1
  40. {agno-2.3.9.dist-info → agno-2.3.11.dist-info}/RECORD +43 -42
  41. {agno-2.3.9.dist-info → agno-2.3.11.dist-info}/WHEEL +0 -0
  42. {agno-2.3.9.dist-info → agno-2.3.11.dist-info}/licenses/LICENSE +0 -0
  43. {agno-2.3.9.dist-info → agno-2.3.11.dist-info}/top_level.txt +0 -0
agno/tools/spotify.py CHANGED
@@ -13,14 +13,11 @@ Required scopes:
13
13
  import json
14
14
  from typing import Any, List, Optional
15
15
 
16
+ import httpx
17
+
16
18
  from agno.tools import Toolkit
17
19
  from agno.utils.log import log_debug
18
20
 
19
- try:
20
- import httpx
21
- except ImportError:
22
- raise ImportError("`httpx` not installed. Please install using `pip install httpx`")
23
-
24
21
 
25
22
  class SpotifyTools(Toolkit):
26
23
  """
agno/tracing/exporter.py CHANGED
@@ -90,7 +90,7 @@ class DatabaseSpanExporter(SpanExporter):
90
90
  # Create trace record (aggregate of all spans)
91
91
  trace = create_trace_from_spans(spans)
92
92
  if trace:
93
- self.db.create_trace(trace)
93
+ self.db.upsert_trace(trace)
94
94
 
95
95
  # Create span records
96
96
  self.db.create_spans(spans)
@@ -124,7 +124,7 @@ class DatabaseSpanExporter(SpanExporter):
124
124
  # Create trace record (aggregate of all spans)
125
125
  trace = create_trace_from_spans(spans)
126
126
  if trace:
127
- create_trace_result = self.db.create_trace(trace)
127
+ create_trace_result = self.db.upsert_trace(trace)
128
128
  if create_trace_result is not None:
129
129
  await create_trace_result
130
130
 
agno/vectordb/base.py CHANGED
@@ -2,6 +2,7 @@ from abc import ABC, abstractmethod
2
2
  from typing import Any, Dict, List, Optional
3
3
 
4
4
  from agno.knowledge.document import Document
5
+ from agno.utils.log import log_warning
5
6
  from agno.utils.string import generate_id
6
7
 
7
8
 
@@ -114,9 +115,21 @@ class VectorDb(ABC):
114
115
  def delete_by_metadata(self, metadata: Dict[str, Any]) -> bool:
115
116
  raise NotImplementedError
116
117
 
117
- @abstractmethod
118
118
  def update_metadata(self, content_id: str, metadata: Dict[str, Any]) -> None:
119
- raise NotImplementedError
119
+ """
120
+ Update the metadata for documents with the given content_id.
121
+
122
+ Default implementation logs a warning. Subclasses should override this method
123
+ to provide their specific implementation.
124
+
125
+ Args:
126
+ content_id (str): The content ID to update
127
+ metadata (Dict[str, Any]): The metadata to update
128
+ """
129
+ log_warning(
130
+ f"{self.__class__.__name__}.update_metadata() is not implemented. "
131
+ f"Metadata update for content_id '{content_id}' was skipped."
132
+ )
120
133
 
121
134
  @abstractmethod
122
135
  def delete_by_content_id(self, content_id: str) -> bool:
@@ -28,7 +28,7 @@ from agno.filters import FilterExpr
28
28
  from agno.knowledge.document import Document
29
29
  from agno.knowledge.embedder import Embedder
30
30
  from agno.knowledge.reranker.base import Reranker
31
- from agno.utils.log import log_debug, log_info, log_error, log_warning
31
+ from agno.utils.log import log_debug, log_error, log_info, log_warning
32
32
  from agno.vectordb.base import VectorDb
33
33
  from agno.vectordb.distance import Distance
34
34
  from agno.vectordb.pgvector.index import HNSW, Ivfflat
@@ -695,25 +695,24 @@ class PgVector(VectorDb):
695
695
  Update the metadata for a document.
696
696
 
697
697
  Args:
698
- id (str): The ID of the document.
698
+ content_id (str): The ID of the document.
699
699
  metadata (Dict[str, Any]): The metadata to update.
700
700
  """
701
+ print("metadata is: ", metadata)
701
702
  try:
702
703
  with self.Session() as sess:
703
- # Merge JSONB instead of overwriting: coalesce(existing, '{}') || :new
704
+ # Merge JSONB for metadata, but replace filters entirely (absolute value)
704
705
  stmt = (
705
706
  update(self.table)
706
707
  .where(self.table.c.content_id == content_id)
707
708
  .values(
708
709
  meta_data=func.coalesce(self.table.c.meta_data, text("'{}'::jsonb")).op("||")(
709
- bindparam("md", metadata, type_=postgresql.JSONB)
710
- ),
711
- filters=func.coalesce(self.table.c.filters, text("'{}'::jsonb")).op("||")(
712
- bindparam("ft", metadata, type_=postgresql.JSONB)
710
+ bindparam("md", type_=postgresql.JSONB)
713
711
  ),
712
+ filters=bindparam("ft", type_=postgresql.JSONB),
714
713
  )
715
714
  )
716
- sess.execute(stmt)
715
+ sess.execute(stmt, {"md": metadata, "ft": metadata})
717
716
  sess.commit()
718
717
  except Exception as e:
719
718
  log_error(f"Error updating metadata for document {content_id}: {e}")
@@ -1111,6 +1110,7 @@ class PgVector(VectorDb):
1111
1110
  search_results = self.reranker.rerank(query=query, documents=search_results)
1112
1111
 
1113
1112
  log_info(f"Found {len(search_results)} documents")
1113
+
1114
1114
  return search_results
1115
1115
  except Exception as e:
1116
1116
  log_error(f"Error during hybrid search: {e}")
agno/workflow/parallel.py CHANGED
@@ -419,6 +419,7 @@ class Parallel:
419
419
  step_index=sub_step_index,
420
420
  store_executor_outputs=store_executor_outputs,
421
421
  session_state=step_session_state,
422
+ run_context=run_context,
422
423
  parent_step_id=parallel_step_id,
423
424
  workflow_session=workflow_session,
424
425
  add_workflow_history_to_steps=add_workflow_history_to_steps,
@@ -580,6 +581,7 @@ class Parallel:
580
581
  add_workflow_history_to_steps=add_workflow_history_to_steps,
581
582
  num_history_runs=num_history_runs,
582
583
  session_state=step_session_state,
584
+ run_context=run_context,
583
585
  background_tasks=background_tasks,
584
586
  ) # type: ignore[union-attr]
585
587
  return idx, inner_step_result, step_session_state
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agno
3
- Version: 2.3.9
3
+ Version: 2.3.11
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
@@ -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=s7S3FgsjZxuaabzi8L5n4aSH8IZAiZ7XaNNcySGR-EQ,1051
9
- agno/agent/agent.py,sha256=IGJNpSJFWcvNXyCy7UdwY_5lKXHEl5QiJ6p8_3E2sXs,499463
9
+ agno/agent/agent.py,sha256=Bgfhl3Ss5mQgrAbBZphDb3hRfK7aE5iIZfJvEvVs5v8,498991
10
10
  agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
11
  agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
12
12
  agno/api/api.py,sha256=gFhVjxJYkQsw8mBl2fhoStMPGlyJ37DJaqgUOwZVvQI,1021
@@ -34,25 +34,25 @@ agno/compression/manager.py,sha256=lF2iYeW-ry2g9DUSyT5LdjMmWO8SuIpGxRz8zqV26jE,8
34
34
  agno/culture/__init__.py,sha256=nVScbcUeBmkj8l-rJWGOVGytwp5xB6IfUEL_h6atzQw,118
35
35
  agno/culture/manager.py,sha256=sh48GgfkgwQth2vB5ulgrbv2HGAfVidABrwAYEzWGBs,39833
36
36
  agno/db/__init__.py,sha256=bfd_tpKsIKCjZosnFqID26VoWqy88v8gzkf9kLHToY4,625
37
- agno/db/base.py,sha256=X5iJTNCFPXL_ueVKSe09uS0NHsPaXHC3LKwJFhvZyLg,31607
37
+ agno/db/base.py,sha256=8gd6IhUAGT67hPfrxJVshlEIy9myDXefAEggQclhENs,31628
38
38
  agno/db/utils.py,sha256=IAMrvy0MrqVr6VIN0ntG17g4nGDV9lUwRzneAAI02kI,4943
39
39
  agno/db/async_postgres/__init__.py,sha256=ja_thcYP3bP0DD3da6iUVDR_w2-S6B3M-UxBlkRfAvY,76
40
40
  agno/db/dynamo/__init__.py,sha256=fZ7NwKbyhoIu7_4T6hVz44HkIINXMnTfFrDrgB6bpEo,67
41
- agno/db/dynamo/dynamo.py,sha256=qnrEYxkhLne_R0MXicNdoqZK2a318GHCmMRV_t2boR8,108870
41
+ agno/db/dynamo/dynamo.py,sha256=QBegFbGEgHfdXUB4AeBfY9WDa3VvFOaP5ru4mEulMkg,108880
42
42
  agno/db/dynamo/schemas.py,sha256=NbVLIEqe2D5QYhS9JAAPqK4RdADN3G6fBJbULzGtPKM,18507
43
43
  agno/db/dynamo/utils.py,sha256=hF6Sta-cStS-0OThuZRBsK7NlKq8cNpkatgRN4pqJqU,27400
44
44
  agno/db/firestore/__init__.py,sha256=lYAJjUs4jMxJFty1GYZw464K35zeuBlcoFR9uuIQYtI,79
45
- agno/db/firestore/firestore.py,sha256=vW5xPu_0nXA3uzpBd22MgFRCYYVrSylYaCmn17ut_Nc,94157
45
+ agno/db/firestore/firestore.py,sha256=UZrzAJXxj5kBdCtWjFTUIO57hl-P4mCtAsp31Hhi4R8,94167
46
46
  agno/db/firestore/schemas.py,sha256=dri9lGHxs-IsqvsgL_noFoeAVn9iZflMPsqHkNdA-DM,6123
47
47
  agno/db/firestore/utils.py,sha256=vl7hwsOpaSgota0yN6DAQFHnviKvK670SOQme6gK-nI,13818
48
48
  agno/db/gcs_json/__init__.py,sha256=aTR4o3aFrzfANHtRw7nX9uc5_GsY52ch0rmoo7uXuc4,76
49
- agno/db/gcs_json/gcs_json_db.py,sha256=iDJ8onaYsm7sg24dlPxGErpCSO2LVpCZRsByFm7Y1XM,72277
49
+ agno/db/gcs_json/gcs_json_db.py,sha256=n3hZk-QLinaebtvHSO_YeuV0U5hn8mSnrhigJ6ZjTKI,72287
50
50
  agno/db/gcs_json/utils.py,sha256=-vGa_C8n4BSZOLICn6SEGQAZ73Cd-ejB1X5NzEfXWN8,8014
51
51
  agno/db/in_memory/__init__.py,sha256=OvR_FONhOh9PmcRfUA_6gvplZT5UGIBAgVKqVg6SWTA,80
52
- agno/db/in_memory/in_memory_db.py,sha256=Tc5KqXY8VYgOwwaKXwJ1y15QxK6C2mKLLghJEnip0Eg,51244
52
+ agno/db/in_memory/in_memory_db.py,sha256=OBd1leLvXyfNYxmKH6ch8RFfwqPF8wpcCq_xXjWsaaU,51254
53
53
  agno/db/in_memory/utils.py,sha256=RaeOzP74UANG-xFzCGRb20jZ4wgp_MPSlvU0T5I1uVk,8067
54
54
  agno/db/json/__init__.py,sha256=zyPTmVF9S-OwXCL7FSkrDmunZ_Q14YZO3NYUv1Pa14Y,62
55
- agno/db/json/json_db.py,sha256=2UdR3-ZVgKn4u7TZ6dWnMfR_rolV8pHMHKd22YR7IH0,69783
55
+ agno/db/json/json_db.py,sha256=YJYPJfLVldDZXx5pmflg_O8OfaXBbBNLOJHGE5qEuOY,69793
56
56
  agno/db/json/utils.py,sha256=ywD72LhxKl6yfmENKlOgCkw5W_XJ-oeOPSVvjsNnOy8,8062
57
57
  agno/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  agno/db/migrations/manager.py,sha256=D7-qgN0KxP_tLAhJw_1uPNCtxpiK-6r-S1Gg5r8AD0k,9647
@@ -60,22 +60,22 @@ agno/db/migrations/v1_to_v2.py,sha256=gj8deaEWUxOr0qJyMfjOpV3LxEh-otOSOxDckeUq0q
60
60
  agno/db/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
61
61
  agno/db/migrations/versions/v2_3_0.py,sha256=WikuOtgQs_Tq8o3JndCMG6HAMzKvz4GVth9V5V5RuvE,35161
62
62
  agno/db/mongo/__init__.py,sha256=NG2WC2jE5PX1kMXTYCVHjhomf5DAJgvzSj45QHdvl2E,466
63
- agno/db/mongo/async_mongo.py,sha256=0jh36UmtYqeQOyMT9MB-2GE7aqCUEN0jGWJzuv8ZfCo,107154
64
- agno/db/mongo/mongo.py,sha256=GHeDRw2VhhuTDtLcXpsf2UMU_WlJbJCc6n131Omn3Bw,98457
63
+ agno/db/mongo/async_mongo.py,sha256=n3iaVsXTuX0AOa8K1RkFsA82oWujnxn6TiyW0mM4jMY,113129
64
+ agno/db/mongo/mongo.py,sha256=Qk4y4uZ5-qDYKrKpJ9eAbx-dSg2FjzILcshCxZxg6gA,103976
65
65
  agno/db/mongo/schemas.py,sha256=Q3JrMZ3zCKZcHilh5CoQePI5d5dRjHAtjs5QuWrxiWc,3098
66
66
  agno/db/mongo/utils.py,sha256=1KrbF1PR_707e9SqXZcquaw_N7mRYm9HjJnvYwBjgG8,9921
67
67
  agno/db/mysql/__init__.py,sha256=LYeR17sORN-i8lFH7Sfk-THwEcQZP79_WHmpaBj9R7Y,130
68
- agno/db/mysql/async_mysql.py,sha256=sssEoR6--uoiuR17TK3BohtkQPeAEuVpvrdvHrJiJDw,122970
69
- agno/db/mysql/mysql.py,sha256=W5sNNKZfS5ZoC35D7wmcE8RmC_8TlPjrskCwZ7-kj90,120784
68
+ agno/db/mysql/async_mysql.py,sha256=ghdWW14wLye4aSKJRpluSUZAln-7bhbLKD4c8bO9_eM,124186
69
+ agno/db/mysql/mysql.py,sha256=EPwygAVhfqhIqnKp-83uNyU6WPRxc7l7fD6DmWAtKXQ,122044
70
70
  agno/db/mysql/schemas.py,sha256=_4p2IWt0zVq-fHuxFhEpWLWxlp3QPKk8xtNMiB1TNOY,9067
71
71
  agno/db/mysql/utils.py,sha256=VuITsLMo6EmdZWBdssPYMkpWXNTL6xbvNXyaosdR2m0,17251
72
72
  agno/db/postgres/__init__.py,sha256=Ojk00nTCzQFiH2ViD7KIBjgpkTKLRNPCwWnuXMKtNXY,154
73
- agno/db/postgres/async_postgres.py,sha256=ryPZ5XQoGvLzXFwmU_OYjeIpIx5nqDVe62V19yL3O5Y,106458
74
- agno/db/postgres/postgres.py,sha256=09Fmq2jUaRAs92kU8OZZFI34SHEeGjs98Azao-cR0I8,117002
73
+ agno/db/postgres/async_postgres.py,sha256=15EMS2g-7SKipDHBGRAqX96u-uwb2s8FgGPxftA39lI,107880
74
+ agno/db/postgres/postgres.py,sha256=VY9SWRFM2GGffXdd224yIk7PPUNsYS6rgp-a-VapsqE,118430
75
75
  agno/db/postgres/schemas.py,sha256=G0BRG9GcUcO43-TU52nKSEog8v3tdJNwIhEjts9dCns,8405
76
76
  agno/db/postgres/utils.py,sha256=UE3UQZ-h7fADAKBsX4BWcDka54YNROEpBrlfTmDvpqc,15471
77
77
  agno/db/redis/__init__.py,sha256=rZWeZ4CpVeKP-enVQ-SRoJ777i0rdGNgoNDRS9gsfAc,63
78
- agno/db/redis/redis.py,sha256=WgP-f8OfPTUEISY8O8meYbcJsFA3rpmXEthVQZRKdoM,82222
78
+ agno/db/redis/redis.py,sha256=qq3L43axf9ftp0HFS3HHD9kEsy2qOisONOzg60Lt6cg,82232
79
79
  agno/db/redis/schemas.py,sha256=90rDTGUyN1kYZ2KgeFjyOu1SwqYoTc1ErePxGqFlbj0,5217
80
80
  agno/db/redis/utils.py,sha256=vQpLI-V442B6m0q_l8IVEJctLD4P-kawbCm5A_Fnotg,11326
81
81
  agno/db/schemas/__init__.py,sha256=g72Zr5_nm00yXHStv4pf9PG9bGLKXEK7Av6YQtrDbCQ,147
@@ -86,22 +86,22 @@ agno/db/schemas/memory.py,sha256=dA7It1cN60dId-GpowmKTORy4Q6r9L49ZpGnnZkXmds,212
86
86
  agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
87
  agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
88
88
  agno/db/singlestore/schemas.py,sha256=gnCpoRAztbPiZOCfx9MGBx1sySijwogajSjxIeGpsaA,8923
89
- agno/db/singlestore/singlestore.py,sha256=PZwgOGI6z_ZOxr2zJh02i7SaocgxyVTO0wTz8_UCh7A,118487
89
+ agno/db/singlestore/singlestore.py,sha256=C_QkbKPfdrz8ZDtAS-FXpAqJXIM_EsdvmiC5HUD0MN8,119653
90
90
  agno/db/singlestore/utils.py,sha256=w2FVFIBpFJK6nKJVt1sgv9N-esmfpGY_8ViFRI69I2I,13677
91
91
  agno/db/sqlite/__init__.py,sha256=09V3i4y0-tBjt60--57ivZ__SaaS67GCsDT4Apzv-5Y,138
92
- agno/db/sqlite/async_sqlite.py,sha256=s0bHOV2a9kXH584EMvqDFIfTGSVnZErb5UxrKmS9gng,122006
92
+ agno/db/sqlite/async_sqlite.py,sha256=6hZ-JRT0lH7VExc1xDXIVg7VxPSL58KcOyIiI7K0O_4,123504
93
93
  agno/db/sqlite/schemas.py,sha256=1lrIFWEhXYZJIlQYEnOl3XLp3UfsE5ILj2HUPmOf3cg,8265
94
- agno/db/sqlite/sqlite.py,sha256=XjRJAmClEzYS6itHuPRD6RB9-iTtHgDkBmNLKy2vJOM,119118
94
+ agno/db/sqlite/sqlite.py,sha256=wEI3DUvqM656V8VBP7uRb_ARFjcIYT2yU0FFI3erTfk,120655
95
95
  agno/db/sqlite/utils.py,sha256=sgp-KR7A5naTqTORHYHyP_21hG9LffOzCgqbx5S8RfE,15171
96
96
  agno/db/surrealdb/__init__.py,sha256=C8qp5-Nx9YnSmgKEtGua-sqG_ntCXONBw1qqnNyKPqI,75
97
97
  agno/db/surrealdb/metrics.py,sha256=oKDRyjRQ6KR3HaO8zDHQLVMG7-0NDkOFOKX5I7mD5FA,10336
98
98
  agno/db/surrealdb/models.py,sha256=IUIpdd50MxznOB-hMstEcEHHVlWhll2FNQqVhM-9zIU,12889
99
99
  agno/db/surrealdb/queries.py,sha256=s__yJSFIx387IEflcDdti7T5j6H9NX_-zIj13F9CN9s,2051
100
- agno/db/surrealdb/surrealdb.py,sha256=6ldAHl-FFlL-wOJMcaoPqM1VCfg65hT8cJftiT0nEmc,75011
100
+ agno/db/surrealdb/surrealdb.py,sha256=h9nU9LbAqAq7xk84Rhkh-75mLZFf-YKhrbsT6nyazm8,75021
101
101
  agno/db/surrealdb/utils.py,sha256=PcZo_cTy-jI59I-XhzAomRLdV9-m0irtO4C-AYGSghs,5405
102
102
  agno/eval/__init__.py,sha256=EvakrDxJkFkdMpiIvyFpjk2tY4PFtvVL1qrZ5aN99ZM,696
103
- agno/eval/accuracy.py,sha256=x6axWHcBRXazuwKFKcCFVFMYgLbJcgTLAxv6WoiPv3w,33551
104
- agno/eval/agent_as_judge.py,sha256=o91p3yWrIQACDJbpLhbjm6joGKZgQv1nDJw_6XadtWQ,31901
103
+ agno/eval/accuracy.py,sha256=20rxNKjH3_Y6lMPRlrnKiIBlJLfKMsCN8JiJZ9jGofk,33775
104
+ agno/eval/agent_as_judge.py,sha256=17z8xoG7R4zoMOocn-x-LwV7B01fx2HdWmFiIFpO39o,32003
105
105
  agno/eval/base.py,sha256=esF8GyeuA9Gk0GM2MQXzPAEVwX8j5HROUp0_A-3bJ6Q,861
106
106
  agno/eval/performance.py,sha256=9FLilFKrq_auCboE_xBG42V-_IPPpm8zEvqswZ83Pm0,30764
107
107
  agno/eval/reliability.py,sha256=2PAIO8g-9ukqMg_iazorFY1uxzu9gk6eFPBPFE3NC4A,12873
@@ -118,13 +118,13 @@ agno/integrations/discord/__init__.py,sha256=MS08QSnegGgpDZd9LyLjK4pWIk9dXlbzgD7
118
118
  agno/integrations/discord/client.py,sha256=Yz4yWYv2-6MYM9cS5yrHHLEQx32hDY0o2lhP5V4SZsg,8387
119
119
  agno/knowledge/__init__.py,sha256=PJCt-AGKGFztzR--Ok2TNKW5QEqllZzqiI_7f8-1u80,79
120
120
  agno/knowledge/content.py,sha256=q2bjcjDhfge_UrQAcygrv5R9ZTk7vozzKnQpatDQWRo,2295
121
- agno/knowledge/knowledge.py,sha256=BHZ5PTKQSgLpmvclXm2x-9X6VZwTDq984vnJb7ABNzk,120579
121
+ agno/knowledge/knowledge.py,sha256=bIMVHLJnPgZCwDjONSQ-ORs7hC0NZpPxfl7guBerUeg,121522
122
122
  agno/knowledge/types.py,sha256=4NnkL_h2W-7GQnHW-yIqMNPUCWLzo5qBXF99gfsMe08,773
123
- agno/knowledge/utils.py,sha256=2dJE5HclZbM76TjimcHHFAz2VGmgs62DITE23DRPQBw,7302
123
+ agno/knowledge/utils.py,sha256=vmFgOd4FvKkHpw50Zydwq7pS9Il5QpHtxMXgFHU-7Xo,9437
124
124
  agno/knowledge/chunking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
125
125
  agno/knowledge/chunking/agentic.py,sha256=WeQ5ORe_CxsGYg0udOXjvwBo95hnpPZHVpFj-bMzuVU,3168
126
126
  agno/knowledge/chunking/document.py,sha256=pr8WE4GSCPfrWj-5Egu0DUz816YFsH-QHHojTARjnHc,3645
127
- agno/knowledge/chunking/fixed.py,sha256=yZLlZHisCWQKszExPuyzTT2zyaZo-udxAAjJhOI4QrE,2179
127
+ agno/knowledge/chunking/fixed.py,sha256=Mz0QgxqVNSaOYPtzihLz6yJdz19zCZ8zLRXIREjgTb8,2371
128
128
  agno/knowledge/chunking/markdown.py,sha256=M95AddeedFbG71DVxC4pbCullfX4StwmdmA9FalVPwQ,6162
129
129
  agno/knowledge/chunking/recursive.py,sha256=0zlmgFz2VfWFMCnVdJqRVrB2CLlu8Gc6BA6oy4xh4d8,2357
130
130
  agno/knowledge/chunking/row.py,sha256=yFGKMsHd2Ml0fkJLksw8ULUpWXmbSXIQwnwlKHVPP40,1426
@@ -146,7 +146,7 @@ agno/knowledge/embedder/langdb.py,sha256=_vbE1Jbj16WGP4aEkh54D7ESTu0LlI1_lp5WiXP
146
146
  agno/knowledge/embedder/mistral.py,sha256=AMc3VBpQCKFxetx2gRd9c6iRvR4-bSEWJ1Q4JPwQg28,8608
147
147
  agno/knowledge/embedder/nebius.py,sha256=Bp7DOyF22VxTZ2Nw6At4ywz7tzMYiE-NNGGc8Un3vtA,369
148
148
  agno/knowledge/embedder/ollama.py,sha256=faLkOvPt2dWs8h87anAgeeG3LJpMH4jVMWP7_3f7JHs,6313
149
- agno/knowledge/embedder/openai.py,sha256=dX38T6vNUPIQ0piT-kqBStuCR26kpERiBhZeOHTeWXU,7355
149
+ agno/knowledge/embedder/openai.py,sha256=KFNVJqxJQGvM1nEkHA4qTDIRHslQMjVWKgIGn_fvUPU,7355
150
150
  agno/knowledge/embedder/sentence_transformer.py,sha256=_d4XgV07bj1hkKnuzZGvP--v_-9K2e837PivJlmEoS8,2467
151
151
  agno/knowledge/embedder/together.py,sha256=Pt524Lh6YRDKfD8rfmLu0Qlw4dDh4vLz7KEMIvIULBk,387
152
152
  agno/knowledge/embedder/vllm.py,sha256=whtZs4OGzE9aXeK-L1UmwwnpgAgxFlxAfiHREroj8yA,10952
@@ -184,9 +184,9 @@ agno/memory/strategies/base.py,sha256=13xCiBPtFUrpDaWbiz8zmNGjopT4VSIkcHVxfnvJ4W
184
184
  agno/memory/strategies/summarize.py,sha256=4M9zWTsooC3EtHpZoC7Z-yFaQgQoebRMNfZPitdsvB0,7307
185
185
  agno/memory/strategies/types.py,sha256=b3N5jOG_dM4AxT7vGagFIc9sqUUjxFtRHSoH4_AhEx8,1225
186
186
  agno/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
- agno/models/base.py,sha256=OHEu6vLPIu9B0ZAGpmINv0WT9Hy33eN5ZGAqIes6d6c,116109
187
+ agno/models/base.py,sha256=vcDAW9XorhDG3T0wLbbiqtGe6V9vgJDwr8dSche1jzU,118036
188
188
  agno/models/defaults.py,sha256=1_fe4-ZbNriE8BgqxVRVi4KGzEYxYKYsz4hn6CZNEEM,40
189
- agno/models/message.py,sha256=Clqqw2Rt5B6cZ1gYdeOk_QCF7U74nNoT_tEaQq1NrA4,19876
189
+ agno/models/message.py,sha256=5bZOFdZuhsQw06nNppvFJq-JGI4lqQt4sVhdjfEFBZM,19976
190
190
  agno/models/metrics.py,sha256=81IILXZwGmOTiWK003bi5mg4bM1f4LCWbwyamjFzp18,4500
191
191
  agno/models/response.py,sha256=uwSw2wKm5U1ZJ1R-8dMWV1I7TgFlKTJGOFq73WExO6s,7110
192
192
  agno/models/utils.py,sha256=jxAIIG2y7KBypwFlc87GzFnvogRpGLfd-wwr6KXZIj8,7269
@@ -216,7 +216,7 @@ agno/models/deepseek/deepseek.py,sha256=vIxeA8ou-1_hlj2adF4VxbHhMKlMjcb6QUGVk_SB
216
216
  agno/models/fireworks/__init__.py,sha256=qIDjKUnwmrnwfa9B2Y3ybRyuUsF7Pzw6_bVq4N6M0Cg,86
217
217
  agno/models/fireworks/fireworks.py,sha256=0pCtb8UmPAJZTKpwFXKO-HLNZ-qK2zu3P8P5qxySRF8,1648
218
218
  agno/models/google/__init__.py,sha256=bEOSroFJ4__38XaCgBUWiOe_Qga66ZRm_gis__yIMmc,74
219
- agno/models/google/gemini.py,sha256=etret7ai12l9FKLEvHrlWX3Shzwa02cjtjmwZazbN2s,75009
219
+ agno/models/google/gemini.py,sha256=58m0BIHrBNdNv6Ly-lwIr4wJwaF4CwPD597duZ-3YDo,76320
220
220
  agno/models/google/utils.py,sha256=6X5yFZ8q9OL8FRnI-1Fa4iHHCx7PENFQ4uIBX34FilY,721
221
221
  agno/models/groq/__init__.py,sha256=gODf5IA4yJKlwTEYsUywmA-dsiQVyL2_yWMc8VncdVU,66
222
222
  agno/models/groq/groq.py,sha256=1xBkn8OmXFFXMcrhkxodsurgOuk1u_GVwq8GOHDSPTU,24185
@@ -249,7 +249,7 @@ agno/models/nvidia/nvidia.py,sha256=Q81Ey-IJFefOmlrjbBgwNXZ2ARey-j6pXPJHItaE8uY,
249
249
  agno/models/ollama/__init__.py,sha256=TIhwxG7ek3eyfoKTLoZQXwdgzcIngYKjbjSlkf2gkWE,72
250
250
  agno/models/ollama/chat.py,sha256=Szc8rEWRvQ2CW50V5xAuccX4Ozc1BAV9wUPbFJhY_J8,16862
251
251
  agno/models/openai/__init__.py,sha256=OssVgQRpsriU6aJZ3lIp_jFuqvX6y78L4Fd3uTlmI3E,225
252
- agno/models/openai/chat.py,sha256=Ir0KwjxBlw_Y2qEjBom_zh8s3QMjL6ccYxDqAFegWAM,40472
252
+ agno/models/openai/chat.py,sha256=UxmAhSHU63240K8lkaMkQt1NG2XUtan-kxJP4DBRIsY,41531
253
253
  agno/models/openai/like.py,sha256=wmw9PfAVqluBs4MMY73dgjelKn1yl5JDKyCRvaNFjFw,745
254
254
  agno/models/openai/responses.py,sha256=SahBoPgh8KFhRIE1QymhNhQoydFHFEmpBWxmFuixT88,46702
255
255
  agno/models/openrouter/__init__.py,sha256=ZpZhNyy_EGSXp58uC9e2iyjnxBctql7GaY8rUG-599I,90
@@ -312,9 +312,9 @@ agno/os/routers/agents/schema.py,sha256=Totxr4k-boOBocbM36gOnJqWlYGAdo_CC8bApjbm
312
312
  agno/os/routers/evals/__init__.py,sha256=3s0M-Ftg5A3rFyRfTATs-0aNA6wcbj_5tCvtwH9gORQ,87
313
313
  agno/os/routers/evals/evals.py,sha256=-vqHWZAxaPIyCPLcStEwVA75N6NguWIuh_3rZ525-d4,19683
314
314
  agno/os/routers/evals/schemas.py,sha256=xkbOSOX1scmvN782CVqv_MrsiXlxAqXA_esjmy5KEvY,7775
315
- agno/os/routers/evals/utils.py,sha256=oSqn3DATE4ImpBNuEh1hAwjAY5MF4S4BZF6mvhGJ_M4,9102
315
+ agno/os/routers/evals/utils.py,sha256=QRWt7VgtbloHkAhvqf2bvMC4MvcQwLxu9n2hEGX-648,8301
316
316
  agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyHXOWooMaU,105
317
- agno/os/routers/knowledge/knowledge.py,sha256=3GVIWlp7ArvunN6y4V8pD_xjWwx92VWoYGgRmkuRwmE,45326
317
+ agno/os/routers/knowledge/knowledge.py,sha256=A3ZRd4l0OM4tPAmyFAz_VWprpMMeTGSmT8msUcoGcPo,46084
318
318
  agno/os/routers/knowledge/schemas.py,sha256=GUr5RsRbI7K3qrrOlGVfW0Kf7XO6HjMviMW6nEl6qf8,8847
319
319
  agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
320
320
  agno/os/routers/memory/memory.py,sha256=N-T2Z7OI3-sCsoqhYNmY3D0dehrclWSk-FncogwVn-I,28331
@@ -359,7 +359,7 @@ agno/session/summary.py,sha256=9JnDyQyggckd3zx6L8Q5f-lglZvrFQxvPjGU8gLCgR4,10292
359
359
  agno/session/team.py,sha256=-MkB6qQCrnXLKko8L5s9fJOWPsjeK5Gx0SXEPoOwSFQ,13437
360
360
  agno/session/workflow.py,sha256=nPHnh1N0SJby5JRjysCUI-kTDCelQMFfqosEnnLzPIg,19690
361
361
  agno/team/__init__.py,sha256=toHidBOo5M3n_TIVtIKHgcDbLL9HR-_U-YQYuIt_XtE,847
362
- agno/team/team.py,sha256=mh638kzxrUmCUY3UtBqy_N06g6EqfOw1m6Sv2c3Ju8E,436505
362
+ agno/team/team.py,sha256=y4aGThQxfnCngTnvluyIJtS5ktWEfvm03BBegCHe0vc,436750
363
363
  agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
364
364
  agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
365
365
  agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
@@ -399,7 +399,7 @@ agno/tools/file.py,sha256=S_SFXzW1uzm29ecL0FH1QoWQKq3mD9JthALVSq549fg,10244
399
399
  agno/tools/file_generation.py,sha256=OxJNeEGpqf_SxemvET54Gi_j6uT1xMWFbjbQOnTSdoY,14006
400
400
  agno/tools/financial_datasets.py,sha256=NiXwyiYIFCawI8rR7JLJNIfwoQlranUeCcABHKhLHfw,9190
401
401
  agno/tools/firecrawl.py,sha256=axrrM7bvXBRkX8cBUtfrJ_G0YIeSQWaCTDAgRuhFsNk,5623
402
- agno/tools/function.py,sha256=0Dgr3xK3IypH_JfybtUQ41bhE4juoEP-AlDl-Fpc8UM,51532
402
+ agno/tools/function.py,sha256=ejMsUYG0FpPAYQCFnxjDKSGm_cixAHb80clTa2OjPLM,52530
403
403
  agno/tools/giphy.py,sha256=_wOCWVnMdFByE9Yoz4Pf2MoKxSjkUTiPJZ928_BNe2M,3070
404
404
  agno/tools/github.py,sha256=wct6P00YzF3zgWoV2c5aHeXX_2dgb9LqRwJAboi6QXw,70286
405
405
  agno/tools/gmail.py,sha256=m_7SY4oz2sP0RSJyNItZ_h5VeyI86J8840_p5Nz_2So,37073
@@ -447,10 +447,11 @@ agno/tools/searxng.py,sha256=t041lAuCIAREU6I13SvNwh3B27m62c_0mfiB3_bx9vw,4970
447
447
  agno/tools/serpapi.py,sha256=3jTBH93OiN7LvS7zJt4xOhkNsNd_SADHLKzQKDckh2s,3925
448
448
  agno/tools/serper.py,sha256=3UfqCgJLjQopomy_7JDWHN6WOyOYKlTr1bOpw1vd934,9069
449
449
  agno/tools/shell.py,sha256=1cQVdrJI6oWzDY6H50ISFfzvnK7p6uH3FqRa4HXbM_U,1764
450
+ agno/tools/shopify.py,sha256=pafu_S2fuJI97PnG61K8TZZ3OhtfS0rPiCAJfp5mI9A,57280
450
451
  agno/tools/slack.py,sha256=AmRV0wAqzNAL_DmOVNrHeZdw8bn9KJ1INrZ6qm40pn8,5413
451
452
  agno/tools/sleep.py,sha256=EfHhODf4Z1XnAppS_2-rb6vRGmFJEIG0RtS8t4cG-SE,632
452
453
  agno/tools/spider.py,sha256=wgtIxg13QSUA2GOIS_dD3yFNfXA_SOUBc7Fk_flas8M,4461
453
- agno/tools/spotify.py,sha256=MWwJv-zwL-97xEyO8qHGg7cw4R__aBwRExKmVoWnYww,31237
454
+ agno/tools/spotify.py,sha256=m3XjKT72OkUK40KIzgVh6ZOJ7e5uBZPFnnDXo9ROL-g,31119
454
455
  agno/tools/sql.py,sha256=HagMFqYUTWMSVKYKcaQ6Mqz16zpCugNypYOOuRS-pUY,5438
455
456
  agno/tools/tavily.py,sha256=1habkgXXHU8oStWmoZ29DVRBtl-tO-Pss1o9N1MovIU,10464
456
457
  agno/tools/telegram.py,sha256=e78EJlh44EmJNnv3FHyxW-sl72GjFYHpF6aGrCjNijc,1523
@@ -489,7 +490,7 @@ agno/tools/models/nebius.py,sha256=cuSwH5Kq9Jgf9phf3Vvk4ijuZsnWwDXU2zFJn0-UU1s,4
489
490
  agno/tools/streamlit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
490
491
  agno/tools/streamlit/components.py,sha256=hYYyr4FRMsNDV8IgK68_oiDF-Qi9djChZmDcg3s6Uu8,4016
491
492
  agno/tracing/__init__.py,sha256=o4DBBmZbH2akmgy3LJhI0m6yOPy-GgXXy3ITtmwlXq4,428
492
- agno/tracing/exporter.py,sha256=0hQd78aCLluzmPx57IxDT5B67KMzDRj4mRxxVLimsSI,5706
493
+ agno/tracing/exporter.py,sha256=lKSyZ2rSNSYIcLtyqUC6mOcFJHonWLhx_M42UdOxJyw,5706
493
494
  agno/tracing/schemas.py,sha256=3jPAMKsY_waX1W8elkq7plkkExGK2P6SbtZlxqIsDfc,10213
494
495
  agno/tracing/setup.py,sha256=J-nmeTvqwfrJ028jC6Yd5r073IoHhBV09SZ6Ut2dQsk,3914
495
496
  agno/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -548,7 +549,7 @@ agno/utils/print_response/agent.py,sha256=3QQZGPbnLgPYLDHiBunn1CEuZZYe0zlheGl4Qx
548
549
  agno/utils/print_response/team.py,sha256=4HoNCorLfKFQ6s87ODghLJcLYd-GcMTc5QD4ItpWaiM,83477
549
550
  agno/utils/print_response/workflow.py,sha256=bndej1GUbnirXihDsjewjbc4_McBWsZ3bByMk6gHhIU,78797
550
551
  agno/vectordb/__init__.py,sha256=P0QP9PUC4j2JtWIfYJX7LeC-oiPuh_QsUaOaP1ZY_dI,64
551
- agno/vectordb/base.py,sha256=7HeHdhR3hQtlERbCPI0Fc3L_pPKgWs4KAkEstkdNoHw,3812
552
+ agno/vectordb/base.py,sha256=0AmdEM2DIE2WdRJIcISEfaQgeYIDpZrMfbnPPI2HrE4,4344
552
553
  agno/vectordb/distance.py,sha256=OjpKSq57_gblZm4VGZTV7B7le45r_2-Fp1X4Hilx1M4,131
553
554
  agno/vectordb/search.py,sha256=9lJjTm2nvykn3MeVg0stB1qDZb_q-S7GG1MMS9P12e8,121
554
555
  agno/vectordb/cassandra/__init__.py,sha256=1N7lA9QDVWsCD5V5qvXjhACVDMWlq8f37hhNBWOcZA0,88
@@ -576,7 +577,7 @@ agno/vectordb/mongodb/__init__.py,sha256=FTF-0sskOk358593xcFsJc4sDb--SwMHo46KLFu
576
577
  agno/vectordb/mongodb/mongodb.py,sha256=BMXgA9CgvdVN0yqj_Vuc1UL91WTruBoMDFgMgSCDB7M,61094
577
578
  agno/vectordb/pgvector/__init__.py,sha256=Lui0HBzoHPIsKh5QuiT0eyTvYW88nQPfd_723jjHFCk,288
578
579
  agno/vectordb/pgvector/index.py,sha256=qfGgPP33SwZkXLfUcAC_XgQsyZIyggpGS2bfIkjjs-E,495
579
- agno/vectordb/pgvector/pgvector.py,sha256=vvzWcpKobeO_WlgBzgeY6iwuiIgPH3jF0LMc3_YnqFI,63844
580
+ agno/vectordb/pgvector/pgvector.py,sha256=NRO5wxH8sd2mGWU0uBkW9ZeV4jRVgoFqLbFgtYNqHOA,63790
580
581
  agno/vectordb/pineconedb/__init__.py,sha256=D7iThXtUCxNO0Nyjunv5Z91Jc1vHG1pgAFXthqD1I_w,92
581
582
  agno/vectordb/pineconedb/pineconedb.py,sha256=_1ese9Yg1ZNtgHXkql29cUO2SqmSzvZQhRv4qiodyCI,29522
582
583
  agno/vectordb/qdrant/__init__.py,sha256=x1ReQt79f9aI_T4JUWb36KNFnvdd-kVwZ1sLsU4sW7Q,76
@@ -597,14 +598,14 @@ agno/workflow/__init__.py,sha256=Ze2j811jwnsS8Sjv6u0Ap4l7Pyw_ivRof1uBYNJhb1w,609
597
598
  agno/workflow/agent.py,sha256=fKLB4kop7YYFeM1e-d3IzvVPsVF5cLNX6Z0gPn81ZR4,12170
598
599
  agno/workflow/condition.py,sha256=2zKLgrvwa3Up4aDKWSACOa7vZD0lSLX_lUW-LYJa0Yc,33939
599
600
  agno/workflow/loop.py,sha256=nDBXCRMhXHaRb-jnIbtEgY78h69zCdUrHwiJ6VXl5zo,33986
600
- agno/workflow/parallel.py,sha256=aI4PE3P5QyKZgmv5im04DpvpW1E_Excrc5ykevSvKF8,37987
601
+ agno/workflow/parallel.py,sha256=beAuv-Y5qt64kYlr_bK-RU36fzcA9WuNsFvgEET7o3I,38077
601
602
  agno/workflow/router.py,sha256=HQDOnErjtiQdY_EskJBV_mZq_k6d1gH6JJPIM2Yfelw,32016
602
603
  agno/workflow/step.py,sha256=voTmWWihLKDAMeLgYoie96KLCiVpxPFrZoFHEMhA6QM,75046
603
604
  agno/workflow/steps.py,sha256=rbfue2M4qYEkgHueojCY1-cB4i1MFjO-jX6uTxyoKwk,27118
604
605
  agno/workflow/types.py,sha256=OJXn4sYQ1VQ1H7UO_BwOO3_6q-OgcDX2XLDw3H4LIx0,20508
605
606
  agno/workflow/workflow.py,sha256=ylRulasAlJXDC90BpPaFxXNnlO_xcf5LxAbmcTU-Ltg,193481
606
- agno-2.3.9.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
607
- agno-2.3.9.dist-info/METADATA,sha256=tPyi3PJEHog1kC__7A_A4E_bhlnzAKvw7PkXDg5IiN8,31407
608
- agno-2.3.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
609
- agno-2.3.9.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
610
- agno-2.3.9.dist-info/RECORD,,
607
+ agno-2.3.11.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
608
+ agno-2.3.11.dist-info/METADATA,sha256=pYkp92kubgYB7rWA4lg9P1ZLDb5i74dZBAnya7NGpc4,31408
609
+ agno-2.3.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
610
+ agno-2.3.11.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
611
+ agno-2.3.11.dist-info/RECORD,,
File without changes