/**
 * MCP Tools 공통 타입 정의
 */
import { z } from 'zod';
import { getPerformanceMonitor } from '../domains/monitoring/services/performance-monitor.js';
/**
 * 공통 스키마 정의
 */
export const CommonSchemas = {
    MemoryId: z.string().min(1, 'Memory ID cannot be empty'),
    Content: z.string().min(1, 'Content cannot be empty').optional(), // optional로 변경
    Query: z.string().min(1, 'Query cannot be empty'),
    MemoryType: z.enum(['working', 'episodic', 'semantic', 'procedural', 'core', 'vault']),
    PrivacyScope: z.enum(['private', 'team', 'public']),
    Importance: z.number().min(0).max(1),
    Limit: z.number().min(1).max(50).default(10),
    Tags: z.array(z.string()).optional(),
    Source: z.string().optional(),
    HardDelete: z.boolean().default(false),
    DryRun: z.boolean().default(false).optional(),
    Analyze: z.boolean().default(false).optional(),
    CreateIndexes: z.boolean().default(false).optional(),
    // Core Memory / Knowledge Vault용 필드
    Key: z.string().min(1, 'Key cannot be empty'),
    Value: z.string().min(1, 'Value cannot be empty'),
    AlwaysLoad: z.boolean().default(false).optional(),
    Immutable: z.boolean().default(true).optional(),
    // Procedural Memory용 필드
    TaskGoal: z.string().optional(),
    Steps: z.string().optional(), // JSON 배열 문자열
    ReflectionNotes: z.string().nullable().optional(), // JSON 객체 문자열 (null 허용)
    // Procedural Memory Enhancement (v7.0) 필드
    WorkflowName: z.string().optional(),
    SkillName: z.string().optional(),
    TriggerConditions: z.string().optional(), // JSON 객체 문자열
    UpdateMode: z.enum(['replace', 'incremental', 'versioned']).optional(),
    // AriGraph Pipeline 필드
    EnableTripleExtraction: z.boolean().default(true).optional(), // Triple 추출 활성화 여부 (기본값: true)
};
//# sourceMappingURL=types.js.map