/** * Elicitation Result Flow * * Flow for handling incoming elicitation results from the client. * Provides hook points for middleware/plugins to intercept result processing. * * @module elicitation/flows/elicitation-result.flow */ import { z } from '@frontmcp/lazy-zod'; import { FlowBase, type FlowRunOptions } from '../../common'; import type { ElicitResult } from '../elicitation.types'; import type { PendingElicitRecord } from '../store'; declare const inputSchema: import("@frontmcp/lazy-zod").ZodObject<{ sessionId: import("@frontmcp/lazy-zod").ZodString; result: import("@frontmcp/lazy-zod").ZodObject<{ action: import("@frontmcp/lazy-zod").ZodEnum<{ accept: "accept"; cancel: "cancel"; decline: "decline"; }>; content: import("@frontmcp/lazy-zod").ZodOptional; }, import("zod/v4/core").$strip>; }, import("zod/v4/core").$strip>; declare const outputSchema: import("@frontmcp/lazy-zod").ZodObject<{ handled: import("@frontmcp/lazy-zod").ZodBoolean; elicitId: import("@frontmcp/lazy-zod").ZodOptional; result: z.ZodType; }, import("zod/v4/core").$strip>; declare const stateSchema: import("@frontmcp/lazy-zod").ZodObject<{ sessionId: import("@frontmcp/lazy-zod").ZodString; action: import("@frontmcp/lazy-zod").ZodEnum<{ accept: "accept"; cancel: "cancel"; decline: "decline"; }>; content: import("@frontmcp/lazy-zod").ZodOptional; pendingRecord: z.ZodType; elicitResult: z.ZodType; handled: import("@frontmcp/lazy-zod").ZodDefault; output: import("@frontmcp/lazy-zod").ZodOptional; result: z.ZodType; }, import("zod/v4/core").$strip>>; }, import("zod/v4/core").$strip>; declare const plan: { readonly pre: ["parseInput"]; readonly execute: ["lookupPending", "validateContent", "buildResult", "publishResult"]; readonly finalize: ["finalize"]; }; declare global { interface ExtendFlows { 'elicitation:result': FlowRunOptions; } } declare const name: "elicitation:result"; /** * Flow for handling elicitation results. * * This flow handles the processing of elicitation results: * 1. Parse and validate input * 2. Lookup pending record by session ID * 3. Build the result object * 4. Publish result via store (for distributed routing) * * The local handling (clearing timeouts, resolving promises) is still * done by the transport adapter for performance. */ export default class ElicitationResultFlow extends FlowBase { logger: import("../../common").FrontMcpLogger; parseInput(): Promise; lookupPending(): Promise; validateContent(): Promise; buildResult(): Promise; publishResult(): Promise; finalize(): Promise; } export { ElicitationResultFlow }; //# sourceMappingURL=elicitation-result.flow.d.ts.map