'use client'; import { cn } from '../../src/lib/utils'; import { Button } from '../ui/button'; import { ShieldAlertIcon, CheckIcon, XIcon } from 'lucide-react'; import type { PermissionOption } from '../../src/acp/types'; // Get button variant based on option kind function getButtonVariant(kind: PermissionOption['kind']): 'default' | 'destructive' | 'outline' | 'secondary' { switch (kind) { case 'allow_once': case 'allow_always': return 'default'; case 'reject_once': case 'reject_always': return 'destructive'; default: return 'outline'; } } // Get button icon based on option kind function getButtonIcon(kind: PermissionOption['kind']) { switch (kind) { case 'allow_once': case 'allow_always': return ; case 'reject_once': case 'reject_always': return ; default: return null; } } // Permission buttons component - used inside Tool component export interface ToolPermissionButtonsProps { requestId: string; options: PermissionOption[]; onRespond: (requestId: string, optionId: string | null, optionKind: PermissionOption['kind'] | null) => void; className?: string; } export function ToolPermissionButtons({ requestId, options, onRespond, className }: ToolPermissionButtonsProps) { const handleOptionClick = (option: PermissionOption) => { onRespond(requestId, option.optionId, option.kind); }; return (
Permission Required
{options.map(option => ( ))}
); }