import type { Meta, StoryObj } from "@storybook/react-vite"; import type { ElicitRequest } from "@modelcontextprotocol/client"; import { fn } from "storybook/test"; import { PendingClientRequests } from "./PendingClientRequests"; import { InlineSamplingRequest } from "../InlineSamplingRequest/InlineSamplingRequest"; import { InlineElicitationRequest } from "../InlineElicitationRequest/InlineElicitationRequest"; const meta: Meta = { title: "Groups/PendingClientRequests", component: PendingClientRequests, }; export default meta; type Story = StoryObj; const elicitFormRequest = { message: "Please provide your database connection details.", requestedSchema: { type: "object" as const, properties: { host: { type: "string" as const, title: "Host" }, port: { type: "string" as const, title: "Port" }, }, }, } satisfies ElicitRequest["params"]; const elicitDeployRequest = { message: "Please confirm the deployment target.", requestedSchema: { type: "object" as const, properties: { environment: { type: "string" as const, title: "Environment", enum: ["staging", "production"], }, confirm: { type: "boolean" as const, title: "Confirm deployment" }, }, }, } satisfies ElicitRequest["params"]; export const SingleSampling: Story = { args: { count: 1, children: ( ), }, }; export const SingleElicitation: Story = { args: { count: 1, children: ( ), }, }; export const MultipleMixed: Story = { args: { count: 2, children: ( <> ), }, };