23# Code Solver SDK

JavaScript/TypeScript SDK для взаимодействия с API Code Solver, предназначенного для умной работы с кодом, семантического поиска и AI-ассистентов.

## Установка

```bash
npm install @code-solver/sdk
```

## Основные возможности

- **Работа с проектами**: создание, индексация и управление проектами
- **Семантический поиск**: поиск по смыслу в коде проекта
- **AI-чат с контекстом**: взаимодействие с AI-моделями в контексте проекта
- **Работа с WebSocket**: потоковая обработка событий и ответов
- **Мультиплатформенность**: поддержка как браузеров, так и Node.js

## Быстрый старт

```javascript
import { CodeSolverSDK } from '@code-solver/sdk';

// Инициализация SDK
const sdk = new CodeSolverSDK({
  baseURL: 'https://api.code-solver.com',
  apiKey: 'ваш-api-ключ',
  websocket: {
    reconnect: true,
    reconnectAttempts: 5
  }
});

// Проверка доступности API
const isAvailable = await sdk.checkHealth();
if (!isAvailable) {
  console.error('API недоступен');
  return;
}

// Создание проекта
const project = await sdk.projects.createProject(
  'Мой проект',
  '/путь/к/проекту',
  {
    excludePatterns: ['node_modules', '.git', 'dist']
  }
);

// Индексация проекта
await sdk.projects.indexProject(project.id);

// Отслеживание прогресса индексации через WebSocket
sdk.projects.on('indexing_progress', (data) => {
  console.log(`Прогресс индексации: ${data.progress}%`);
});

sdk.projects.on('indexing_complete', (data) => {
  console.log('Индексация завершена!');
});

// Семантический поиск
const searchResults = await sdk.search.semanticSearch(project.id, {
  query: 'функция для обработки HTTP запросов',
  limit: 10
});

// Взаимодействие с AI-ассистентом
const chatResponse = await sdk.chat.chat([
  {
    role: 'system',
    content: 'Ты опытный программист, помогающий разработчику.'
  },
  {
    role: 'user',
    content: 'Объясни, как работает функция getUserProfile в моем проекте.'
  }
], {
  projectId: project.id,
  model: 'claude-3-7-sonnet-20240229'
});

console.log(chatResponse.answer);
```

## Документация

Подробная документация доступна в следующих файлах:

- [API Reference](./API_REFERENCE.md) - подробное описание всех методов SDK
- [Authentication](./AUTHENTICATION.md) - информация по аутентификации
- [Работа с WebSocket](./WEBSOCKET.md) - примеры работы с WebSocket соединениями
- [Примеры интеграции](./INTEGRATION_EXAMPLES.md) - примеры интеграции с VS Code/Cursor

## Поддерживаемые платформы

- **Браузеры**: Chrome, Firefox, Safari, Edge
- **Node.js**: 14.x и выше

## Лицензия

MIT 