Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | import { ElMessage } from 'element-plus' import { createAgent as apiCreateAgent, updateAgent as apiUpdateAgent, deleteAgent as apiDeleteAgent, executeAgent as apiExecuteAgent, executeAgentInline as apiExecuteAgentInline } from '@/api/agents' import type { CreateAgentRequest, UpdateAgentRequest } from '@/api/agents' import type { AgentNode } from '@/types/generated/AgentNode' import { SUCCESS_MESSAGES, ERROR_MESSAGES } from '@/constants' export function useAgentOperations() { async function createAgent(name: string, agent: AgentNode) { try { const request: CreateAgentRequest = { name, agent } const newAgent = await apiCreateAgent(request) ElMessage.success(SUCCESS_MESSAGES.AGENT_CREATED) return newAgent } catch (error: any) { const message = error.message || ERROR_MESSAGES.FAILED_TO_CREATE('Agent') ElMessage.error(message) throw error } } // Update agent async function updateAgent(id: string, updates: UpdateAgentRequest) { try { const updatedAgent = await apiUpdateAgent(id, updates) ElMessage.success(SUCCESS_MESSAGES.AGENT_UPDATED) return updatedAgent } catch (error: any) { const message = error.message || ERROR_MESSAGES.FAILED_TO_UPDATE('Agent') ElMessage.error(message) throw error } } // Delete agent async function deleteAgent(id: string) { try { await apiDeleteAgent(id) ElMessage.success(SUCCESS_MESSAGES.AGENT_DELETED) } catch (error: any) { const message = error.message || ERROR_MESSAGES.FAILED_TO_DELETE('Agent') ElMessage.error(message) throw error } } // Execute saved agent async function executeAgent(id: string, input: string) { try { ElMessage.info('Agent execution started') const response = await apiExecuteAgent(id, input) ElMessage.success('Agent execution completed successfully') return response } catch (error: any) { const message = error.message || ERROR_MESSAGES.FAILED_TO_CREATE('Agent execution') ElMessage.error(message) throw error } } // Execute unsaved agent (inline execution) async function executeAgentInline(agent: AgentNode, input: string) { try { ElMessage.info('Agent execution started') const response = await apiExecuteAgentInline(agent, input) ElMessage.success('Agent execution completed successfully') return response } catch (error: any) { const message = error.message || ERROR_MESSAGES.FAILED_TO_CREATE('Agent execution') ElMessage.error(message) throw error } } return { createAgent, updateAgent, deleteAgent, executeAgent, executeAgentInline } } |