diff --git a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx
index 726a2842..aa7b7120 100644
--- a/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx
+++ b/src/vs/workbench/contrib/void/browser/react/src/sidebar-tsx/SidebarChat.tsx
@@ -669,10 +669,8 @@ type ToolHeaderParams = {
desc1: string;
desc2?: React.ReactNode;
isError?: boolean;
- requestToolId?: string;
numResults?: number;
children?: React.ReactNode;
- isLastMessage?: boolean;
onClick?: () => void;
}
@@ -684,8 +682,6 @@ const ToolHeaderComponent = ({
numResults,
children,
isError,
- requestToolId,
- isLastMessage,
onClick,
}: ToolHeaderParams) => {
@@ -743,7 +739,6 @@ const ToolHeaderComponent = ({
- {!requestToolId ? null : }
);
};
@@ -1061,23 +1056,18 @@ const toolNameToDesc = (toolName: ToolName, _toolParams: ToolCallParams[ToolName
}
-const ToolRequestAcceptRejectButtons = ({ voidToolId, isLastMessage: isLast }: { voidToolId: string, isLastMessage: boolean }) => {
+const ToolRequestAcceptRejectButtons = ({ voidToolId }: { voidToolId: string }) => {
const accessor = useAccessor()
const chatThreadsService = accessor.get('IChatThreadService')
const metricsService = accessor.get('IMetricsService')
- const initRequestState = isLast ? 'awaiting_response' : 'rejected'
- const [requestState, setRequestState] = useState<'accepted' | 'rejected' | 'awaiting_response'>(initRequestState)
-
const onAccept = useCallback(() => {
chatThreadsService.approveTool(voidToolId)
- setRequestState('accepted')
metricsService.capture('Tool Request Accepted', {})
}, [chatThreadsService, voidToolId, metricsService])
const onReject = useCallback(() => {
chatThreadsService.rejectTool(voidToolId)
- setRequestState('rejected')
metricsService.capture('Tool Request Rejected', {})
}, [chatThreadsService, voidToolId, metricsService])
@@ -1113,18 +1103,14 @@ const ToolRequestAcceptRejectButtons = ({ voidToolId, isLastMessage: isLast }: {
)
- if (requestState === 'awaiting_response') {
- return
- {approveButton}
- {cancelButton}
-
- }
-
- return null
+ return
+ {approveButton}
+ {cancelButton}
+
}
const toolNameToComponent: { [T in ToolName]: {
- requestWrapper: T extends ToolNameWithApproval ? ((props: { toolRequest: ToolRequestApproval, isLastMessage: boolean }) => React.ReactNode) : null,
+ requestWrapper: T extends ToolNameWithApproval ? ((props: { toolRequest: ToolRequestApproval }) => React.ReactNode) : null,
resultWrapper: (props: { toolMessage: ToolMessage }) => React.ReactNode,
} } = {
'read_file': {
@@ -1291,7 +1277,7 @@ const toolNameToComponent: { [T in ToolName]: {
// ---
'create_uri': {
- requestWrapper: ({ toolRequest, isLastMessage }) => {
+ requestWrapper: ({ toolRequest }) => {
const accessor = useAccessor()
const commandService = accessor.get('ICommandService')
const title = toolNameToTitle[toolRequest.name]
@@ -1299,7 +1285,7 @@ const toolNameToComponent: { [T in ToolName]: {
const icon = null
const isError = false
- const componentParams: ToolHeaderParams = { title, desc1, isError, icon, isLastMessage, requestToolId: toolRequest.voidToolId }
+ const componentParams: ToolHeaderParams = { title, desc1, isError, icon, }
const { params } = toolRequest
componentParams.onClick = () => { commandService.executeCommand('vscode.open', params.uri, { preview: true }) }
@@ -1332,7 +1318,7 @@ const toolNameToComponent: { [T in ToolName]: {
}
},
'delete_uri': {
- requestWrapper: ({ toolRequest, isLastMessage }) => {
+ requestWrapper: ({ toolRequest, }) => {
const accessor = useAccessor()
const commandService = accessor.get('ICommandService')
const title = toolNameToTitle[toolRequest.name]
@@ -1340,7 +1326,7 @@ const toolNameToComponent: { [T in ToolName]: {
const icon = null
const isError = false
- const componentParams: ToolHeaderParams = { title, desc1, isError, icon, isLastMessage, requestToolId: toolRequest.voidToolId }
+ const componentParams: ToolHeaderParams = { title, desc1, isError, icon, }
const { params } = toolRequest
componentParams.onClick = () => { commandService.executeCommand('vscode.open', params.uri, { preview: true }) }
@@ -1373,7 +1359,7 @@ const toolNameToComponent: { [T in ToolName]: {
}
},
'edit': {
- requestWrapper: ({ toolRequest, isLastMessage }) => {
+ requestWrapper: ({ toolRequest, }) => {
const accessor = useAccessor()
const commandService = accessor.get('ICommandService')
const title = toolNameToTitle[toolRequest.name]
@@ -1381,7 +1367,7 @@ const toolNameToComponent: { [T in ToolName]: {
const icon = null
const isError = false
- const componentParams: ToolHeaderParams = { title, desc1, isError, icon, isLastMessage, requestToolId: toolRequest.voidToolId }
+ const componentParams: ToolHeaderParams = { title, desc1, isError, icon, }
const { params } = toolRequest
componentParams.children =
@@ -1416,7 +1402,7 @@ const toolNameToComponent: { [T in ToolName]: {
}
},
'terminal_command': {
- requestWrapper: ({ toolRequest, isLastMessage }) => {
+ requestWrapper: ({ toolRequest, }) => {
const accessor = useAccessor()
const commandService = accessor.get('ICommandService')
const terminalToolsService = accessor.get('ITerminalToolService')
@@ -1425,7 +1411,7 @@ const toolNameToComponent: { [T in ToolName]: {
const icon = null
const isError = false
- const componentParams: ToolHeaderParams = { title, desc1, isError, icon, isLastMessage, requestToolId: toolRequest.voidToolId }
+ const componentParams: ToolHeaderParams = { title, desc1, isError, icon, }
const { proposedTerminalId } = toolRequest.params
if (terminalToolsService.terminalExists(proposedTerminalId))
@@ -1514,16 +1500,18 @@ const ChatBubble = ({ chatMessage, isLoading, messageIdx, isLast }: ChatBubblePr
/>
}
else if (role === 'tool_request') {
- const ToolRequestWrapper = toolNameToComponent[chatMessage.name].requestWrapper as React.FC<{ toolRequest: any, isLastMessage: boolean }> // ts isnt smart enough...
- return
-
+ const ToolRequestWrapper = toolNameToComponent[chatMessage.name].requestWrapper as React.FC<{ toolRequest: any }> // ts isnt smart enough...
+ if (!isLast) return null
+ return <>
+
+
+ >
}
else if (role === 'tool') {
const ToolResultWrapper = toolNameToComponent[chatMessage.name].resultWrapper as React.FC<{ toolMessage: any }> // ts isnt smart enough...
return
}
-
}