fix: resolve TypeScript errors after SessionManager refactoring

- Remove unused import types (*SessionStatus, OpenAIMessage)
- Replace deprecated session functions with SessionManager API
- Prefix unused base class parameters with underscore
- Update all session management calls across agents and tools

Files affected:
- src/agents/*.ts (removed unused imports)
- src/utils/session-manager.ts (unused param prefixes)
- src/tools/server-tool.ts (SessionManager migration)
- src/tools/troubleshoot-tool.ts (SessionManager migration)
- src/routes/api/chat.ts (SessionManager migration)
- src/routes/handlers/message-handler.ts (SessionManager migration)

Verification:
- TypeScript: compiles without errors
- Tests: 223 passed (10 pre-existing failures)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-02-05 11:48:11 +09:00
parent edf1bbc9a2
commit 02b18301a1
9 changed files with 49 additions and 41 deletions

View File

@@ -663,9 +663,6 @@ export async function executeServerAction(
switch (action) {
case 'start_consultation': {
// Import session functions
const { createServerSession, saveServerSession } = await import('../agents/server-agent');
if (!telegramUserId) {
return '🚫 사용자 인증이 필요합니다.';
}
@@ -674,10 +671,8 @@ export async function executeServerAction(
return '🚫 세션 저장소가 설정되지 않았습니다.';
}
const session = createServerSession(telegramUserId, 'gathering');
await saveServerSession(env.DB, session);
logger.info('상담 세션 생성', { userId: maskUserId(telegramUserId) });
// Note: Session is created automatically in processServerConsultation when first message arrives
logger.info('상담 시작 요청', { userId: maskUserId(telegramUserId) });
return '안녕하세요! 서버 추천을 도와드리겠습니다. 😊\n\n어떤 서비스를 운영하실 건가요?\n\n1. 웹 서비스 (SaaS, 랜딩페이지)\n2. 모바일 앱 백엔드\n3. AI/ML 서비스 (챗봇, 모델 서빙)\n4. 게임 서버\n5. Discord/Telegram 봇\n6. 자동화 서버 (n8n, 크롤링)\n7. 미디어 스트리밍\n8. 개발/테스트 환경\n9. 데이터베이스 서버\n10. 기타 (직접 입력)\n\n번호나 용도를 말씀해주세요!';
}
@@ -702,8 +697,6 @@ export async function executeServerAction(
}
case 'cancel_consultation': {
const { deleteServerSession } = await import('../agents/server-agent');
if (!telegramUserId) {
return '🚫 사용자 인증이 필요합니다.';
}
@@ -712,7 +705,11 @@ export async function executeServerAction(
return '🚫 세션 저장소가 설정되지 않았습니다.';
}
await deleteServerSession(env.DB, telegramUserId);
// Import sessionManager to delete session
const { ServerSessionManager } = await import('../utils/session-manager');
const { getSessionConfig } = await import('../constants/agent-config');
const sessionManager = new ServerSessionManager(getSessionConfig('server'));
await sessionManager.delete(env.DB, telegramUserId);
logger.info('상담 세션 취소', { userId: maskUserId(telegramUserId) });
@@ -758,14 +755,16 @@ export async function executeServerAction(
// 세션에 추천 결과 저장 (선택 기능 활성화)
if (telegramUserId && env?.DB && recommendationData.recommendations && recommendationData.recommendations.length > 0) {
try {
const { getServerSession, saveServerSession, createServerSession } = await import('../agents/server-agent');
const { ServerSessionManager } = await import('../utils/session-manager');
const { getSessionConfig } = await import('../constants/agent-config');
const sessionManager = new ServerSessionManager(getSessionConfig('server'));
// 기존 세션 조회 또는 새로 생성
let session = await getServerSession(env.DB, telegramUserId);
let session = await sessionManager.get(env.DB, telegramUserId);
if (!session) {
// 세션이 없으면 새로 생성
session = createServerSession(telegramUserId, 'selecting');
session = sessionManager.create(telegramUserId, 'selecting');
session.collected_info = {
useCase: use_case,
scale: expected_users <= 50 ? 'personal' : 'business',
@@ -809,7 +808,7 @@ export async function executeServerAction(
session.status = 'selecting';
session.updated_at = Date.now();
await saveServerSession(env.DB, session);
await sessionManager.save(env.DB, session);
logger.info('추천 결과 세션 저장 완료', {
userId: telegramUserId,
recommendationCount: session.last_recommendation.recommendations.length,
@@ -1324,8 +1323,10 @@ export async function executeServerDelete(
// Clear server consultation session (if any)
try {
const { deleteServerSession } = await import('../agents/server-agent');
await deleteServerSession(env.DB, telegramUserId);
const { ServerSessionManager } = await import('../utils/session-manager');
const { getSessionConfig } = await import('../constants/agent-config');
const sessionManager = new ServerSessionManager(getSessionConfig('server'));
await sessionManager.delete(env.DB, telegramUserId);
} catch (error) {
provisionLogger.error('서버 세션 삭제 실패 (무시)', error as Error);
}
@@ -1413,8 +1414,10 @@ export async function executeServerOrder(
// Clear server consultation session
try {
const { deleteServerSession } = await import('../agents/server-agent');
await deleteServerSession(env.DB, telegramUserId);
const { ServerSessionManager } = await import('../utils/session-manager');
const { getSessionConfig } = await import('../constants/agent-config');
const sessionManager = new ServerSessionManager(getSessionConfig('server'));
await sessionManager.delete(env.DB, telegramUserId);
} catch (error) {
provisionLogger.error('서버 세션 삭제 실패 (무시)', error as Error);
}