Commit Graph

462 Commits

Author SHA1 Message Date
Harikrishnan K
64f6f998d8 FileCompressorTool with support for files and subdirectories (#282)
* FileCompressorTool with support for files and subdirectories

* README.md

* Updated files_compressor_tool.py

* Enhanced FileCompressorTool different compression formats

* Update README.md

* Updated with lookup tables

* Updated files_compressor_tool.py

* Added Test Cases

* Removing Test_Cases.md inorder to update with correct test case as per the review

* Added Test Cases

* Test Cases with patch,MagicMock

* Empty lines Removed

* Updated Test Case,Ensured Maximum Scenarios

* Deleting old one

* Updated __init__.py to include FileCompressorTool

* Update __init__.py to add FileCompressorTool
2025-05-08 13:17:17 -04:00
nicoferdi96
edd4e5bef9 Fix FirecrawlScrapeWebsiteTool (#298)
* fix FirecrawlScrapeWebsiteTool: add missing config parameter and correct Dict type annotation

- Add required config parameter when creating the tool
- Change type hint from `dict` to `Dict` to resolve Pydantic validation issues

* Update firecrawl_scrape_website_tool.py

- removing optional config
- removing timeout from Pydantic model

* Removing config from __init__

- removing config from __init__

* Update firecrawl_scrape_website_tool.py

- removing timeout
2025-05-07 12:34:15 -04:00
Lucas Gomide
fd4ef4f47a fix: Remove kwargs from all RagTools (#285)
* fix: remove kwargs from all (except mysql & pg) RagTools

The agent uses the tool description to decide what to propagate when a tool with **kwargs is found, but this often leads to failures during the tool invocation step.

This happens because the final description ends up like this:

```
CrewStructuredTool(name='Knowledge base', description='Tool Name: Knowledge base
Tool Arguments: {'query': {'description': None, 'type': 'str'}, 'kwargs': {'description': None, 'type': 'Any'}}
Tool Description: A knowledge base that can be used to answer questions.')
```

The agent then tries to infer and pass a kwargs parameter, which isn’t supported by the schema at all.

* feat: adding test to search tools

* feat: add db (chromadb folder) to .gitignore

* fix: fix github search integration

A few attributes were missing when calling the .add method: data_type and loader.

Also, update the query search according to the EmbedChain documentation, the query must include the type and repo keys

* fix: rollback YoutubeChannel paramenter

* chore: fix type hinting for CodeDocs search

* fix: ensure proper configuration when call `add`

According to the documentation, some search methods must be defined as either a loader or a data_type. This commit ensures that.

* build: add optional-dependencies for github and xml search

* test: mocking external requests from search_tool tests

* build: add pytest-recording as devDependencie
2025-05-05 14:15:50 -04:00
Lorenze Jay
93d043bcd4 Enhance EnterpriseActionKitToolAdapter to support custom project IDs (#297)
* Enhance EnterpriseActionKitToolAdapter to support custom project IDs

- Updated the EnterpriseActionKitToolAdapter and EnterpriseActionTool classes to accept an optional project_id parameter, allowing for greater flexibility in API interactions.
- Modified API URL construction to utilize the provided project_id instead of a hardcoded default.
- Updated the CrewaiEnterpriseTools factory function to accept and pass the project_id to the adapter.

* for factory in mind
2025-05-04 10:41:54 -07:00
Daniel Barreto
67be0c674d Allow setting custom LLM for the vision tool (#294)
* Allow setting custom LLM for the vision tool

Defaults to gpt-4o-mini otherwise

* Enhance VisionTool with model management and improved initialization

- Added support for setting a custom model identifier with a default of "gpt-4o-mini".
- Introduced properties for model management, allowing dynamic updates and resetting of the LLM instance.
- Updated the initialization method to accept an optional LLM and model parameter.
- Refactored the image processing logic for clarity and efficiency.

* docstrings

* Add stop config

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-04-28 19:53:00 -03:00
benzakritesteur
82d0209ce2 Fix firecrawl tool (Too many positional arguments) (#275)
* Corrected to adapt to firecrawl package use

Was leading to an error too many arguments when calling the craw_url() function

* Corrected to adapt to firecrawl package use

Corrected to avoid too many arguments error when calling firecrawl scrape_url function

* Corrected to adapt to firecrawl package use

Corrected to avoid error too many arguments when calling firecrawl search() function

* fix: fix firecrawl integration

* feat: support define Firecrawl using any config

Currently we pre-defined the available paramenters to call Firecrawl, this commit adds support to receive any parameter and propagate them

* docs: added doc string to Firecrawls classes

---------

Co-authored-by: Lucas Gomide <lucaslg200@gmail.com>
2025-04-28 13:57:03 -04:00
João Moura
6909c587c2 Merge pull request #286 from crewAIInc/joaodmmoura/crewai-enterprise-tool
new tool around adapter
2025-04-27 23:18:34 -07:00
João Moura
7c1a87e5ab new tool around adapter 2025-04-24 23:05:50 -07:00
João Moura
af5a605f31 Merge pull request #284 from crewAIInc/lorenze/enterprise-integrations
Lorenze/enterprise tools integrations
2025-04-24 14:48:02 -07:00
lorenzejay
40dd22ce2c refactor: remove main execution block from EnterpriseActionKitToolAdapter
- Removed the main execution block that included token validation and agent/task setup for testing.
- This change streamlines the adapter's code, focusing on its core functionality without execution logic.
2025-04-24 14:39:55 -07:00
lorenzejay
4d86da80c3 feat: add EnterpriseActionKitToolAdapter and EnterpriseActionTool for enterprise action execution
- Introduced EnterpriseActionTool to execute specific enterprise actions with dynamic parameter validation.
- Added EnterpriseActionKitToolAdapter to manage and create tool instances for available enterprise actions.
- Implemented methods for fetching action schemas from the API and creating corresponding tools.
- Enhanced error handling and provided detailed descriptions for tool parameters.
- Included a main execution block for testing the adapter with a sample agent and task setup.
2025-04-24 14:20:40 -07:00
Lucas Gomide
edc9b44c47 Add secure Python Sandbox and Enhanced Logging in CodeInterpreterTool (#281)
* feat: add a safety sandbox to run Python code

This sandbox blocks a bunch of dangerous imports and built-in functions

* feat: add more logs and warning about code execution

* test: add tests to cover sandbox code execution

* docs: add Google-style docstrings and type hints to printer and code_interpreter

* chore: renaming globals and locals paramenters

---------

Co-authored-by: Greyson Lalonde <greyson.r.lalonde@gmail.com>
2025-04-23 15:42:05 -04:00
Lucas Gomide
78d0ec501d fix: do not use deprecated distutils in FileWriterTool (#280) 2025-04-23 10:29:07 -04:00
Milad Noroozi
7973c163f3 Add chunk reading functionality to FileReadTool (#266)
* Add chunk reading functionality to FileReadTool

- Added start_line parameter to specify which line to start reading from
- Added line_count parameter to specify how many lines to read
- Updated documentation with new parameters and examples

* [FIX] Bugs and Disscutions

Fixed: start_line negative value
Improved: File Reading Operations

* [IMPROVE] Simplify line selection

* [REFACTOR] use mock_open while preserving essential filesystem tests
2025-04-22 10:18:29 -04:00
Guillaume Raille
a270742319 mcp server proposal (#267)
* mcp server proposal

* Refactor MCP server implementation: rename MCPServer to MCPServerAdapter and update usage examples. Adjust error message for optional dependencies installation.

* Update MCPServerAdapter usage examples to remove unnecessary parameters in context manager instantiation.

* Refactor MCPServerAdapter to move optional dependency imports inside the class constructor, improving error handling for missing dependencies.

* Enhance MCPServerAdapter by adding type hinting for server parameters and improving error handling during server startup. Optional dependency imports are now conditionally loaded, ensuring clearer error messages for missing packages.

* Refactor MCPServerAdapter to improve error handling for missing 'mcp' package. Conditional imports are now used, prompting users to install the package if not found, enhancing user experience during server initialization.

* Refactor MCPServerAdapter to ensure proper cleanup after usage. Removed redundant exception handling and ensured that the server stops in a finally block, improving resource management.

* add documentation

* fix typo close -> stop

* add tests and fix double call with context manager

* Enhance MCPServerAdapter with logging capabilities and improved error handling during initialization. Added logging for cleanup errors and refined the structure for handling missing 'mcp' package dependencies.

---------

Co-authored-by: lorenzejay <lorenzejaytech@gmail.com>
2025-04-16 10:18:07 -07:00
Lucas Gomide
8cbdaeaff5 refactor(selenium): improve driver management and add headless mode (#268)
- Refactor Selenium scraping tool to use single driver instance
- Add headless mode configuration for Chrome
- Improve error handling with try/finally
- Simplify code structure and improve maintainability
2025-04-15 10:50:40 -04:00
Lucas Gomide
a95be24865 Merge pull request #262 from GibsonAI/tool-typo-fixes
Fix typo "seach" -> "search" in tools
2025-04-11 10:05:17 -03:00
Nathan Chapman
c2cb8e06be Fix typo seach -> search in tools 2025-04-10 17:38:28 -05:00
Vini Brasil
257f4bf385 Test optional dependencies are not required in runtime (#260)
* Test optional dependencies are not required in runtime

* Add dynamic imports to S3 tools

* Setup CI
2025-04-08 13:20:11 -04:00
Lucas Gomide
6f95572e18 Merge pull request #237 from SHIXOOM/Fix-FireCrawl-Crawler-Tool
Fix: FirecrawlCrawlWebsiteTool update parameters for FireCrawl API v1 and update run arguments for agents
2025-04-06 14:06:32 -04:00
lorenzejay
89394ef3e3 Refactor: Clean up FirecrawlCrawlWebsiteTool schema field descriptions and formatting for improved readability 2025-04-04 11:42:32 -07:00
Lucas Gomide
90c9d5d71d Merge pull request #250 from parthbs/feat/local-qdrant-client-support
#249 feat: add support for local qdrant client
2025-04-02 10:16:14 -03:00
Lorenze Jay
5b06a0c189 Merge pull request #253 from crewAIInc/fix/clear-more-warnings-databricks
cleanup more warnings from tools
2025-04-01 10:47:25 -07:00
lorenzejay
6b4453e1b1 refactor: rename schema to db_schema in DatabricksQueryTool for clarity 2025-04-01 10:42:36 -07:00
Lorenze Jay
d842e9df97 Merge pull request #252 from crewAIInc/feature-cleanup-pydatic-issues
feat: cleanup Pydantic warning
2025-04-01 09:27:41 -07:00
lucasgomide
47acb5c3e4 feat: cleanup Pydantic warning
A several warnings were addressed following by  https://docs.pydantic.dev/2.10/migration
2025-04-01 09:55:01 -03:00
Shady Ali
e0adb4695c Addressed review comments and made further improvements 2025-03-28 16:58:47 +02:00
Parth Patel
4fd7db2e53 #249: update QdrantVectorSearchTool README 2025-03-25 19:16:18 +00:00
Parth Patel
5ded394e43 #249 feat: add support for local qdrant client 2025-03-25 19:01:01 +00:00
João Moura
baea6dc8a4 Merge pull request #197 from beowolx/bugfix/serperdev-missing-country
fix(serper-dev): restore search localization parameters
2025-03-21 14:54:50 -03:00
João Moura
5cfcb5c74a new version 2025-03-19 11:30:26 -07:00
João Moura
865930da78 Merge pull request #239 from raju-rangan/main
Amazon Bedrock Knowledge Bases Retriever and Agents support
2025-03-19 15:18:26 -03:00
Raju Rangan
319423b70a added __init__ files as suggested. 2025-03-18 10:24:08 -04:00
João Moura
658c23547e prep new version 2025-03-17 18:58:45 -07:00
João Moura
568aace62e fix 2025-03-17 18:58:09 -07:00
Vini Brasil
9e68cbbb3d Conditionally import Databricks library (#243)
Databricks is an optional dependency, but the tool package is imported by
default, leading to ImportError exceptions.

Related: crewAIInc/crewAI#2390
2025-03-17 15:13:28 -03:00
Brandon Hancock (bhancock_ai)
c06076280e Merge pull request #228 from MQ37/feat/apify
feat: apify actors
2025-03-16 12:28:13 -04:00
João Moura
0c3140e758 new version 2025-03-14 07:39:52 -07:00
Raju Rangan
db309ca1ae - Add custom exceptions for better error handling
- Add parameter validation for Bedrock tools
- Improve response processing and debug information
- Maintain backward compatibility with existing implementations
2025-03-11 16:46:12 -04:00
Jakub Kopecký
292adef7ba Update README.md 2025-03-11 18:02:15 +01:00
Raju Rangan
d47adfc34a Adding tooling to use Amazon Bedrock Agents as enternal agent, enbaling distributed agentic capabilities 2025-03-11 10:21:30 -04:00
Raju Rangan
e8326f134f Adding tooling to use Amazon Bedrock Knowledge Base as a knowledge retreiver 2025-03-11 10:20:42 -04:00
João Moura
c19591a689 updatign readme 2025-03-09 04:01:12 -07:00
Shady Ali
5af2108307 Fix: FireCrawl FirecrawlCrawlWebsiteTool for crawling. FireCrawl API does not recognize sent paramters (HTTPError: Unexpected error during start crawl job: Status code 400. Bad Request -
[{'code': 'unrecognized_keys', 'keys': ['crawlerOptions', 'timeout'], 'path': [], 'message': 'Unrecognized key in body -- please review the v1 API documentation for request body changes'}]) because it has been updated to v1. I updated the sent parameters to match v1 and updated their description in the readme file
2025-03-08 09:35:23 +02:00
MQ
cad804e87b update readme 2025-03-07 11:00:54 +01:00
MQ
7718df5437 minor consistency improvements 2025-03-04 12:45:52 +01:00
MQ
9c7c7d3d75 apify_actors -> apify_actors_tool, refactor readme 2025-03-04 11:10:41 +01:00
MQ
3df25e65d5 fix 2025-02-28 15:40:08 +01:00
MQ
7148c52bf6 format 2025-02-28 12:43:52 +01:00
MQ
f329b0d9d2 improve readme, add link to template 2025-02-28 12:35:23 +01:00