refactor: 파일 분리 리팩토링 (routes, services, tools, utils)
아키텍처 개선: - index.ts: 921줄 → 205줄 (77% 감소) - openai-service.ts: 1,356줄 → 148줄 (89% 감소) 새로운 디렉토리 구조: - src/routes/ - Webhook, API, Health check 핸들러 - webhook.ts (287줄) - api.ts (318줄) - health.ts (14줄) - src/services/ - 비즈니스 로직 - bank-sms-parser.ts (143줄) - deposit-matcher.ts (88줄) - src/tools/ - Function Calling 도구 모듈화 - weather-tool.ts (37줄) - search-tool.ts (156줄) - domain-tool.ts (725줄) - deposit-tool.ts (183줄) - utility-tools.ts (60줄) - index.ts (104줄) - 도구 레지스트리 - src/utils/ - 유틸리티 함수 - email-decoder.ts - Quoted-Printable 디코더 타입 에러 수정: - routes/webhook.ts: text undefined 체크 - summary-service.ts: D1 타입 캐스팅 - summary-service.ts: Workers AI 타입 처리 - n8n-service.ts: Workers AI 타입 + 미사용 변수 제거 빌드 검증: - TypeScript 타입 체크 통과 - Wrangler dev 로컬 빌드 성공 문서: - REFACTORING_SUMMARY.md 추가 - ROUTE_ARCHITECTURE.md 추가 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -46,7 +46,7 @@ export async function getBufferedMessages(
|
||||
.bind(userId, chatId)
|
||||
.all();
|
||||
|
||||
return (results || []) as BufferedMessage[];
|
||||
return (results || []) as unknown as BufferedMessage[];
|
||||
}
|
||||
|
||||
// 최신 요약 조회
|
||||
@@ -86,7 +86,7 @@ export async function getAllSummaries(
|
||||
.bind(userId, chatId)
|
||||
.all();
|
||||
|
||||
return (results || []) as Summary[];
|
||||
return (results || []) as unknown as Summary[];
|
||||
}
|
||||
|
||||
// 전체 컨텍스트 조회
|
||||
@@ -187,10 +187,10 @@ ${userMessages}
|
||||
}
|
||||
|
||||
// 폴백: Workers AI
|
||||
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
|
||||
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct' as any, {
|
||||
messages: [{ role: 'user', content: prompt }],
|
||||
max_tokens: 500,
|
||||
});
|
||||
}) as any;
|
||||
|
||||
return response.response || '프로필 생성 실패';
|
||||
}
|
||||
@@ -279,7 +279,7 @@ export async function generateAIResponse(
|
||||
? context.summaries
|
||||
.slice()
|
||||
.reverse() // 오래된 것부터 표시
|
||||
.map((s, i) => `[v${s.generation}] ${s.summary}`)
|
||||
.map((s) => `[v${s.generation}] ${s.summary}`)
|
||||
.join('\n\n')
|
||||
: null;
|
||||
|
||||
@@ -312,14 +312,14 @@ ${integratedProfile}
|
||||
}
|
||||
|
||||
// 폴백: Workers AI
|
||||
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct', {
|
||||
const response = await env.AI.run('@cf/meta/llama-3.1-8b-instruct' as any, {
|
||||
messages: [
|
||||
{ role: 'system', content: systemPrompt },
|
||||
...recentContext,
|
||||
{ role: 'user', content: userMessage },
|
||||
],
|
||||
max_tokens: 500,
|
||||
});
|
||||
}) as any;
|
||||
|
||||
return response.response || '응답을 생성할 수 없습니다.';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user