* feat: add explictly package_dependencies in the Tools
* feat: collect package_dependencies from Tool to add in tool.specs.json
* feat: add default value in run_params Tool' specs
* fix: support get boolean values
This commit also refactor test to make easier define newest attributes into a Tool
* feat: generate tool specs file based on their schema definition
* generate tool spec after publishing a new release
* feat: support add available env-vars to tool.specs.json
* refactor: use better identifier names on tool specs
* feat: change tool specs generation to run daily
* feat: add auth token to notify api about tool changes
* refactor: use humanized_name instead of verbose_name
* refactor: generate tool spec after pushing to main
This commit also fix the remote upstream & updated the notify api
* 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
* 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>
* 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
* 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>
- 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
- Re-add country (gl), location, and locale (hl) parameters to SerperDevTool class
- Update payload construction in _make_api_request to include localization params
- Add schema validation for localization parameters
- Update documentation and examples to demonstrate parameter usage
These parameters were accidentally removed in the previous enhancement PR and are crucial for:
- Getting region-specific search results (via country/gl)
- Targeting searches to specific cities (via location)
- Getting results in specific languages (via locale/hl)
BREAKING CHANGE: None - This restores previously available functionality