solver-sdk
Version:
SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)
90 lines • 3.55 kB
JavaScript
/**
* API для работы с агентами
*/
export class AgentsApi {
/**
* Создает новый экземпляр API для работы с агентами
* @param {HttpClient} httpClient HTTP клиент
*/
constructor(httpClient) {
this.httpClient = httpClient;
}
/**
* Получает список всех агентов проекта
* @param {string} projectId Идентификатор проекта
* @returns {Promise<Agent[]>} Список агентов
*/
async getAgents(projectId) {
return this.httpClient.get(`/api/projects/${projectId}/agents`);
}
/**
* Получает агента по идентификатору
* @param {string} agentId Идентификатор агента
* @returns {Promise<Agent>} Агент
*/
async getAgent(agentId) {
return this.httpClient.get(`/api/agents/${agentId}`);
}
/**
* Создает нового агента
* @param {CreateAgentParams} params Параметры создания агента
* @returns {Promise<Agent>} Созданный агент
*/
async createAgent(params) {
return this.httpClient.post('/api/agents', params);
}
/**
* Обновляет агента
* @param {string} agentId Идентификатор агента
* @param {Partial<Pick<Agent, 'name' | 'description' | 'settings'>>} data Данные для обновления
* @returns {Promise<Agent>} Обновленный агент
*/
async updateAgent(agentId, data) {
return this.httpClient.put(`/api/agents/${agentId}`, data);
}
/**
* Удаляет агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<void>}
*/
async deleteAgent(agentId) {
return this.httpClient.delete(`/api/agents/${agentId}`);
}
/**
* Запускает агента
* @param {string} agentId Идентификатор агента
* @param {object} [params] Параметры запуска
* @returns {Promise<Agent>} Обновленный агент
*/
async startAgent(agentId, params) {
return this.httpClient.post(`/api/agents/${agentId}/start`, params);
}
/**
* Останавливает агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<Agent>} Обновленный агент
*/
async stopAgent(agentId) {
return this.httpClient.post(`/api/agents/${agentId}/stop`);
}
/**
* Получает задачи агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<AgentTask[]>} Список задач
*/
async getAgentTasks(agentId) {
return this.httpClient.get(`/api/agents/${agentId}/tasks`);
}
/**
* Создает новую задачу для агента
* @param {string} agentId Идентификатор агента
* @param {object} params Параметры задачи
* @param {string} params.description Описание задачи
* @param {object} [params.context] Контекст задачи
* @returns {Promise<AgentTask>} Созданная задача
*/
async createAgentTask(agentId, params) {
return this.httpClient.post(`/api/agents/${agentId}/tasks`, params);
}
}
//# sourceMappingURL=agents-api.js.map