solver-sdk
Version:
SDK для интеграции с Code Solver Backend API
141 lines • 5.2 kB
TypeScript
import { HttpClient } from '../utils/http-client.js';
/**
* Тип агента
*/
export type AgentType = 'coding' | 'documentation' | 'testing' | 'analysis' | 'custom';
/**
* Статус агента
*/
export type AgentStatus = 'idle' | 'running' | 'completed' | 'error';
/**
* Агент
*/
export interface Agent {
/** Уникальный идентификатор агента */
id: string;
/** Идентификатор проекта */
projectId: string;
/** Название агента */
name: string;
/** Описание агента */
description: string;
/** Тип агента */
type: AgentType;
/** Статус агента */
status: AgentStatus;
/** Дата создания */
createdAt: string;
/** Дата обновления */
updatedAt: string;
/** Настройки агента */
settings?: Record<string, any>;
}
/**
* Параметры для создания агента
*/
export interface CreateAgentParams {
/** Идентификатор проекта */
projectId: string;
/** Название агента */
name: string;
/** Описание агента */
description?: string;
/** Тип агента */
type: AgentType;
/** Настройки агента */
settings?: Record<string, any>;
}
/**
* Задача агента
*/
export interface AgentTask {
/** Уникальный идентификатор задачи */
id: string;
/** Идентификатор агента */
agentId: string;
/** Описание задачи */
description: string;
/** Статус задачи */
status: 'pending' | 'running' | 'completed' | 'failed';
/** Результат выполнения задачи */
result?: any;
/** Дата создания */
createdAt: string;
/** Дата обновления */
updatedAt: string;
}
/**
* API для работы с агентами
*/
export declare class AgentsApi {
/** HTTP клиент */
private readonly httpClient;
/**
* Создает новый экземпляр API для работы с агентами
* @param {HttpClient} httpClient HTTP клиент
*/
constructor(httpClient: HttpClient);
/**
* Получает список всех агентов проекта
* @param {string} projectId Идентификатор проекта
* @returns {Promise<Agent[]>} Список агентов
*/
getAgents(projectId: string): Promise<Agent[]>;
/**
* Получает агента по идентификатору
* @param {string} agentId Идентификатор агента
* @returns {Promise<Agent>} Агент
*/
getAgent(agentId: string): Promise<Agent>;
/**
* Создает нового агента
* @param {CreateAgentParams} params Параметры создания агента
* @returns {Promise<Agent>} Созданный агент
*/
createAgent(params: CreateAgentParams): Promise<Agent>;
/**
* Обновляет агента
* @param {string} agentId Идентификатор агента
* @param {Partial<Pick<Agent, 'name' | 'description' | 'settings'>>} data Данные для обновления
* @returns {Promise<Agent>} Обновленный агент
*/
updateAgent(agentId: string, data: Partial<Pick<Agent, 'name' | 'description' | 'settings'>>): Promise<Agent>;
/**
* Удаляет агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<void>}
*/
deleteAgent(agentId: string): Promise<void>;
/**
* Запускает агента
* @param {string} agentId Идентификатор агента
* @param {object} [params] Параметры запуска
* @returns {Promise<Agent>} Обновленный агент
*/
startAgent(agentId: string, params?: object): Promise<Agent>;
/**
* Останавливает агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<Agent>} Обновленный агент
*/
stopAgent(agentId: string): Promise<Agent>;
/**
* Получает задачи агента
* @param {string} agentId Идентификатор агента
* @returns {Promise<AgentTask[]>} Список задач
*/
getAgentTasks(agentId: string): Promise<AgentTask[]>;
/**
* Создает новую задачу для агента
* @param {string} agentId Идентификатор агента
* @param {object} params Параметры задачи
* @param {string} params.description Описание задачи
* @param {object} [params.context] Контекст задачи
* @returns {Promise<AgentTask>} Созданная задача
*/
createAgentTask(agentId: string, params: {
description: string;
context?: object;
}): Promise<AgentTask>;
}
//# sourceMappingURL=agents-api.d.ts.map