diff options
| author | Brandon Keiji <[email protected]> | 2025-05-22 05:57:53 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-05-21 22:57:53 -0700 |
| commit | 02eec5c8cafc054ac6293217cd988a5b775a1f26 (patch) | |
| tree | 2b3d2da5a02f15fbcc414eeb4560da77476818fb /packages/cli/src/ui/components/messages/ToolGroupMessage.tsx | |
| parent | efee7c6cce0fa3cf64914833f6df2b34c62fa0f7 (diff) | |
feat: useToolScheduler hook to manage parallel tool calls (#448)
Diffstat (limited to 'packages/cli/src/ui/components/messages/ToolGroupMessage.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/messages/ToolGroupMessage.tsx | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx index d0ad1c5f..4b2c7dfe 100644 --- a/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx +++ b/packages/cli/src/ui/components/messages/ToolGroupMessage.tsx @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 */ -import React from 'react'; +import React, { useMemo } from 'react'; import { Box } from 'ink'; import { IndividualToolCallDisplay, ToolCallStatus } from '../../types.js'; import { ToolMessage } from './ToolMessage.js'; @@ -19,7 +19,6 @@ interface ToolGroupMessageProps { // Main component renders the border and maps the tools using ToolMessage export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({ - groupId, toolCalls, availableTerminalHeight, }) => { @@ -30,9 +29,13 @@ export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({ const staticHeight = /* border */ 2 + /* marginBottom */ 1; + const toolAwaitingApproval = useMemo( + () => toolCalls.find((tc) => tc.status === ToolCallStatus.Confirming), + [toolCalls], + ); + return ( <Box - key={groupId} flexDirection="column" borderStyle="round" /* @@ -48,7 +51,7 @@ export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({ marginBottom={1} > {toolCalls.map((tool) => ( - <Box key={groupId + '-' + tool.callId} flexDirection="column"> + <Box key={tool.callId} flexDirection="column"> <ToolMessage key={tool.callId} callId={tool.callId} @@ -60,6 +63,7 @@ export const ToolGroupMessage: React.FC<ToolGroupMessageProps> = ({ availableTerminalHeight={availableTerminalHeight - staticHeight} /> {tool.status === ToolCallStatus.Confirming && + tool.callId === toolAwaitingApproval?.callId && tool.confirmationDetails && ( <ToolConfirmationMessage confirmationDetails={tool.confirmationDetails} |
