fix(agent): scope nested tool canonical-mode overrides by instance, not type#5534
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview Override keys move from Reindexing keeps overrides aligned when the tools array changes: remove, drag-reorder, and MCP bulk add in Collaboration adds Reviewed by Cursor Bugbot for commit e197014. Configure here. |
Greptile SummaryThis PR scopes nested tool canonical-mode overrides to each tool instance. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (6): Last reviewed commit: "fix(agent): scope nested tool canonical-..." | Re-trigger Greptile |
9f47896 to
5e84b2c
Compare
5e84b2c to
5fc1245
Compare
|
Addressed both findings — thanks Greptile and Bugbot, these were real:
Pushed as a new commit (rebased + amended). Re-triggering review. |
|
@cursor review |
5fc1245 to
eb7106f
Compare
|
@cursor review |
eb7106f to
9912b52
Compare
|
@cursor review |
9912b52 to
0c9c314
Compare
|
@cursor review |
…ot type
Two tool entries of the same type inside an Agent block's tool-input array
(e.g. two Table tools) shared a single canonical-mode override keyed by
${toolType}:${canonicalId}, so switching basic/advanced mode on one field
silently switched it on every other instance of the same tool type -
including at execution time, where the wrong basic/advanced value could be
resolved for the second tool.
Rescope the override key to the tool's position in its tool-input array
(${toolIndex}:${canonicalId}) instead of its type, and thread that index
through every consumer: the editor (read + write), execution
(agent-handler/providers), search-index, and fork/promote remapping.
0c9c314 to
e197014
Compare
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit e197014. Configure here.
Summary
${toolType}:${canonicalId}(shared across every instance of a type); it's now${toolIndex}:${canonicalId}, scoped to the tool's position in its own tool-input arrayType of Change
Testing
scopeCanonicalModesForTooltest suite invisibility.test.tscovering the instance-scoping behavior directlyproviders/utils.test.tswith two Table tool instances resolving independent canonical modesdependent-reconfigs.test.tscovering two same-type nested tools in the fork/promote remap path${toolType}:${canonicalId}key format to the new${toolIndex}:${canonicalId}formatbun run type-check,bun run lint, andbun run check:api-validationall passChecklist