diff options
Diffstat (limited to 'packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx index b747cabc..e1e53ff6 100644 --- a/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx +++ b/packages/cli/src/ui/components/messages/ToolConfirmationMessage.tsx @@ -115,6 +115,38 @@ export const ToolConfirmationMessage: React.FC< }, { label: 'No (esc)', value: ToolConfirmationOutcome.Cancel }, ); + } else if (confirmationDetails.type === 'info') { + const infoProps = confirmationDetails; + const displayUrls = + infoProps.urls && + !(infoProps.urls.length === 1 && infoProps.urls[0] === infoProps.prompt); + + bodyContent = ( + <Box flexDirection="column" paddingX={1} marginLeft={1}> + <Text color={Colors.AccentCyan}>{infoProps.prompt}</Text> + {displayUrls && infoProps.urls && infoProps.urls.length > 0 && ( + <Box flexDirection="column" marginTop={1}> + <Text>URLs to fetch:</Text> + {infoProps.urls.map((url) => ( + <Text key={url}> - {url}</Text> + ))} + </Box> + )} + </Box> + ); + + question = `Do you want to proceed?`; + options.push( + { + label: 'Yes, allow once', + value: ToolConfirmationOutcome.ProceedOnce, + }, + { + label: 'Yes, allow always', + value: ToolConfirmationOutcome.ProceedAlways, + }, + { label: 'No (esc)', value: ToolConfirmationOutcome.Cancel }, + ); } else { // mcp tool confirmation const mcpProps = confirmationDetails as ToolMcpConfirmationDetails; |
