summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'packages/cli/src/ui/components/messages/ToolGroupMessage.tsx')
-rw-r--r--packages/cli/src/ui/components/messages/ToolGroupMessage.tsx65
1 files changed, 34 insertions, 31 deletions
diff --git a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
index 6ef3c5fc..7317345b 100644
--- a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
+++ b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx
@@ -6,42 +6,45 @@ import { PartListUnion } from '@google/genai';
import ToolConfirmationMessage from './ToolConfirmationMessage.js';
interface ToolGroupMessageProps {
- toolCalls: IndividualToolCallDisplay[];
- onSubmit: (value: PartListUnion) => void;
+ toolCalls: IndividualToolCallDisplay[];
+ onSubmit: (value: PartListUnion) => void;
}
// Main component renders the border and maps the tools using ToolMessage
-const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({ toolCalls, onSubmit }) => {
- const hasPending = toolCalls.some(t => t.status === ToolCallStatus.Pending);
- const borderColor = hasPending ? "yellow" : "blue";
+const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({
+ toolCalls,
+ onSubmit,
+}) => {
+ const hasPending = toolCalls.some((t) => t.status === ToolCallStatus.Pending);
+ const borderColor = hasPending ? 'yellow' : 'blue';
- return (
- <Box
- flexDirection="column"
- borderStyle="round"
- borderColor={borderColor}
- >
- {toolCalls.map((tool) => {
- return (
- <React.Fragment key={tool.callId}>
- <ToolMessage
- key={tool.callId} // Use callId as the key
- name={tool.name}
- description={tool.description}
- resultDisplay={tool.resultDisplay}
- status={tool.status}
- />
- {tool.status === ToolCallStatus.Confirming && tool.confirmationDetails && (
- <ToolConfirmationMessage confirmationDetails={tool.confirmationDetails} onSubmit={onSubmit}></ToolConfirmationMessage>
- )}
- </React.Fragment>
- );
- })}
- {/* Optional: Add padding below the last item if needed,
+ return (
+ <Box flexDirection="column" borderStyle="round" borderColor={borderColor}>
+ {toolCalls.map((tool) => {
+ return (
+ <React.Fragment key={tool.callId}>
+ <ToolMessage
+ key={tool.callId} // Use callId as the key
+ name={tool.name}
+ description={tool.description}
+ resultDisplay={tool.resultDisplay}
+ status={tool.status}
+ />
+ {tool.status === ToolCallStatus.Confirming &&
+ tool.confirmationDetails && (
+ <ToolConfirmationMessage
+ confirmationDetails={tool.confirmationDetails}
+ onSubmit={onSubmit}
+ ></ToolConfirmationMessage>
+ )}
+ </React.Fragment>
+ );
+ })}
+ {/* Optional: Add padding below the last item if needed,
though ToolMessage already has some vertical space implicitly */}
- {/* {tools.length > 0 && <Box height={1} />} */}
- </Box>
- );
+ {/* {tools.length > 0 && <Box height={1} />} */}
+ </Box>
+ );
};
export default ToolGroupMessage;