"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) => ( ))}
); }