Skip to content

fix: simplify tool input schemas#503

Open
olbychos wants to merge 1 commit intomainfrom
fix/update_tools_desc
Open

fix: simplify tool input schemas#503
olbychos wants to merge 1 commit intomainfrom
fix/update_tools_desc

Conversation

@olbychos
Copy link
Contributor

@olbychos olbychos commented Dec 17, 2025

Note

Hide advanced parameters from agents in Exa, Firecrawl, and Tavily input schemas; minor description/example cleanups.

  • Input Schemas (agent exposure reduced):
    • dynamiq/nodes/tools/exa_search.py:
      • Add json_schema_extra={"is_accessible_to_agent": false} to ExaInputSchema.contents and ExaInputSchema.context.
      • Tweak include_full_content description.
    • dynamiq/nodes/tools/firecrawl_search.py:
      • Add json_schema_extra={"is_accessible_to_agent": false} to FirecrawlSearchInput.sources.
      • Streamline DESCRIPTION_FIRECRAWL_SEARCH examples.
    • dynamiq/nodes/tools/tavily.py:
      • Add json_schema_extra={"is_accessible_to_agent": false} to TavilyInputSchema.include_favicon and TavilyInputSchema.use_cache.

Written by Cursor Bugbot for commit 9e3ad92. This will update automatically on new commits. Configure here.


Important

Simplified input schemas for Exa, Firecrawl, and Tavily tools by removing redundant parameters and adding json_schema_extra attributes for agent accessibility.

  • ExaInputSchema in exa_search.py:
    • Removed redundant description text in include_full_content.
    • Added json_schema_extra={"is_accessible_to_agent": False} to context and contents fields.
  • FirecrawlSearchInput in firecrawl_search.py:
    • Removed sources parameter from examples and description.
    • Added json_schema_extra={"is_accessible_to_agent": False} to sources field.
  • TavilyInputSchema in tavily.py:
    • Added json_schema_extra={"is_accessible_to_agent": False} to include_favicon and use_cache fields.

This description was created by Ellipsis for 9e3ad92. You can customize this summary. It will automatically update as commits are pushed.

Copy link
Contributor

@ellipsis-dev ellipsis-dev bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Important

Looks good to me! 👍

Reviewed everything up to 9e3ad92 in 1 minute and 41 seconds. Click for details.
  • Reviewed 98 lines of code in 3 files
  • Skipped 0 files when reviewing.
  • Skipped posting 7 draft comments. View those below.
  • Modify your settings and rules to customize what types of comments Ellipsis leaves. And don't forget to react with 👍 or 👎 to teach Ellipsis.
1. dynamiq/nodes/tools/exa_search.py:232
  • Draft comment:
    Removed extra explanation '(equivalent to ContentsRequest with simple booleans)' from the include_full_content description. Confirm that this simplification was intentional.
  • Reason this comment was not posted:
    Comment looked like it was already resolved.
2. dynamiq/nodes/tools/exa_search.py:297
  • Draft comment:
    Added json_schema_extra for the 'context' field to mark it as not accessible to agents. Verify that restricting agent access here aligns with expected behavior.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the PR author to verify that the behavior is intended, which violates the rules. It does not provide a specific code suggestion or ask for a specific test to be written. Therefore, this comment should not be approved.
3. dynamiq/nodes/tools/exa_search.py:308
  • Draft comment:
    Added json_schema_extra for the 'contents' field to hide it from agent access. Confirm that this restriction does not block necessary configuration overrides.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the PR author to confirm that a restriction does not block necessary configuration overrides. This falls under asking the author to confirm their intention or to ensure behavior, which is against the rules.
4. dynamiq/nodes/tools/firecrawl_search.py:27
  • Draft comment:
    Simplified the examples in DESCRIPTION_FIRECRAWL_SEARCH by removing some sample queries with 'sources'. Ensure the remaining examples sufficiently demonstrate intended usage.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% This comment is asking the PR author to ensure that the remaining examples sufficiently demonstrate intended usage, which violates the rule against asking the author to ensure behavior is intended or to double-check things. It does not provide a specific suggestion or point out a specific issue with the code.
5. dynamiq/nodes/tools/firecrawl_search.py:64
  • Draft comment:
    Added json_schema_extra for the 'sources' field in FirecrawlSearchInput to mark it as inaccessible to agents. Confirm this behavior is as intended.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the PR author to confirm their intention regarding the use of json_schema_extra for the sources field. This falls under the rule of not asking the author to confirm their intention or ensure the behavior is intended. Therefore, this comment should be removed.
6. dynamiq/nodes/tools/tavily.py:101
  • Draft comment:
    Added json_schema_extra for 'include_favicon' in TavilyInputSchema. Verify that making this field inaccessible to agents is correct.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the PR author to verify if making a field inaccessible is correct. This falls under asking the author to confirm their intention, which is against the rules. Therefore, this comment should be removed.
7. dynamiq/nodes/tools/tavily.py:123
  • Draft comment:
    Added json_schema_extra for 'use_cache' in TavilyInputSchema to hide it from agent views. Confirm that this aligns with the intended API exposure.
  • Reason this comment was not posted:
    Comment did not seem useful. Confidence is useful = 0% <= threshold 50% The comment is asking the author to confirm their intention regarding the API exposure, which violates the rule against asking for confirmation of intention. It does not provide a specific code suggestion or ask for a test to be written. Therefore, this comment should be removed.

Workflow ID: wflow_17FWTW5xGa7cBTsR

You can customize Ellipsis by changing your verbosity settings, reacting with 👍 or 👎, replying to comments, or adding code review rules.

@github-actions
Copy link

Coverage

Coverage Report •
FileStmtsMissCoverMissing
dynamiq/nodes/tools
   exa_search.py1992089%394–395, 401–403, 405–406, 419, 433, 454–456, 472, 481, 539, 551, 576–578, 594
   firecrawl_search.py1413277%125, 158–159, 161–170, 172–175, 177–179, 181, 183, 187, 198, 210, 217, 220, 233–234, 248–250
   tavily.py1342680%221, 274, 277, 292–294, 307, 309, 315–319, 325, 328–329, 332, 339–347
TOTAL20731700566% 

Tests Skipped Failures Errors Time
1031 35 💤 0 ❌ 0 🔥 3m 39s ⏱️

Copy link
Collaborator

@acoola acoola left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, but please wait for another approval

Copy link
Contributor

@maksymbuleshnyi maksymbuleshnyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please take a look at shortening number of parameters for Agentic use of Exa

@olbychos olbychos added the on hold work currently on hold label Dec 24, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

on hold work currently on hold

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants