solver-sdk 7.0.1 → 7.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,18 +1,51 @@
1
- # Code Solver SDK v6.2.2
1
+ # Code Solver SDK v7.1.1
2
2
 
3
- Backend SDK для интеграции с Code Solver API
3
+ Backend SDK для интеграции с Code Solver API (Pure Cloud-First)
4
4
 
5
- ## 📦 Установка
5
+ ## 📑 Навигация
6
+
7
+ **Быстрый старт:**
8
+ - [Установка](#-установка-github-packages---private) • [Быстрый старт](#-быстрый-старт) • [Быстрая справка](#-быстрая-справка)
9
+
10
+ **Работа с проектами:**
11
+ - [Индексация](#индексация-проекта) • [Real-time прогресс](#websocket-api-sdkprojectsync) • [Recovery](#session-recovery)
12
+
13
+ **Типы и решение проблем:**
14
+ - [Ключевые типы](#-ключевые-типы-данных) • [Решение проблем](#-быстрое-решение-проблем) • [API Reference](#-api-reference-подробно)
15
+
16
+ ---
17
+
18
+ ## 🔒 Установка (GitHub Packages - Private)
19
+
20
+ SDK теперь приватный и публикуется в GitHub Packages.
21
+
22
+ ### Требования:
23
+ - GitHub Personal Access Token с правами `read:packages`
24
+ - Доступ к организации `AndroidSprintTeam`
25
+
26
+ ### Установка:
6
27
 
7
28
  ```bash
8
- npm install solver-sdk
29
+ # 1. Создай .npmrc в корне проекта
30
+ cat > .npmrc << 'EOF'
31
+ //npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKEN
32
+ @androidsprintteam:registry=https://npm.pkg.github.com
33
+ always-auth=true
34
+ EOF
35
+
36
+ # 2. Установи SDK
37
+ npm install @androidsprintteam/solver-sdk
9
38
  ```
10
39
 
40
+ **Создание токена:** https://github.com/settings/tokens/new (scopes: `read:packages`, `repo`)
41
+
42
+ **Полная документация:** см. `GITHUB_PACKAGES_SETUP.md`
43
+
11
44
  ## 🚀 Быстрый старт
12
45
 
13
46
  ### Локальная разработка
14
47
  ```typescript
15
- import { CodeSolverSDK } from 'solver-sdk';
48
+ import { CodeSolverSDK } from '@androidsprintteam/solver-sdk';
16
49
 
17
50
  const sdk = await CodeSolverSDK.create({
18
51
  baseURL: 'http://localhost:3000',
@@ -42,39 +75,59 @@ const sdk = await CodeSolverSDK.create({
42
75
  });
43
76
  ```
44
77
 
45
- ## 📖 API Reference
78
+ ## 📖 Быстрая справка
79
+
80
+ | Задача | Метод | Назначение |
81
+ |--------|-------|------------|
82
+ | **Индексация** |
83
+ | Синхронизировать проект | `sdk.deltaManager.syncEncryptedChunks(projectId, chunks, rootHash)` | Единственный способ индексации |
84
+ | Проверить статус | `sdk.projects.getProjectState(projectId, clientRootHash?)` | Получить состояние + totalFiles |
85
+ | Проверить recovery | `sdk.projects.getRecoveryStatus(projectId)` | Нужно ли возобновить прерванную синхронизацию |
86
+ | Возобновить синхронизацию | `sdk.projects.resumeSync(projectId)` | Продолжить прерванную индексацию |
87
+ | **Real-time прогресс** |
88
+ | Подключить WebSocket | `await sdk.connectWebSocket()` | Для live обновлений |
89
+ | Подписаться на проект | `sdk.projectSync.subscribeToProject(projectId)` | Получать события по проекту |
90
+ | Прогресс индексации | `sdk.projectSync.on('sync-progress', callback)` | `data.processedFiles / data.totalFiles` |
91
+ | Завершение индексации | `sdk.projectSync.on('sync-completed', callback)` | `data.statistics.totalFiles` |
92
+ | **Проекты** |
93
+ | Получить все проекты | `sdk.projects.getAllProjects()` | Список всех проектов |
94
+ | Найти или создать | `sdk.projects.findOrCreateProject(name)` | Idempotent создание |
95
+ | Получить проект | `sdk.projects.getProject(projectId)` | Детали проекта |
96
+ | **Поиск** |
97
+ | Поиск по коду | `sdk.search.searchCode(projectId, query)` | Semantic search с reranker |
98
+ | Поиск функций | `sdk.search.searchFunctions(projectId, query)` | Только функции/методы |
99
+ | **Чат** |
100
+ | Streaming чат | `sdk.chat.streamChat(messages, options)` | AsyncGenerator chunks |
101
+ | Обычный чат | `sdk.chat.chat(messages, options)` | Promise response |
102
+
103
+ ## 📖 API Reference (подробно)
104
+
105
+ <details>
106
+ <summary><b>Projects API</b> (<code>sdk.projects</code>) - управление проектами</summary>
46
107
 
47
- ### Projects API (`sdk.projects`)
48
108
  ```typescript
49
- // Управление проектами
109
+ // Основные методы
50
110
  getAllProjects(): Promise<Project[]>
51
111
  getProject(projectId: string): Promise<Project>
52
- createProject(name: string, data?: any): Promise<Project>
53
112
  findOrCreateProject(projectName: string): Promise<Project>
54
- deleteProject(projectId: string): Promise<void>
55
113
 
56
- // Состояние и синхронизация
114
+ // Индексация
57
115
  getProjectState(projectId: string, clientRootHash?: string): Promise<ProjectState>
58
116
  getIndexingStatus(projectId: string): Promise<any>
59
- cancelIndexing(projectId: string): Promise<boolean>
60
- resetIndexing(projectId: string): Promise<any>
61
- restartIndexing(projectId: string): Promise<any>
62
- clearIndexingError(projectId: string): Promise<boolean>
63
117
 
64
- // Session Recovery
118
+ // Recovery
65
119
  getRecoveryStatus(projectId: string): Promise<any>
66
120
  resumeSync(projectId: string, options?: any): Promise<any>
67
121
  cancelRecovery(projectId: string): Promise<any>
68
- initializeDeltaSync(projectId: string, clientRootHash: string): Promise<any>
69
-
70
- // Диагностика
71
- getFilePathMapping(projectId: string): Promise<any>
72
122
  ```
73
123
 
74
- ### Delta Manager API (`sdk.deltaManager`)
124
+ </details>
125
+
126
+ <details>
127
+ <summary><b>Delta Manager API</b> (<code>sdk.deltaManager</code>) - индексация проекта</summary>
128
+
75
129
  ```typescript
76
- // Синхронизация чанков (автоматическая инициализация + батчинг + финализация)
77
- // ✨ v6.2.2+: автоматически передает totalFiles для user-friendly прогресса
130
+ // Основной метод индексации
78
131
  syncEncryptedChunks(
79
132
  projectId: string,
80
133
  encryptedChunks: any[],
@@ -82,51 +135,39 @@ syncEncryptedChunks(
82
135
  options?: { batchSize?: number; onProgress?: (current, total) => void }
83
136
  ): Promise<any>
84
137
 
138
+ // Вспомогательные
85
139
  getSyncStatus(projectId: string): Promise<SyncStatus>
86
140
  cancelSync(projectId: string): Promise<boolean>
87
141
  cleanupDeletedFiles(projectId: string, activeFiles: any[]): Promise<any>
88
142
  ```
89
143
 
90
- ### Chat API (`sdk.chat`)
91
- ```typescript
92
- // Основные методы
93
- chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
94
- chatCompletion(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
95
- streamChat(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
96
- streamPrompt(prompt: string, options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
97
- sendContinuation(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
144
+ </details>
98
145
 
99
- // Failover
100
- chatWithRegionFailover(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
101
- sendPromptWithRegionFailover(prompt: string, options?: ChatOptions): Promise<string>
102
- checkAvailability(): Promise<boolean>
103
- ```
146
+ <details>
147
+ <summary><b>Search API</b> (<code>sdk.search</code>) - поиск по коду</summary>
104
148
 
105
- ### Search API (`sdk.search`)
106
149
  ```typescript
107
150
  searchCode(projectId: string, query: string, options?: any): Promise<any[]>
108
151
  searchFunctions(projectId: string, query: string, options?: any): Promise<any[]>
109
- getFunctionStats(projectId: string): Promise<{stats: {totalFunctions: number}}>
110
152
  semanticSearch(projectId: string, query: string, options?: any): Promise<any[]>
111
153
  ```
112
154
 
113
- ### Models API (`sdk.models`)
114
- ```typescript
115
- getAllModels(): Promise<any[]>
116
- getProviderModels(providerId: string): Promise<any>
117
- getAvailableModels(): Promise<any[]>
118
- getModelInfo(modelId: string): Promise<any>
119
- ```
155
+ </details>
156
+
157
+ <details>
158
+ <summary><b>Chat API</b> (<code>sdk.chat</code>) - AI чат</summary>
120
159
 
121
- ### Updates API (`sdk.updates`)
122
160
  ```typescript
123
- checkForUpdates(options: UpdateCheckOptions): Promise<UpdateResponse>
124
- getChangelog(version: string, locale: string): Promise<string>
125
- getLatestVersion(channel?: string): Promise<LatestVersionInfo>
126
- sendStats(event: UpdateStatsEvent): Promise<void>
127
- checkAvailability(): Promise<boolean>
161
+ // Streaming
162
+ streamChat(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
163
+
164
+ // Обычный
165
+ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
166
+ chatWithRegionFailover(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
128
167
  ```
129
168
 
169
+ </details>
170
+
130
171
  ### WebSocket API (`sdk.projectSync`)
131
172
  ```typescript
132
173
  // Подключение
@@ -140,19 +181,31 @@ sdk.projectSync.unsubscribeFromProject(projectId)
140
181
 
141
182
  // События
142
183
  sdk.projectSync.on('sync-status-update', callback) // {projectId, status, timestamp}
143
- sdk.projectSync.on('sync-progress', callback) // {projectId, progress, stage, currentChunk, totalChunks}
144
- sdk.projectSync.on('sync-completed', callback) // {projectId, processedChunks, embeddingsCreated}
184
+ sdk.projectSync.on('sync-progress', callback) // {projectId, progress, processedFiles, totalFiles}
185
+ sdk.projectSync.on('sync-completed', callback) // {projectId, processedChunks, statistics}
145
186
  sdk.projectSync.on('sync-error', callback) // {projectId, error, timestamp}
146
- ```
147
187
 
148
- ## 🔧 Основные принципы
188
+ // Пример: Cursor-like прогресс по файлам (v7.1.1+)
189
+ sdk.projectSync.on('sync-progress', (data) => {
190
+ if (data.totalFiles && data.processedFiles) {
191
+ // User-friendly: "450 of 722 files"
192
+ console.log(`${data.processedFiles}/${data.totalFiles} files (${data.progress}%)`);
193
+ updateUI(data.processedFiles, data.totalFiles, data.progress);
194
+ } else {
195
+ // Fallback: chunks (для старых версий backend)
196
+ console.log(`${data.currentChunk}/${data.totalChunks} chunks`);
197
+ }
198
+ });
149
199
 
150
- ### Архитектура (Pure Cloud-First)
151
- - **Backend SDK** только HTTP API клиент, НЕ работает с файловой системой
152
- - **Client Extension** сканирует файлы, создает chunks, вычисляет hashes
153
- - **Только Delta-Chunking** — filesystem индексация удалена
200
+ sdk.projectSync.on('sync-completed', (data) => {
201
+ const files = data.statistics?.totalFiles || 0;
202
+ console.log(`Indexed ${files} files in ${data.duration}ms`);
203
+ });
204
+ ```
205
+
206
+ ## 🔧 Как работать с SDK
154
207
 
155
- ### Индексация проекта
208
+ ### Индексация проекта
156
209
  ```typescript
157
210
  // ✅ ЕДИНСТВЕННЫЙ способ индексации (v6.2.2+):
158
211
  await sdk.deltaManager.syncEncryptedChunks(projectId, chunks, rootHash, {
@@ -262,57 +315,221 @@ for await (const chunk of sdk.chat.streamChat(messages, { model: 'claude-3-5-son
262
315
  }
263
316
  ```
264
317
 
265
- ## 🔄 Миграция на v6.2.2+
318
+ ## ℹ️ Архитектура
319
+
320
+ **Pure Cloud-First:**
321
+ - Backend SDK — HTTP клиент (НЕ работает с файлами)
322
+ - Client Extension — сканирует файлы, создает chunks
323
+ - Только Delta-Chunking — filesystem индексация удалена
324
+
325
+ <details>
326
+ <summary><b>Миграция с v6.x</b></summary>
266
327
 
267
- ### Что изменилось
268
328
  **BREAKING CHANGES:**
269
- - ❌ Удален `sdk.projects.startIndexing()` - использовался для filesystem индексации
270
- - Удален `sdk.indexing.*` API - был удален в v5.x
271
- - ✅ Используйте только `sdk.deltaManager.syncEncryptedChunks()`
329
+ - ❌ Удален `sdk.projects.startIndexing()`
330
+ - Используйте `sdk.deltaManager.syncEncryptedChunks()`
272
331
 
273
- ### Как мигрировать
274
332
  ```typescript
275
- // ❌ СТАРЫЙ КОД (НЕ РАБОТАЕТ):
276
- // await sdk.projects.startIndexing(projectId, { force: true });
333
+ // ❌ Старый код:
334
+ // await sdk.projects.startIndexing(projectId);
335
+
336
+ // ✅ Новый код:
337
+ const chunks = await extension.scanAndCreateChunks();
338
+ const hash = extension.calculateMerkleRoot();
339
+ await sdk.deltaManager.syncEncryptedChunks(projectId, chunks, hash);
340
+ ```
277
341
 
278
- // ✅ НОВЫЙ КОД:
279
- // Client Extension создает chunks
280
- const chunks = await clientExtension.scanAndCreateChunks();
281
- const rootHash = clientExtension.calculateMerkleRoot();
342
+ </details>
282
343
 
283
- // SDK отправляет на сервер
284
- await sdk.deltaManager.syncEncryptedChunks(projectId, chunks, rootHash);
344
+ ## 📦 Ключевые типы данных
345
+
346
+ ### ProjectState (v7.1.0+)
347
+ ```typescript
348
+ interface ProjectState {
349
+ projectId: string;
350
+ projectName: string;
351
+ merkleRootHash: string | null; // Server Merkle root для сравнения
352
+ lastIndexedAt: Date | null;
353
+ totalChunks: number; // Технические детали
354
+ totalFiles: number; // ✨ Количество файлов для UI
355
+ indexingStatus: 'pending' | 'in-progress' | 'complete' | 'failed' | 'cancelled';
356
+ syncRequired?: boolean; // true если нужна синхронизация
357
+ lastSyncSessionId?: string;
358
+ }
359
+
360
+ // Использование:
361
+ const state = await sdk.projects.getProjectState(projectId, clientRootHash);
362
+ if (state.syncRequired) {
363
+ // Нужна синхронизация
364
+ }
365
+ console.log(`${state.totalFiles} files indexed`);
285
366
  ```
286
367
 
287
- **Почему:** Pure Cloud-First архитектура. Сервер не сканирует файлы - данные приходят от клиента.
368
+ ### SyncProgressEvent (v7.1.1+)
369
+ ```typescript
370
+ interface SyncProgressEvent {
371
+ projectId: string;
372
+ sessionId: string;
373
+ stage: 'receiving_chunks' | 'processing_chunks' | 'creating_embeddings' | 'updating_tree' | 'finalizing';
374
+ progress: number; // 0-100
375
+
376
+ // User-friendly (файлы) - основное для UI
377
+ processedFiles?: number; // 450
378
+ totalFiles?: number; // 722
379
+
380
+ // Technical (чанки) - опционально
381
+ currentChunk?: number;
382
+ totalChunks?: number;
383
+
384
+ estimatedTimeRemaining?: number; // секунды
385
+ details?: string;
386
+ timestamp: Date;
387
+ }
288
388
 
289
- ## 📚 Дополнительно
389
+ // Использование:
390
+ sdk.projectSync.on('sync-progress', (data) => {
391
+ if (data.totalFiles) {
392
+ statusBar.text = `${data.processedFiles}/${data.totalFiles} files`;
393
+ }
394
+ });
395
+ ```
290
396
 
291
- ### TypeScript типы
292
- SDK полностью типизирован. Импортируйте интерфейсы:
397
+ ### SyncCompletedEvent (v7.1.1+)
293
398
  ```typescript
294
- import { ChatMessage, ChatOptions, Project, ProjectState } from 'solver-sdk';
399
+ interface SyncCompletedEvent {
400
+ projectId: string;
401
+ sessionId: string;
402
+ status: 'success' | 'failed' | 'cancelled';
403
+ totalProcessed: number;
404
+ duration: number; // миллисекунды
405
+ errors?: string[];
406
+ warnings?: string[];
407
+ statistics?: {
408
+ filesIndexed: number;
409
+ embeddingsCreated: number;
410
+ chunksProcessed: number;
411
+ totalSize: number;
412
+ totalFiles?: number; // ✨ Для финального отображения
413
+ };
414
+ }
295
415
  ```
296
416
 
297
- ### Обработка ошибок
417
+ ### RecoveryInfo
298
418
  ```typescript
299
- try {
300
- await sdk.projects.getProject(projectId);
301
- } catch (error) {
302
- console.error(`[HTTP ${error.status}] ${error.message}`);
303
- // v6.1.3+: читаемые сообщения ошибок вместо [object Object]
419
+ interface RecoveryInfo {
420
+ sessionId: string;
421
+ projectId: string;
422
+ projectName: string;
423
+ status: 'interrupted' | 'paused' | 'active' | 'uploading';
424
+ progress: {
425
+ received: number; // Чанки получены
426
+ processed: number; // Чанки обработаны
427
+ total: number; // Всего ожидается
428
+ percentage: number; // 0-100
429
+ processedFiles?: number; // ✨ Файлы обработаны
430
+ totalFiles?: number; // ✨ Всего файлов
431
+ filesPercentage?: number; // ✨ 0-100 по файлам
432
+ };
433
+ canResume: boolean;
434
+ needsRecovery: boolean;
435
+ interruptedAt?: Date;
304
436
  }
305
437
  ```
306
438
 
307
- ### Debug режим
439
+ ## 🆘 Быстрое решение проблем
440
+
441
+ ### Проблема: "0 files" после индексации
442
+ ```typescript
443
+ // Проверить:
444
+ const state = await sdk.projects.getProjectState(projectId);
445
+ console.log(state.totalFiles); // Должно быть > 0
446
+
447
+ // Если 0 - backend не сохранил totalFiles
448
+ // Решение: Обновите backend до последней версии
449
+ ```
450
+
451
+ ### Проблема: Нет WebSocket обновлений
308
452
  ```typescript
453
+ // 1. Проверить подключение
454
+ console.log(sdk.isWebSocketConnected); // должно быть true
455
+
456
+ // 2. Проверить подписку
457
+ sdk.projectSync.subscribeToProject(projectId);
458
+
459
+ // 3. Проверить токен (production)
309
460
  const sdk = await CodeSolverSDK.create({
310
461
  baseURL: 'https://workai.su/api/v1',
462
+ getAuthToken: () => authManager.getAccessToken() // OAuth required
463
+ });
464
+
465
+ // 4. Fallback на HTTP polling
466
+ const status = await sdk.projects.getIndexingStatus(projectId);
467
+ ```
468
+
469
+ ### Проблема: Прерванная синхронизация
470
+ ```typescript
471
+ // Проверить recovery status
472
+ const recovery = await sdk.projects.getRecoveryStatus(projectId);
473
+ if (recovery.needsRecovery) {
474
+ // Показать UI диалог
475
+ const percentage = recovery.progress.filesPercentage || recovery.progress.percentage;
476
+ const files = `${recovery.progress.processedFiles}/${recovery.progress.totalFiles}`;
477
+
478
+ // Пользователь выбирает:
479
+ await sdk.projects.resumeSync(projectId); // Продолжить
480
+ // или
481
+ await sdk.projects.cancelRecovery(projectId); // Начать заново
482
+ }
483
+ ```
484
+
485
+ ### Проблема: 401/403 ошибки
486
+ ```typescript
487
+ // v7.0.1+: По умолчанию возвращает null
488
+ const projects = await sdk.projects.getAllProjects();
489
+ if (!projects) {
490
+ // Токен истек
491
+ await authManager.refreshToken();
492
+ // Повторить запрос
493
+ }
494
+
495
+ // Старое поведение (throw):
496
+ const sdk = await CodeSolverSDK.create({
497
+ suppressAuthErrors: false
498
+ });
499
+ ```
500
+
501
+ ## 📚 Справка
502
+
503
+ ### TypeScript типы
504
+ ```typescript
505
+ import {
506
+ ChatMessage,
507
+ ChatOptions,
508
+ Project,
509
+ ProjectState,
510
+ SyncProgressEvent,
511
+ SyncCompletedEvent,
512
+ RecoveryInfo
513
+ } from '@androidsprintteam/solver-sdk';
514
+ ```
515
+
516
+ ### Debug режим
517
+ ```typescript
518
+ const sdk = await CodeSolverSDK.create({
311
519
  debug: 'verbose', // silent | error | warn | info | debug | verbose
312
520
  webSocket: { debug: true }
313
521
  });
314
522
  ```
315
523
 
524
+ ### Обработка ошибок
525
+ ```typescript
526
+ try {
527
+ await sdk.projects.getProject(projectId);
528
+ } catch (error) {
529
+ console.error(`[HTTP ${error.status}] ${error.message}`);
530
+ }
531
+ ```
532
+
316
533
  ## 📄 License
317
534
 
318
535
  MIT
@@ -11,6 +11,18 @@ class ProjectsApi {
11
11
  // ===== ОСНОВНЫЕ МЕТОДЫ УПРАВЛЕНИЯ ПРОЕКТАМИ =====
12
12
  /**
13
13
  * Получает все проекты пользователя
14
+ *
15
+ * @returns {Promise<Project[] | null>} Массив проектов или null при auth ошибках (401/403)
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const projects = await sdk.projects.getAllProjects();
20
+ * if (!projects) {
21
+ * // Auth error - токен истек
22
+ * await authManager.refreshToken();
23
+ * return;
24
+ * }
25
+ * ```
14
26
  */
15
27
  async getAllProjects() {
16
28
  const projects = await this.httpClient.get('/api/v1/projects');
@@ -18,12 +30,27 @@ class ProjectsApi {
18
30
  }
19
31
  /**
20
32
  * Альтернативное имя для getAllProjects() для совместимости
33
+ *
34
+ * @returns {Promise<Project[] | null>} Массив проектов или null при auth ошибках (401/403)
21
35
  */
22
36
  async getProjects() {
23
37
  return this.getAllProjects();
24
38
  }
25
39
  /**
26
40
  * Находит или создает проект по имени
41
+ *
42
+ * @param {string} projectName Имя проекта
43
+ * @returns {Promise<Project | null>} Проект или null при auth ошибках (401/403)
44
+ *
45
+ * @example
46
+ * ```typescript
47
+ * const project = await sdk.projects.findOrCreateProject('MyProject');
48
+ * if (!project) {
49
+ * // Auth error - токен истек
50
+ * return;
51
+ * }
52
+ * console.log(project.id);
53
+ * ```
27
54
  */
28
55
  async findOrCreateProject(projectName) {
29
56
  if (!projectName?.trim()) {
@@ -36,13 +63,20 @@ class ProjectsApi {
36
63
  }
37
64
  /**
38
65
  * Получает проекты, готовые к использованию
66
+ *
67
+ * @returns {Promise<Project[] | null>} Массив проектов или null при auth ошибках (401/403)
39
68
  */
40
69
  async getReadyProjects() {
41
70
  const allProjects = await this.getAllProjects();
71
+ if (!allProjects)
72
+ return null;
42
73
  return allProjects.filter(project => project.indexStatus === 'indexed');
43
74
  }
44
75
  /**
45
76
  * Получает проект по ID
77
+ *
78
+ * @param {string} projectId ID проекта
79
+ * @returns {Promise<Project | null>} Проект или null при auth ошибках (401/403)
46
80
  */
47
81
  async getProject(projectId) {
48
82
  this.validateProjectId(projectId);
@@ -51,6 +85,11 @@ class ProjectsApi {
51
85
  }
52
86
  /**
53
87
  * Создает новый проект
88
+ *
89
+ * @param {string} name Имя проекта
90
+ * @param {any} data Дополнительные данные
91
+ * @param {ProjectOptions} options Опции проекта
92
+ * @returns {Promise<Project | null>} Созданный проект или null при auth ошибках (401/403)
54
93
  */
55
94
  async createProject(name, data, options) {
56
95
  if (!name?.trim()) {
@@ -74,6 +113,9 @@ class ProjectsApi {
74
113
  // ===== ИНДЕКСАЦИЯ И СТАТУС =====
75
114
  /**
76
115
  * Получает статус проекта
116
+ *
117
+ * @param {string} projectId ID проекта
118
+ * @returns {Promise<any | null>} Статус проекта или null при auth ошибках (401/403)
77
119
  */
78
120
  async getProjectStatus(projectId) {
79
121
  this.validateProjectId(projectId);
@@ -81,6 +123,9 @@ class ProjectsApi {
81
123
  }
82
124
  /**
83
125
  * Получает статус индексации проекта
126
+ *
127
+ * @param {string} projectId ID проекта
128
+ * @returns {Promise<any | null>} Статус индексации или null при auth ошибках (401/403)
84
129
  */
85
130
  async getIndexingStatus(projectId) {
86
131
  this.validateProjectId(projectId);
@@ -88,11 +133,16 @@ class ProjectsApi {
88
133
  }
89
134
  /**
90
135
  * Отменяет индексацию проекта
136
+ *
137
+ * @param {string} projectId ID проекта
138
+ * @returns {Promise<boolean | null>} true если отменено, false при ошибке, null при auth ошибке (401/403)
91
139
  */
92
140
  async cancelIndexing(projectId) {
93
141
  this.validateProjectId(projectId);
94
142
  try {
95
- await this.httpClient.post(`/api/v1/projects/${projectId}/cancel-indexing`);
143
+ const result = await this.httpClient.post(`/api/v1/projects/${projectId}/cancel-indexing`);
144
+ if (result === null)
145
+ return null; // Auth error
96
146
  return true;
97
147
  }
98
148
  catch (error) {
@@ -102,11 +152,16 @@ class ProjectsApi {
102
152
  }
103
153
  /**
104
154
  * Очищает ошибку индексации
155
+ *
156
+ * @param {string} projectId ID проекта
157
+ * @returns {Promise<boolean | null>} true если очищено, false при ошибке, null при auth ошибке (401/403)
105
158
  */
106
159
  async clearIndexingError(projectId) {
107
160
  this.validateProjectId(projectId);
108
161
  try {
109
- await this.httpClient.post(`/api/v1/projects/${projectId}/clear-error`);
162
+ const result = await this.httpClient.post(`/api/v1/projects/${projectId}/clear-error`);
163
+ if (result === null)
164
+ return null; // Auth error
110
165
  return true;
111
166
  }
112
167
  catch (error) {
@@ -133,6 +188,7 @@ class ProjectsApi {
133
188
  merkleRootHash: response.merkleRootHash || null,
134
189
  lastIndexedAt: response.lastIndexedAt ? new Date(response.lastIndexedAt) : null,
135
190
  totalChunks: response.totalChunks || 0,
191
+ totalFiles: response.totalFiles || 0,
136
192
  indexingStatus: response.indexingStatus || 'unknown',
137
193
  syncRequired: response.syncRequired,
138
194
  lastSyncSessionId: response.lastSyncSessionId
@@ -1 +1 @@
1
- {"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAscH,gCAAgC;AAChC,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;AAucH,gCAAgC;AAChC,+CAA6B"}