refactor: 추천 시스템 제거
삭제된 파일: - src/routes/recommend.ts - src/services/recommendation.ts - src/services/recommendation.test.ts - src/services/stackConfig.ts - src/services/regionFilter.ts 수정된 파일: - src/index.ts: /recommend 라우트 제거 - src/routes/index.ts: handleRecommend export 제거 - src/constants.ts: RECOMMENDATIONS TTL, rate limit 제거 - src/middleware/rateLimit.ts: /recommend 설정 제거 - src/types.ts: 추천 관련 타입 제거 - scripts/e2e-tester.ts: recommend 시나리오 제거 - scripts/api-tester.ts: recommend 테스트 제거 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
79
src/types.ts
79
src/types.ts
@@ -488,85 +488,6 @@ export interface ApiError {
|
||||
path?: string;
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Recommendation API Types
|
||||
// ============================================================
|
||||
|
||||
/**
|
||||
* Scale type for resource requirements
|
||||
*/
|
||||
export type ScaleType = 'small' | 'medium' | 'large';
|
||||
|
||||
/**
|
||||
* Request body for instance recommendations
|
||||
*/
|
||||
export interface RecommendationRequest {
|
||||
/** Technology stack components (e.g., ['nginx', 'mysql', 'redis']) */
|
||||
stack: string[];
|
||||
/** Deployment scale (small/medium/large) */
|
||||
scale: ScaleType;
|
||||
/** Maximum monthly budget in USD (optional) */
|
||||
budget_max?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculated resource requirements based on stack and scale
|
||||
*/
|
||||
export interface ResourceRequirements {
|
||||
/** Minimum required memory in MB */
|
||||
min_memory_mb: number;
|
||||
/** Minimum required vCPU count */
|
||||
min_vcpu: number;
|
||||
/** Memory breakdown by component */
|
||||
breakdown: Record<string, string>;
|
||||
}
|
||||
|
||||
/**
|
||||
* Individual instance recommendation with scoring
|
||||
*/
|
||||
export interface InstanceRecommendation {
|
||||
/** Recommendation rank (1 = best match) */
|
||||
rank: number;
|
||||
/** Cloud provider name */
|
||||
provider: string;
|
||||
/** Instance type identifier */
|
||||
instance: string;
|
||||
/** Region code */
|
||||
region: string;
|
||||
/** Instance specifications */
|
||||
specs: {
|
||||
/** Virtual CPU count */
|
||||
vcpu: number;
|
||||
/** Memory in MB */
|
||||
memory_mb: number;
|
||||
/** Storage in GB */
|
||||
storage_gb: number;
|
||||
};
|
||||
/** Pricing information */
|
||||
price: {
|
||||
/** Monthly price in USD */
|
||||
monthly: number;
|
||||
/** Hourly price in USD */
|
||||
hourly: number;
|
||||
};
|
||||
/** Match score (0-100) */
|
||||
match_score: number;
|
||||
/** Advantages of this instance */
|
||||
pros: string[];
|
||||
/** Disadvantages or considerations */
|
||||
cons: string[];
|
||||
}
|
||||
|
||||
/**
|
||||
* Complete recommendation response
|
||||
*/
|
||||
export interface RecommendationResponse {
|
||||
/** Calculated resource requirements */
|
||||
requirements: ResourceRequirements;
|
||||
/** List of recommended instances (sorted by match score) */
|
||||
recommendations: InstanceRecommendation[];
|
||||
}
|
||||
|
||||
// ============================================================
|
||||
// Anvil Product Types
|
||||
// ============================================================
|
||||
|
||||
Reference in New Issue
Block a user