agno 2.2.13__py3-none-any.whl → 2.3.1__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 (92) hide show
  1. agno/agent/agent.py +197 -110
  2. agno/api/api.py +2 -0
  3. agno/db/base.py +26 -0
  4. agno/db/dynamo/dynamo.py +8 -0
  5. agno/db/dynamo/schemas.py +1 -0
  6. agno/db/firestore/firestore.py +8 -0
  7. agno/db/firestore/schemas.py +1 -0
  8. agno/db/gcs_json/gcs_json_db.py +8 -0
  9. agno/db/in_memory/in_memory_db.py +8 -1
  10. agno/db/json/json_db.py +8 -0
  11. agno/db/migrations/manager.py +199 -0
  12. agno/db/migrations/versions/__init__.py +0 -0
  13. agno/db/migrations/versions/v2_3_0.py +938 -0
  14. agno/db/mongo/async_mongo.py +16 -6
  15. agno/db/mongo/mongo.py +11 -0
  16. agno/db/mongo/schemas.py +3 -0
  17. agno/db/mongo/utils.py +17 -0
  18. agno/db/mysql/mysql.py +76 -3
  19. agno/db/mysql/schemas.py +20 -10
  20. agno/db/postgres/async_postgres.py +99 -25
  21. agno/db/postgres/postgres.py +75 -6
  22. agno/db/postgres/schemas.py +30 -20
  23. agno/db/redis/redis.py +15 -2
  24. agno/db/redis/schemas.py +4 -0
  25. agno/db/schemas/memory.py +13 -0
  26. agno/db/singlestore/schemas.py +11 -0
  27. agno/db/singlestore/singlestore.py +79 -5
  28. agno/db/sqlite/async_sqlite.py +97 -19
  29. agno/db/sqlite/schemas.py +10 -0
  30. agno/db/sqlite/sqlite.py +79 -2
  31. agno/db/surrealdb/surrealdb.py +8 -0
  32. agno/knowledge/chunking/semantic.py +7 -2
  33. agno/knowledge/embedder/nebius.py +1 -1
  34. agno/knowledge/knowledge.py +57 -86
  35. agno/knowledge/reader/csv_reader.py +7 -9
  36. agno/knowledge/reader/docx_reader.py +5 -5
  37. agno/knowledge/reader/field_labeled_csv_reader.py +16 -18
  38. agno/knowledge/reader/json_reader.py +5 -4
  39. agno/knowledge/reader/markdown_reader.py +8 -8
  40. agno/knowledge/reader/pdf_reader.py +11 -11
  41. agno/knowledge/reader/pptx_reader.py +5 -5
  42. agno/knowledge/reader/s3_reader.py +3 -3
  43. agno/knowledge/reader/text_reader.py +8 -8
  44. agno/knowledge/reader/web_search_reader.py +1 -48
  45. agno/knowledge/reader/website_reader.py +10 -10
  46. agno/models/anthropic/claude.py +319 -28
  47. agno/models/aws/claude.py +32 -0
  48. agno/models/azure/openai_chat.py +19 -10
  49. agno/models/base.py +612 -545
  50. agno/models/cerebras/cerebras.py +8 -11
  51. agno/models/cohere/chat.py +27 -1
  52. agno/models/google/gemini.py +39 -7
  53. agno/models/groq/groq.py +25 -11
  54. agno/models/meta/llama.py +20 -9
  55. agno/models/meta/llama_openai.py +3 -19
  56. agno/models/nebius/nebius.py +4 -4
  57. agno/models/openai/chat.py +30 -14
  58. agno/models/openai/responses.py +10 -13
  59. agno/models/response.py +1 -0
  60. agno/models/vertexai/claude.py +26 -0
  61. agno/os/app.py +8 -19
  62. agno/os/router.py +54 -0
  63. agno/os/routers/knowledge/knowledge.py +2 -2
  64. agno/os/schema.py +2 -2
  65. agno/session/agent.py +57 -92
  66. agno/session/summary.py +1 -1
  67. agno/session/team.py +62 -112
  68. agno/session/workflow.py +353 -57
  69. agno/team/team.py +227 -125
  70. agno/tools/models/nebius.py +5 -5
  71. agno/tools/models_labs.py +20 -10
  72. agno/tools/nano_banana.py +151 -0
  73. agno/tools/yfinance.py +12 -11
  74. agno/utils/http.py +111 -0
  75. agno/utils/media.py +11 -0
  76. agno/utils/models/claude.py +8 -0
  77. agno/utils/print_response/agent.py +33 -12
  78. agno/utils/print_response/team.py +22 -12
  79. agno/vectordb/couchbase/couchbase.py +6 -2
  80. agno/workflow/condition.py +13 -0
  81. agno/workflow/loop.py +13 -0
  82. agno/workflow/parallel.py +13 -0
  83. agno/workflow/router.py +13 -0
  84. agno/workflow/step.py +120 -20
  85. agno/workflow/steps.py +13 -0
  86. agno/workflow/workflow.py +76 -63
  87. {agno-2.2.13.dist-info → agno-2.3.1.dist-info}/METADATA +6 -2
  88. {agno-2.2.13.dist-info → agno-2.3.1.dist-info}/RECORD +91 -88
  89. agno/tools/googlesearch.py +0 -98
  90. {agno-2.2.13.dist-info → agno-2.3.1.dist-info}/WHEEL +0 -0
  91. {agno-2.2.13.dist-info → agno-2.3.1.dist-info}/licenses/LICENSE +0 -0
  92. {agno-2.2.13.dist-info → agno-2.3.1.dist-info}/top_level.txt +0 -0
@@ -5,10 +5,10 @@ agno/filters.py,sha256=QxBjNUUS53o1zkG-J0F8XjDzlu0ADtJn3r6rfkGZ9Fk,12079
5
5
  agno/media.py,sha256=eTfYb_pwhX_PCIVPSrW4VYRqmoxKABEF1aZClrVvQ30,16500
6
6
  agno/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
7
  agno/agent/__init__.py,sha256=s7S3FgsjZxuaabzi8L5n4aSH8IZAiZ7XaNNcySGR-EQ,1051
8
- agno/agent/agent.py,sha256=BTX9DnoeKw90b1K9H-GSB8TK_hVyzCWEIZ2oWUf2-sw,459791
8
+ agno/agent/agent.py,sha256=SGwKTd05PoEUQeanqyzFO2gnelAwOhEjHOAoJ7g7HUI,463686
9
9
  agno/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  agno/api/agent.py,sha256=fKlQ62E_C9Rjd7Zus3Gs3R1RG-IhzFV-ICpkb6SLqYc,932
11
- agno/api/api.py,sha256=Z7iWbrjheJcGLeeDYrtTCWiKTVqjH0uJI35UNWOtAXw,973
11
+ agno/api/api.py,sha256=gFhVjxJYkQsw8mBl2fhoStMPGlyJ37DJaqgUOwZVvQI,1021
12
12
  agno/api/evals.py,sha256=rLKKHus2aVjqPy67BOkTsyDaSyI1VekSHvvIYeX8QpU,896
13
13
  agno/api/os.py,sha256=vVKIJDyHIrbX2PBluVNrkHKzRFZePXxIlKcxsSee66I,592
14
14
  agno/api/routes.py,sha256=NKnHrcEpoIPeCuIQR3N1VaLywECE3vhT9dyuKdhgDIE,268
@@ -31,66 +31,69 @@ agno/cloud/aws/s3/object.py,sha256=ttZPbLm3o63oGIhKgAr_bIf9DOpJlXRmrEVlkbTcJbk,1
31
31
  agno/culture/__init__.py,sha256=nVScbcUeBmkj8l-rJWGOVGytwp5xB6IfUEL_h6atzQw,118
32
32
  agno/culture/manager.py,sha256=DZ2uIxMXZz2ZXdmK__WymV_-XVR2NwfNDMqbZk1MGpo,39801
33
33
  agno/db/__init__.py,sha256=bfd_tpKsIKCjZosnFqID26VoWqy88v8gzkf9kLHToY4,625
34
- agno/db/base.py,sha256=KzLi_5d6JvC7ssNmVn_EG0SIkdNcF6HpKzfhF1y4IuE,19710
34
+ agno/db/base.py,sha256=LW5OppdLwQXa-P5heAaBw72ss0se_D-mTgOTa9pgm5w,20699
35
35
  agno/db/utils.py,sha256=eL0prfDrTEfOwNlOZeoZE4pu59bNJET22uh8wgzz-cw,4879
36
36
  agno/db/async_postgres/__init__.py,sha256=ja_thcYP3bP0DD3da6iUVDR_w2-S6B3M-UxBlkRfAvY,76
37
37
  agno/db/dynamo/__init__.py,sha256=fZ7NwKbyhoIu7_4T6hVz44HkIINXMnTfFrDrgB6bpEo,67
38
- agno/db/dynamo/dynamo.py,sha256=omSEJJ3bp6vQIeahOYv1ZpYu_GstZyY5wTEyyqpxsG8,77967
39
- agno/db/dynamo/schemas.py,sha256=go5a3VyShqNUzk9jBf-YQ-_5LKGnoP7zPk8taX0mlz4,12992
38
+ agno/db/dynamo/dynamo.py,sha256=-fLQzy7SjV614D-6s6aTH-HSOLNdRZA7GtOHr-mkQoU,78215
39
+ agno/db/dynamo/schemas.py,sha256=Pnygtr5sQEalqyX2K-YRxX0eJBc1KjaoYqf5i16uVS0,13055
40
40
  agno/db/dynamo/utils.py,sha256=hF6Sta-cStS-0OThuZRBsK7NlKq8cNpkatgRN4pqJqU,27400
41
41
  agno/db/firestore/__init__.py,sha256=lYAJjUs4jMxJFty1GYZw464K35zeuBlcoFR9uuIQYtI,79
42
- agno/db/firestore/firestore.py,sha256=Aty8wkI2oFN1-tZ18Izw7fN66HlQsH6XfALlWav_dJE,70882
43
- agno/db/firestore/schemas.py,sha256=sPbi2teuzCfRECnCyj6LrNNu0drSqbBHpH-o1xoJYfs,4392
42
+ agno/db/firestore/firestore.py,sha256=DhM8tLmwlBgqtXnnbcDU2CnTX9XccM5VLkqDFSBnSMc,71130
43
+ agno/db/firestore/schemas.py,sha256=VVueKixuR0YUnUWIJBPKuN1mxVP8sF3PDqR9GZc2BQA,4419
44
44
  agno/db/firestore/utils.py,sha256=vl7hwsOpaSgota0yN6DAQFHnviKvK670SOQme6gK-nI,13818
45
45
  agno/db/gcs_json/__init__.py,sha256=aTR4o3aFrzfANHtRw7nX9uc5_GsY52ch0rmoo7uXuc4,76
46
- agno/db/gcs_json/gcs_json_db.py,sha256=S2fDDWRD8195n9JzH3g8pIj1i_bYFr1CcDXk1OZn0Ao,54691
46
+ agno/db/gcs_json/gcs_json_db.py,sha256=LPS2jucmVx3Dyn-VYo6gJdvZSOExuZ1XhymTNZ2LaTg,54939
47
47
  agno/db/gcs_json/utils.py,sha256=-vGa_C8n4BSZOLICn6SEGQAZ73Cd-ejB1X5NzEfXWN8,8014
48
48
  agno/db/in_memory/__init__.py,sha256=OvR_FONhOh9PmcRfUA_6gvplZT5UGIBAgVKqVg6SWTA,80
49
- agno/db/in_memory/in_memory_db.py,sha256=9XeYTxjL97BBNzrqDBfIDrbd3yn7q54Zcm_65ZDJ4F4,46126
49
+ agno/db/in_memory/in_memory_db.py,sha256=s93dMX9XRXFm7PFZIYKZFZno1_yHPB4xGi_MECAmOLI,46373
50
50
  agno/db/in_memory/utils.py,sha256=RaeOzP74UANG-xFzCGRb20jZ4wgp_MPSlvU0T5I1uVk,8067
51
51
  agno/db/json/__init__.py,sha256=zyPTmVF9S-OwXCL7FSkrDmunZ_Q14YZO3NYUv1Pa14Y,62
52
- agno/db/json/json_db.py,sha256=OdMYHoZ6QlLBFRsw6AqR1r6xJYsUIHc3GVI66Mzud90,52762
52
+ agno/db/json/json_db.py,sha256=M4EIAJOwi1v29uH_eMCNO9Au_4pNFTPYFHb2ueIKoxw,53010
53
53
  agno/db/json/utils.py,sha256=ywD72LhxKl6yfmENKlOgCkw5W_XJ-oeOPSVvjsNnOy8,8062
54
54
  agno/db/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
55
+ agno/db/migrations/manager.py,sha256=P4cHLW23TS78DjyrSRKFWvg8tQUdMHJFTinhRWPAtrs,9577
55
56
  agno/db/migrations/v1_to_v2.py,sha256=gj8deaEWUxOr0qJyMfjOpV3LxEh-otOSOxDckeUq0qU,24938
57
+ agno/db/migrations/versions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
+ agno/db/migrations/versions/v2_3_0.py,sha256=WikuOtgQs_Tq8o3JndCMG6HAMzKvz4GVth9V5V5RuvE,35161
56
59
  agno/db/mongo/__init__.py,sha256=NG2WC2jE5PX1kMXTYCVHjhomf5DAJgvzSj45QHdvl2E,466
57
- agno/db/mongo/async_mongo.py,sha256=ahvzkDzfEdSSkX1QMK9VR_NbOIayR2ENJBr7vDZCY8w,81513
58
- agno/db/mongo/mongo.py,sha256=F77-npqo_PqZ2wcsZ11X3H9mOdaO_cLF46hMiSuqlo0,78115
59
- agno/db/mongo/schemas.py,sha256=d2ZxqqzKYwz0Iexgrv1HWArGnmk3KUKJ37PCzFykodI,2314
60
- agno/db/mongo/utils.py,sha256=5QYp2WgQtOK497eQMqXcTgMSGA7Y6UXX_VABX6xaLdM,9248
60
+ agno/db/mongo/async_mongo.py,sha256=aaWA11lHpQMOoJq9coshDfYAaTPOslpUl0t1rnYCU1Q,81895
61
+ agno/db/mongo/mongo.py,sha256=h9herSj_NBgKjZifi-fUNvPbQy0QDk86xm9T5fBWO2M,78508
62
+ agno/db/mongo/schemas.py,sha256=JAmvmQP1l2YstcQv1yIGiPJ4ZxPWyuq6Vhr9_rJ4nwE,2388
63
+ agno/db/mongo/utils.py,sha256=1KrbF1PR_707e9SqXZcquaw_N7mRYm9HjJnvYwBjgG8,9921
61
64
  agno/db/mysql/__init__.py,sha256=ohBMZ1E6ctioEF0XX5PjC4LtUQrc6lFkjsE4ojyXA8g,63
62
- agno/db/mysql/mysql.py,sha256=jNza9JLx_rmeGCJy35SRVGJo6PL-YeNdsNZ5k7vgftY,96071
63
- agno/db/mysql/schemas.py,sha256=OpdAWhh-ElwQ5JOg1MKJqGJ16qzVTuyS56iH9Zw3oHs,6171
65
+ agno/db/mysql/mysql.py,sha256=8VVNIVw2IZyzjKFCvbdU2q4dIJqPOLhun4Lz-1gEIxA,99544
66
+ agno/db/mysql/schemas.py,sha256=W_irrKPO9geylUFkzoZ8mG3nDKKTgROfVG2GdqQBDm8,6816
64
67
  agno/db/mysql/utils.py,sha256=PdqN-SxM-ox8HU9CZyxzvs2D1FE2vdZFVCyFgFcQsyU,12366
65
68
  agno/db/postgres/__init__.py,sha256=Ojk00nTCzQFiH2ViD7KIBjgpkTKLRNPCwWnuXMKtNXY,154
66
- agno/db/postgres/async_postgres.py,sha256=krVE38WZk-sXvqmItIf9D783atEn5PO91w3YJThaiJk,79629
67
- agno/db/postgres/postgres.py,sha256=OAwkG56tJ_EoffhDl2QjIxS6SIvtBvMOtBRAkyoM0lI,92325
68
- agno/db/postgres/schemas.py,sha256=O049oyPU07tHwnyuOzYyiKcK1NYvh6cQmmsFOvA7LTs,5971
69
+ agno/db/postgres/async_postgres.py,sha256=nFVxnmN9DDMzzL3fqmpB385CrqW9c1sCQkFlAFcrN2U,83102
70
+ agno/db/postgres/postgres.py,sha256=WTQcFx6O8MPWL2FcN3zvgOV_HgOra50SX0rzmHgiFFc,95699
71
+ agno/db/postgres/schemas.py,sha256=ndtJVd5xx3RvqiOH5zh9tynHiaEabO0uAu4IUlozXnw,6423
69
72
  agno/db/postgres/utils.py,sha256=UE3UQZ-h7fADAKBsX4BWcDka54YNROEpBrlfTmDvpqc,15471
70
73
  agno/db/redis/__init__.py,sha256=rZWeZ4CpVeKP-enVQ-SRoJ777i0rdGNgoNDRS9gsfAc,63
71
- agno/db/redis/redis.py,sha256=Mr9TDbIq7KIkunhEfufhuvZdoIKbf3i3hdA1iewbEPg,62952
72
- agno/db/redis/schemas.py,sha256=3WilZq3NqZqRONyu_mAjjmQpClgYDYoWjfkvlOh0Tfw,4038
74
+ agno/db/redis/redis.py,sha256=6JdnoDjHs1_JROjZre_pHr3SPtm6k_1uiBSTDDcnc5o,63488
75
+ agno/db/redis/schemas.py,sha256=S_q0Ex-n4Btn233XIReEcuoZv0K67rNG4uHYSZ0qV1k,4192
73
76
  agno/db/redis/utils.py,sha256=DTzid-ZR3zhI058s0bqDhHQleMkdXnJ76Ezfuq0CEOM,11242
74
77
  agno/db/schemas/__init__.py,sha256=g72Zr5_nm00yXHStv4pf9PG9bGLKXEK7Av6YQtrDbCQ,147
75
78
  agno/db/schemas/culture.py,sha256=w4azKAVLf5X4xyRUFXMIEq0CA0pnyeN03W3eMpqScxo,4342
76
79
  agno/db/schemas/evals.py,sha256=T1zIiwrN5fxZVD2em85wQ9CV-HSVZvNF4D4v9_w30VA,786
77
80
  agno/db/schemas/knowledge.py,sha256=qVL6jEdaUG92WJw70-FrA7atetPqrpZnLYkYZDuiYho,1227
78
- agno/db/schemas/memory.py,sha256=kKlJ6AWpbwz-ZJfBJieartPP0QqeeoKAXx2Ity4Yj-Y,1461
81
+ agno/db/schemas/memory.py,sha256=tYXx3EH2H1GuHTgjYKE1j9YoI4iSl3cZv6gdql5vCvY,2060
79
82
  agno/db/schemas/metrics.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
80
83
  agno/db/singlestore/__init__.py,sha256=dufbaod8ZZIeZIVi0hYJQ8Eu2DfIfWdIy00cpqAsx9U,87
81
- agno/db/singlestore/schemas.py,sha256=Eb9wipCjWr48dlF3CMDa53WDvFsr7QhLOSaTgbUkMKg,6178
82
- agno/db/singlestore/singlestore.py,sha256=PddX8zTjQ5MvnpqE3-EQy6DfthzosbMPs4GCmKc8SaA,93995
84
+ agno/db/singlestore/schemas.py,sha256=7Jjuax5E-OoYa-DfiCWfaUmeOazWD3zZXhuDl-18Z2k,6678
85
+ agno/db/singlestore/singlestore.py,sha256=ZmzTsWx2MnWXaTolE7T42UkFL6VzScHkFY_vOmrbvl8,97471
83
86
  agno/db/singlestore/utils.py,sha256=w2FVFIBpFJK6nKJVt1sgv9N-esmfpGY_8ViFRI69I2I,13677
84
87
  agno/db/sqlite/__init__.py,sha256=09V3i4y0-tBjt60--57ivZ__SaaS67GCsDT4Apzv-5Y,138
85
- agno/db/sqlite/async_sqlite.py,sha256=sjXT1I2HWPfPhBLdQi0mt-FVZIyFwUqMYrAWFmmEVOg,96546
86
- agno/db/sqlite/schemas.py,sha256=NyEvAFG-hi3Inm5femgJdorxJ5l2-bXLWBhxJ4r7jW0,5832
87
- agno/db/sqlite/sqlite.py,sha256=pXaA8j0V-o7czs8O5HYy_CMRqTKRXgmz_AxTXs8VpOA,94686
88
+ agno/db/sqlite/async_sqlite.py,sha256=W3rhhStv-Zs1uJga5z59wivPg80CEEyc_CWGc2j4Ou0,100353
89
+ agno/db/sqlite/schemas.py,sha256=vbP82UR8riESIwELSf4vNKf9lOYaPsilC64UP6KU-XQ,6282
90
+ agno/db/sqlite/sqlite.py,sha256=qIldCOyWh6hfzeFGCHH_CPUPcHcZG-ZxIsCBl2UGDGs,98300
88
91
  agno/db/sqlite/utils.py,sha256=ZCYVrhtm9Bw1gddlaVZW7bQF2XqIJ993UDWVDGsYtX8,15557
89
92
  agno/db/surrealdb/__init__.py,sha256=C8qp5-Nx9YnSmgKEtGua-sqG_ntCXONBw1qqnNyKPqI,75
90
93
  agno/db/surrealdb/metrics.py,sha256=oKDRyjRQ6KR3HaO8zDHQLVMG7-0NDkOFOKX5I7mD5FA,10336
91
94
  agno/db/surrealdb/models.py,sha256=2KBxSxiEI4yQ2OTOr1HVeL8Fd52tQfWkM53kwzqUmyw,11512
92
95
  agno/db/surrealdb/queries.py,sha256=s__yJSFIx387IEflcDdti7T5j6H9NX_-zIj13F9CN9s,2051
93
- agno/db/surrealdb/surrealdb.py,sha256=rdI03YiR8Onanhozd5fUT1awhdFbyyNTvdfdCZAxNhI,52295
96
+ agno/db/surrealdb/surrealdb.py,sha256=RYsHFtZx_3Id7hyy5gUVXro5dULAbLP31JdEw3mo7V8,52543
94
97
  agno/db/surrealdb/utils.py,sha256=PcZo_cTy-jI59I-XhzAomRLdV9-m0irtO4C-AYGSghs,5405
95
98
  agno/eval/__init__.py,sha256=vCYcIbfOkT2lL8vZJ9zsea6j3byp5A-mxEb_45VaD8I,449
96
99
  agno/eval/accuracy.py,sha256=vfJ9Kx33YGsXenNKVHPK5h0IeB2tZMlfSKu6OA-mj9g,33065
@@ -107,7 +110,7 @@ agno/integrations/discord/__init__.py,sha256=MS08QSnegGgpDZd9LyLjK4pWIk9dXlbzgD7
107
110
  agno/integrations/discord/client.py,sha256=2IWkA-kCDsDXByKOGq2QJG6MtFsbouzNN105rsXn95A,8375
108
111
  agno/knowledge/__init__.py,sha256=PJCt-AGKGFztzR--Ok2TNKW5QEqllZzqiI_7f8-1u80,79
109
112
  agno/knowledge/content.py,sha256=q2bjcjDhfge_UrQAcygrv5R9ZTk7vozzKnQpatDQWRo,2295
110
- agno/knowledge/knowledge.py,sha256=792nw24P21u_dDtvBRtW946K8_3Zj_65n-zDTbNjHSw,81221
113
+ agno/knowledge/knowledge.py,sha256=CJG5RiXbnA_iFcP31UU6LqUMJluPqpsYOLJuI35mMU4,80377
111
114
  agno/knowledge/types.py,sha256=4NnkL_h2W-7GQnHW-yIqMNPUCWLzo5qBXF99gfsMe08,773
112
115
  agno/knowledge/utils.py,sha256=2dJE5HclZbM76TjimcHHFAz2VGmgs62DITE23DRPQBw,7302
113
116
  agno/knowledge/chunking/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -117,7 +120,7 @@ agno/knowledge/chunking/fixed.py,sha256=yZLlZHisCWQKszExPuyzTT2zyaZo-udxAAjJhOI4
117
120
  agno/knowledge/chunking/markdown.py,sha256=M95AddeedFbG71DVxC4pbCullfX4StwmdmA9FalVPwQ,6162
118
121
  agno/knowledge/chunking/recursive.py,sha256=0zlmgFz2VfWFMCnVdJqRVrB2CLlu8Gc6BA6oy4xh4d8,2357
119
122
  agno/knowledge/chunking/row.py,sha256=yFGKMsHd2Ml0fkJLksw8ULUpWXmbSXIQwnwlKHVPP40,1426
120
- agno/knowledge/chunking/semantic.py,sha256=r0N4SyqFaKYTQrLnrVA202Nfadz8uST-byvVaMoLRsc,3954
123
+ agno/knowledge/chunking/semantic.py,sha256=jD0CkXbMf-kPmhvJVNh-Ipt33QXSJvnquiGdhEaGaqA,4105
121
124
  agno/knowledge/chunking/strategy.py,sha256=7lqle7QvS1Ch9BGHP1elPVBF-hEqmwbD8SQ5uGxbiQM,6509
122
125
  agno/knowledge/document/__init__.py,sha256=vxMAu103larPlcpJFG3sBg-sCATf-LZZO_SlOwlEY5E,81
123
126
  agno/knowledge/document/base.py,sha256=kvoLSAxc8snrayo_-C6L3HxJVXwZiXd7Maq6VToLgfg,2087
@@ -133,7 +136,7 @@ agno/knowledge/embedder/huggingface.py,sha256=eQEVHb6jh_OiR985JR88lZvtrtilI-NcQR
133
136
  agno/knowledge/embedder/jina.py,sha256=M2M2ki0XyylyitJs_ZL2JoepC1y70IJzYntPsCVUxr8,7121
134
137
  agno/knowledge/embedder/langdb.py,sha256=_vbE1Jbj16WGP4aEkh54D7ESTu0LlI1_lp5WiXPIABA,731
135
138
  agno/knowledge/embedder/mistral.py,sha256=AMc3VBpQCKFxetx2gRd9c6iRvR4-bSEWJ1Q4JPwQg28,8608
136
- agno/knowledge/embedder/nebius.py,sha256=4I2irehvR6Di00Al4jbG4vAa6KZnbOJ-7QqVjB7Mn64,363
139
+ agno/knowledge/embedder/nebius.py,sha256=Bp7DOyF22VxTZ2Nw6At4ywz7tzMYiE-NNGGc8Un3vtA,369
137
140
  agno/knowledge/embedder/ollama.py,sha256=faLkOvPt2dWs8h87anAgeeG3LJpMH4jVMWP7_3f7JHs,6313
138
141
  agno/knowledge/embedder/openai.py,sha256=oUEyqIyREIPYRCtQBjAn-aIjxI7DQkMZQmXOt0OkLbo,7331
139
142
  agno/knowledge/embedder/sentence_transformer.py,sha256=_d4XgV07bj1hkKnuzZGvP--v_-9K2e837PivJlmEoS8,2467
@@ -143,20 +146,20 @@ agno/knowledge/embedder/voyageai.py,sha256=E6RjQRaa5d2BHmkW09QG68ncrgBV2Vqq25ZR8
143
146
  agno/knowledge/reader/__init__.py,sha256=edjnCwyDjM9Q5JPMi4K9mll8a3CdV52iagUKAgGiaas,159
144
147
  agno/knowledge/reader/arxiv_reader.py,sha256=PtqP3bB4eZAYUlK9_ytPCFiy4icvMj7bIZNNVlBgY6U,2735
145
148
  agno/knowledge/reader/base.py,sha256=GLfOoy0W7rv8fgjVRUpVmInRgFFvFrPVsok_iJ9aSQ0,3780
146
- agno/knowledge/reader/csv_reader.py,sha256=GZiRh9yx0TM_GAEOQiBp3VfffbwGBZ7M2e5eSs45gIs,6491
147
- agno/knowledge/reader/docx_reader.py,sha256=5xOoEKuGBiR6hUrwiIg4ek4ZKeNBM3kYoxDeyCJ5_Vo,3308
148
- agno/knowledge/reader/field_labeled_csv_reader.py,sha256=cHjmEtmLNF9DRk0N5OtKOxAwYHJlMLQ0_7BScRqAxkc,11643
149
+ agno/knowledge/reader/csv_reader.py,sha256=cOXzcwy-uANZPCIWRHCCNk9uZFuKUWE4eMP9ejZepWM,6461
150
+ agno/knowledge/reader/docx_reader.py,sha256=edtri5z4PcdiVgjupxbmLmGnsMkvjFFAcnqOrZmWthU,3308
151
+ agno/knowledge/reader/field_labeled_csv_reader.py,sha256=yVdfFGTkb7bhM3cpEukgeANu6UB2yrjU7T3BfWlXv0k,11605
149
152
  agno/knowledge/reader/firecrawl_reader.py,sha256=SCbcRLkMrUb2WiC6SPuAoZULtHITa2VAmBtZlGmamGM,6855
150
- agno/knowledge/reader/json_reader.py,sha256=KfDgHno_XHORIGaoA1Q2Y5M7nkcTFM9IUzWXkjVjYKQ,3245
151
- agno/knowledge/reader/markdown_reader.py,sha256=HoSEkX2Svl2tEMDyzAmRNmwxsterb3i3-1-EQR6N4IU,5272
152
- agno/knowledge/reader/pdf_reader.py,sha256=F1Zx5i5jTUbuuKEPEnlnzMgCAweJMehYY0igRFHuHf4,17206
153
- agno/knowledge/reader/pptx_reader.py,sha256=q0VAszrLry1ZhTOYXFRt6TVMAw12pAK64frYRvMNACo,3929
153
+ agno/knowledge/reader/json_reader.py,sha256=mh_SZE7jPaDO5KleFM0X7LsrYCSTimQ7qbvqh2YR8RE,3317
154
+ agno/knowledge/reader/markdown_reader.py,sha256=QDg9oZTTRZkXf7D8eFrZ12t5gfXd5KWmJeH43HqNCHo,5284
155
+ agno/knowledge/reader/pdf_reader.py,sha256=HmGTHH-SjmlZ_Umseih4kyxOhDDA07PHGAzqoLptibM,17189
156
+ agno/knowledge/reader/pptx_reader.py,sha256=_UQZlDf8XtA62uwYDqlJcU7X-KQ00lu4ZevXDCPnZ6k,3929
154
157
  agno/knowledge/reader/reader_factory.py,sha256=1VGnZ4lpGiwa45dqfOyXmVB1dGb_4tOXpsKN9Vaqazs,11408
155
- agno/knowledge/reader/s3_reader.py,sha256=j_xBDWV9l5Uhsr88glQ0dCMS-ijvqw8gdMc1Bzfm394,3547
158
+ agno/knowledge/reader/s3_reader.py,sha256=8tBUGw586m72FQReMux0iJoz8FhhLjpH5lxYamEilHk,3549
156
159
  agno/knowledge/reader/tavily_reader.py,sha256=FdQv9mESVGmsut2MPjths2mcY1hbe0o0BL2bGL8KjT8,7184
157
- agno/knowledge/reader/text_reader.py,sha256=Vkk3mWhjyazPv77Z9PGO1nRVk8cmVkUFIWZFCVqTkOI,4444
158
- agno/knowledge/reader/web_search_reader.py,sha256=GMc59AxwS1zTyBEmnwzJCEbPmK4ut1eWy8EV5XXTRSk,14585
159
- agno/knowledge/reader/website_reader.py,sha256=464Fu7pZaJIzhPLSl1z5Wx7wLW8tRECXOByqsz2uozg,19360
160
+ agno/knowledge/reader/text_reader.py,sha256=NIST7iZ10mOiyxeZxgTiWjdS_0o3g1pPw30cAz2HRhg,4456
161
+ agno/knowledge/reader/web_search_reader.py,sha256=QacYjE5u36zsUzdPdpXzLi0Zj550UhKltzG9HScgb7I,12598
162
+ agno/knowledge/reader/website_reader.py,sha256=8R_71uVjx_tHAWhvvHNQqyc4nysV6HksJBMLZITpwS8,19349
160
163
  agno/knowledge/reader/wikipedia_reader.py,sha256=rTmqpr3IpwioMMZoMx5LLoscR19x6tUhv4aU84o0quk,2085
161
164
  agno/knowledge/reader/youtube_reader.py,sha256=z0Udminq7XkUpob129Oq_8w8SvmRVn0CkXHp2S0KUg4,2986
162
165
  agno/knowledge/remote_content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -169,27 +172,27 @@ agno/knowledge/reranker/sentence_transformer.py,sha256=ZN4SqnMZsUhg5G7AzlONM1_Uj
169
172
  agno/memory/__init__.py,sha256=XWKJU5SJObYZqEKMZ2XYwgH8-YeuWUoSRfT4dEI5HnY,101
170
173
  agno/memory/manager.py,sha256=8dGl4Ih4OF2dLidvcgnGGf81lY34JiDrAao2i4gZAEI,51913
171
174
  agno/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
172
- agno/models/base.py,sha256=HxTYPHgNZVTruTA9qxR_5GSdZtAzqEvRFylZhxRVMxM,97123
175
+ agno/models/base.py,sha256=ldFFRrFUNgqtKfMX8puBCZkOOaWwfCLtCxAIIJzqlqU,102342
173
176
  agno/models/defaults.py,sha256=1_fe4-ZbNriE8BgqxVRVi4KGzEYxYKYsz4hn6CZNEEM,40
174
177
  agno/models/message.py,sha256=HMlY71ZCDWCUrNTqIbRezWZK5FfWcvcs5eg_hhjbuqo,19023
175
178
  agno/models/metrics.py,sha256=81IILXZwGmOTiWK003bi5mg4bM1f4LCWbwyamjFzp18,4500
176
- agno/models/response.py,sha256=LM4hHIQL88at6UKw-UefzdSSFJFXMaw3XTuKn7qqdSY,6980
179
+ agno/models/response.py,sha256=gkoRWEsChS544VL0grPmS9L0BM0FZgBWxGtR10PtoKc,6996
177
180
  agno/models/utils.py,sha256=jxAIIG2y7KBypwFlc87GzFnvogRpGLfd-wwr6KXZIj8,7269
178
181
  agno/models/aimlapi/__init__.py,sha256=XQcFRvt4qJ8ol9nCC0XKEkVEDivdNf3nZNoJZMZ5m8M,78
179
182
  agno/models/aimlapi/aimlapi.py,sha256=9Qh-b8HvFSvmPP3VBNGT00qy9izHLMWgR-KDQCE5CM0,1493
180
183
  agno/models/anthropic/__init__.py,sha256=nbReX3p17JCwfrMDR9hR7-OaEFZm80I7dng93dl-Fhw,77
181
- agno/models/anthropic/claude.py,sha256=HzSzF-WU-3iqe41_fFiVH7rjPpLFhR_nSUXoHT1tHW4,32820
184
+ agno/models/anthropic/claude.py,sha256=B71JeZlncEj2VPTlvc17vAP344r5GH4Yid_iedb5AHU,46481
182
185
  agno/models/aws/__init__.py,sha256=TbcwQwv9A7KjqBM5RQBR8x46GvyyCxbBCjwkpjfVGKE,352
183
186
  agno/models/aws/bedrock.py,sha256=ScZcGwOMh-N0DfArXtDVzKy467QPAN0OS8llBNAc8cQ,28880
184
- agno/models/aws/claude.py,sha256=sL47z9fM3jxGbARkr0mlAVYEKKX854J3u-Qeb5gIADo,14746
187
+ agno/models/aws/claude.py,sha256=JPwHHn9ixzgG2DV1gH9T-bCLQpZ9BoxP3yZRbvKAnj0,16256
185
188
  agno/models/azure/__init__.py,sha256=EoFdJHjayvmv_VOmaW9cJguwA1K5OFS_nFeazyn0B2w,605
186
189
  agno/models/azure/ai_foundry.py,sha256=1T4XTvgVRjawAW0JOf6Y7g2zgWKG_g3Gnw4XYHozXFU,19552
187
- agno/models/azure/openai_chat.py,sha256=0VsHm46-CtfVAa3MMOrCEsduWAxgcATK8SWsFJTzBtU,4900
190
+ agno/models/azure/openai_chat.py,sha256=X3IttroDTuMJzMwlXvTpsB5DS63j7IEDCPYDTXUKnBs,5439
188
191
  agno/models/cerebras/__init__.py,sha256=F3vE0lmMu-qDQ_Y7hg_czJitLsvNu4SfPv174wg1cq8,376
189
- agno/models/cerebras/cerebras.py,sha256=4S_ArQXD4aEvUodLf_52ghmQ0v3-sAt7cndenD0DH-U,18854
192
+ agno/models/cerebras/cerebras.py,sha256=i7B9t2EEnU2G1Sscn4CCl2grM-bhZVBdG0IadfxFPcg,18713
190
193
  agno/models/cerebras/cerebras_openai.py,sha256=rc9dS_lVS7ng9-WCeJ4xepODxT1j59u5MkAZI9VslLs,4099
191
194
  agno/models/cohere/__init__.py,sha256=4kFUnfPEL3__hd1TRW7fZxh7D_DctcpY5QDV58lR6s0,72
192
- agno/models/cohere/chat.py,sha256=Ff6LdMZ9xzIhaz4R9ugXFQH3YZRGaEnidIgA4kGTpM8,15086
195
+ agno/models/cohere/chat.py,sha256=k6ypNILFujZ5qGrDc3tb3Th6AhQ3noihyOHIDc6Ud3w,16513
193
196
  agno/models/cometapi/__init__.py,sha256=_t5JqHLyohg2u1RkkOR9eSwKsPoAhWUr48i9ei-Rn4Y,82
194
197
  agno/models/cometapi/cometapi.py,sha256=0BYFV3HJnI3lvcXr67EQZJlxNINPR3-zCQMoARVpvro,1946
195
198
  agno/models/dashscope/__init__.py,sha256=lHZTGvs7fVeX4N1G7JNMa4mfsSQHgQq02DsSVqYFqpw,86
@@ -201,9 +204,9 @@ agno/models/deepseek/deepseek.py,sha256=Sc2Jtc6-lROb2BnSHzG_m6p48RPlYXbsyrgjHqYW
201
204
  agno/models/fireworks/__init__.py,sha256=qIDjKUnwmrnwfa9B2Y3ybRyuUsF7Pzw6_bVq4N6M0Cg,86
202
205
  agno/models/fireworks/fireworks.py,sha256=jL1Zg8DZBbkNGe1-Fr5ymD8VWw2pTho4DsJa7DqWvM8,943
203
206
  agno/models/google/__init__.py,sha256=bEOSroFJ4__38XaCgBUWiOe_Qga66ZRm_gis__yIMmc,74
204
- agno/models/google/gemini.py,sha256=ytDl9uqpa4e9hmAJc68sZKL_VOjlmhT73R9OXYprk0Y,48750
207
+ agno/models/google/gemini.py,sha256=2qMqln5BokgWEo6aq3YVgVWvyGJ8rXaPURDVtA4mI_o,50871
205
208
  agno/models/groq/__init__.py,sha256=gODf5IA4yJKlwTEYsUywmA-dsiQVyL2_yWMc8VncdVU,66
206
- agno/models/groq/groq.py,sha256=untRigxQn-s7bbhX7iUzozK5E7bV2wRkm0JvvxaifRs,22433
209
+ agno/models/groq/groq.py,sha256=urHMKhUta8ByxlcDh35QgFV6obmHiPSh-r_aRcb9AKE,23282
207
210
  agno/models/huggingface/__init__.py,sha256=VgdYkgSHqsFLhvJ9lSUCyEZfest8hbCAUpWU6WCk-_c,94
208
211
  agno/models/huggingface/huggingface.py,sha256=Kt_2UeXF2dCbxnsuNt8F_Hezq_WR9kvySltp3U_OrrM,19877
209
212
  agno/models/ibm/__init__.py,sha256=jwrz0JL4pd1cAPN7wLi51qgQfOB8kUIhFjs_oEc4NWc,74
@@ -220,12 +223,12 @@ agno/models/llama_cpp/llama_cpp.py,sha256=tWIF0TQH-sK29xCrTe7oy0SjSC-FlOmwmPL1d5
220
223
  agno/models/lmstudio/__init__.py,sha256=3GPW_YrtFalcpsyoHSFKCre9fYcMHf3gvNcMLerVOZg,82
221
224
  agno/models/lmstudio/lmstudio.py,sha256=E7pmyOcrYUzYr3IhgptL9_CnmI_clftnP4Erw6ADdoQ,756
222
225
  agno/models/meta/__init__.py,sha256=Of02Sw_EzexIdap-GHuDEcvGTSUbho4Eh66jG7xzha8,347
223
- agno/models/meta/llama.py,sha256=UnkfRrKg1AqZ4tW-dLDUEeOyu9UNM26fKmITCsg5TAE,17797
224
- agno/models/meta/llama_openai.py,sha256=kIHe_j6OH__5ivs3jgiP6LsEtY8WXMa3ypZn3RXU3dk,2662
226
+ agno/models/meta/llama.py,sha256=pwsApL4zQZ1BRIAHPobRc_IZGVjD0iuUycIpsD7mX3I,18370
227
+ agno/models/meta/llama_openai.py,sha256=1IMo5Wg_5QDK2V1vPY5bTfnSvPqJbYzHC0zcw7Am-z0,2032
225
228
  agno/models/mistral/__init__.py,sha256=6CP9TDn8oRUjtGBk1McvSQHrjY935vB6msGPlXBhkSw,86
226
229
  agno/models/mistral/mistral.py,sha256=jY1ifrWMagRxCxuYTwCykBgWF_MIGPQ4lKG1ueQVJeI,16573
227
230
  agno/models/nebius/__init__.py,sha256=gW2yvxIfV2gxxOnBtTP8MCpI9AvMbIE6VTw-gY01Uvg,67
228
- agno/models/nebius/nebius.py,sha256=RxluPJYM4m_alKH9_PGs_oXbZcBpVwdwC4vksJPZ2Ys,1899
231
+ agno/models/nebius/nebius.py,sha256=25NJ1aFdCOnfAaGmho-TLQ_vgbhWNn0fhLyvMq5d8a8,1915
229
232
  agno/models/nexus/__init__.py,sha256=q9pwjZ2KXpG1B3Cy8ujrj3_s0a_LI5SaekXJL6mh4gE,63
230
233
  agno/models/nexus/nexus.py,sha256=rJcBQXR1aqUiLWMPBRuHIEh87wVrsqXup1hr_smanBQ,635
231
234
  agno/models/nvidia/__init__.py,sha256=O0g3_0_ciOz0AH4Y4CAL7YRfhdDPAvhDzNjJmgWKT78,74
@@ -233,9 +236,9 @@ agno/models/nvidia/nvidia.py,sha256=0vpEq4cBY_5JdBzGoD95rBdro6dpVNAV5ioKz3lpnfs,
233
236
  agno/models/ollama/__init__.py,sha256=TIhwxG7ek3eyfoKTLoZQXwdgzcIngYKjbjSlkf2gkWE,72
234
237
  agno/models/ollama/chat.py,sha256=25gueHUyGosb-XsNbzq7pjuFMh4ko4KOvyFIyTJcUpA,16240
235
238
  agno/models/openai/__init__.py,sha256=OssVgQRpsriU6aJZ3lIp_jFuqvX6y78L4Fd3uTlmI3E,225
236
- agno/models/openai/chat.py,sha256=8k2wlxlt21HeWgqUNJUaeGdJ_lAFELtNxr_bUlt2HDg,37593
239
+ agno/models/openai/chat.py,sha256=JgMG_O7I7Fglk85mQfdCGK_I7VYrkyLCsInP-TeAkMc,38661
237
240
  agno/models/openai/like.py,sha256=wmw9PfAVqluBs4MMY73dgjelKn1yl5JDKyCRvaNFjFw,745
238
- agno/models/openai/responses.py,sha256=2xAR0G7pFAQSMxRYd1RhWrkwbcVve43NCMW9uroXY0c,45269
241
+ agno/models/openai/responses.py,sha256=okBZIY_UIf7JpYfa0aErDoGnX2GXUHmEvj9fIXSelg4,45246
239
242
  agno/models/openrouter/__init__.py,sha256=ZpZhNyy_EGSXp58uC9e2iyjnxBctql7GaY8rUG-599I,90
240
243
  agno/models/openrouter/openrouter.py,sha256=YXjTHcETz4mn-exBr0GyAbP7_XeQMJkF7Pdf2XBRdFw,2595
241
244
  agno/models/perplexity/__init__.py,sha256=JNmOElDLwcZ9_Lk5owkEdgwmAhaH3YJ-VJqOI8rgp5c,90
@@ -253,18 +256,18 @@ agno/models/together/together.py,sha256=27e-0IqlsFYh0d40XiOjx18GjOqytFI7vwcnCk8J
253
256
  agno/models/vercel/__init__.py,sha256=BYQD23dB-dmIXm8iy4S6yxXRW8xg24E9TLOgwckH674,55
254
257
  agno/models/vercel/v0.py,sha256=48Na0ZFBnRw3hUFUqO5xMO78jzOYnBj-o5kLLg4F188,826
255
258
  agno/models/vertexai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
256
- agno/models/vertexai/claude.py,sha256=PurkTPMhKZMSew86F6bKGLIHvn9hi2_PwQSpKRWXDYA,2372
259
+ agno/models/vertexai/claude.py,sha256=U3kcaLc0cTi_iw7al6qiy4FTD7yaDm0wTsko4QZtHNg,3746
257
260
  agno/models/vllm/__init__.py,sha256=G8cpCZtu4zJvMGud5eSYMMxGBpNTe9jM4W-p0XUeCGE,59
258
261
  agno/models/vllm/vllm.py,sha256=UtiiSvUR4pG_1CzuhY5MWduRgzM2hGVTakKJ6ZBdQmo,2730
259
262
  agno/models/xai/__init__.py,sha256=ukcCxnCHxTtkJNA2bAMTX4MhCv1wJcbiq8ZIfYczIxs,55
260
263
  agno/models/xai/xai.py,sha256=jA6_39tfapkjkHKdzbKaNq1t9qIvO1IaZY1hQqEmFVs,4181
261
264
  agno/os/__init__.py,sha256=h8oQu7vhD5RZf09jkyM_Kt1Kdq_d5kFB9gJju8QPwcY,55
262
- agno/os/app.py,sha256=Me7CErHganEiMF6gmXiHI6uJpMi6XqGhjYhNSaN3BcA,34674
265
+ agno/os/app.py,sha256=sAwBkRFAuJqix_KtHwrYEaViD7wlQTZ80fbzzh9WUro,34228
263
266
  agno/os/auth.py,sha256=FyBtAKWtg-qSunCas5m5pK1dVEmikOSZvcCp5r25tTA,1844
264
267
  agno/os/config.py,sha256=QPGxENF2yezEOp0yV9OXU-FBs4_vYSXkxbbSol51wPE,2932
265
268
  agno/os/mcp.py,sha256=7lAiELFmwcF-eN_pOIJVjun9r5dFcQfPTHD_rP1Zu-s,10318
266
- agno/os/router.py,sha256=bDcS_L2zdQPlUdgyRx-cRCOP1z1_O-3uFUS6jzwEYVo,73340
267
- agno/os/schema.py,sha256=o7p5eDlo7BSWAX8qtIhUezxs43hWRrzrllqBHhLSMU0,52804
269
+ agno/os/router.py,sha256=iXvMEw2aWdgfTrbP842ZqENYXa0Ahnu6Lqac9334r_o,75562
270
+ agno/os/schema.py,sha256=k2tqGr6nce6pWAlItSptmy2hE07K7tEGwq-MVuk8Y-4,52804
268
271
  agno/os/settings.py,sha256=Cn5_8lZI8Vx1UaUYqs9h6Qp4IMDFn4f3c35uppiaMy4,1343
269
272
  agno/os/utils.py,sha256=KdKin_Ykzj1khSUkGcc5RCsuznEutMzgeSsvRiVe5XM,22967
270
273
  agno/os/interfaces/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
@@ -295,7 +298,7 @@ agno/os/routers/evals/evals.py,sha256=S-ybLJtE3oLJrYiHGOAxr2FCYMYd1634GhV_M7SxHl
295
298
  agno/os/routers/evals/schemas.py,sha256=G6XvlEcl0FtgdsmHUjrEWxwxwGMhuYR2HsjfFT3QXUM,6523
296
299
  agno/os/routers/evals/utils.py,sha256=cmBuf5HtJLcLaVrb_a1HizEUIrXbdbKu9rzo8FWfG88,5567
297
300
  agno/os/routers/knowledge/__init__.py,sha256=ZSqMQ8X7C_oYn8xt7NaYlriarWUpHgaWDyHXOWooMaU,105
298
- agno/os/routers/knowledge/knowledge.py,sha256=rDYHtxZ5WltLz0eeuHLTTUlw8dvICblrFJAhPuFAJCA,45331
301
+ agno/os/routers/knowledge/knowledge.py,sha256=6rR1CiHUDmg7kJy7g218IGaFEl0YAMbCciiFNJeEBMo,45320
299
302
  agno/os/routers/knowledge/schemas.py,sha256=GUr5RsRbI7K3qrrOlGVfW0Kf7XO6HjMviMW6nEl6qf8,8847
300
303
  agno/os/routers/memory/__init__.py,sha256=9hrYFc1dkbsLBqKfqyfioQeLX9TTbLrJx6lWDKNNWbc,93
301
304
  agno/os/routers/memory/memory.py,sha256=d13lESaVpgcpsKORhtH425LlTYVcggn96ZLcZE1xr00,21376
@@ -325,12 +328,12 @@ agno/run/messages.py,sha256=rAC4CLW-xBA6qFS1BOvcjJ9j_qYf0a7sX1mcdY04zMU,1126
325
328
  agno/run/team.py,sha256=dCyLp-OixJu1QxZRNTvl9uZ_BvKGneMc09A6OB34N5k,27480
326
329
  agno/run/workflow.py,sha256=jmqupVAS6hCXTZGS4xGUH4erJNpXsR-z5A-68y834RQ,25087
327
330
  agno/session/__init__.py,sha256=p6eqzWcLSHiMex2yZvkwv2yrFUNdGs21TGMS49xrEC4,376
328
- agno/session/agent.py,sha256=IBjJj3kE8y9VIISL9oypz-wMiaIFvuKUzBkMIENuvok,12051
329
- agno/session/summary.py,sha256=f0e02PblHEzG1uPvNiLSTbR1DpwchDy4kCin4l2Dt20,10304
330
- agno/session/team.py,sha256=M9QEmGYyQM64ZsvPWRdp1xZV6EQGuun6pjJL05AzU-k,15260
331
- agno/session/workflow.py,sha256=DnYjubF6rKwDl_HSR3_ieLeX0SyGm6xkn9SCWJ1ldbk,7419
331
+ agno/session/agent.py,sha256=8vVtwwUC5moGWdRcG99Ik6Ay7gbFRrPPnT1ncOUFQIg,10365
332
+ agno/session/summary.py,sha256=9JnDyQyggckd3zx6L8Q5f-lglZvrFQxvPjGU8gLCgR4,10292
333
+ agno/session/team.py,sha256=-MkB6qQCrnXLKko8L5s9fJOWPsjeK5Gx0SXEPoOwSFQ,13437
334
+ agno/session/workflow.py,sha256=nPHnh1N0SJby5JRjysCUI-kTDCelQMFfqosEnnLzPIg,19690
332
335
  agno/team/__init__.py,sha256=toHidBOo5M3n_TIVtIKHgcDbLL9HR-_U-YQYuIt_XtE,847
333
- agno/team/team.py,sha256=aJFKGak30VovJzrUfMlP7U00NvXqnW00-Hv0Dur1RMk,400637
336
+ agno/team/team.py,sha256=Xoq4PiUSfORn5K-FAlrQOXcGIL-asASB5HH7JrMTQtk,405486
334
337
  agno/tools/__init__.py,sha256=jNll2sELhPPbqm5nPeT4_uyzRO2_KRTW-8Or60kioS0,210
335
338
  agno/tools/agentql.py,sha256=S82Z9aTNr-E5wnA4fbFs76COljJtiQIjf2grjz3CkHU,4104
336
339
  agno/tools/airflow.py,sha256=uf2rOzZpSU64l_qRJ5Raku-R3Gky-uewmYkh6W0-oxg,2610
@@ -378,7 +381,6 @@ agno/tools/google_bigquery.py,sha256=j0c14CgGK8KvD7eEirsdAx7RSwcfMheugn84ySq6miU
378
381
  agno/tools/google_drive.py,sha256=dxGr_NhMsqFsr_tR3w4MgLXm7_nlCTI43sCmKw60N_4,11159
379
382
  agno/tools/google_maps.py,sha256=AqPEIt4u6B2kQtzOnL5PH3RXoefCfjT_Uvm3coAqzaY,9513
380
383
  agno/tools/googlecalendar.py,sha256=4WxmPIaxxsxAYP56XT7ehnmKEwicn9w_KOe8LMy5KB0,28670
381
- agno/tools/googlesearch.py,sha256=xRuaEqn7N6JIQC6z9jFuA0Kdtoe5MafGqRMtZ8jW2AQ,3566
382
384
  agno/tools/googlesheets.py,sha256=m8K0A8I5d68HG19OajDLCgGJzXnsnh33OQQOc6K5Qbg,15704
383
385
  agno/tools/hackernews.py,sha256=h5w-L5FkGGMAHr6Jjez6164-UYZ_2r2qFAzwMrKLdRM,2776
384
386
  agno/tools/jina.py,sha256=xa0yxcxsSZ1-BzxO3PJKNWnWrv64DxbpvRHTPFXWhC4,4036
@@ -393,8 +395,9 @@ agno/tools/mem0.py,sha256=5W5pZwJmBTt-_l4nvBdNQHavXFSKV9mVdJg5aso4JBI,7680
393
395
  agno/tools/memori.py,sha256=tubBYj0rQFbBXadhWxwTjjmb3Rnims536AVPkGdCMcw,13181
394
396
  agno/tools/memory.py,sha256=vpMoKtCqs3m6vkuqmZ4fW9IRf1OhXHQGGaq3exJK0Xo,18449
395
397
  agno/tools/mlx_transcribe.py,sha256=kuiYZAM5ZAdkiOfFdbGJsCb0gacnJRtSTFzuX8eWGLw,6379
396
- agno/tools/models_labs.py,sha256=UrjuEOfsXv92ZYsnQJGLQdiVQiRLK4q0CjITbtQ_u7k,7488
398
+ agno/tools/models_labs.py,sha256=E91DZDJOU2ldgI3U_ueFiZcXLLWfbh0MsZ2pYP9c0eQ,7933
397
399
  agno/tools/moviepy_video.py,sha256=ssSIOO16HcdCqZEYy38TWM5c6_ZOnCw-3ZU3kzuM15c,12888
400
+ agno/tools/nano_banana.py,sha256=4fVvqe98vp0mjotEs95eIhK0DEU9RlhrgPZKabmwKpU,5859
398
401
  agno/tools/neo4j.py,sha256=JIgZM0kIWAiyhiS3T_nzgkKeocZwwVpfTawGIpjn4K8,5180
399
402
  agno/tools/newspaper.py,sha256=GAmJ7vBeO3uGS-xHDJ1FxySuecOpiYCJ9y9R5hw3GJk,1281
400
403
  agno/tools/newspaper4k.py,sha256=7uYUg1yCK2j7OW4K1QqmLasMDR7K5_A3CJaa6bmYzaI,3048
@@ -441,7 +444,7 @@ agno/tools/whatsapp.py,sha256=DaDyNogtbgrinJohfU7CmVQJSZsZO-00XUbRJegN_eE,11055
441
444
  agno/tools/wikipedia.py,sha256=u6xhc5wkEGcjng4leVCmo28o6Ti7OzDgRqiOqTMnmoc,2277
442
445
  agno/tools/workflow.py,sha256=4EJlPWEf1Y9sGK_cWENevh3NbdKnGZjzW1cJOJVtI30,12556
443
446
  agno/tools/x.py,sha256=gaFCel9FyDPnKLL03nkjsc9NGsfQOsS92XByp3hdwMo,14495
444
- agno/tools/yfinance.py,sha256=O02eaf3M_igktKXR9I6vYF34HIVIws34imvm1wNkCHU,11263
447
+ agno/tools/yfinance.py,sha256=1bPUMZ7BWxEyblJLxyhzV6y4O-EBmljUM_aKfr0cf0o,11540
445
448
  agno/tools/youtube.py,sha256=H6SbBfWrmkazR8QrgXvLpqBOGAy4eHbRxkgTRJEt91Q,6667
446
449
  agno/tools/zendesk.py,sha256=OgvK0bQGIHnRmN8X6OxyGI7P0Si6w4sodZr6FfmNR50,3084
447
450
  agno/tools/zep.py,sha256=i3yDNlVJLM0CK8SFHi-64fs0DfHMUwqu1CCrMvzJ95M,19305
@@ -455,7 +458,7 @@ agno/tools/models/azure_openai.py,sha256=t2s4qIu5vuyWlE9uhr8YfG6QyqD9GJr4gVnUUMT
455
458
  agno/tools/models/gemini.py,sha256=R3AuRTIZzBHkdQNXEwb81MINXFmRH5tgZysLHe1sFzM,8017
456
459
  agno/tools/models/groq.py,sha256=qwIDp8hMx6fUHdwP4oDllu_0s1UzjSK_GTQ2Cza2SC4,6396
457
460
  agno/tools/models/morph.py,sha256=VcVTS3pC_Kv1yjx6ZY5Mlu0DRDRV8YUMQdok79jAoBY,7595
458
- agno/tools/models/nebius.py,sha256=H06zDhYfrZuV1p-OfIWgfK99TRwkZShswMkbaS-jC4k,4811
461
+ agno/tools/models/nebius.py,sha256=cuSwH5Kq9Jgf9phf3Vvk4ijuZsnWwDXU2zFJn0-UU1s,4833
459
462
  agno/tools/streamlit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
460
463
  agno/tools/streamlit/components.py,sha256=hYYyr4FRMsNDV8IgK68_oiDF-Qi9djChZmDcg3s6Uu8,4016
461
464
  agno/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -472,13 +475,13 @@ agno/utils/format_str.py,sha256=Zp9dDGMABUJzulp2bs41JiNv0MqmMX0qPToL7l_Ab1c,376
472
475
  agno/utils/functions.py,sha256=eHvGqO2uO63TR-QmmhZy2DEnC0xkAfhBG26z77T7jCo,6306
473
476
  agno/utils/gemini.py,sha256=-RrZRk4fKRsNCsFVKqXc1JzZaLU3_vIlzGS-YWbz4Bs,16055
474
477
  agno/utils/hooks.py,sha256=VaN7DNOZMyVmCzApXcUdkdWDAY83SAbZUNSq70HjcmU,2086
475
- agno/utils/http.py,sha256=t7sr34VD9M___MYBlX6p4XKEqkvuXRJNJG7Y1ebU2bk,2673
478
+ agno/utils/http.py,sha256=ptH4YjTKk6Q46-tdEOc-2m97eDwA7gb-RSL_j_ChLtg,6911
476
479
  agno/utils/json_schema.py,sha256=VPbK-Gdo0qOQKco7MZnv1d2Fe-9mt1PRBO1SNFIvBHY,8555
477
480
  agno/utils/knowledge.py,sha256=QPLcBfJ22XNG2w_qUYRaD5PiDQEgf-ITYb9n85m27pA,1502
478
481
  agno/utils/location.py,sha256=VhXIwSWdr7L4DEJoUeVI92Y-rJ32NUcYzFRnzLgX-es,658
479
482
  agno/utils/log.py,sha256=NJ56KY2rYn0wfiD1y_VTCz8KrvnrkcXi7kQoKZoULV8,7792
480
483
  agno/utils/mcp.py,sha256=GsSGbYvlcKaZfzwwUVJNOJYLJEgKCqJiLxSd1SR4yig,7607
481
- agno/utils/media.py,sha256=_FwhgXBr_4UhncEK5FOgig6aabsjhSiLxJUaklWlQ9Q,12154
484
+ agno/utils/media.py,sha256=Mkt-DxFmAnypeZOU84fMLmGSd2aXbw7z7OgF0pKA4yc,12456
482
485
  agno/utils/merge_dict.py,sha256=K_dZdwi46gjDFn7wgqZ9_fycRIZGJCnUxFVKCrQ6PYc,1490
483
486
  agno/utils/message.py,sha256=jIcSe79WmfpbbYowy0C57ZzRBd9ENj-hyj3TQw_9vsg,4684
484
487
  agno/utils/openai.py,sha256=quhHsggz0uSZc9Lt-aVsveHSS1LT2r1fMgC0IpG43Tg,10300
@@ -501,7 +504,7 @@ agno/utils/whatsapp.py,sha256=242VwGOdbgkxVeIj4D899mpT3GnG_IpcaKnd5qebhTA,9936
501
504
  agno/utils/yaml_io.py,sha256=cwTqCE-eBGoi87KLDcwB6iyWe0NcvEmadQjWL1cQ7jE,860
502
505
  agno/utils/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
503
506
  agno/utils/models/ai_foundry.py,sha256=PmhETWhdqZCq8NbDe-MdZVuRXx6DbVOePCyPFiPLceo,1511
504
- agno/utils/models/claude.py,sha256=-XChDFdqYHMhvVyrbQhAKuuhp4q8QhVky1Q1FokRUGU,12008
507
+ agno/utils/models/claude.py,sha256=pkHo2UY7eESM3KrmwCG5TxYHDC9Sl9UStHQrY9V1tXQ,12336
505
508
  agno/utils/models/cohere.py,sha256=wir2K9u4RmOwq7T7n_2UPZFHfwmnrt_u91Psd_DFqdE,3266
506
509
  agno/utils/models/llama.py,sha256=Z5fdOFUFnov1JgUDcP6ICK3M7o64UB1fkcwAs2XaZkM,2515
507
510
  agno/utils/models/mistral.py,sha256=SVcJ8Q8SFeadNwCr8BARbET0gvGiylmaDKzcSJ9kWq0,4189
@@ -509,8 +512,8 @@ agno/utils/models/openai_responses.py,sha256=63f2UgDFCzrr6xQITrGtn42UUHQBcZFUUFM
509
512
  agno/utils/models/schema_utils.py,sha256=L6TkraMClI471H6xYy7V81lhHR4qQloVKCN0bF4Ajw0,5047
510
513
  agno/utils/models/watsonx.py,sha256=fe6jN0hBvOCQurqjS6_9PIwDHt-4kVod9qW236Zs6DU,1496
511
514
  agno/utils/print_response/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
- agno/utils/print_response/agent.py,sha256=zZE7jGzSqtBnO7o3jRCiXYz49y87BnwVpfnqslQemMo,36024
513
- agno/utils/print_response/team.py,sha256=Wxk-OhEd-4kPepyw9XWSJl_6tweQHR-NbPmZURwvrhQ,78789
515
+ agno/utils/print_response/agent.py,sha256=zP4XQVtMdI1aCwkayNCy-68JacDquluw9BSCG9J8_WY,36981
516
+ agno/utils/print_response/team.py,sha256=6nBm1ItIuEJ4W89nSjp-rEI0FLtr_xYQRU6MAT73lCI,79245
514
517
  agno/utils/print_response/workflow.py,sha256=bndej1GUbnirXihDsjewjbc4_McBWsZ3bByMk6gHhIU,78797
515
518
  agno/vectordb/__init__.py,sha256=P0QP9PUC4j2JtWIfYJX7LeC-oiPuh_QsUaOaP1ZY_dI,64
516
519
  agno/vectordb/base.py,sha256=7HeHdhR3hQtlERbCPI0Fc3L_pPKgWs4KAkEstkdNoHw,3812
@@ -526,7 +529,7 @@ agno/vectordb/clickhouse/__init__.py,sha256=pcmZRNBEpDznEEpl3NzMZgvVLo8tni3X0FY1
526
529
  agno/vectordb/clickhouse/clickhousedb.py,sha256=XxDMcaa9xOzHJPMySCSHjtcwytLe6Pqm9-5LCkIziG0,31833
527
530
  agno/vectordb/clickhouse/index.py,sha256=_YW-8AuEYy5kzOHi0zIzjngpQPgJOBdSrn9BfEL4LZU,256
528
531
  agno/vectordb/couchbase/__init__.py,sha256=dKZkcQLFN4r2_NIdXby4inzAAn4BDMlb9T2BW_i0_gQ,93
529
- agno/vectordb/couchbase/couchbase.py,sha256=y1WAgwz84KS2UvQCTvNVnklSDPAoTTongeGwkJ861XE,65475
532
+ agno/vectordb/couchbase/couchbase.py,sha256=nAQTJrMcDgkGQL6G0ZX-S7SFs6RShY8eQbrdqojoGz8,65635
530
533
  agno/vectordb/lancedb/__init__.py,sha256=tb9qvinKyWMTLjJYMwW_lhYHFvrfWTfHODtBfMj-NLE,111
531
534
  agno/vectordb/lancedb/lance_db.py,sha256=1ZQB4LoOzeA1pU0bUCD0reFj-9Uo7qwZYFVqKBsz8aw,40538
532
535
  agno/vectordb/langchaindb/__init__.py,sha256=BxGs6tcEKTiydbVJL3P5djlnafS5Bbgql3u1k6vhW2w,108
@@ -560,16 +563,16 @@ agno/vectordb/weaviate/index.py,sha256=y4XYPRZFksMfrrF85B4hn5AtmXM4SH--4CyLo27EH
560
563
  agno/vectordb/weaviate/weaviate.py,sha256=miHI6ONnyHsFL8hHAl7nnbVPDDTimEuEtVIOKKW0kEo,40252
561
564
  agno/workflow/__init__.py,sha256=Ze2j811jwnsS8Sjv6u0Ap4l7Pyw_ivRof1uBYNJhb1w,609
562
565
  agno/workflow/agent.py,sha256=fKLB4kop7YYFeM1e-d3IzvVPsVF5cLNX6Z0gPn81ZR4,12170
563
- agno/workflow/condition.py,sha256=4VXIpBH9-G9W0w10Sn4qn32gg9kap4uKVEF6dxIxGrg,32909
564
- agno/workflow/loop.py,sha256=T38rX3wQeCMW7twIHjPKfhE_ONlsa6p3tKl0xgR7zwo,32956
565
- agno/workflow/parallel.py,sha256=_kDg15O65RLgmEwAsE15ckwALgmHdreQ2TSt5yiOBio,36684
566
- agno/workflow/router.py,sha256=1ez59iVrkV0g56WKdo26EDS2yeQFnC8aEA8KbzmBJV0,30986
567
- agno/workflow/step.py,sha256=FMv0ZY4iLfupuuykQhzh5ekzpFscy4EJG07HSS_gBQs,69025
568
- agno/workflow/steps.py,sha256=jMGnCUNTwU8bUj8Uf3xNrwPWrKWqx4TfJSzGZCKiVWY,26088
566
+ agno/workflow/condition.py,sha256=ExKBRMDxwUtqDQ3kEuGUeTM7Dw1c58fwCLguEuoclZo,33527
567
+ agno/workflow/loop.py,sha256=RLaRp4NaB3pzowtvlJuZ06VZaKbCPn6v93SjJJzrZvI,33574
568
+ agno/workflow/parallel.py,sha256=ho6WASVJGd2IK9aRjP_r3j_mEGj3JP6TRgsvIb2v-ns,37302
569
+ agno/workflow/router.py,sha256=w7fPxQI2CDZp15zSZXgmvnYM5Td2FFFBrYbcXPwVb-Y,31604
570
+ agno/workflow/step.py,sha256=_sge_L8WBWSYJRNtgzrfCWIPjrWyani1rCRTkQZu3EM,73296
571
+ agno/workflow/steps.py,sha256=NXAOgQ8bssgl-6K1Fxd9zLm1m3ranPnMFJp-SM-GmA8,26706
569
572
  agno/workflow/types.py,sha256=T8O0CuKe48MRuPtgdDlECJQL8mgJ4TKClaw9hHN3Ebw,19149
570
- agno/workflow/workflow.py,sha256=OQYt_HV2oYEO5yhcBjkqTGkYxpih1Hw9ydLlokwYGBc,189687
571
- agno-2.2.13.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
572
- agno-2.2.13.dist-info/METADATA,sha256=4uEkZoLSOiE_VyPpegPZfMJvdCh_-hMqzeL47cRQMMs,28671
573
- agno-2.2.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
574
- agno-2.2.13.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
575
- agno-2.2.13.dist-info/RECORD,,
573
+ agno/workflow/workflow.py,sha256=XjwOxrJrWUvsWJH7qYJs-0BX7z6xyzX9mbw8dMNevUg,189538
574
+ agno-2.3.1.dist-info/licenses/LICENSE,sha256=QwcOLU5TJoTeUhuIXzhdCEEDDvorGiC6-3YTOl4TecE,11356
575
+ agno-2.3.1.dist-info/METADATA,sha256=c7m0u0MGZBkZnPgVpeN7KureVZKSEJDgfKefA3tvEUo,28850
576
+ agno-2.3.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
577
+ agno-2.3.1.dist-info/top_level.txt,sha256=MKyeuVesTyOKIXUhc-d_tPa2Hrh0oTA4LM0izowpx70,5
578
+ agno-2.3.1.dist-info/RECORD,,
@@ -1,98 +0,0 @@
1
- import json
2
- from typing import Any, Dict, List, Optional
3
-
4
- from agno.tools import Toolkit
5
- from agno.utils.log import log_debug
6
-
7
- try:
8
- from googlesearch import search
9
- except ImportError:
10
- raise ImportError("`googlesearch-python` not installed. Please install using `pip install googlesearch-python`")
11
-
12
- try:
13
- from pycountry import pycountry
14
- except ImportError:
15
- raise ImportError("`pycountry` not installed. Please install using `pip install pycountry`")
16
-
17
-
18
- class GoogleSearchTools(Toolkit):
19
- """
20
- GoogleSearch is a Python library for searching Google easily.
21
- It uses requests and BeautifulSoup4 to scrape Google.
22
-
23
- Args:
24
- fixed_max_results (Optional[int]): A fixed number of maximum results.
25
- fixed_language (Optional[str]): Language of the search results.
26
- headers (Optional[Any]): Custom headers for the request.
27
- proxy (Optional[str]): Proxy settings for the request.
28
- timeout (Optional[int]): Timeout for the request, default is 10 seconds.
29
- cache_results (bool): Enable caching of search results.
30
- cache_ttl (int): Time-to-live for cached results in seconds.
31
- cache_dir (Optional[str]): Directory to store cache files.
32
- enable_google_search (bool): Enable Google search.
33
- all (bool): Enable all tools.
34
- """
35
-
36
- def __init__(
37
- self,
38
- fixed_max_results: Optional[int] = None,
39
- fixed_language: Optional[str] = None,
40
- headers: Optional[Any] = None,
41
- proxy: Optional[str] = None,
42
- timeout: Optional[int] = 10,
43
- enable_google_search: bool = True,
44
- all: bool = False,
45
- **kwargs,
46
- ):
47
- self.fixed_max_results: Optional[int] = fixed_max_results
48
- self.fixed_language: Optional[str] = fixed_language
49
- self.headers: Optional[Any] = headers
50
- self.proxy: Optional[str] = proxy
51
- self.timeout: Optional[int] = timeout
52
-
53
- tools = []
54
- if all or enable_google_search:
55
- tools.append(self.google_search)
56
-
57
- super().__init__(name="google_search_tools", tools=tools, **kwargs)
58
-
59
- def google_search(self, query: str, max_results: int = 5, language: str = "en") -> str:
60
- """
61
- Use this function to search Google for a specified query.
62
-
63
- Args:
64
- query (str): The query to search for.
65
- max_results (int, optional): The maximum number of results to return. Default is 5.
66
- language (str, optional): The language of the search results. Default is "en".
67
-
68
- Returns:
69
- str: A JSON formatted string containing the search results.
70
- """
71
- max_results = self.fixed_max_results or max_results
72
- language = self.fixed_language or language
73
-
74
- # Resolve language to ISO 639-1 code if needed
75
- if len(language) != 2:
76
- _language = pycountry.languages.lookup(language)
77
- if _language:
78
- language = _language.alpha_2
79
- else:
80
- language = "en"
81
-
82
- log_debug(f"Searching Google [{language}] for: {query}")
83
-
84
- # Perform Google search using the googlesearch-python package
85
- results = list(search(query, num_results=max_results, lang=language))
86
-
87
- # Collect the search results
88
- res: List[Dict[str, str]] = []
89
- for result in results:
90
- res.append(
91
- {
92
- "title": result.title,
93
- "url": result.url,
94
- "description": result.description,
95
- }
96
- )
97
-
98
- return json.dumps(res, indent=2)
File without changes