UNPKG

ai-ip-plugin

Version:

AI-IP Plugin for MCP Workflow Management with SSE streaming and event handling

165 lines 4.55 kB
"use strict"; /** * Agent related utility functions */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentNameMap = void 0; exports.getAgentName = getAgentName; exports.createAgentTemplate = createAgentTemplate; exports.isToolAgent = isToolAgent; exports.isPolisherAgent = isPolisherAgent; exports.isContentAgent = isContentAgent; /** Agent Name Mapping */ exports.AgentNameMap = { planner: '规划师', rag: 'RAG专家', persona: '人设专家', websearch: '搜索专家', writer: '文案撰写师', headliner: '标题专家', architecter: '结构师', outroist: '结尾专家', hookmaster: '开头专家', viewist: '观点专家', introer: '介绍专家', topic: '选题专家', commenter: '评论专家', polisher: '润色专家', audio_engineer: '音频工程师', audio_wait_for_user_feedback: '音频反馈', workflow_interrupted: '工作流中断', error: '错误' }; /** * Get agent display name */ function getAgentName(agentType) { return exports.AgentNameMap[agentType] || agentType; } /** * Create agent template based on agent type */ function createAgentTemplate(agentName) { const baseTemplate = { content: '', additional_kwargs: {}, response_metadata: {}, type: 'ai', name: getAgentName(agentName), agent_type: agentName, id: '', example: false, tool_calls: [], invalid_tool_calls: [], usage_metadata: null, uuid: '', event: 'workflow_created', finished: false, session_id: '' }; // Planner agent template if (['planner'].includes(agentName)) { return { ...baseTemplate, event: 'workflow_created' }; } // Tool-based agents (RAG, Persona, WebSearch, Audio Engineer) if (['rag', 'persona', 'websearch', 'audio_engineer'].includes(agentName)) { return { ...baseTemplate, additional_kwargs: { tool_calls: [{ index: 0, id: '', function: { arguments: '', name: 'rag_tool' }, type: '' }] }, response_metadata: { finish_reason: 'tool_calls', model_name: '', system_fingerprint: '' }, event: 'workflow_created' }; } // Content generation agents if ([ 'writer', 'headliner', 'architecter', 'outroist', 'hookmaster', 'viewist', 'introer', 'topic', 'commenter' ].includes(agentName)) { return { ...baseTemplate, response_metadata: { finish_reason: '', model_name: '', system_fingerprint: '' }, event: 'start_of_agent' }; } // Polisher agent (with reasoning) if (['polisher'].includes(agentName)) { return { ...baseTemplate, reasoning: '', response_metadata: { finish_reason: '', model_name: '', system_fingerprint: '' }, event: 'start_of_agent' }; } // Error agent if (['error'].includes(agentName)) { return { ...baseTemplate, reasoning: '', event: 'error' }; } // Workflow interrupted if (['workflow_interrupted'].includes(agentName)) { return { ...baseTemplate, reasoning: '', type: 'human', agent_type: 'user', event: 'workflow_interrupted' }; } // Default template return { ...baseTemplate, reasoning: '', event: 'workflow_created' }; } /** * Check if agent is a tool-based agent */ function isToolAgent(agentType) { return ['persona', 'rag', 'websearch'].includes(agentType); } /** * Check if agent is a polisher agent */ function isPolisherAgent(agentType) { return ['polisher'].includes(agentType); } /** * Check if agent is a content generation agent */ function isContentAgent(agentType) { return [ 'writer', 'headliner', 'architecter', 'outroist', 'hookmaster', 'viewist', 'introer', 'planner', 'topic', 'commenter' ].includes(agentType); } //# sourceMappingURL=agent.js.map