refactor: migrate server provisioning to Cloud Orchestrator service

- Remove Queue-based server provisioning (moved to cloud-orchestrator)
- Add manage_server tool with Service Binding to Cloud Orchestrator
- Add CDN cache hit rate estimation based on tech_stack
- Always display bandwidth info (show "포함 범위 내" when no overage)
- Add language auto-detection (ko, ja, zh, en)
- Update system prompt to always call tools fresh
- Add Server System documentation to CLAUDE.md

BREAKING: Server provisioning now requires cloud-orchestrator service

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kappa
2026-01-26 12:26:21 +09:00
parent 5413605347
commit 87c92e1ed1
27 changed files with 695 additions and 4584 deletions

View File

@@ -1,4 +1,4 @@
import { Env, EmailMessage, ProvisionMessage } from './types';
import { Env, EmailMessage } from './types';
import { sendMessage, setWebhook, getWebhookInfo } from './telegram';
import { handleWebhook } from './routes/webhook';
import { handleApiRequest } from './routes/api';
@@ -6,8 +6,6 @@ import { handleHealthCheck } from './routes/health';
import { parseBankSMS } from './services/bank-sms-parser';
import { matchPendingDeposit } from './services/deposit-matcher';
import { reconcileDeposits, formatReconciliationReport } from './utils/reconciliation';
import { handleProvisionQueue } from './queue/provision-consumer';
import { handleProvisionDLQ } from './queue/provision-dlq';
export default {
// HTTP 요청 핸들러
@@ -281,19 +279,4 @@ Documentation: https://github.com/your-repo
// 정합성 검증 실패가 전체 Cron을 중단시키지 않도록 에러를 catch만 하고 계속 진행
}
},
// Queue 핸들러 (서버 프로비저닝)
async queue(batch: MessageBatch<ProvisionMessage>, env: Env): Promise<void> {
const QUEUE_HANDLERS: Record<string, (batch: MessageBatch<ProvisionMessage>, env: Env) => Promise<void>> = {
'server-provision-queue': handleProvisionQueue,
'provision-dlq': handleProvisionDLQ,
};
const handler = QUEUE_HANDLERS[batch.queue];
if (handler) {
return handler(batch, env);
}
console.error(`[Queue] Unknown queue: ${batch.queue}`);
},
};