epd
Version:
Enhanced peer dependency resolution for npm, yarn, and pnpm
53 lines (52 loc) • 1.46 kB
TypeScript
/**
* Enhanced Peer Dependencies (epd)
* Copyright (c) 2024 Enhanced Peer Dependencies (epd)
* Licensed under the MIT License
*/
interface AIResolutionRequest {
conflicts: ConflictInfo[];
projectContext: ProjectContext;
preferences?: ResolutionPreferences;
}
interface ConflictInfo {
package: string;
requiredVersions: string[];
requiredBy: string[];
currentVersion?: string;
}
interface ProjectContext {
packageManager: string;
isMonorepo: boolean;
framework?: string;
dependencies: Record<string, string>;
}
interface ResolutionPreferences {
preferStable: boolean;
preferLatest?: boolean;
riskTolerance: 'low' | 'medium' | 'high';
}
interface AIResolution {
package: string;
recommendedVersion: string;
confidence: number;
reasoning: string;
alternatives: Array<{
version: string;
pros: string[];
cons: string[];
}>;
}
export declare class AIResolver {
private apiKey?;
private endpoint;
constructor(apiKey?: string);
resolveConflicts(request: AIResolutionRequest): Promise<AIResolution[]>;
private buildPrompt;
private callAI;
private parseAIResponse;
private fallbackResolution;
private selectBestVersion;
private compareVersions;
}
export declare function resolveWithAI(conflicts: ConflictInfo[], projectContext: ProjectContext, preferences?: ResolutionPreferences): Promise<AIResolution[]>;
export {};