UNPKG

pm-orchestrator-enhancement

Version:

PM Orchestrator Enhancement - Multi-agent parallel execution system

111 lines 3.83 kB
"use strict"; /** * ANSI Color Code Module * * サブエージェントごとに色分けされた表示を提供します。 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.ColorCode = exports.AgentColor = void 0; var AgentColor; (function (AgentColor) { AgentColor["PM_ORCHESTRATOR"] = "\u001B[33m"; AgentColor["RULE_CHECKER"] = "\u001B[31m"; AgentColor["CODE_ANALYZER"] = "\u001B[35m"; AgentColor["DESIGNER"] = "\u001B[95m"; AgentColor["IMPLEMENTER"] = "\u001B[32m"; AgentColor["TESTER"] = "\u001B[96m"; AgentColor["QA"] = "\u001B[36m"; AgentColor["CICD_ENGINEER"] = "\u001B[34m"; AgentColor["REPORTER"] = "\u001B[94m"; AgentColor["RESET"] = "\u001B[0m"; })(AgentColor || (exports.AgentColor = AgentColor = {})); class ColorCode { /** * エージェント名に対応する色コードを取得 */ static getColor(agentName) { const colorMap = { 'pm-orchestrator': AgentColor.PM_ORCHESTRATOR, 'rule-checker': AgentColor.RULE_CHECKER, 'code-analyzer': AgentColor.CODE_ANALYZER, 'designer': AgentColor.DESIGNER, 'implementer': AgentColor.IMPLEMENTER, 'tester': AgentColor.TESTER, 'qa': AgentColor.QA, 'cicd-engineer': AgentColor.CICD_ENGINEER, 'reporter': AgentColor.REPORTER }; return colorMap[agentName] || ''; } /** * エージェント名を色付きで表示 */ static colorize(agentName, text) { const color = this.getColor(agentName); return `${color}${text}${AgentColor.RESET}`; } /** * エージェント識別子を色付きで表示 */ static formatAgentName(agentName) { const emoji = this.getEmoji(agentName); const displayName = this.getDisplayName(agentName); return this.colorize(agentName, `${emoji} ${displayName}`); } /** * エージェントに対応する絵文字を取得 */ static getEmoji(agentName) { const emojiMap = { 'pm-orchestrator': '🎯', 'rule-checker': '🔴', 'code-analyzer': '🟣', 'designer': '🟣', 'implementer': '🟢', 'tester': '🔵', 'qa': '🔵', 'cicd-engineer': '🔵', 'reporter': '🔵' }; return emojiMap[agentName] || '⚪'; } /** * エージェントの表示名を取得 */ static getDisplayName(agentName) { const nameMap = { 'pm-orchestrator': 'PM Orchestrator', 'rule-checker': 'Rule Checker', 'code-analyzer': 'Code Analyzer', 'designer': 'Designer', 'implementer': 'Implementer', 'tester': 'Tester', 'qa': 'QA', 'cicd-engineer': 'CI/CD Engineer', 'reporter': 'Reporter' }; return nameMap[agentName] || agentName; } /** * 進捗状況を色付きで表示 */ static formatStatus(status) { const statusMap = { 'pending': { color: '\x1b[90m', text: '⏳ Pending' }, 'running': { color: '\x1b[33m', text: '▶️ Running' }, 'completed': { color: '\x1b[32m', text: '✅ Completed' }, 'error': { color: '\x1b[31m', text: '❌ Error' } }; const { color, text } = statusMap[status]; return `${color}${text}${AgentColor.RESET}`; } /** * ツール呼び出しを色付きで表示 */ static formatToolCall(toolName, description) { const toolColor = '\x1b[36m'; // Cyan return `${toolColor}🔧 ${toolName}${AgentColor.RESET}: ${description}`; } } exports.ColorCode = ColorCode; //# sourceMappingURL=color-code.js.map