-
Notifications
You must be signed in to change notification settings - Fork 59
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' of https://github.com/kaiban-ai/KaibanJS into str…
…ucture-task-output
- Loading branch information
Showing
8 changed files
with
574 additions
and
137 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,18 +1,53 @@ | ||
# Changelog | ||
|
||
## [0.1.0] | ||
All notable changes to the `@kaibanjs/tools` package will be documented in this file. | ||
|
||
Initial experimental release of the tools package. | ||
## [0.4.1] - 2024-12-19 | ||
|
||
### Features | ||
### Documentation | ||
- Added missing README files for: | ||
- Exa Search Tool | ||
- Firecrawl Tool | ||
- Updated main package README with improved tool listing | ||
- Standardized documentation format across all tools | ||
|
||
- Basic tool package implementation | ||
- Firecrawl tool integration | ||
- Tavily tool integration | ||
- Storybook playground for tools | ||
- Basic testing suite per tool | ||
- CI workflows for releasing and testing | ||
## [0.4.0] - 2024-12-19 | ||
|
||
### Notes | ||
### Added | ||
- Zapier Webhook Tool for workflow automation integration | ||
- Make Webhook Tool for Make (formerly Integromat) integration | ||
|
||
- This is an experimental release | ||
## [0.3.0] - 2024-12-14 | ||
|
||
### Added | ||
- Simple RAG Tool for basic RAG implementations | ||
- Website Search Tool for semantic website content search | ||
- PDF Search Tool for document analysis | ||
- Text File Search Tool for plain text processing | ||
|
||
### Enhanced | ||
- Added support for custom vector stores | ||
- Improved documentation for all tools | ||
- Added comprehensive examples in tool READMEs | ||
|
||
## [0.2.0] - 2024-11-17 | ||
|
||
### Added | ||
- Serper Tool for Google Search API integration | ||
- WolframAlpha Tool for computational queries | ||
- Exa Search Tool for neural search capabilities | ||
- GitHub Issues Tool for repository management | ||
|
||
### Improved | ||
- Enhanced error handling across all tools | ||
- Better type definitions and input validation | ||
- Updated documentation with more examples | ||
|
||
## [0.1.0] - Initial Release | ||
|
||
### Added | ||
- Initial package setup | ||
- Basic tool implementation structure | ||
- Core utility functions | ||
- Testing framework setup | ||
- Documentation foundation |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,94 @@ | ||
# Exa Search Tool | ||
|
||
This tool integrates with Exa (https://exa.ai/), a search engine for AI that organizes the web using embeddings. It provides high-quality web data specifically optimized for AI applications, offering advanced search capabilities through neural and traditional keyword approaches. | ||
|
||
## Components | ||
|
||
The tool uses the following components: | ||
|
||
- An Exa API client instance | ||
- An API Key for authentication | ||
- A custom HTTP client (ky) for making API requests | ||
- Input validation using Zod schema | ||
- Configurable search parameters | ||
- Multiple search type options | ||
|
||
## Key Features | ||
|
||
- Neural Search: Meaning-based search using embeddings | ||
- Keyword Search: Traditional search capabilities | ||
- Auto Search: Dynamically chooses between neural and keyword | ||
- Category-focused search (company, research paper, news, github, tweet, etc.) | ||
- Domain and text filtering | ||
- Date-based filtering | ||
- Configurable content retrieval options | ||
- Support for autoprompt query enhancement | ||
|
||
## Input | ||
|
||
The input should be a JSON object with a "query" field containing the search query to process. | ||
|
||
## Output | ||
|
||
The output is the response from Exa's API containing search results based on the configured parameters and search type. | ||
|
||
## Configuration Options | ||
|
||
- `type`: Search type ('neural', 'keyword', or 'auto') | ||
- `useAutoprompt`: Enable query enhancement (for neural search) | ||
- `numResults`: Number of results to return | ||
- `category`: Focus on specific category | ||
- `startPublishedDate`: ISO 8601 date for earliest publish date | ||
- `endPublishedDate`: ISO 8601 date for latest publish date | ||
- `includeDomains`: List of domains to include | ||
- `excludeDomains`: List of domains to exclude | ||
- `includeText`: Text/phrase to include in results | ||
- `excludeText`: Text/phrase to exclude from results | ||
- `startCrawlDate`: ISO 8601 date for earliest crawl date | ||
- `endCrawlDate`: ISO 8601 date for latest crawl date | ||
- `contents`: Configuration for content retrieval | ||
|
||
## Example | ||
|
||
```javascript | ||
const tool = new ExaSearch({ | ||
apiKey: 'your-api-key', | ||
type: 'neural', | ||
useAutoprompt: false, | ||
numResults: 10, | ||
category: 'company' | ||
}); | ||
|
||
const result = await tool._call({ | ||
query: 'AI companies focusing on natural language processing' | ||
}); | ||
``` | ||
|
||
## Advanced Example with Filters | ||
|
||
```javascript | ||
const tool = new ExaSearch({ | ||
apiKey: process.env.EXA_API_KEY, | ||
type: 'neural', | ||
numResults: 20, | ||
includeDomains: ['techcrunch.com', 'wired.com'], | ||
startPublishedDate: '2023-01-01', | ||
contents: { | ||
text: { maxCharacters: 1000, includeHtmlTags: false }, | ||
highlights: { numSentences: 3, highlightsPerUrl: 2 } | ||
} | ||
}); | ||
|
||
try { | ||
const result = await tool._call({ | ||
query: 'recent developments in quantum computing' | ||
}); | ||
console.log(result); | ||
} catch (error) { | ||
console.error('Error performing Exa search:', error); | ||
} | ||
``` | ||
|
||
### Disclaimer | ||
|
||
Ensure you have proper API credentials and respect Exa's usage terms and rate limits. Some features may require specific subscription tiers. |
Oops, something went wrong.