Skip to content

feat(tools): dynamic tools context (#430) - #546

Open
VinShurik wants to merge 12 commits into
developmentfrom
430-dynamic-tools
Open

VinShurik wants to merge 12 commits into
developmentfrom
430-dynamic-tools

Conversation

@VinShurik

Copy link
Copy Markdown
Collaborator

Applicable issues

Description of changes

Introduce new mechanism under PREVIEW flag.
Now REST and MCP toolsets would not pass whole set of their tools to the orchestrator (unless it's small number <MIN_TOOLS_FOR_DEFERRAL - default 5)
There is a new internal tool with name "tool_search" and proper description to select only tools, that are required to fullfill the user's request.

Checklist

  • Title of the pull request follows Conventional Commits specification
  • Design documented is updated/created and approved by the team (if applicable)
  • Documentation is updated/created (if applicable)
  • Changes are tested on review environment
  • App schema changes are backward compatible, or breaking changes are documented with a migration guide
  • Integration tests pass

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@andrii-novikov andrii-novikov left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Dependency resolution I think we could do as separate PR if it is not fast fix

Comment thread src/quickapp/config/application.py Outdated
Comment thread src/quickapp/core/agent/agent_module.py Outdated
Comment thread src/quickapp/rest_api_tooling/rest_api_tooling_module.py Outdated
Comment thread src/quickapp/tool_discovery/_anonymous_agent.py Outdated
Comment thread README.md Outdated
Comment thread README.md

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

check for intended changes

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Confirmed and reverted — the whole file had a bunch of unrelated line-rewrapping mixed into the diff. Restored the original formatting everywhere except the genuinely new content.

Comment thread README.md Outdated
Comment thread src/quickapp/config/toolsets/base.py
from quickapp.mcp_tooling._mcp_eager_resource import MCPEagerTextResource
from quickapp.mcp_tooling._mcp_resource_meta import MCPResourceMeta
from quickapp.mcp_tooling._mcp_server_capabilities import MCPServerCapabilities
from quickapp.tool_discovery._deferred_tools_context import (

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Cross module dependency

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Fixed — DeferredToolsContext/is_toolset_deferred moved to shared/deferred_tools/, imported from there now instead of the tool_discovery module.

from quickapp.config.tools.rest_api import RestApiTool
from quickapp.config.toolsets.rest_api import RestApiToolSet
from quickapp.tool_discovery._deferred_tools_context import (
DeferredToolsContext,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The same cross module dependency

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Same fix applied here — now imports DeferredToolsContext/is_toolset_deferred from quickapp.shared.deferred_tools.

Comment thread src/quickapp/tool_discovery/_anonymous_agent.py
andrii-novikov
andrii-novikov previously approved these changes Sep 11, 2026
@andrii-novikov andrii-novikov changed the title feat: dynamic tools context (#430) feat(tools): dynamic tools context (#430) Sep 11, 2026
@VinShurik VinShurik changed the title feat(tools): dynamic tools context (#430) feat: dynamic tools context (#430) Sep 14, 2026
@VinShurik VinShurik changed the title feat: dynamic tools context (#430) feat(tools): dynamic tools context (#430) Sep 14, 2026
andrii-novikov
andrii-novikov previously approved these changes Sep 14, 2026
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.

Dynamic tool discovery

4 participants