UNPKG

clueo-mcp-server

Version:

Clueo MCP Server - AI Personality Layer for Model Context Protocol

101 lines (91 loc) 2.21 kB
// Clueo MCP Server Types export interface PersonalityConfig { openness: number; conscientiousness: number; extraversion: number; agreeableness: number; neuroticism: number; savedAt?: Date; } export interface PersonalityPreset { id: string; name: string; description: string; category: 'professional' | 'creative' | 'social' | 'brand'; config: PersonalityConfig; tags: string[]; } export interface ClueoApiResponse<T = any> { success: boolean; data?: T; message?: string; error?: string; } export interface ApiKeyInfo { id: string; keyId: string; name: string; plan: 'free' | 'dev+' | 'operator'; monthlyLimit: number; currentMonthUsage: number; remainingUsage: number; personalityConfig?: PersonalityConfig; } export interface McpServerConfig { name: string; version: string; port?: number; clueoApiUrl: string; clueoApiKey?: string; logLevel?: 'debug' | 'info' | 'warn' | 'error'; } // Memory System Types export interface MemoryEntry { id: string; timestamp: Date; userId?: string; sessionId: string; type: 'personality_usage' | 'preference' | 'conversation' | 'project_setting'; data: any; } export interface PersonalityUsage extends MemoryEntry { type: 'personality_usage'; data: { personalityConfig: PersonalityConfig; presetId?: string; context: string; success: boolean; }; } export interface UserPreference extends MemoryEntry { type: 'preference'; data: { preferredPersonalities: string[]; contextMappings: { [context: string]: PersonalityConfig }; frequency: { [presetId: string]: number }; }; } export interface ConversationMemory extends MemoryEntry { type: 'conversation'; data: { messages: Array<{ role: 'user' | 'assistant'; content: string; timestamp: Date; }>; personality?: PersonalityConfig; outcome: 'success' | 'failed' | 'partial'; }; } export interface ProjectSetting extends MemoryEntry { type: 'project_setting'; data: { projectPath: string; projectName: string; defaultPersonality: PersonalityConfig; teamSettings?: { sharedPersonalities: PersonalityConfig[]; guidelines: string; }; }; }