msexchange-mcp
Version:
MCP server for Microsoft Exchange/Outlook email operations via Microsoft Graph API
54 lines • 1.44 kB
TypeScript
import { Email } from '../types.js';
export interface QueryOptions {
search?: string;
filter?: string;
folder?: string;
from?: string;
to?: string;
subject?: string;
hasAttachments?: boolean;
isRead?: boolean;
dateRange?: {
start?: string;
end?: string;
};
limit?: number;
skip?: number;
orderBy?: string;
includeBody?: boolean;
}
export interface QueryStrategy {
method: 'search' | 'filter' | 'hybrid';
query: string;
fallback?: QueryStrategy;
reason?: string;
}
export declare class SmartQueryBuilder {
private userEmail;
private mailService;
constructor(userEmail: string);
/**
* Analyzes the query options and determines the best strategy
*/
analyzeQuery(options: QueryOptions): QueryStrategy;
/**
* Executes a query with automatic fallback handling
*/
executeQuery(options: QueryOptions): Promise<{
emails: Email[];
strategy: string;
warnings?: string[];
}>;
private executeQueryStrategy;
private assessFilterComplexity;
private simplifyFilter;
private extractSearchTermsFromFilter;
private buildStructuredFilter;
private buildSimplifiedFilter;
private extractSearchableTerms;
private isRecoverableError;
private needsPostFiltering;
private applyPostFilters;
private getSelectFields;
}
//# sourceMappingURL=queryBuilder.d.ts.map