Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Description

added arXiv and wikipedia tools/blocks & docs, some additional search tools with no api keys required

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Tested all tools separately & as apart of the agent block

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally and in CI (bun run test)
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • I have updated version numbers as needed (if needed)
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Security Considerations:

  • My changes do not introduce any new security vulnerabilities
  • I have considered the security implications of my changes

@vercel
Copy link

vercel bot commented Jul 29, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 29, 2025 2:46am
sim 🛑 Canceled (Inspect) Jul 29, 2025 2:46am

Copy link
Contributor

@greptile-apps greptile-apps bot left a 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 support
  • arxiv_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 API
  • wikipedia_summary: Get page summaries with metadata and thumbnails
  • wikipedia_content: Retrieve full HTML content from Wikipedia pages
  • wikipedia_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.ts and apps/sim/tools/wikipedia/random_page.ts (type safety issues), apps/docs/content/docs/tools/supabase.mdx (incomplete filter examples), and apps/docs/content/docs/tools/arxiv.mdx (truncated descriptions)

27 files reviewed, 17 comments

Edit Code Review Bot Settings | Greptile

Comment on lines +107 to +108

| Parameter | Type | Required | Description |
Copy link
Contributor

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.

Comment on lines +106 to +113
{
id: 'maxResults',
title: 'Max Results',
type: 'short-input',
layout: 'full',
placeholder: '10',
condition: { field: 'operation', value: 'arxiv_get_author_papers' },
},
Copy link
Contributor

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.

Suggested change
{
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
Copy link
Contributor

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.

Suggested change
authorName: '', // Will be filled by the calling code
authorName: params.authorName, // Will be filled by the calling code

@waleedlatif1 waleedlatif1 merged commit 308f39e into staging Jul 29, 2025
2 of 4 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/tools branch July 29, 2025 02:48
arenadeveloper02 pushed a commit to arenadeveloper02/p2-sim that referenced this pull request Sep 19, 2025
…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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants