agno 2.2.11__py3-none-any.whl → 2.2.12__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 (44) hide show
  1. agno/agent/agent.py +62 -47
  2. agno/db/mysql/mysql.py +1 -1
  3. agno/db/singlestore/singlestore.py +1 -1
  4. agno/db/sqlite/async_sqlite.py +1 -1
  5. agno/db/sqlite/sqlite.py +1 -1
  6. agno/filters.py +354 -0
  7. agno/knowledge/knowledge.py +43 -22
  8. agno/os/interfaces/slack/router.py +53 -33
  9. agno/os/interfaces/slack/slack.py +9 -1
  10. agno/os/router.py +25 -1
  11. agno/run/base.py +3 -2
  12. agno/session/agent.py +10 -5
  13. agno/team/team.py +44 -17
  14. agno/utils/agent.py +22 -17
  15. agno/utils/gemini.py +15 -5
  16. agno/utils/knowledge.py +12 -5
  17. agno/utils/log.py +1 -0
  18. agno/utils/print_response/agent.py +5 -4
  19. agno/utils/print_response/team.py +5 -4
  20. agno/vectordb/base.py +2 -4
  21. agno/vectordb/cassandra/cassandra.py +12 -5
  22. agno/vectordb/chroma/chromadb.py +10 -4
  23. agno/vectordb/clickhouse/clickhousedb.py +12 -4
  24. agno/vectordb/couchbase/couchbase.py +12 -3
  25. agno/vectordb/lancedb/lance_db.py +69 -144
  26. agno/vectordb/langchaindb/langchaindb.py +13 -4
  27. agno/vectordb/lightrag/lightrag.py +8 -3
  28. agno/vectordb/llamaindex/llamaindexdb.py +10 -4
  29. agno/vectordb/milvus/milvus.py +16 -5
  30. agno/vectordb/mongodb/mongodb.py +14 -3
  31. agno/vectordb/pgvector/pgvector.py +73 -15
  32. agno/vectordb/pineconedb/pineconedb.py +6 -2
  33. agno/vectordb/qdrant/qdrant.py +25 -13
  34. agno/vectordb/redis/redisdb.py +37 -30
  35. agno/vectordb/singlestore/singlestore.py +9 -4
  36. agno/vectordb/surrealdb/surrealdb.py +13 -3
  37. agno/vectordb/upstashdb/upstashdb.py +8 -5
  38. agno/vectordb/weaviate/weaviate.py +29 -12
  39. agno/workflow/workflow.py +13 -7
  40. {agno-2.2.11.dist-info → agno-2.2.12.dist-info}/METADATA +1 -1
  41. {agno-2.2.11.dist-info → agno-2.2.12.dist-info}/RECORD +44 -43
  42. {agno-2.2.11.dist-info → agno-2.2.12.dist-info}/WHEEL +0 -0
  43. {agno-2.2.11.dist-info → agno-2.2.12.dist-info}/licenses/LICENSE +0 -0
  44. {agno-2.2.11.dist-info → agno-2.2.12.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  import asyncio
2
2
  import json
3
3
  from hashlib import md5
4
- from typing import Any, Dict, List, Optional
4
+ from typing import Any, Dict, List, Optional, Union
5
5
 
6
6
  try:
7
7
  from sqlalchemy.dialects import mysql
@@ -14,10 +14,11 @@ try:
14
14
  except ImportError:
15
15
  raise ImportError("`sqlalchemy` not installed")
16
16
 
17
+ from agno.filters import FilterExpr
17
18
  from agno.knowledge.document import Document
18
19
  from agno.knowledge.embedder import Embedder
19
20
  from agno.knowledge.reranker.base import Reranker
20
- from agno.utils.log import log_debug, log_error, log_info
21
+ from agno.utils.log import log_debug, log_error, log_info, log_warning
21
22
  from agno.vectordb.base import VectorDb
22
23
  from agno.vectordb.distance import Distance
23
24
 
@@ -282,7 +283,9 @@ class SingleStore(VectorDb):
282
283
  sess.commit()
283
284
  log_debug(f"Committed {counter} documents")
284
285
 
285
- def search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
286
+ def search(
287
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
288
+ ) -> List[Document]:
286
289
  """
287
290
  Search for documents based on a query and optional filters.
288
291
 
@@ -294,6 +297,8 @@ class SingleStore(VectorDb):
294
297
  Returns:
295
298
  List[Document]: List of documents that match the query.
296
299
  """
300
+ if filters is not None:
301
+ log_warning("Filters are not supported in SingleStore. No filters will be applied.")
297
302
  query_embedding = self.embedder.get_embedding(query)
298
303
  if query_embedding is None:
299
304
  log_error(f"Error getting embedding for Query: {query}")
@@ -665,7 +670,7 @@ class SingleStore(VectorDb):
665
670
  log_debug(f"Committed {counter} documents")
666
671
 
667
672
  async def async_search(
668
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
673
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
669
674
  ) -> List[Document]:
670
675
  return self.search(query=query, limit=limit, filters=filters)
671
676
 
@@ -11,9 +11,10 @@ except ImportError as e:
11
11
  msg = "The `surrealdb` package is not installed. Please install it via `pip install surrealdb`."
12
12
  raise ImportError(msg) from e
13
13
 
14
+ from agno.filters import FilterExpr
14
15
  from agno.knowledge.document import Document
15
16
  from agno.knowledge.embedder import Embedder
16
- from agno.utils.log import log_debug, log_error, log_info
17
+ from agno.utils.log import log_debug, log_error, log_info, log_warning
17
18
  from agno.vectordb.base import VectorDb
18
19
  from agno.vectordb.distance import Distance
19
20
 
@@ -318,7 +319,9 @@ class SurrealDb(VectorDb):
318
319
  thing = f"{self.collection}:{doc.id}" if doc.id else self.collection
319
320
  self.client.query(self.UPSERT_QUERY.format(thing=thing), data)
320
321
 
321
- def search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
322
+ def search(
323
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
324
+ ) -> List[Document]:
322
325
  """Search for similar documents.
323
326
 
324
327
  Args:
@@ -330,6 +333,9 @@ class SurrealDb(VectorDb):
330
333
  A list of documents that are similar to the query.
331
334
 
332
335
  """
336
+ if isinstance(filters, List):
337
+ log_warning("Filters Expressions are not supported in SurrealDB. No filters will be applied.")
338
+ filters = None
333
339
  query_embedding = self.embedder.get_embedding(query)
334
340
  if query_embedding is None:
335
341
  log_error(f"Error getting embedding for Query: {query}")
@@ -560,7 +566,7 @@ class SurrealDb(VectorDb):
560
566
  self,
561
567
  query: str,
562
568
  limit: int = 5,
563
- filters: Optional[Dict[str, Any]] = None,
569
+ filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
564
570
  ) -> List[Document]:
565
571
  """Search for similar documents asynchronously.
566
572
 
@@ -573,6 +579,10 @@ class SurrealDb(VectorDb):
573
579
  A list of documents that are similar to the query.
574
580
 
575
581
  """
582
+ if isinstance(filters, List):
583
+ log_warning("Filters Expressions are not supported in SurrealDB. No filters will be applied.")
584
+ filters = None
585
+
576
586
  query_embedding = self.embedder.get_embedding(query)
577
587
  if query_embedding is None:
578
588
  log_error(f"Error getting embedding for Query: {query}")
@@ -1,5 +1,5 @@
1
1
  import asyncio
2
- from typing import Any, Dict, List, Optional
2
+ from typing import Any, Dict, List, Optional, Union
3
3
 
4
4
  try:
5
5
  from upstash_vector import Index, Vector
@@ -9,10 +9,11 @@ except ImportError:
9
9
  "The `upstash-vector` package is not installed, please install using `pip install upstash-vector`"
10
10
  )
11
11
 
12
+ from agno.filters import FilterExpr
12
13
  from agno.knowledge.document import Document
13
14
  from agno.knowledge.embedder import Embedder
14
15
  from agno.knowledge.reranker.base import Reranker
15
- from agno.utils.log import log_info, logger
16
+ from agno.utils.log import log_info, log_warning, logger
16
17
  from agno.vectordb.base import VectorDb
17
18
 
18
19
  DEFAULT_NAMESPACE = ""
@@ -324,7 +325,7 @@ class UpstashVectorDb(VectorDb):
324
325
  self,
325
326
  query: str,
326
327
  limit: int = 5,
327
- filters: Optional[Dict[str, Any]] = None,
328
+ filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None,
328
329
  namespace: Optional[str] = None,
329
330
  ) -> List[Document]:
330
331
  """Search for documents in the index.
@@ -337,7 +338,9 @@ class UpstashVectorDb(VectorDb):
337
338
  List[Document]: List of matching documents.
338
339
  """
339
340
  _namespace = self.namespace if namespace is None else namespace
340
-
341
+ if isinstance(filters, List):
342
+ log_warning("Filters Expressions are not supported in UpstashDB. No filters will be applied.")
343
+ filters = None
341
344
  filter_str = "" if filters is None else str(filters)
342
345
 
343
346
  if not self.use_upstash_embeddings and self.embedder is not None:
@@ -623,7 +626,7 @@ class UpstashVectorDb(VectorDb):
623
626
  self.index.upsert(vectors, namespace=_namespace)
624
627
 
625
628
  async def async_search(
626
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
629
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
627
630
  ) -> List[Document]:
628
631
  raise NotImplementedError(f"Async not supported on {self.__class__.__name__}.")
629
632
 
@@ -3,7 +3,7 @@ import json
3
3
  import uuid
4
4
  from hashlib import md5
5
5
  from os import getenv
6
- from typing import Any, Dict, List, Optional, Tuple
6
+ from typing import Any, Dict, List, Optional, Tuple, Union
7
7
 
8
8
  try:
9
9
  from warnings import filterwarnings
@@ -18,10 +18,11 @@ try:
18
18
  except ImportError:
19
19
  raise ImportError("Weaviate is not installed. Install using 'pip install weaviate-client'.")
20
20
 
21
+ from agno.filters import FilterExpr
21
22
  from agno.knowledge.document import Document
22
23
  from agno.knowledge.embedder import Embedder
23
24
  from agno.knowledge.reranker.base import Reranker
24
- from agno.utils.log import log_debug, log_info, logger
25
+ from agno.utils.log import log_debug, log_info, log_warning, logger
25
26
  from agno.vectordb.base import VectorDb
26
27
  from agno.vectordb.search import SearchType
27
28
  from agno.vectordb.weaviate.index import Distance, VectorIndex
@@ -392,7 +393,9 @@ class Weaviate(VectorDb):
392
393
  await self.async_insert(content_hash=content_hash, documents=documents, filters=filters)
393
394
  return
394
395
 
395
- def search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
396
+ def search(
397
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
398
+ ) -> List[Document]:
396
399
  """
397
400
  Perform a search based on the configured search type.
398
401
 
@@ -404,6 +407,9 @@ class Weaviate(VectorDb):
404
407
  Returns:
405
408
  List[Document]: List of matching documents.
406
409
  """
410
+ if isinstance(filters, List):
411
+ log_warning("Filters Expressions are not supported in Weaviate. No filters will be applied.")
412
+ filters = None
407
413
  if self.search_type == SearchType.vector:
408
414
  return self.vector_search(query, limit, filters)
409
415
  elif self.search_type == SearchType.keyword:
@@ -415,7 +421,7 @@ class Weaviate(VectorDb):
415
421
  return []
416
422
 
417
423
  async def async_search(
418
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
424
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
419
425
  ) -> List[Document]:
420
426
  """
421
427
  Perform a search based on the configured search type asynchronously.
@@ -428,6 +434,9 @@ class Weaviate(VectorDb):
428
434
  Returns:
429
435
  List[Document]: List of matching documents.
430
436
  """
437
+ if isinstance(filters, List):
438
+ log_warning("Filters Expressions are not supported in Weaviate. No filters will be applied.")
439
+ filters = None
431
440
  if self.search_type == SearchType.vector:
432
441
  return await self.async_vector_search(query, limit, filters)
433
442
  elif self.search_type == SearchType.keyword:
@@ -438,7 +447,9 @@ class Weaviate(VectorDb):
438
447
  logger.error(f"Invalid search type '{self.search_type}'.")
439
448
  return []
440
449
 
441
- def vector_search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
450
+ def vector_search(
451
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
452
+ ) -> List[Document]:
442
453
  try:
443
454
  query_embedding = self.embedder.get_embedding(query)
444
455
  if query_embedding is None:
@@ -473,7 +484,7 @@ class Weaviate(VectorDb):
473
484
  self.get_client().close()
474
485
 
475
486
  async def async_vector_search(
476
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
487
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
477
488
  ) -> List[Document]:
478
489
  """
479
490
  Perform a vector search in Weaviate asynchronously.
@@ -518,7 +529,9 @@ class Weaviate(VectorDb):
518
529
  logger.error(f"Error searching for documents: {e}")
519
530
  return []
520
531
 
521
- def keyword_search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
532
+ def keyword_search(
533
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
534
+ ) -> List[Document]:
522
535
  try:
523
536
  collection = self.get_client().collections.get(self.collection)
524
537
  filter_expr = self._build_filter_expression(filters)
@@ -549,7 +562,7 @@ class Weaviate(VectorDb):
549
562
  self.get_client().close()
550
563
 
551
564
  async def async_keyword_search(
552
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
565
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
553
566
  ) -> List[Document]:
554
567
  """
555
568
  Perform a keyword search in Weaviate asynchronously.
@@ -590,7 +603,9 @@ class Weaviate(VectorDb):
590
603
  logger.error(f"Error searching for documents: {e}")
591
604
  return []
592
605
 
593
- def hybrid_search(self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None) -> List[Document]:
606
+ def hybrid_search(
607
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
608
+ ) -> List[Document]:
594
609
  try:
595
610
  query_embedding = self.embedder.get_embedding(query)
596
611
  if query_embedding is None:
@@ -628,7 +643,7 @@ class Weaviate(VectorDb):
628
643
  self.get_client().close()
629
644
 
630
645
  async def async_hybrid_search(
631
- self, query: str, limit: int = 5, filters: Optional[Dict[str, Any]] = None
646
+ self, query: str, limit: int = 5, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]] = None
632
647
  ) -> List[Document]:
633
648
  """
634
649
  Perform a hybrid search combining vector and keyword search in Weaviate asynchronously.
@@ -849,7 +864,7 @@ class Weaviate(VectorDb):
849
864
  """Indicate that upsert functionality is available."""
850
865
  return True
851
866
 
852
- def _build_filter_expression(self, filters: Optional[Dict[str, Any]]):
867
+ def _build_filter_expression(self, filters: Optional[Union[Dict[str, Any], List[FilterExpr]]]):
853
868
  """
854
869
  Build a filter expression for Weaviate queries.
855
870
 
@@ -861,7 +876,9 @@ class Weaviate(VectorDb):
861
876
  """
862
877
  if not filters:
863
878
  return None
864
-
879
+ if isinstance(filters, List):
880
+ log_warning("Filters Expressions are not supported in Weaviate. No filters will be applied.")
881
+ return None
865
882
  try:
866
883
  # Create a filter for each key-value pair
867
884
  filter_conditions = []
agno/workflow/workflow.py CHANGED
@@ -974,8 +974,8 @@ class Workflow:
974
974
  websocket_handler: Optional[WebSocketHandler] = None,
975
975
  ) -> "WorkflowRunOutputEvent":
976
976
  """Handle workflow events for storage - similar to Team._handle_event"""
977
- from agno.run.agent import RunOutput
978
977
  from agno.run.base import BaseRunOutputEvent
978
+ from agno.run.agent import RunOutput
979
979
  from agno.run.team import TeamRunOutput
980
980
 
981
981
  if isinstance(event, (RunOutput, TeamRunOutput)):
@@ -2550,10 +2550,13 @@ class Workflow:
2550
2550
  # Return SAME object that will be updated by background execution
2551
2551
  return workflow_run_response
2552
2552
 
2553
- async def aget_run(self, run_id: str) -> Optional[WorkflowRunOutput]:
2553
+ async def aget_run(self, run_id: str, session_id: Optional[str] = None) -> Optional[WorkflowRunOutput]:
2554
2554
  """Get the status and details of a background workflow run - SIMPLIFIED"""
2555
- if self.db is not None and self.session_id is not None:
2556
- session = await self.db.aget_session(session_id=self.session_id, session_type=SessionType.WORKFLOW) # type: ignore
2555
+ # Use provided session_id or fall back to self.session_id
2556
+ _session_id = session_id if session_id is not None else self.session_id
2557
+
2558
+ if self.db is not None and _session_id is not None:
2559
+ session = await self.db.aget_session(session_id=_session_id, session_type=SessionType.WORKFLOW) # type: ignore
2557
2560
  if session and isinstance(session, WorkflowSession) and session.runs:
2558
2561
  # Find the run by ID
2559
2562
  for run in session.runs:
@@ -2562,10 +2565,13 @@ class Workflow:
2562
2565
 
2563
2566
  return None
2564
2567
 
2565
- def get_run(self, run_id: str) -> Optional[WorkflowRunOutput]:
2568
+ def get_run(self, run_id: str, session_id: Optional[str] = None) -> Optional[WorkflowRunOutput]:
2566
2569
  """Get the status and details of a background workflow run - SIMPLIFIED"""
2567
- if self.db is not None and self.session_id is not None:
2568
- session = self.db.get_session(session_id=self.session_id, session_type=SessionType.WORKFLOW)
2570
+ # Use provided session_id or fall back to self.session_id
2571
+ _session_id = session_id if session_id is not None else self.session_id
2572
+
2573
+ if self.db is not None and _session_id is not None:
2574
+ session = self.db.get_session(session_id=_session_id, session_type=SessionType.WORKFLOW)
2569
2575
  if session and isinstance(session, WorkflowSession) and session.runs:
2570
2576
  # Find the run by ID
2571
2577
  for run in session.runs:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agno
3
- Version: 2.2.11
3
+ Version: 2.2.12
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
@@ -1,10 +1,11 @@
1
1
  agno/__init__.py,sha256=fTmeyAdl4Mc1Y7_y_sACZTzXrc2Ymn8nMaFlgaawFvo,183
2
2
  agno/debug.py,sha256=zzYxYwfF5AfHgQ6JU7oCmPK4yc97Y5xxOb5fiezq8nA,449
3
3
  agno/exceptions.py,sha256=7xqLur8sWHugnViIJz4PvPKSHljSiVKNAqaKQOJgZiU,4982
4
+ agno/filters.py,sha256=QxBjNUUS53o1zkG-J0F8XjDzlu0ADtJn3r6rfkGZ9Fk,12079
4
5
  agno/media.py,sha256=eTfYb_pwhX_PCIVPSrW4VYRqmoxKABEF1aZClrVvQ30,16500
5
6
  agno/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
7
  agno/agent/__init__.py,sha256=s7S3FgsjZxuaabzi8L5n4aSH8IZAiZ7XaNNcySGR-EQ,1051
7
- agno/agent/agent.py,sha256=q8TvuR0AC_cCnzMPijB9a6bGU3WkP90RDeLnVgsARdY,458456
8
+ agno/agent/agent.py,sha256=BTX9DnoeKw90b1K9H-GSB8TK_hVyzCWEIZ2oWUf2-sw,459791
8
9
  agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
10
  agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
10
11
  agno/api/api.py,sha256=Z7iWbrjheJcGLeeDYrtTCWiKTVqjH0uJI35UNWOtAXw,973
@@ -58,7 +59,7 @@ agno/db/mongo/mongo.py,sha256=F77-npqo_PqZ2wcsZ11X3H9mOdaO_cLF46hMiSuqlo0,78115
58
59
  agno/db/mongo/schemas.py,sha256=d2ZxqqzKYwz0Iexgrv1HWArGnmk3KUKJ37PCzFykodI,2314
59
60
  agno/db/mongo/utils.py,sha256=5QYp2WgQtOK497eQMqXcTgMSGA7Y6UXX_VABX6xaLdM,9248
60
61
  agno/db/mysql/__init__.py,sha256=ohBMZ1E6ctioEF0XX5PjC4LtUQrc6lFkjsE4ojyXA8g,63
61
- agno/db/mysql/mysql.py,sha256=oG2Ubko4JUJUPU32XyYcebn-qhiL2Lb3p_1FLFFpi4w,96111
62
+ agno/db/mysql/mysql.py,sha256=jNza9JLx_rmeGCJy35SRVGJo6PL-YeNdsNZ5k7vgftY,96071
62
63
  agno/db/mysql/schemas.py,sha256=OpdAWhh-ElwQ5JOg1MKJqGJ16qzVTuyS56iH9Zw3oHs,6171
63
64
  agno/db/mysql/utils.py,sha256=PdqN-SxM-ox8HU9CZyxzvs2D1FE2vdZFVCyFgFcQsyU,12366
64
65
  agno/db/postgres/__init__.py,sha256=Ojk00nTCzQFiH2ViD7KIBjgpkTKLRNPCwWnuXMKtNXY,154
@@ -78,12 +79,12 @@ agno/db/schemas/memory.py,sha256=kKlJ6AWpbwz-ZJfBJieartPP0QqeeoKAXx2Ity4Yj-Y,146
78
79
  agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
80
  agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
80
81
  agno/db/singlestore/schemas.py,sha256=Eb9wipCjWr48dlF3CMDa53WDvFsr7QhLOSaTgbUkMKg,6178
81
- agno/db/singlestore/singlestore.py,sha256=tj30IIfj0cp9_VcFXp5C5WbQ5b4160gZHgCu9qNYGj4,94023
82
+ agno/db/singlestore/singlestore.py,sha256=PddX8zTjQ5MvnpqE3-EQy6DfthzosbMPs4GCmKc8SaA,93995
82
83
  agno/db/singlestore/utils.py,sha256=w2FVFIBpFJK6nKJVt1sgv9N-esmfpGY_8ViFRI69I2I,13677
83
84
  agno/db/sqlite/__init__.py,sha256=09V3i4y0-tBjt60--57ivZ__SaaS67GCsDT4Apzv-5Y,138
84
- agno/db/sqlite/async_sqlite.py,sha256=4TTCcIySzPw9nY1ECLVmWjE9rwwkk1iGkhzcFK_cdwY,96574
85
+ agno/db/sqlite/async_sqlite.py,sha256=sjXT1I2HWPfPhBLdQi0mt-FVZIyFwUqMYrAWFmmEVOg,96546
85
86
  agno/db/sqlite/schemas.py,sha256=NyEvAFG-hi3Inm5femgJdorxJ5l2-bXLWBhxJ4r7jW0,5832
86
- agno/db/sqlite/sqlite.py,sha256=1Ozr74l1LInlVzwrMQruqEoP_I-ymovpEN4JVCn2Tpc,94714
87
+ agno/db/sqlite/sqlite.py,sha256=pXaA8j0V-o7czs8O5HYy_CMRqTKRXgmz_AxTXs8VpOA,94686
87
88
  agno/db/sqlite/utils.py,sha256=ZCYVrhtm9Bw1gddlaVZW7bQF2XqIJ993UDWVDGsYtX8,15557
88
89
  agno/db/surrealdb/__init__.py,sha256=C8qp5-Nx9YnSmgKEtGua-sqG_ntCXONBw1qqnNyKPqI,75
89
90
  agno/db/surrealdb/metrics.py,sha256=oKDRyjRQ6KR3HaO8zDHQLVMG7-0NDkOFOKX5I7mD5FA,10336
@@ -106,7 +107,7 @@ agno/integrations/discord/__init__.py,sha256=MS08QSnegGgpDZd9LyLjK4pWIk9dXlbzgD7
106
107
  agno/integrations/discord/client.py,sha256=2IWkA-kCDsDXByKOGq2QJG6MtFsbouzNN105rsXn95A,8375
107
108
  agno/knowledge/__init__.py,sha256=PJCt-AGKGFztzR--Ok2TNKW5QEqllZzqiI_7f8-1u80,79
108
109
  agno/knowledge/content.py,sha256=q2bjcjDhfge_UrQAcygrv5R9ZTk7vozzKnQpatDQWRo,2295
109
- agno/knowledge/knowledge.py,sha256=NoUE-x3EkL3aWRxYzSY-i5K7Y7khGbYxJNywS8yCKB8,80093
110
+ agno/knowledge/knowledge.py,sha256=792nw24P21u_dDtvBRtW946K8_3Zj_65n-zDTbNjHSw,81221
110
111
  agno/knowledge/types.py,sha256=4NnkL_h2W-7GQnHW-yIqMNPUCWLzo5qBXF99gfsMe08,773
111
112
  agno/knowledge/utils.py,sha256=2dJE5HclZbM76TjimcHHFAz2VGmgs62DITE23DRPQBw,7302
112
113
  agno/knowledge/chunking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -262,7 +263,7 @@ agno/os/app.py,sha256=Me7CErHganEiMF6gmXiHI6uJpMi6XqGhjYhNSaN3BcA,34674
262
263
  agno/os/auth.py,sha256=FyBtAKWtg-qSunCas5m5pK1dVEmikOSZvcCp5r25tTA,1844
263
264
  agno/os/config.py,sha256=QPGxENF2yezEOp0yV9OXU-FBs4_vYSXkxbbSol51wPE,2932
264
265
  agno/os/mcp.py,sha256=7lAiELFmwcF-eN_pOIJVjun9r5dFcQfPTHD_rP1Zu-s,10318
265
- agno/os/router.py,sha256=MQJsFbyahNk60wF3RQ8Op3ag8j6FKhY630SlLtOYWc0,72078
266
+ agno/os/router.py,sha256=bDcS_L2zdQPlUdgyRx-cRCOP1z1_O-3uFUS6jzwEYVo,73340
266
267
  agno/os/schema.py,sha256=o7p5eDlo7BSWAX8qtIhUezxs43hWRrzrllqBHhLSMU0,52804
267
268
  agno/os/settings.py,sha256=Cn5_8lZI8Vx1UaUYqs9h6Qp4IMDFn4f3c35uppiaMy4,1343
268
269
  agno/os/utils.py,sha256=KdKin_Ykzj1khSUkGcc5RCsuznEutMzgeSsvRiVe5XM,22967
@@ -277,9 +278,9 @@ agno/os/interfaces/agui/agui.py,sha256=PKGoDDbtQFmEC0zRwZmsjS_5t9bJWJ-ZGwxEQsu9P
277
278
  agno/os/interfaces/agui/router.py,sha256=DgJB3WFI_ygIjfrWUiq-k_OxFBAgDxv3dUKUI0LAt0Q,5256
278
279
  agno/os/interfaces/agui/utils.py,sha256=tUeQw_7JFp5Zijc2s2J0FdU20AD0CC3zqRPqMzVN0Os,21676
279
280
  agno/os/interfaces/slack/__init__.py,sha256=F095kOcgiyk_KzIozNNieKwpVc_NR8HYpuO4bKiCNN0,70
280
- agno/os/interfaces/slack/router.py,sha256=KVR6jerRnjw6hRLDs3NR8ScIJx2MDACcVOAyQyJEm6A,5466
281
+ agno/os/interfaces/slack/router.py,sha256=dgxKk4ghA03ZS1xuPhXAlUD_wZOyx0g2TJ7pVN6xbG0,5931
281
282
  agno/os/interfaces/slack/security.py,sha256=nMbW_0g-G_DEMbCQOD8C3PYrRPIpB2cyM6P-xS6GHYk,917
282
- agno/os/interfaces/slack/slack.py,sha256=3fYuaWVA0qu435U4EBc9QrIYp96277TyD4awQqxK-os,1153
283
+ agno/os/interfaces/slack/slack.py,sha256=XEbL1WjOtFIDS1Rn1oclZ6vzCLlE7ouXeg1uYSVDW38,1382
283
284
  agno/os/interfaces/whatsapp/__init__.py,sha256=-sD2W00qj8hrx72ATVMtaDc7GfAsaCQJMlnRjYPwisg,82
284
285
  agno/os/interfaces/whatsapp/router.py,sha256=JvkJrk2StdkusteTLkfx6sbhHoCaMPPnv-UxZADwT7c,9827
285
286
  agno/os/interfaces/whatsapp/security.py,sha256=WOdjP886O0Wq6CRHSLAv_b39y6pjmn8opPQDSlZf4WA,1735
@@ -318,18 +319,18 @@ agno/reasoning/step.py,sha256=6DaOb_0DJRz9Yh1w_mxcRaOSVzIQDrj3lQ6rzHLdIwA,1220
318
319
  agno/reasoning/vertexai.py,sha256=O9ntvalkIY2jLmWviEH1DnecMskqTL-mRZQBZohoHiU,2974
319
320
  agno/run/__init__.py,sha256=DFjpUomTzHvIDQQE_PUfp4oJM-7Ti8h8a_Fe5Kr8rjM,98
320
321
  agno/run/agent.py,sha256=zy7gLVp_pMqa_Cg2mZ8I1EVGrfGMfzOoW3syly9E7Lc,27484
321
- agno/run/base.py,sha256=vVsmcL3E7ZiEZFAjJFrwEYzzsmnRLwNhWqelJTe4raU,8193
322
+ agno/run/base.py,sha256=mcTjnvcySDaSLeCNQvxxEQObiOzUR2JDSE_40Pi9AEw,8267
322
323
  agno/run/cancel.py,sha256=yoSj3fnx8D7Gf-fSngVIgd3GOp3tRaDhHH_4QeHDoAk,2667
323
324
  agno/run/messages.py,sha256=rAC4CLW-xBA6qFS1BOvcjJ9j_qYf0a7sX1mcdY04zMU,1126
324
325
  agno/run/team.py,sha256=dCyLp-OixJu1QxZRNTvl9uZ_BvKGneMc09A6OB34N5k,27480
325
326
  agno/run/workflow.py,sha256=jmqupVAS6hCXTZGS4xGUH4erJNpXsR-z5A-68y834RQ,25087
326
327
  agno/session/__init__.py,sha256=p6eqzWcLSHiMex2yZvkwv2yrFUNdGs21TGMS49xrEC4,376
327
- agno/session/agent.py,sha256=UGgDQB5nTxFwJcqWpWAmRGjXMLhwSCqRXDyoEi5a-jg,11763
328
+ agno/session/agent.py,sha256=IBjJj3kE8y9VIISL9oypz-wMiaIFvuKUzBkMIENuvok,12051
328
329
  agno/session/summary.py,sha256=f0e02PblHEzG1uPvNiLSTbR1DpwchDy4kCin4l2Dt20,10304
329
330
  agno/session/team.py,sha256=M9QEmGYyQM64ZsvPWRdp1xZV6EQGuun6pjJL05AzU-k,15260
330
331
  agno/session/workflow.py,sha256=DnYjubF6rKwDl_HSR3_ieLeX0SyGm6xkn9SCWJ1ldbk,7419
331
332
  agno/team/__init__.py,sha256=toHidBOo5M3n_TIVtIKHgcDbLL9HR-_U-YQYuIt_XtE,847
332
- agno/team/team.py,sha256=oOjpT93M3AbuoI92w1ccOwR8toWT1sjOnxgw6jmR7a8,399194
333
+ agno/team/team.py,sha256=kl_r7E7BPi4bMb09Js20ha1nOsI2TcgTaS52k4UYeWk,400637
333
334
  agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
334
335
  agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
335
336
  agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
@@ -458,7 +459,7 @@ agno/tools/models/nebius.py,sha256=H06zDhYfrZuV1p-OfIWgfK99TRwkZShswMkbaS-jC4k,4
458
459
  agno/tools/streamlit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
459
460
  agno/tools/streamlit/components.py,sha256=hYYyr4FRMsNDV8IgK68_oiDF-Qi9djChZmDcg3s6Uu8,4016
460
461
  agno/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
461
- agno/utils/agent.py,sha256=zXYfg7wBBbwT5dEwI0_lq9jX_PkNrEV-V0ba4pkZ25U,32048
462
+ agno/utils/agent.py,sha256=b3rNqwm_w9AFm_KIb4633Q9RoC_0ysUhOIC4-rnZCqo,32336
462
463
  agno/utils/audio.py,sha256=kdPMr_wYh-NyxQ-U57hyulK0Y7iIkuVinL9AQ7w64EU,1455
463
464
  agno/utils/certs.py,sha256=Dtqmcwngq6b-27gN7Zsmo9lKlMPYd70UNexLMqpX3BE,683
464
465
  agno/utils/code_execution.py,sha256=JAzcsuUJVO8ZVcD9AgX_O9waBegjhbrHkQZp-YZGsdA,415
@@ -469,13 +470,13 @@ agno/utils/env.py,sha256=o8OwKhx78vi8MaXPes10mXejmJ13CqAh7ODKMS1pmcM,438
469
470
  agno/utils/events.py,sha256=eIuLXrZbD-s6owNNOGKww2NR2Xl1oBoP-sGnAbHsGic,28175
470
471
  agno/utils/format_str.py,sha256=Zp9dDGMABUJzulp2bs41JiNv0MqmMX0qPToL7l_Ab1c,376
471
472
  agno/utils/functions.py,sha256=eHvGqO2uO63TR-QmmhZy2DEnC0xkAfhBG26z77T7jCo,6306
472
- agno/utils/gemini.py,sha256=2IMG68G41nfD-5dSepRu9ZrZa_20AvRyqygeAtHgOJQ,15609
473
+ agno/utils/gemini.py,sha256=-RrZRk4fKRsNCsFVKqXc1JzZaLU3_vIlzGS-YWbz4Bs,16055
473
474
  agno/utils/hooks.py,sha256=VaN7DNOZMyVmCzApXcUdkdWDAY83SAbZUNSq70HjcmU,2086
474
475
  agno/utils/http.py,sha256=t7sr34VD9M___MYBlX6p4XKEqkvuXRJNJG7Y1ebU2bk,2673
475
476
  agno/utils/json_schema.py,sha256=VPbK-Gdo0qOQKco7MZnv1d2Fe-9mt1PRBO1SNFIvBHY,8555
476
- agno/utils/knowledge.py,sha256=b2H3VxJOeut24_vICb_k-fkzoRagxt93waznn2tUJZk,990
477
+ agno/utils/knowledge.py,sha256=QPLcBfJ22XNG2w_qUYRaD5PiDQEgf-ITYb9n85m27pA,1502
477
478
  agno/utils/location.py,sha256=VhXIwSWdr7L4DEJoUeVI92Y-rJ32NUcYzFRnzLgX-es,658
478
- agno/utils/log.py,sha256=Ycg4_MEkXyOz25OkY272JHWxIZP1nB4OScwJ-r8BMGk,7791
479
+ agno/utils/log.py,sha256=NJ56KY2rYn0wfiD1y_VTCz8KrvnrkcXi7kQoKZoULV8,7792
479
480
  agno/utils/mcp.py,sha256=GsSGbYvlcKaZfzwwUVJNOJYLJEgKCqJiLxSd1SR4yig,7607
480
481
  agno/utils/media.py,sha256=_FwhgXBr_4UhncEK5FOgig6aabsjhSiLxJUaklWlQ9Q,12154
481
482
  agno/utils/merge_dict.py,sha256=K_dZdwi46gjDFn7wgqZ9_fycRIZGJCnUxFVKCrQ6PYc,1490
@@ -508,55 +509,55 @@ agno/utils/models/openai_responses.py,sha256=63f2UgDFCzrr6xQITrGtn42UUHQBcZFUUFM
508
509
  agno/utils/models/schema_utils.py,sha256=L6TkraMClI471H6xYy7V81lhHR4qQloVKCN0bF4Ajw0,5047
509
510
  agno/utils/models/watsonx.py,sha256=fe6jN0hBvOCQurqjS6_9PIwDHt-4kVod9qW236Zs6DU,1496
510
511
  agno/utils/print_response/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
511
- agno/utils/print_response/agent.py,sha256=CcpWKVnSAsbHYcTm_QHu43j5-z8mAu7Kl_c7LGCI4bc,35888
512
- agno/utils/print_response/team.py,sha256=nJ9KcwdAmj6YyUUjDYPEsRqi5hYw8ovypvkN08hwXsA,78653
512
+ agno/utils/print_response/agent.py,sha256=zZE7jGzSqtBnO7o3jRCiXYz49y87BnwVpfnqslQemMo,36024
513
+ agno/utils/print_response/team.py,sha256=Wxk-OhEd-4kPepyw9XWSJl_6tweQHR-NbPmZURwvrhQ,78789
513
514
  agno/utils/print_response/workflow.py,sha256=bndej1GUbnirXihDsjewjbc4_McBWsZ3bByMk6gHhIU,78797
514
515
  agno/vectordb/__init__.py,sha256=P0QP9PUC4j2JtWIfYJX7LeC-oiPuh_QsUaOaP1ZY_dI,64
515
- agno/vectordb/base.py,sha256=Z5IN4kcO0privHOOI16z-G--PtjfnMrBNrsLx3umokM,3848
516
+ agno/vectordb/base.py,sha256=7HeHdhR3hQtlERbCPI0Fc3L_pPKgWs4KAkEstkdNoHw,3812
516
517
  agno/vectordb/distance.py,sha256=OjpKSq57_gblZm4VGZTV7B7le45r_2-Fp1X4Hilx1M4,131
517
518
  agno/vectordb/search.py,sha256=9lJjTm2nvykn3MeVg0stB1qDZb_q-S7GG1MMS9P12e8,121
518
519
  agno/vectordb/cassandra/__init__.py,sha256=1N7lA9QDVWsCD5V5qvXjhACVDMWlq8f37hhNBWOcZA0,88
519
- agno/vectordb/cassandra/cassandra.py,sha256=9t8nIBUIKQaiUQO5YVruoDomgPlUWzJAX1i5wOSXYdY,20606
520
+ agno/vectordb/cassandra/cassandra.py,sha256=ZHIRMV8XbfPKS-fZ_2iQYPzOc8bBjhAqiiW01WKZEks,20938
520
521
  agno/vectordb/cassandra/extra_param_mixin.py,sha256=tCgHnXxuy3Ea4bhrBGkejz9kpgLyM_sUf3QfWcjqzLQ,315
521
522
  agno/vectordb/cassandra/index.py,sha256=9Ea-AoAxCQf2xP-RoIwvujVdzpNBcm2Qgcs4O5D40cU,572
522
523
  agno/vectordb/chroma/__init__.py,sha256=xSNCyxrJJMd37Y9aNumn026ycHrMKxREgEg1zsnCm1c,82
523
- agno/vectordb/chroma/chromadb.py,sha256=G4cvnu8Us5o3MPBJi5zkhpv8bQPZksXXOa_ZDrZhL3s,38071
524
+ agno/vectordb/chroma/chromadb.py,sha256=GRfBTx9KFqGiypCD6-wrMicKZSP_rmJHy8nzNBQzz64,38383
524
525
  agno/vectordb/clickhouse/__init__.py,sha256=pcmZRNBEpDznEEpl3NzMZgvVLo8tni3X0FY1G_WXAdc,214
525
- agno/vectordb/clickhouse/clickhousedb.py,sha256=5Sy2UK5TniOfhr7Qk8ohoz8CTHwXP1UJqZOexXNNWT0,31448
526
+ agno/vectordb/clickhouse/clickhousedb.py,sha256=XxDMcaa9xOzHJPMySCSHjtcwytLe6Pqm9-5LCkIziG0,31833
526
527
  agno/vectordb/clickhouse/index.py,sha256=_YW-8AuEYy5kzOHi0zIzjngpQPgJOBdSrn9BfEL4LZU,256
527
528
  agno/vectordb/couchbase/__init__.py,sha256=dKZkcQLFN4r2_NIdXby4inzAAn4BDMlb9T2BW_i0_gQ,93
528
- agno/vectordb/couchbase/couchbase.py,sha256=hEJWNc5ckw3UwF1NY5jclVge6LinWqE5ga7TrZ945GI,65012
529
+ agno/vectordb/couchbase/couchbase.py,sha256=y1WAgwz84KS2UvQCTvNVnklSDPAoTTongeGwkJ861XE,65475
529
530
  agno/vectordb/lancedb/__init__.py,sha256=tb9qvinKyWMTLjJYMwW_lhYHFvrfWTfHODtBfMj-NLE,111
530
- agno/vectordb/lancedb/lance_db.py,sha256=4IOCb6ksYlJ3Jx_g621KsCmRQinBRwUpn3PqGoWZ4oI,43013
531
+ agno/vectordb/lancedb/lance_db.py,sha256=1ZQB4LoOzeA1pU0bUCD0reFj-9Uo7qwZYFVqKBsz8aw,40538
531
532
  agno/vectordb/langchaindb/__init__.py,sha256=BxGs6tcEKTiydbVJL3P5djlnafS5Bbgql3u1k6vhW2w,108
532
- agno/vectordb/langchaindb/langchaindb.py,sha256=3ZykMsE5oBpnrW8sQqpikAx7y9VtEvUkRoCPfmQPeqA,6038
533
+ agno/vectordb/langchaindb/langchaindb.py,sha256=AS-Jrh7gXKYkSHFiXKiD0kwL-FUFz10VbYksm8UEBAU,6391
533
534
  agno/vectordb/lightrag/__init__.py,sha256=fgQpA8pZW-jEHI91SZ_xgmROmv14oKdwCQZ8LpyipaE,84
534
- agno/vectordb/lightrag/lightrag.py,sha256=T1qqiEvZfxpcg6LEYteHozAJ2dQfLdHQCjTsHc0TW7g,14774
535
+ agno/vectordb/lightrag/lightrag.py,sha256=twDynNcD3rjd0A0c35B3L2S0FBe7wPXeUG7q37QUz6Q,15007
535
536
  agno/vectordb/llamaindex/__init__.py,sha256=fgdWIntUOX3n5YEPcPfr-yPb2kvmSy5ngQ5_UqAIrgM,103
536
- agno/vectordb/llamaindex/llamaindexdb.py,sha256=S9puyPoWHXrAuXqvHDtssUYPO65qgOih4_61QJaHj_k,5865
537
+ agno/vectordb/llamaindex/llamaindexdb.py,sha256=CAVZehLSSsA_WBvgWpsj-tBoo60f5SHP9E2FIQqKwLc,6114
537
538
  agno/vectordb/milvus/__init__.py,sha256=I9V-Rm-rIYxWdRVIs6bKI-6JSJsyOd1-vvasvVpYHuE,127
538
- agno/vectordb/milvus/milvus.py,sha256=abfpCgg_UeQFPZjHEMBVaGL3jupy51kbWDDdOj4GuM4,47329
539
+ agno/vectordb/milvus/milvus.py,sha256=ZsnE32-GMazimC4h0mJAWbETHDQ-KjFpgPaVIlNDAiE,47844
539
540
  agno/vectordb/mongodb/__init__.py,sha256=FTF-0sskOk358593xcFsJc4sDb--SwMHo46KLFu3rFM,186
540
- agno/vectordb/mongodb/mongodb.py,sha256=bry8CpJJae-GdoWCr4QPSVwxDI5VU8W6CG4dEWozIeY,60628
541
+ agno/vectordb/mongodb/mongodb.py,sha256=BMXgA9CgvdVN0yqj_Vuc1UL91WTruBoMDFgMgSCDB7M,61094
541
542
  agno/vectordb/pgvector/__init__.py,sha256=Lui0HBzoHPIsKh5QuiT0eyTvYW88nQPfd_723jjHFCk,288
542
543
  agno/vectordb/pgvector/index.py,sha256=qfGgPP33SwZkXLfUcAC_XgQsyZIyggpGS2bfIkjjs-E,495
543
- agno/vectordb/pgvector/pgvector.py,sha256=YOk7KLqAc7cv7GX1GulfSna3l0ULMSTG2O4NLp8YWbA,58851
544
+ agno/vectordb/pgvector/pgvector.py,sha256=nmbuvIY_eRXp_qdEpbki90qMYHOOzoFGEHWi6drqrls,61764
544
545
  agno/vectordb/pineconedb/__init__.py,sha256=D7iThXtUCxNO0Nyjunv5Z91Jc1vHG1pgAFXthqD1I_w,92
545
- agno/vectordb/pineconedb/pineconedb.py,sha256=XYPkxwvPVDCzRyD3UbA7_jbEMgvTBFkiSEEfYCBg77c,29337
546
+ agno/vectordb/pineconedb/pineconedb.py,sha256=_1ese9Yg1ZNtgHXkql29cUO2SqmSzvZQhRv4qiodyCI,29522
546
547
  agno/vectordb/qdrant/__init__.py,sha256=x1ReQt79f9aI_T4JUWb36KNFnvdd-kVwZ1sLsU4sW7Q,76
547
- agno/vectordb/qdrant/qdrant.py,sha256=c-wF44hGMsBf-_c9DRdpPijR6_U-mv-ROgFoyOC3sV4,46922
548
+ agno/vectordb/qdrant/qdrant.py,sha256=Exkb2pUzwWW4pMjRBjI4l8Nc_ls_vIqKJYDfwXHHHCo,47566
548
549
  agno/vectordb/redis/__init__.py,sha256=U3al_jFB0_wwkqKhvCLfDGrp3x7nXF8pQPDvTZEMt8w,155
549
- agno/vectordb/redis/redisdb.py,sha256=1X-sEXdTFFghwmZDTNAyfwZwRFeIxATBjrRS2Ye6P3k,26032
550
+ agno/vectordb/redis/redisdb.py,sha256=N1IbaH_1MKr88FLKhIGlj82f9_ukBXFyPvpUvfD5mdc,26258
550
551
  agno/vectordb/singlestore/__init__.py,sha256=Cuaq_pvpX5jsUv3tWlOFnlrF4VGykGIIK5hfhnW6J2k,249
551
552
  agno/vectordb/singlestore/index.py,sha256=p9LYQlVINlZZvZORfiDE3AIFinx07idDHr9_mM3EXAg,1527
552
- agno/vectordb/singlestore/singlestore.py,sha256=WFP8rvE3azf2QsXicQTibZ7Omcy2XWgJ_OVOUJJR4mA,30708
553
+ agno/vectordb/singlestore/singlestore.py,sha256=p5i6UsXzdEO71sZE85eGTC609oYKWJwBpDUUGxODe6w,30957
553
554
  agno/vectordb/surrealdb/__init__.py,sha256=4GIpJZH0Hb42s1ZR0VS5BQ5RhTAaolmS-_rAIYn9poM,81
554
- agno/vectordb/surrealdb/surrealdb.py,sha256=pgSM83HCgfcNo8CDBfsB5PP4y8qwvfFAD1Zv_gpj7kM,25359
555
+ agno/vectordb/surrealdb/surrealdb.py,sha256=SIiNMDqKpykt0K62CfzJLKpIO4cjJ1o_TxA28RNXK-U,25817
555
556
  agno/vectordb/upstashdb/__init__.py,sha256=set3Sx1F3ZCw0--0AeC036EAS0cC1xKsvQUK5FyloFA,100
556
- agno/vectordb/upstashdb/upstashdb.py,sha256=ggFcNzQ1X47zWPGM6OhUdvOuG0A8JmrhkAkX7q2opD4,29030
557
+ agno/vectordb/upstashdb/upstashdb.py,sha256=AAalti8wCNGikjTE_mDLVQmyuPiNVrY_KFsHiYsGe3M,29307
557
558
  agno/vectordb/weaviate/__init__.py,sha256=FIoFJgqSmGuFgpvmsg8EjAn8FDAhuqAXed7fjaW4exY,182
558
559
  agno/vectordb/weaviate/index.py,sha256=y4XYPRZFksMfrrF85B4hn5AtmXM4SH--4CyLo27EHgM,253
559
- agno/vectordb/weaviate/weaviate.py,sha256=8KNa5a-RuksE6w9poD4vi_ixUBeoB96PkzCL9DHSs5o,39406
560
+ agno/vectordb/weaviate/weaviate.py,sha256=miHI6ONnyHsFL8hHAl7nnbVPDDTimEuEtVIOKKW0kEo,40252
560
561
  agno/workflow/__init__.py,sha256=Ze2j811jwnsS8Sjv6u0Ap4l7Pyw_ivRof1uBYNJhb1w,609
561
562
  agno/workflow/agent.py,sha256=fKLB4kop7YYFeM1e-d3IzvVPsVF5cLNX6Z0gPn81ZR4,12170
562
563
  agno/workflow/condition.py,sha256=4VXIpBH9-G9W0w10Sn4qn32gg9kap4uKVEF6dxIxGrg,32909
@@ -566,9 +567,9 @@ agno/workflow/router.py,sha256=1ez59iVrkV0g56WKdo26EDS2yeQFnC8aEA8KbzmBJV0,30986
566
567
  agno/workflow/step.py,sha256=fc0CGfdj6yZAS-QiU_xs1ik1d-M5AQ4Rx6hqsKITDHs,65111
567
568
  agno/workflow/steps.py,sha256=jMGnCUNTwU8bUj8Uf3xNrwPWrKWqx4TfJSzGZCKiVWY,26088
568
569
  agno/workflow/types.py,sha256=T8O0CuKe48MRuPtgdDlECJQL8mgJ4TKClaw9hHN3Ebw,19149
569
- agno/workflow/workflow.py,sha256=k1IWyxFJZp_yYMHC07XWTMsPCOMJKkhK8S6EKAFumy4,189341
570
- agno-2.2.11.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
571
- agno-2.2.11.dist-info/METADATA,sha256=JGKibAjTjZ9aNyr4Fx6ZjxRfrdhI5YAXJCfVRH0b9vk,28671
572
- agno-2.2.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
573
- agno-2.2.11.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
574
- agno-2.2.11.dist-info/RECORD,,
570
+ agno/workflow/workflow.py,sha256=69YLdvtFu0R5ansrrG_zxMqyc69GKKJMTdzzeGOgrqA,189687
571
+ agno-2.2.12.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
572
+ agno-2.2.12.dist-info/METADATA,sha256=OKoU_mx7j8Gc6sQn1rOEdv1zhdXo-Ma0wBo5R9UoQms,28671
573
+ agno-2.2.12.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
574
+ agno-2.2.12.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
575
+ agno-2.2.12.dist-info/RECORD,,
File without changes