/** * Reflection Notes JSON 스키마 검증 유틸리티 * * reflection_notes 필드의 JSON 스키마를 검증하는 유틸리티 함수를 제공합니다. * 단일 객체 또는 배열 형식 모두 지원합니다. */ import { z } from 'zod'; /** * Reflection Note 스키마 정의 * * 필수 필드: * - failure_type: 실패 유형 (tool_error | user_feedback | metric_failure) * - failure_description: 실패에 대한 상세 설명 (최대 5000자) * - timestamp: Reflexion 기록 시각 (ISO 8601 형식) * * 옵션 필드: * - original_task: 원래 수행하려던 작업 (최대 2000자) * - lessons_learned: 학습한 교훈 (최대 5000자) * - suggested_improvements: 제안하는 개선 방안 (최대 5000자) * - phase: 기록 방식 (manual | auto, 기본값: manual) */ export declare const ReflectionNoteSchema: z.ZodObject<{ failure_type: z.ZodEnum<["tool_error", "user_feedback", "metric_failure"]>; failure_description: z.ZodString; timestamp: z.ZodEffects, string, string>; original_task: z.ZodOptional; lessons_learned: z.ZodOptional; suggested_improvements: z.ZodOptional; /** Reflexion 등에서 선택적으로 기록 */ tool_name: z.ZodOptional; phase: z.ZodDefault>; }, "strip", z.ZodTypeAny, { failure_type: "tool_error" | "user_feedback" | "metric_failure"; phase: "auto" | "manual"; timestamp: string; failure_description: string; tool_name?: string | undefined; original_task?: string | undefined; suggested_improvements?: string | undefined; lessons_learned?: string | undefined; }, { failure_type: "tool_error" | "user_feedback" | "metric_failure"; timestamp: string; failure_description: string; phase?: "auto" | "manual" | undefined; tool_name?: string | undefined; original_task?: string | undefined; suggested_improvements?: string | undefined; lessons_learned?: string | undefined; }>; /** * Reflection Note 타입 정의 */ export type ReflectionNote = z.infer; /** * 검증 결과 타입 */ export interface ValidationResult { isValid: boolean; errors?: Array<{ field: string; expected: string; actual: unknown; message: string; }>; } /** * 단일 Reflection Note 객체 검증 * * @param data - 검증할 객체 * @returns 검증 결과 */ export declare function validateReflectionNote(data: unknown): ValidationResult; /** * 단일 객체 또는 배열 형식 모두 지원하는 검증 함수 * * @param jsonString - 검증할 JSON 문자열 * @returns 검증 결과 */ export declare function validateReflectionNotes(jsonString: string): ValidationResult; /** * 검증 결과를 사람이 읽기 쉬운 에러 메시지로 변환 * * @param result - 검증 결과 * @returns 에러 메시지 문자열 */ export declare function formatValidationErrors(result: ValidationResult): string; //# sourceMappingURL=reflection-notes-schema.d.ts.map