UNPKG

gmail-mcp-server

Version:

Gmail MCP Server with on-demand authentication for SIYA/Claude Desktop. Complete Gmail integration with multi-user support and OAuth2 security.

106 lines 3.21 kB
/** * Enhanced Gmail Search Implementation * Provides natural language query parsing, fuzzy matching, and cross-reference detection */ export interface EnhancedSearchQuery { text: string; dateRange?: { start: Date; end: Date; }; sender?: string[]; subject?: string; hasAttachment?: boolean; labels?: string[]; threadId?: string; entities?: { panNumbers?: string[]; dinNumbers?: string[]; amounts?: number[]; organizations?: string[]; dates?: Date[]; }; intent?: 'find_document' | 'check_status' | 'find_related' | 'summarize' | 'general'; } export interface SearchResult { email: any; matchScore: number; matchedField: string; relevance: 'exact' | 'high' | 'medium' | 'low'; crossReferences?: string[]; } export interface CrossReferenceInfo { emailId: string; relationship: 'same_thread' | 'same_sender' | 'same_topic' | 'same_entity'; confidence: number; reason: string; } /** * Natural Language Query Parser * Converts natural language queries into structured search criteria */ export declare class NLQueryParser { private readonly timePatterns; private readonly entityPatterns; private readonly intentKeywords; parseQuery(naturalQuery: string): EnhancedSearchQuery; private extractTimeRange; private extractEntities; private extractSenders; private extractSubjectKeywords; private detectIntent; private extractAttachmentRequirement; private extractLabels; private parseDate; private getMonthNumber; } /** * Fuzzy Matching Engine * Provides intelligent matching with similarity scoring */ export declare class FuzzyMatcher { private readonly similarityThreshold; constructor(threshold?: number); calculateSimilarity(str1: string, str2: string): number; private calculateCharacterSimilarity; findMatches(query: string, emails: any[]): SearchResult[]; private extractSender; private extractContent; private decodeBase64Url; private getRelevanceLevel; private findCrossReferences; } /** * Cross-Reference Detection Engine * Finds related emails based on various criteria */ export declare class CrossReferenceEngine { findRelatedEmails(email: any, allEmails: any[]): Promise<CrossReferenceInfo[]>; private extractEntities; private extractPANNumbers; private extractDINNumbers; private extractAmounts; private extractOrganizations; private extractDates; private findRelationship; private extractSender; private findEntityMatches; private calculateTopicSimilarity; } /** * Enhanced Search Manager * Combines all enhanced search capabilities */ export declare class EnhancedSearchManager { private nlParser; private fuzzyMatcher; private crossReferenceEngine; constructor(fuzzyThreshold?: number); processNaturalLanguageQuery(naturalQuery: string, emails: any[]): Promise<{ structuredQuery: EnhancedSearchQuery; searchResults: SearchResult[]; crossReferences: CrossReferenceInfo[]; }>; private deduplicateCrossReferences; } //# sourceMappingURL=enhanced-search.d.ts.map