solver-sdk
Version:
SDK для интеграции с Code Solver Backend API (совместимо с браузером и Node.js), с поддержкой функциональности мышления (Thinking Mode)
169 lines (111 loc) • 4 kB
Markdown
# API Reference
В этом документе описаны основные классы и методы SDK.
## Содержание
- [CodeSolverSDK](#codesolversdk)
- [ChatApi](#chatapi)
- [ReasoningApi](#reasoningapi)
- [ProjectsApi](#projectsapi)
- [SearchApi](#searchapi)
## CodeSolverSDK
Основной класс SDK, предоставляющий доступ ко всем API.
### Конструктор
```javascript
const sdk = new CodeSolverSDK(options);
```
### Параметры
| Параметр | Тип | Описание | Обязательно |
|----------|-----|----------|-------------|
| `baseURL` | string | Базовый URL API | Да |
| `apiKey` | string | API ключ для авторизации | Нет |
| `timeout` | number | Таймаут для HTTP запросов (мс) | Нет |
| `websocket` | object | Настройки WebSocket | Нет |
### Методы
#### `getWebSocketClient()`
Возвращает экземпляр WebSocket клиента для работы с соединениями.
```javascript
const wsClient = sdk.getWebSocketClient();
```
#### `checkHealth()`
Проверяет доступность API сервера.
```javascript
const isHealthy = await sdk.checkHealth();
```
## ChatApi
API для работы с чатом и потоковой передачей мышления.
### Методы
#### `streamChatWithThinking(messages, options, callback)`
Отправляет запрос чата с потоковой передачей мышления через WebSocket.
```javascript
const response = await sdk.chat.streamChatWithThinking(
messages,
options,
callback
);
```
##### Параметры
| Параметр | Тип | Описание | Обязательно |
|----------|-----|----------|-------------|
| `messages` | Array | Массив сообщений для отправки модели | Да |
| `options` | Object | Параметры запроса (модель, thinking: true) | Да |
| `callback` | Function | Обработчик событий | Да |
#### `chat(messages, options)`
Отправляет запрос чата и возвращает полный ответ.
```javascript
const response = await sdk.chat.chat(
messages,
options
);
```
#### `getModels()`
Получает список доступных моделей.
```javascript
const models = await sdk.chat.getModels();
```
## ReasoningApi
API для работы с рассуждениями.
### Методы
#### `createReasoning(options)`
Создаёт новое рассуждение.
```javascript
const reasoning = await sdk.reasoning.createReasoning({
projectId: 'project-id',
query: 'Объясни этот проект'
});
```
#### `getReasoning(reasoningId)`
Получает информацию о рассуждении.
```javascript
const reasoning = await sdk.reasoning.getReasoning('reasoning-id');
```
## ProjectsApi
API для работы с проектами.
### Методы
#### `createProject(name, path)`
Создаёт новый проект.
```javascript
const project = await sdk.projects.createProject('Мой проект', '/path/to/project');
```
#### `indexProject(projectId)`
Запускает индексацию проекта.
```javascript
await sdk.projects.indexProject('project-id');
```
## SearchApi
API для поиска кода.
### Методы
#### `searchCode(projectId, options)`
Выполняет поиск кода в проекте.
```javascript
const results = await sdk.search.searchCode('project-id', {
query: 'function example',
limit: 10
});
```
#### `semanticSearch(projectId, options)`
Выполняет семантический поиск в проекте.
```javascript
const results = await sdk.search.semanticSearch('project-id', {
query: 'функция для обработки HTTP запросов',
limit: 10
});
```