-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat: treat messages without tools as follow-up questions (ROO-400) #10495
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat: treat messages without tools as follow-up questions (ROO-400) #10495
Conversation
- Add hideHeader flag to FollowUpData interface to optionally hide 'Roo has a question' header - Modify no-tool handling in Task.ts to present as follow-up instead of error - Update ChatRow.tsx to conditionally hide header when hideHeader is true - Relax strict tool-per-message requirement in system prompt - Remove error treatment (MODEL_NO_TOOLS_USED) for no-tool responses - Remove consecutiveMistakeCount increment for no-tool scenarios - Add comprehensive test coverage
Review complete. No issues found. All changes were reviewed and the implementation is correct:
Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
| TOOL USE | ||
| You have access to a set of tools that are executed upon the user's approval. You must use exactly one tool per message, and every assistant message must include a tool call. You use tools step-by-step to accomplish a given task, with each tool use informed by the result of the previous tool use. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you know how much this change impacts things?
- Add nonInteractive: true to CLI integration test - Add alwaysAllowFollowupQuestions: true to vscode-e2e tests - Ensures tests auto-continue when model doesn't use tools - Fixes timeout issues introduced by relaxed tool requirement in system prompt
Summary
Modifies the extension so that when the AI model produces a message without any tool calls, it's treated as a follow-up question instead of an error.
Linear: https://linear.app/roocode/issue/ROO-400
Behavior
autoApprovalEnabledalwaysAllowFollowupQuestionsChanges
packages/types/src/followup.ts- AddedhideHeader?: booleanflag toFollowUpDatainterfacesrc/core/task/Task.ts- Modified no-tool handling to present as follow-up instead of errorwebview-ui/src/components/chat/ChatRow.tsx- Added logic to hide "Roo has a question" header whenhideHeaderis truesrc/core/prompts/sections/tool-use.ts- Relaxed strict tool-per-message requirementKey Improvements
MODEL_NO_TOOLS_USED) for no-tool responsesconsecutiveMistakeCountincrement for this scenariohideHeaderflag to avoid showing "Roo has a question" header when not appropriateTesting
no-tool-followup.spec.tsImportant
Treats AI messages without tool calls as follow-up questions, adding a
hideHeaderflag for UI control and updating logic for auto-approval settings.Task.ts.hideHeaderflag inFollowUpDatato control UI display inChatRow.tsx.Task.tsto handle different configurations ofautoApprovalEnabledandalwaysAllowFollowupQuestions.no-tool-followup.spec.tswith 6 unit tests to verify new behavior.MODEL_NO_TOOLS_USEDerror handling.tool-use.tsto relax tool-per-message requirement.This description was created by
for 0da4d35. You can customize this summary. It will automatically update as commits are pushed.