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:
@@ -1,17 +1,15 @@
|
||||
import { Env, IntentAnalysis, N8nResponse } from './types';
|
||||
|
||||
// n8n으로 처리할 기능 목록
|
||||
const N8N_CAPABILITIES = [
|
||||
'weather', // 날씨
|
||||
'search', // 검색
|
||||
'image', // 이미지 생성
|
||||
'translate', // 번역
|
||||
'schedule', // 일정
|
||||
'reminder', // 알림
|
||||
'news', // 뉴스
|
||||
'calculate', // 계산
|
||||
'summarize_url', // URL 요약
|
||||
];
|
||||
// n8n으로 처리할 기능 목록 (참고용)
|
||||
// - weather: 날씨
|
||||
// - search: 검색
|
||||
// - image: 이미지 생성
|
||||
// - translate: 번역
|
||||
// - schedule: 일정
|
||||
// - reminder: 알림
|
||||
// - news: 뉴스
|
||||
// - calculate: 계산
|
||||
// - summarize_url: URL 요약
|
||||
|
||||
// AI가 의도를 분석하여 n8n 호출 여부 결정
|
||||
export async function analyzeIntent(
|
||||
@@ -45,10 +43,10 @@ ${userMessage}
|
||||
JSON:`;
|
||||
|
||||
try {
|
||||
const response = await ai.run('@cf/meta/llama-3.1-8b-instruct', {
|
||||
const response = await ai.run('@cf/meta/llama-3.1-8b-instruct' as any, {
|
||||
messages: [{ role: 'user', content: prompt }],
|
||||
max_tokens: 100,
|
||||
});
|
||||
}) as any;
|
||||
|
||||
const text = response.response || '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user