import React, { useState } from 'react'; import { ConfirmToolRequest } from '../utils/toolConfirm'; import { snakeToTitleCase } from '../utils'; export default function ToolConfirmation({ isCancelledMessage, isClicked, toolConfirmationId, toolName, }) { const [clicked, setClicked] = useState(isClicked); const [status, setStatus] = useState('unknown'); const handleButtonClick = (confirmed) => { setClicked(true); setStatus(confirmed ? 'approved' : 'denied'); ConfirmToolRequest(toolConfirmationId, confirmed); }; return isCancelledMessage ? (
Tool call confirmation is cancelled.
) : ( <>
Goose would like to call the above tool. Allow?
{clicked ? (
{status === 'approved' && ( )} {status === 'denied' && ( )} {isClicked ? 'Tool confirmation is not available' : `${snakeToTitleCase(toolName.substring(toolName.lastIndexOf('__') + 2))} is ${status}`}
) : (
)} ); }