Security: - Add token+secret auth to /setup-webhook and /webhook-info endpoints - Disable /api/test in production environment (ENVIRONMENT=production) Performance: - Add retryWithBackoff to weather-tool (maxRetries: 2) - Add KV caching to executeLookupDocs (1h TTL) Code Quality: - Centralize error messages in src/constants/messages.ts - Update 5 files to use centralized error constants Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
32 lines
1.7 KiB
TypeScript
32 lines
1.7 KiB
TypeScript
/**
|
|
* 에러 메시지 상수
|
|
*
|
|
* 사용자 친화적 에러 메시지를 중앙에서 관리합니다.
|
|
* 모든 에러 메시지는 이 파일에서 정의하고 가져와 사용하세요.
|
|
*/
|
|
|
|
export const ERROR_MESSAGES = {
|
|
// 일반 서비스 에러
|
|
SERVICE_UNAVAILABLE: '죄송합니다. 일시적으로 서비스를 이용할 수 없습니다. 잠시 후 다시 시도해주세요.',
|
|
AI_RESPONSE_FAILED: '죄송합니다. AI 응답 생성에 실패했습니다. 잠시 후 다시 시도해주세요.',
|
|
UNEXPECTED_ERROR: '죄송합니다. 예상치 못한 오류가 발생했습니다.',
|
|
TEMPORARY_ERROR: '⚠️ 일시적인 오류가 발생했습니다. 잠시 후 다시 시도해주세요.',
|
|
|
|
// 프로필 생성 관련
|
|
PROFILE_GENERATION_FAILED: '프로필 생성 실패: 일시적으로 서비스를 이용할 수 없습니다.',
|
|
PROFILE_GENERATION_UNEXPECTED: '프로필 생성 실패: 예상치 못한 오류',
|
|
|
|
// 검색 관련
|
|
SEARCH_SERVICE_UNAVAILABLE: '🔍 검색 서비스에 일시적으로 접근할 수 없습니다. 잠시 후 다시 시도해주세요.',
|
|
DOCS_SERVICE_UNAVAILABLE: '📚 문서 조회 서비스에 일시적으로 접근할 수 없습니다. 잠시 후 다시 시도해주세요.',
|
|
|
|
// 도메인 관련
|
|
WHOIS_SERVICE_UNAVAILABLE: 'WHOIS 조회 서비스에 일시적으로 접근할 수 없습니다.',
|
|
DOMAIN_SERVICE_UNAVAILABLE: '🚫 도메인 추천 서비스에 일시적으로 접근할 수 없습니다. 잠시 후 다시 시도해주세요.',
|
|
|
|
// 날씨 관련
|
|
WEATHER_SERVICE_UNAVAILABLE: '날씨 정보를 가져올 수 없습니다',
|
|
} as const;
|
|
|
|
export type ErrorMessageKey = keyof typeof ERROR_MESSAGES;
|