Files
pipeline/backend-node/src/routes/aiAgentRoutes.ts
T
chpark 37cac72085 refactor: Pipeline 네이밍 통일 및 AI 에이전트/장비 연결 기능 추가
- Docker/K8s 배포 설정을 pipeline-backend/pipeline-front로 통일
- 네임스페이스, 서비스, PVC 등 k8s 리소스명 pipeline-* 로 변경
- AI 에이전트 관리 기능 추가 (에이전트, 그룹, 프로바이더, 대화, API 키, 지식베이스)
- 장비 연결 관리 기능 추가 (PLC/Modbus/OPC-UA/MQTT)
- 배치 스케줄러에 AI agent/device collection/crawling 타입 추가
- 배치 편집 UI 개선 (6가지 실행 방식 지원)
- 회사별 페이지(COMPANY_*) 제거 및 AdminPageRenderer 최적화
- 메뉴 재구성: 장비 연결 관리 시스템관리로 이동, 에이전트 오케스트레이션으로 개명
- ai-assistant 디렉토리 제거 (backend-node로 통합)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-20 12:14:50 +09:00

45 lines
1.6 KiB
TypeScript

import { Router } from "express";
import { authenticateToken } from "../middleware/authMiddleware";
import {
AiAgentController,
AiAgentApiKeyController,
AiAgentProviderController,
AiAgentConversationController,
AiAgentUsageController,
} from "../controllers/aiAgentController";
const router = Router();
// 모든 라우트 인증 필요
router.use(authenticateToken);
// ===== 에이전트 CRUD =====
router.get("/", AiAgentController.list);
router.get("/:id", AiAgentController.getById);
router.post("/", AiAgentController.create);
router.put("/:id", AiAgentController.update);
router.delete("/:id", AiAgentController.delete);
// ===== API 키 관리 =====
router.get("/keys/list", AiAgentApiKeyController.list);
router.post("/keys", AiAgentApiKeyController.create);
router.delete("/keys/:id", AiAgentApiKeyController.revoke);
// ===== LLM 프로바이더 관리 =====
router.get("/providers/list", AiAgentProviderController.list);
router.post("/providers", AiAgentProviderController.create);
router.put("/providers/:id", AiAgentProviderController.update);
router.delete("/providers/:id", AiAgentProviderController.delete);
// ===== 대화 모니터링 =====
router.get("/conversations/list", AiAgentConversationController.list);
router.get("/conversations/:id", AiAgentConversationController.getById);
router.delete("/conversations/:id", AiAgentConversationController.delete);
// ===== 사용량 =====
router.get("/usage/summary", AiAgentUsageController.summary);
router.get("/usage/logs", AiAgentUsageController.logs);
router.get("/usage/daily", AiAgentUsageController.daily);
export default router;