/** * MCP Server Type Definitions * * Types for the LearnGraph MCP server integration. * * @packageDocumentation */ import type { GraphStorage } from '../types/index.js'; /** * MCP server configuration */ export interface McpServerConfig { /** Storage backend for graph operations */ storage: GraphStorage; /** Server name (default: learngraph) */ name?: string; /** Server version (default: from package.json) */ version?: string; /** Enable debug logging */ debug?: boolean; } /** * MCP tool result content */ export interface McpTextContent { type: 'text'; text: string; } export interface McpImageContent { type: 'image'; data: string; mimeType: string; } export type McpContent = McpTextContent | McpImageContent; /** * MCP tool result */ export interface McpToolResult { content: McpContent[]; isError?: boolean; } /** * MCP resource metadata */ export interface McpResourceMeta { uri: string; name: string; description?: string; mimeType?: string; } /** * MCP prompt argument */ export interface McpPromptArgument { name: string; description?: string; required?: boolean; } /** * MCP prompt definition */ export interface McpPromptMeta { name: string; description?: string; arguments?: McpPromptArgument[]; } /** * Learner profile for MCP operations */ export interface LearnerProfile { id: string; masteredSkills: string[]; currentGoals?: string[]; preferences?: { learningStyle?: 'visual' | 'auditory' | 'reading' | 'kinesthetic'; sessionDuration?: number; difficultyPreference?: 'easy' | 'medium' | 'hard' | 'adaptive'; }; } /** * Learning path result */ export interface LearningPathResult { path: Array<{ skillId: string; skillName: string; bloomLevel: string; estimatedMinutes: number; isPrerequisite: boolean; }>; totalEstimatedMinutes: number; totalSkills: number; } /** * ZPD (Zone of Proximal Development) result */ export interface ZpdResult { readyToLearn: Array<{ skillId: string; skillName: string; bloomLevel: string; readinessScore: number; missingPrerequisites: string[]; }>; almostReady: Array<{ skillId: string; skillName: string; prerequisitesNeeded: number; }>; } /** * Skill search result */ export interface SkillSearchResult { skills: Array<{ id: string; name: string; description?: string; bloomLevel: string; tags: string[]; matchScore: number; }>; totalCount: number; } /** * Graph statistics */ export interface GraphStatistics { totalSkills: number; totalEdges: number; averagePrerequisites: number; maxDepth: number; rootSkills: number; leafSkills: number; bloomDistribution: Record; } //# sourceMappingURL=types.d.ts.map