@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
55 lines • 1.75 kB
TypeScript
/**
* Answer Question Tool - Process user answers and return remaining questions
*/
import { z } from 'zod';
import { DotAI } from '../core/index';
import { Logger } from '../core/error-handling';
interface QuestionValidation {
required?: boolean;
message?: string;
min?: number;
max?: number;
pattern?: string;
options?: string[];
}
interface Question {
id?: string;
question: string;
type?: 'text' | 'number' | 'boolean' | 'select' | 'multiSelect';
validation?: QuestionValidation;
answer?: unknown;
options?: string[];
}
export declare const ANSWERQUESTION_TOOL_NAME = "answerQuestion";
export declare const ANSWERQUESTION_TOOL_DESCRIPTION = "Process user answers and return remaining questions or completion status. For open stage, use \"open\" as the answer key.";
export declare const ANSWERQUESTION_TOOL_INPUT_SCHEMA: {
solutionId: z.ZodString;
stage: z.ZodEnum<{
required: "required";
open: "open";
basic: "basic";
advanced: "advanced";
}>;
answers: z.ZodRecord<z.ZodString, z.ZodAny>;
interaction_id: z.ZodOptional<z.ZodString>;
};
/**
* Validate answer against question schema
*/
export declare function validateAnswer(answer: unknown, question: Question): string | null;
/**
* Direct MCP tool handler for answerQuestion functionality
*/
export declare function handleAnswerQuestionTool(args: {
solutionId: string;
stage: 'required' | 'basic' | 'advanced' | 'open';
answers: Record<string, unknown>;
interaction_id?: string;
}, dotAI: DotAI, logger: Logger, requestId: string): Promise<{
content: {
type: 'text';
text: string;
}[];
}>;
export {};
//# sourceMappingURL=answer-question.d.ts.map