-
Notifications
You must be signed in to change notification settings - Fork 3.2k
feat(tools): added arXiv and wikipedia tools/blocks & docs #814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Summary
This PR adds comprehensive arXiv and Wikipedia integrations to the Sim Studio platform, introducing 7 new tools that provide API-key-free access to academic papers and encyclopedia content. The changes include:
ArXiv Integration (3 tools):
arxiv_search: Search academic papers with filtering options (field, sorting, results limit)arxiv_get_paper: Retrieve detailed paper information by ID with URL cleaning supportarxiv_get_author_papers: Find all papers by a specific author with chronological sorting
Wikipedia Integration (4 tools):
wikipedia_search: Search Wikipedia articles using the OpenSearch APIwikipedia_summary: Get page summaries with metadata and thumbnailswikipedia_content: Retrieve full HTML content from Wikipedia pageswikipedia_random: Discover random Wikipedia articles
The implementation follows the established architectural patterns in the codebase, with proper TypeScript interfaces, tool configurations extending ToolConfig, and block implementations that provide multi-operation interfaces. Both integrations use public APIs requiring no authentication, making them accessible to all users. ArXiv tools use XML parsing with regex-based utilities to handle the Atom XML response format, while Wikipedia tools consume JSON/HTML from Wikipedia's REST API.
The changes also include comprehensive documentation updates for existing tools (Exa, Notion, Slack, Firecrawl, Supabase, Reddit, Qdrant) and add new icon components for visual consistency. All new tools are properly registered in both the tools and blocks registries, maintaining alphabetical ordering.
PR Description Notes:
- The description mentions "some additional search tools" but the changes primarily focus on arXiv and Wikipedia integrations with some documentation improvements to existing tools
Confidence score: 3/5
- This PR introduces significant new functionality but has several documentation issues and type safety concerns that need attention before merging.
- The score reflects incomplete documentation (Wikipedia tools showing empty parameters), type mismatches in response mappings, and some hardcoded placeholder values that may cause runtime issues.
- Files needing more attention:
apps/docs/content/docs/tools/wikipedia.mdx(incomplete tool docs),apps/sim/tools/wikipedia/page_summary.tsandapps/sim/tools/wikipedia/random_page.ts(type safety issues),apps/docs/content/docs/tools/supabase.mdx(incomplete filter examples), andapps/docs/content/docs/tools/arxiv.mdx(truncated descriptions)
27 files reviewed, 17 comments
|
|
||
| | Parameter | Type | Required | Description | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Empty input parameters table for wikipedia_random tool. This tool takes no parameters but the table structure should still be properly documented.
| { | ||
| id: 'maxResults', | ||
| title: 'Max Results', | ||
| type: 'short-input', | ||
| layout: 'full', | ||
| placeholder: '10', | ||
| condition: { field: 'operation', value: 'arxiv_get_author_papers' }, | ||
| }, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: Duplicate maxResults field with same ID. This will cause UI conflicts and validation issues.
| { | |
| id: 'maxResults', | |
| title: 'Max Results', | |
| type: 'short-input', | |
| layout: 'full', | |
| placeholder: '10', | |
| condition: { field: 'operation', value: 'arxiv_get_author_papers' }, | |
| }, | |
| { | |
| id: 'authorMaxResults', | |
| title: 'Max Results', | |
| type: 'short-input', | |
| layout: 'full', | |
| placeholder: '10', | |
| condition: { field: 'operation', value: 'arxiv_get_author_papers' }, | |
| }, |
| output: { | ||
| authorPapers: papers, | ||
| totalResults, | ||
| authorName: '', // Will be filled by the calling code |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
logic: The authorName field is hardcoded as empty string with a comment suggesting it will be filled by calling code, but this creates an incomplete response. The actual author name from params should be used here.
| authorName: '', // Will be filled by the calling code | |
| authorName: params.authorName, // Will be filled by the calling code |
…ll tools, irregardless of their parsm
…ai#814) * feat(tools): added arxiv tools * feat(tools): added wikipedia tool * updated docs & remove empty interface * remove empty interface * fixed docs generator * fixed wikipedia * removed hasExpandableContent from tool-input for consistency across all tools, irregardless of their parsm * lint --------- Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local>
Description
added arXiv and wikipedia tools/blocks & docs, some additional search tools with no api keys required
Type of change
How Has This Been Tested?
Tested all tools separately & as apart of the agent block
Checklist:
bun run test)Security Considerations: