import { Alert, AlertDescription } from "@/components/ui/alert"; import { TabsContent } from "@/components/ui/tabs"; import { JsonSchemaType } from "@/utils/jsonUtils"; import ElicitationRequest from "./ElicitationRequest"; export interface ElicitationRequestData { id: number; message: string; requestedSchema: JsonSchemaType; } export interface ElicitationResponse { action: "accept" | "decline" | "cancel"; content?: Record; } export type PendingElicitationRequest = { id: number; request: ElicitationRequestData; originatingTab?: string; }; export type Props = { pendingRequests: PendingElicitationRequest[]; onResolve: (id: number, response: ElicitationResponse) => void; }; const ElicitationTab = ({ pendingRequests, onResolve }: Props) => { return (
When the server requests information from the user, requests will appear here for response.

Recent Requests

{pendingRequests.map((request) => ( ))} {pendingRequests.length === 0 && (

No pending requests

)}
); }; export default ElicitationTab;