refactor: move server-agent to agents directory
- Create src/agents/ directory for agent modules - Move server-agent.ts to new location - Update import paths in all dependent files: - openai-service.ts - tools/server-tool.ts - routes/handlers/message-handler.ts - routes/api/chat.ts Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,11 +9,11 @@
|
||||
* - Brave Search / Context7 도구로 최신 트렌드 반영
|
||||
*/
|
||||
|
||||
import type { Env, ServerSession, BandwidthInfo, RecommendResponse } from './types';
|
||||
import { createLogger } from './utils/logger';
|
||||
import { executeSearchWeb, executeLookupDocs } from './tools/search-tool';
|
||||
import { formatTrafficInfo } from './utils/formatters';
|
||||
import { SERVER_CONSULTATION_STATUS, LANGUAGE_CODE } from './constants';
|
||||
import type { Env, ServerSession, BandwidthInfo, RecommendResponse } from '../types';
|
||||
import { createLogger } from '../utils/logger';
|
||||
import { executeSearchWeb, executeLookupDocs } from '../tools/search-tool';
|
||||
import { formatTrafficInfo } from '../utils/formatters';
|
||||
import { SERVER_CONSULTATION_STATUS, LANGUAGE_CODE } from '../constants';
|
||||
|
||||
const logger = createLogger('server-agent');
|
||||
|
||||
@@ -362,7 +362,7 @@ async function callServerExpertAI(
|
||||
throw new Error('OPENAI_API_KEY not configured');
|
||||
}
|
||||
|
||||
const { getOpenAIUrl } = await import('./utils/api-urls');
|
||||
const { getOpenAIUrl } = await import('../utils/api-urls');
|
||||
|
||||
// Build conversation history
|
||||
const conversationHistory = session.messages.map(m => ({
|
||||
@@ -819,7 +819,7 @@ export async function processServerConsultation(
|
||||
// 1. Call recommendation API (추천 먼저 받기)
|
||||
logger.info('추천 API 호출', { collectedInfo: session.collectedInfo });
|
||||
|
||||
const { executeServerAction, getRecommendationData } = await import('./tools/server-tool');
|
||||
const { executeServerAction, getRecommendationData } = await import('../tools/server-tool');
|
||||
|
||||
// 전체 메시지 내용 (tech stack 추출 및 리전 추출에 재사용)
|
||||
const allMessages = session.messages.map(m => m.content).join(' ');
|
||||
@@ -6,7 +6,7 @@ import { createLogger } from './utils/logger';
|
||||
import { metrics } from './utils/metrics';
|
||||
import { getOpenAIUrl } from './utils/api-urls';
|
||||
import { ERROR_MESSAGES } from './constants/messages';
|
||||
import { getServerSession, processServerConsultation } from './server-agent';
|
||||
import { getServerSession, processServerConsultation } from './agents/server-agent';
|
||||
import { getTroubleshootSession, processTroubleshoot } from './troubleshoot-agent';
|
||||
import { sendMessage } from './telegram';
|
||||
|
||||
|
||||
@@ -331,7 +331,7 @@ async function handleChatApi(request: Request, env: Env): Promise<Response> {
|
||||
const orderData = JSON.parse(orderSessionData);
|
||||
|
||||
// 1. 서버 세션에서 가격 정보 가져오기
|
||||
const { getServerSession, deleteServerSession } = await import('../../server-agent');
|
||||
const { getServerSession, deleteServerSession } = await import('../../agents/server-agent');
|
||||
const session = await getServerSession(env.DB, telegramUserId);
|
||||
|
||||
if (!session || !session.lastRecommendation) {
|
||||
|
||||
@@ -121,7 +121,7 @@ export async function handleMessage(
|
||||
const orderData = JSON.parse(orderSessionData);
|
||||
|
||||
// 1. 서버 세션에서 가격 정보 가져오기
|
||||
const { getServerSession, deleteServerSession } = await import('../../server-agent');
|
||||
const { getServerSession, deleteServerSession } = await import('../../agents/server-agent');
|
||||
const session = await getServerSession(env.DB, telegramUserId);
|
||||
|
||||
if (!session || !session.lastRecommendation) {
|
||||
|
||||
@@ -664,7 +664,7 @@ export async function executeServerAction(
|
||||
switch (action) {
|
||||
case 'start_consultation': {
|
||||
// Import session functions
|
||||
const { saveServerSession } = await import('../server-agent');
|
||||
const { saveServerSession } = await import('../agents/server-agent');
|
||||
|
||||
if (!telegramUserId) {
|
||||
return '🚫 사용자 인증이 필요합니다.';
|
||||
@@ -691,7 +691,7 @@ export async function executeServerAction(
|
||||
}
|
||||
|
||||
case 'continue_consultation': {
|
||||
const { getServerSession, processServerConsultation } = await import('../server-agent');
|
||||
const { getServerSession, processServerConsultation } = await import('../agents/server-agent');
|
||||
|
||||
if (!telegramUserId) {
|
||||
return '🚫 사용자 인증이 필요합니다.';
|
||||
@@ -715,7 +715,7 @@ export async function executeServerAction(
|
||||
}
|
||||
|
||||
case 'cancel_consultation': {
|
||||
const { deleteServerSession } = await import('../server-agent');
|
||||
const { deleteServerSession } = await import('../agents/server-agent');
|
||||
|
||||
if (!telegramUserId) {
|
||||
return '🚫 사용자 인증이 필요합니다.';
|
||||
@@ -771,7 +771,7 @@ export async function executeServerAction(
|
||||
// 세션에 추천 결과 저장 (선택 기능 활성화)
|
||||
if (telegramUserId && env?.DB && recommendationData.recommendations && recommendationData.recommendations.length > 0) {
|
||||
try {
|
||||
const { getServerSession, saveServerSession } = await import('../server-agent');
|
||||
const { getServerSession, saveServerSession } = await import('../agents/server-agent');
|
||||
|
||||
// 기존 세션 조회 또는 새로 생성
|
||||
let session = await getServerSession(env.DB, telegramUserId);
|
||||
|
||||
Reference in New Issue
Block a user