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:
kappa
2026-02-05 09:41:04 +09:00
parent f3596fb509
commit 4642c1ff94
5 changed files with 14 additions and 14 deletions

View File

@@ -9,11 +9,11 @@
* - Brave Search / Context7 * - Brave Search / Context7
*/ */
import type { Env, ServerSession, BandwidthInfo, RecommendResponse } from './types'; import type { Env, ServerSession, BandwidthInfo, RecommendResponse } from '../types';
import { createLogger } from './utils/logger'; import { createLogger } from '../utils/logger';
import { executeSearchWeb, executeLookupDocs } from './tools/search-tool'; import { executeSearchWeb, executeLookupDocs } from '../tools/search-tool';
import { formatTrafficInfo } from './utils/formatters'; import { formatTrafficInfo } from '../utils/formatters';
import { SERVER_CONSULTATION_STATUS, LANGUAGE_CODE } from './constants'; import { SERVER_CONSULTATION_STATUS, LANGUAGE_CODE } from '../constants';
const logger = createLogger('server-agent'); const logger = createLogger('server-agent');
@@ -362,7 +362,7 @@ async function callServerExpertAI(
throw new Error('OPENAI_API_KEY not configured'); 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 // Build conversation history
const conversationHistory = session.messages.map(m => ({ const conversationHistory = session.messages.map(m => ({
@@ -819,7 +819,7 @@ export async function processServerConsultation(
// 1. Call recommendation API (추천 먼저 받기) // 1. Call recommendation API (추천 먼저 받기)
logger.info('추천 API 호출', { collectedInfo: session.collectedInfo }); logger.info('추천 API 호출', { collectedInfo: session.collectedInfo });
const { executeServerAction, getRecommendationData } = await import('./tools/server-tool'); const { executeServerAction, getRecommendationData } = await import('../tools/server-tool');
// 전체 메시지 내용 (tech stack 추출 및 리전 추출에 재사용) // 전체 메시지 내용 (tech stack 추출 및 리전 추출에 재사용)
const allMessages = session.messages.map(m => m.content).join(' '); const allMessages = session.messages.map(m => m.content).join(' ');

View File

@@ -6,7 +6,7 @@ import { createLogger } from './utils/logger';
import { metrics } from './utils/metrics'; import { metrics } from './utils/metrics';
import { getOpenAIUrl } from './utils/api-urls'; import { getOpenAIUrl } from './utils/api-urls';
import { ERROR_MESSAGES } from './constants/messages'; 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 { getTroubleshootSession, processTroubleshoot } from './troubleshoot-agent';
import { sendMessage } from './telegram'; import { sendMessage } from './telegram';

View File

@@ -331,7 +331,7 @@ async function handleChatApi(request: Request, env: Env): Promise<Response> {
const orderData = JSON.parse(orderSessionData); const orderData = JSON.parse(orderSessionData);
// 1. 서버 세션에서 가격 정보 가져오기 // 1. 서버 세션에서 가격 정보 가져오기
const { getServerSession, deleteServerSession } = await import('../../server-agent'); const { getServerSession, deleteServerSession } = await import('../../agents/server-agent');
const session = await getServerSession(env.DB, telegramUserId); const session = await getServerSession(env.DB, telegramUserId);
if (!session || !session.lastRecommendation) { if (!session || !session.lastRecommendation) {

View File

@@ -121,7 +121,7 @@ export async function handleMessage(
const orderData = JSON.parse(orderSessionData); const orderData = JSON.parse(orderSessionData);
// 1. 서버 세션에서 가격 정보 가져오기 // 1. 서버 세션에서 가격 정보 가져오기
const { getServerSession, deleteServerSession } = await import('../../server-agent'); const { getServerSession, deleteServerSession } = await import('../../agents/server-agent');
const session = await getServerSession(env.DB, telegramUserId); const session = await getServerSession(env.DB, telegramUserId);
if (!session || !session.lastRecommendation) { if (!session || !session.lastRecommendation) {

View File

@@ -664,7 +664,7 @@ export async function executeServerAction(
switch (action) { switch (action) {
case 'start_consultation': { case 'start_consultation': {
// Import session functions // Import session functions
const { saveServerSession } = await import('../server-agent'); const { saveServerSession } = await import('../agents/server-agent');
if (!telegramUserId) { if (!telegramUserId) {
return '🚫 사용자 인증이 필요합니다.'; return '🚫 사용자 인증이 필요합니다.';
@@ -691,7 +691,7 @@ export async function executeServerAction(
} }
case 'continue_consultation': { case 'continue_consultation': {
const { getServerSession, processServerConsultation } = await import('../server-agent'); const { getServerSession, processServerConsultation } = await import('../agents/server-agent');
if (!telegramUserId) { if (!telegramUserId) {
return '🚫 사용자 인증이 필요합니다.'; return '🚫 사용자 인증이 필요합니다.';
@@ -715,7 +715,7 @@ export async function executeServerAction(
} }
case 'cancel_consultation': { case 'cancel_consultation': {
const { deleteServerSession } = await import('../server-agent'); const { deleteServerSession } = await import('../agents/server-agent');
if (!telegramUserId) { if (!telegramUserId) {
return '🚫 사용자 인증이 필요합니다.'; return '🚫 사용자 인증이 필요합니다.';
@@ -771,7 +771,7 @@ export async function executeServerAction(
// 세션에 추천 결과 저장 (선택 기능 활성화) // 세션에 추천 결과 저장 (선택 기능 활성화)
if (telegramUserId && env?.DB && recommendationData.recommendations && recommendationData.recommendations.length > 0) { if (telegramUserId && env?.DB && recommendationData.recommendations && recommendationData.recommendations.length > 0) {
try { try {
const { getServerSession, saveServerSession } = await import('../server-agent'); const { getServerSession, saveServerSession } = await import('../agents/server-agent');
// 기존 세션 조회 또는 새로 생성 // 기존 세션 조회 또는 새로 생성
let session = await getServerSession(env.DB, telegramUserId); let session = await getServerSession(env.DB, telegramUserId);