Skip to content

[transforms] Progressive tool discovery (#62) - #88

Merged
manish-wekan merged 11 commits into
nitrocloudofficial:developfrom
Shreyavemana:feat/62-progressive-discovery-v2
Oct 27, 2026
Merged

manish-wekan merged 11 commits into
nitrocloudofficial:developfrom
Shreyavemana:feat/62-progressive-discovery-v2

Conversation

@Shreyavemana

@Shreyavemana Shreyavemana commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Adds progressive tool discovery on top of the transform pipeline (#61). tools/list returns only search_tools, call_tool and any always-visible tools. Closes #62.

Changes

  • SyntheticTool: a tool that exists only in a transform. _invoke_tool runs its handler after argument validation.
  • BaseSearchTransform: the two meta-tools (names configurable), always-visible tools (by name or tool metadata), browse mode for queries that name no task, limit clamped to 20, three detail levels (brief, detailed, full), and call_tool dispatch back through the pipeline.
  • RegexSearchTransform: literal case-insensitive match by default. With allow_regex=True the pattern runs in a child process with a timeout, so the event loop never blocks. A timeout, invalid pattern or worker failure falls back to a literal match with a note.
  • call_tool rejects search_tools and call_tool as targets. It re-enters the pipeline with this transform skipped, so the real tool's guards and validation still run.

Tests

  • tests/test_transforms_search.py: list output, browse, ranking and tie-breaking, clamping, detail levels, regex (default, enabled, invalid, catastrophic (a+)+$), call_tool dispatch and rejection.
  • tests/test_transforms_search_app.py: harness-level tools/list, search then call, self-call rejection.
  • Full suite passes locally on Windows, Python 3.12. Two test_oauth.py discovery tests failed once on a connection abort and passed on rerun and in the full suite. They look unrelated to this change.

Dependency

Depends on #61. This PR is intended to target the Issue #61 feature branch until that work is merged into develop.

@Shreyavemana
Shreyavemana marked this pull request as ready for review October 25, 2026 11:45
Comment thread pr62.md Outdated
Comment thread tests/test_transforms_search_app.py Outdated
@AadarshM07

Copy link
Copy Markdown
Collaborator

Hi @Shreyavemana, changes looks good to me, I tested this locally and all the tests pass as well.

image

I have mentioned a few changes in my review comments that I think should be addressed, Once those are updated i think it is good to go.

cc: @manish-wekan

@manish-wekan
manish-wekan merged commit b3a2e13 into nitrocloudofficial:develop Oct 27, 2026
3 checks passed
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.

3 participants