solver-sdk 5.1.3 → 5.1.5

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.
Files changed (34) hide show
  1. package/README.md +475 -364
  2. package/dist/cjs/api/indexing-api.js +182 -0
  3. package/dist/cjs/api/indexing-api.js.map +1 -0
  4. package/dist/cjs/api/projects-api.js +42 -3
  5. package/dist/cjs/api/projects-api.js.map +1 -1
  6. package/dist/cjs/api/search-api.js +19 -2
  7. package/dist/cjs/api/search-api.js.map +1 -1
  8. package/dist/cjs/code-solver-sdk.js +62 -5
  9. package/dist/cjs/code-solver-sdk.js.map +1 -1
  10. package/dist/cjs/utils/project-sync-client.js +284 -0
  11. package/dist/cjs/utils/project-sync-client.js.map +1 -0
  12. package/dist/esm/api/indexing-api.js +178 -0
  13. package/dist/esm/api/indexing-api.js.map +1 -0
  14. package/dist/esm/api/projects-api.js +42 -3
  15. package/dist/esm/api/projects-api.js.map +1 -1
  16. package/dist/esm/api/search-api.js +19 -2
  17. package/dist/esm/api/search-api.js.map +1 -1
  18. package/dist/esm/code-solver-sdk.js +62 -5
  19. package/dist/esm/code-solver-sdk.js.map +1 -1
  20. package/dist/esm/utils/project-sync-client.js +280 -0
  21. package/dist/esm/utils/project-sync-client.js.map +1 -0
  22. package/dist/types/api/indexing-api.d.ts +131 -0
  23. package/dist/types/api/indexing-api.d.ts.map +1 -0
  24. package/dist/types/api/projects-api.d.ts +31 -2
  25. package/dist/types/api/projects-api.d.ts.map +1 -1
  26. package/dist/types/api/search-api.d.ts +7 -0
  27. package/dist/types/api/search-api.d.ts.map +1 -1
  28. package/dist/types/code-solver-sdk.d.ts +30 -1
  29. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  30. package/dist/types/interfaces/sdk-options.d.ts +16 -0
  31. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  32. package/dist/types/utils/project-sync-client.d.ts +142 -0
  33. package/dist/types/utils/project-sync-client.d.ts.map +1 -0
  34. package/package.json +14 -8
@@ -1 +1 @@
1
- {"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"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"}
@@ -4,12 +4,15 @@ import { SearchApi } from './api/search-api.js';
4
4
  import { ChatApi } from './api/chat-api/index.js';
5
5
  import { ToolsApi } from './api/tools-api.js';
6
6
  import { UpdatesApi } from './api/updates-api.js';
7
+ import { IndexingApi } from './api/indexing-api.js';
7
8
  import { ModelsApi } from './api/models-api.js';
8
9
  import { VERSION } from './version.js';
9
10
  // 🔄 Delta-Chunking imports
10
11
  import { DeltaChunkingApi } from './api/delta-chunking-api.js';
11
12
  import { DeltaChunkingManager } from './delta-chunking/delta-chunking-manager.js';
12
13
  import { DeltaChunkingUtils } from './delta-chunking/delta-chunking-utils.js';
14
+ // 🔌 WebSocket imports
15
+ import { ProjectSyncClient } from './utils/project-sync-client.js';
13
16
  /**
14
17
  * Определение типа среды выполнения
15
18
  * @returns 'browser' | 'node' | 'unknown'
@@ -25,7 +28,7 @@ function getEnvironment() {
25
28
  }
26
29
  /**
27
30
  * Основной класс SDK для работы с Code Solver API
28
- * Версия 3.0 - чистый HTTP, без WebSocket
31
+ * Версия 5.1+ - HTTP + WebSocket для real-time уведомлений
29
32
  */
30
33
  export class CodeSolverSDK {
31
34
  /**
@@ -122,6 +125,7 @@ export class CodeSolverSDK {
122
125
  // Инициализируем API клиенты
123
126
  this._projects = new ProjectsApi(this.httpClient);
124
127
  this._search = new SearchApi(this.httpClient);
128
+ this._indexing = new IndexingApi(this.httpClient);
125
129
  this._chat = new ChatApi(this.httpClient, {
126
130
  debug: this._options.debug,
127
131
  streamLogging: this._options.streamLogging
@@ -139,6 +143,19 @@ export class CodeSolverSDK {
139
143
  deltaUtils, this._options, this.logger);
140
144
  this.logger.log('🔄 Delta-Chunking инициализирован');
141
145
  }
146
+ // 🔌 Инициализируем WebSocket клиент если включен
147
+ if (this._options.webSocket?.enabled !== false) { // По умолчанию включен
148
+ const wsOptions = {
149
+ baseURL: this._options.baseURL,
150
+ headers: this._options.headers,
151
+ connectionTimeout: this._options.webSocket?.connectionTimeout || 10000,
152
+ maxRetries: this._options.webSocket?.maxRetries || 3,
153
+ retryDelay: this._options.webSocket?.retryDelay || 2000,
154
+ debug: this._options.webSocket?.debug || false,
155
+ };
156
+ this._projectSyncClient = new ProjectSyncClient(wsOptions);
157
+ this.logger.log('🔌 WebSocket клиент инициализирован для project-sync');
158
+ }
142
159
  }
143
160
  /**
144
161
  * Получает версию SDK
@@ -189,12 +206,11 @@ export class CodeSolverSDK {
189
206
  endpoints: {},
190
207
  errors: []
191
208
  };
192
- // Проверяем основные эндпоинты согласно документации
209
+ // Проверяем основные эндпоинты согласно актуальной документации
193
210
  const endpoints = [
194
211
  '/health',
195
- '/api/v1/status',
196
- '/api/v1/projects',
197
- '/api/v1/models'
212
+ '/api/v1/projects'
213
+ // Убираем несуществующие endpoints: '/api/v1/status', '/api/v1/models'
198
214
  ];
199
215
  for (const endpoint of endpoints) {
200
216
  try {
@@ -223,6 +239,13 @@ export class CodeSolverSDK {
223
239
  get search() {
224
240
  return this._search;
225
241
  }
242
+ /**
243
+ * 🚀 Получение API для управления индексацией
244
+ * @returns {IndexingApi} API для индексации
245
+ */
246
+ get indexing() {
247
+ return this._indexing;
248
+ }
226
249
  /**
227
250
  * Получает API для работы с чатом
228
251
  * @returns {ChatApi} API для работы с чатом
@@ -376,6 +399,40 @@ export class CodeSolverSDK {
376
399
  get deltaManager() {
377
400
  return this._deltaManager;
378
401
  }
402
+ /**
403
+ * 🔌 Получение WebSocket клиента для project-sync уведомлений
404
+ * @returns {ProjectSyncClient | undefined} WebSocket клиент или undefined если не включен
405
+ */
406
+ get projectSync() {
407
+ return this._projectSyncClient;
408
+ }
409
+ /**
410
+ * 🔌 Подключение к WebSocket для получения real-time уведомлений
411
+ * @returns {Promise<void>} Promise который разрешается при успешном подключении
412
+ */
413
+ async connectWebSocket() {
414
+ if (!this._projectSyncClient) {
415
+ throw new Error('WebSocket клиент не инициализирован. Включите webSocket.enabled в опциях SDK.');
416
+ }
417
+ await this._projectSyncClient.connect();
418
+ this.logger.log('🔌 WebSocket подключение установлено');
419
+ }
420
+ /**
421
+ * 🔌 Отключение от WebSocket
422
+ */
423
+ disconnectWebSocket() {
424
+ if (this._projectSyncClient) {
425
+ this._projectSyncClient.disconnect();
426
+ this.logger.log('🔌 WebSocket отключен');
427
+ }
428
+ }
429
+ /**
430
+ * 🔌 Проверка статуса WebSocket подключения
431
+ * @returns {boolean} true если WebSocket подключен
432
+ */
433
+ get isWebSocketConnected() {
434
+ return this._projectSyncClient?.isConnected || false;
435
+ }
379
436
  }
380
437
  /** Глобальный обработчик ошибок */
381
438
  CodeSolverSDK.errorHandler = null;
@@ -1 +1 @@
1
- {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-solver-sdk.js","sourceRoot":"","sources":["../../src/code-solver-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * 🔌 Project Sync WebSocket Client
3
+ *
4
+ * Клиент для работы с real-time уведомлениями о статусе синхронизации проектов.
5
+ * Интегрируется с backend ProjectSyncGateway через Socket.io.
6
+ *
7
+ * @features
8
+ * - Real-time push notifications о статусе индексации
9
+ * - Auto-reconnection при разрыве соединения
10
+ * - Graceful fallback к REST polling
11
+ * - TypeScript поддержка для всех событий
12
+ */
13
+ import { io } from 'socket.io-client';
14
+ /**
15
+ * 🔌 WebSocket клиент для project sync уведомлений
16
+ */
17
+ export class ProjectSyncClient {
18
+ constructor(options) {
19
+ this.socket = null;
20
+ this.connected = false;
21
+ this.retryCount = 0;
22
+ this.reconnectTimer = null;
23
+ this.subscribedProjects = new Set();
24
+ // Event handlers
25
+ this.eventHandlers = new Map();
26
+ this.baseURL = options.baseURL;
27
+ this.options = {
28
+ connectionTimeout: 10000,
29
+ maxRetries: 5,
30
+ retryDelay: 2000,
31
+ debug: false,
32
+ ...options
33
+ };
34
+ // Инициализируем logger
35
+ this.logger = {
36
+ log: (msg) => this.options.debug && console.log(`[ProjectSyncClient] ${msg}`),
37
+ warn: (msg) => this.options.debug && console.warn(`[ProjectSyncClient] ${msg}`),
38
+ error: (msg) => console.error(`[ProjectSyncClient] ${msg}`),
39
+ debug: (msg) => this.options.debug && console.debug(`[ProjectSyncClient] ${msg}`)
40
+ };
41
+ // Инициализируем event handlers map
42
+ const eventTypes = ['sync-status-update', 'sync-progress', 'sync-completed', 'error', 'connected', 'disconnected'];
43
+ eventTypes.forEach(type => {
44
+ this.eventHandlers.set(type, new Set());
45
+ });
46
+ }
47
+ /**
48
+ * 🔌 Подключение к WebSocket
49
+ */
50
+ async connect() {
51
+ return new Promise((resolve, reject) => {
52
+ try {
53
+ this.logger.debug(`Подключение к ${this.baseURL}/project-sync`);
54
+ // Создаем Socket.io соединение
55
+ this.socket = io(`${this.baseURL}/project-sync`, {
56
+ transports: ['websocket', 'polling'],
57
+ timeout: this.options.connectionTimeout,
58
+ reconnectionAttempts: 0, // Отключаем автоматический reconnect Socket.io
59
+ extraHeaders: this.options.headers || {},
60
+ });
61
+ // Обработчик успешного подключения
62
+ this.socket.on('connect', () => {
63
+ this.connected = true;
64
+ this.retryCount = 0;
65
+ this.logger.log('✅ WebSocket подключение установлено');
66
+ this.emit('connected', {});
67
+ resolve();
68
+ });
69
+ // Обработчик отключения
70
+ this.socket.on('disconnect', (reason) => {
71
+ this.connected = false;
72
+ this.logger.warn(`🔌 WebSocket отключен: ${reason}`);
73
+ this.emit('disconnected', { reason });
74
+ // Автоматический переподключение если отключение не намеренное
75
+ if (reason === 'io server disconnect') {
76
+ this.scheduleReconnect();
77
+ }
78
+ });
79
+ // Обработчик ошибок подключения
80
+ this.socket.on('connect_error', (error) => {
81
+ this.logger.error(`❌ Ошибка подключения: ${error.message}`);
82
+ reject(new Error(`WebSocket connection failed: ${error.message}`));
83
+ });
84
+ // 📊 Обработчики project sync событий
85
+ this.setupEventHandlers();
86
+ // Таймаут подключения
87
+ setTimeout(() => {
88
+ if (!this.connected) {
89
+ reject(new Error('WebSocket connection timeout'));
90
+ }
91
+ }, this.options.connectionTimeout);
92
+ }
93
+ catch (error) {
94
+ reject(error);
95
+ }
96
+ });
97
+ }
98
+ /**
99
+ * ❌ Отключение от WebSocket
100
+ */
101
+ disconnect() {
102
+ if (this.reconnectTimer) {
103
+ clearTimeout(this.reconnectTimer);
104
+ this.reconnectTimer = null;
105
+ }
106
+ if (this.socket) {
107
+ this.socket.disconnect();
108
+ this.socket = null;
109
+ }
110
+ this.connected = false;
111
+ this.subscribedProjects.clear();
112
+ this.logger.log('🔌 WebSocket отключен вручную');
113
+ }
114
+ /**
115
+ * 📡 Подписка на проект для получения уведомлений
116
+ */
117
+ subscribeToProject(projectId, userId) {
118
+ if (!this.connected || !this.socket) {
119
+ this.logger.warn(`⚠️ Попытка подписки на проект ${projectId} без соединения`);
120
+ return;
121
+ }
122
+ const joinData = {
123
+ projectId,
124
+ userId
125
+ };
126
+ this.socket.emit('join-project-sync', joinData);
127
+ this.subscribedProjects.add(projectId);
128
+ this.logger.debug(`📡 Подписка на проект: ${projectId}`);
129
+ }
130
+ /**
131
+ * 📡 Отписка от проекта
132
+ */
133
+ unsubscribeFromProject(projectId) {
134
+ if (!this.connected || !this.socket) {
135
+ return;
136
+ }
137
+ this.socket.emit('leave-project-sync', { projectId });
138
+ this.subscribedProjects.delete(projectId);
139
+ this.logger.debug(`📡 Отписка от проекта: ${projectId}`);
140
+ }
141
+ /**
142
+ * 👂 Подписка на события
143
+ */
144
+ on(event, handler) {
145
+ const handlers = this.eventHandlers.get(event);
146
+ if (handlers) {
147
+ handlers.add(handler);
148
+ }
149
+ }
150
+ /**
151
+ * 👂 Отписка от событий
152
+ */
153
+ off(event, handler) {
154
+ const handlers = this.eventHandlers.get(event);
155
+ if (handlers) {
156
+ handlers.delete(handler);
157
+ }
158
+ }
159
+ /**
160
+ * 📢 Эмиссия событий
161
+ */
162
+ emit(event, data) {
163
+ const handlers = this.eventHandlers.get(event);
164
+ if (handlers) {
165
+ handlers.forEach(handler => {
166
+ try {
167
+ handler(data);
168
+ }
169
+ catch (error) {
170
+ this.logger.error(`Error in event handler for ${event}: ${error}`);
171
+ }
172
+ });
173
+ }
174
+ }
175
+ /**
176
+ * 🔧 Настройка обработчиков событий от backend
177
+ */
178
+ setupEventHandlers() {
179
+ if (!this.socket)
180
+ return;
181
+ // 📊 Обновление статуса синхронизации
182
+ this.socket.on('sync-status-update', (data) => {
183
+ const safeData = {
184
+ projectId: data?.projectId || 'unknown',
185
+ sessionId: data?.sessionId || 'unknown',
186
+ status: data?.status || 'unknown',
187
+ progress: data?.progress || 0,
188
+ message: data?.message || '',
189
+ timestamp: data?.timestamp || new Date(),
190
+ chunksProcessed: data?.chunksProcessed || 0,
191
+ totalChunks: data?.totalChunks || 0,
192
+ embeddingsCreated: data?.embeddingsCreated || 0
193
+ };
194
+ this.logger.debug(`📊 Статус обновлен: ${safeData.status} для проекта ${safeData.projectId}`);
195
+ this.emit('sync-status-update', safeData);
196
+ });
197
+ // 📈 Прогресс синхронизации
198
+ this.socket.on('sync-progress', (data) => {
199
+ const safeData = {
200
+ projectId: data?.projectId || 'unknown',
201
+ sessionId: data?.sessionId || 'unknown',
202
+ stage: data?.stage || 'unknown',
203
+ progress: data?.progress || 0,
204
+ currentChunk: data?.currentChunk || 0,
205
+ totalChunks: data?.totalChunks || 0,
206
+ estimatedTimeRemaining: data?.estimatedTimeRemaining || 0,
207
+ details: data?.details || ''
208
+ };
209
+ this.logger.debug(`📈 Прогресс: ${safeData.progress}% (${safeData.stage}) для проекта ${safeData.projectId}`);
210
+ this.emit('sync-progress', safeData);
211
+ });
212
+ // ✅ Синхронизация завершена
213
+ this.socket.on('sync-completed', (data) => {
214
+ const safeData = {
215
+ projectId: data?.projectId || 'unknown',
216
+ sessionId: data?.sessionId || 'unknown',
217
+ success: data?.success !== false, // По умолчанию true
218
+ message: data?.message || '',
219
+ totalProcessed: data?.totalProcessed || 0,
220
+ duration: data?.duration || 0,
221
+ error: data?.error || ''
222
+ };
223
+ this.logger.log(`✅ Синхронизация завершена: ${safeData.success ? 'SUCCESS' : 'FAILED'} для проекта ${safeData.projectId}`);
224
+ this.emit('sync-completed', safeData);
225
+ });
226
+ // ❌ Ошибки
227
+ this.socket.on('error', (data) => {
228
+ // Безопасная обработка undefined/неполных данных
229
+ const safeData = {
230
+ projectId: data?.projectId || 'unknown',
231
+ sessionId: data?.sessionId || 'unknown',
232
+ error: data?.error || String(data) || 'Unknown error',
233
+ code: data?.code || 'UNKNOWN_ERROR',
234
+ timestamp: data?.timestamp || new Date(),
235
+ recoverable: data?.recoverable !== false // По умолчанию true
236
+ };
237
+ this.logger.error(`❌ Ошибка для проекта ${safeData.projectId}: ${safeData.error}`);
238
+ this.emit('error', safeData);
239
+ });
240
+ }
241
+ /**
242
+ * 🔄 Планирование переподключения
243
+ */
244
+ scheduleReconnect() {
245
+ if (this.retryCount >= this.options.maxRetries) {
246
+ this.logger.error(`❌ Превышено максимальное количество попыток переподключения (${this.options.maxRetries})`);
247
+ return;
248
+ }
249
+ const delay = Math.min(this.options.retryDelay * Math.pow(2, this.retryCount), 30000);
250
+ this.retryCount++;
251
+ this.logger.warn(`🔄 Переподключение через ${delay}ms (попытка ${this.retryCount}/${this.options.maxRetries})`);
252
+ this.reconnectTimer = setTimeout(async () => {
253
+ try {
254
+ await this.connect();
255
+ // Восстанавливаем подписки на проекты
256
+ this.subscribedProjects.forEach(projectId => {
257
+ this.subscribeToProject(projectId);
258
+ });
259
+ }
260
+ catch (error) {
261
+ const errorMessage = error instanceof Error ? error.message : String(error);
262
+ this.logger.error(`❌ Ошибка переподключения: ${errorMessage}`);
263
+ this.scheduleReconnect(); // Планируем следующую попытку
264
+ }
265
+ }, delay);
266
+ }
267
+ /**
268
+ * 🔍 Проверка статуса подключения
269
+ */
270
+ get isConnected() {
271
+ return this.connected;
272
+ }
273
+ /**
274
+ * 📋 Список подписанных проектов
275
+ */
276
+ get subscribedProjectIds() {
277
+ return Array.from(this.subscribedProjects);
278
+ }
279
+ }
280
+ //# sourceMappingURL=project-sync-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-sync-client.js","sourceRoot":"","sources":["../../../src/utils/project-sync-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * 🚀 Indexing API - управление индексацией проектов
3
+ *
4
+ * Предоставляет методы для запуска, остановки и мониторинга
5
+ * индексации проектов, а также получения статуса.
6
+ */
7
+ import { HttpClient } from '../utils/http-client.js';
8
+ /**
9
+ * Запрос на создание и индексацию проекта
10
+ */
11
+ export interface IndexProjectRequest {
12
+ /** Имя проекта */
13
+ name: string;
14
+ /** Описание проекта (опционально) */
15
+ description?: string;
16
+ }
17
+ /**
18
+ * Результат создания и индексации проекта
19
+ */
20
+ export interface IndexProjectResult {
21
+ /** ID созданного проекта */
22
+ projectId: string;
23
+ /** Имя проекта */
24
+ name: string;
25
+ /** Статус индексации */
26
+ status: string;
27
+ /** Сообщение о результате */
28
+ message?: string;
29
+ }
30
+ /**
31
+ * Статус индексации проекта
32
+ */
33
+ export interface IndexingStatus {
34
+ /** Текущий статус */
35
+ status: string;
36
+ /** Прогресс (0-100) */
37
+ progress: number;
38
+ /** Общее количество файлов */
39
+ totalFiles?: number;
40
+ /** Обработано файлов */
41
+ processedFiles?: number;
42
+ /** Текущий обрабатываемый файл */
43
+ currentFile?: string;
44
+ /** Сообщение об ошибке */
45
+ error?: string;
46
+ /** Время последнего обновления */
47
+ updatedAt?: string;
48
+ }
49
+ /**
50
+ * API для управления индексацией проектов
51
+ *
52
+ * @example
53
+ * ```javascript
54
+ * // Создание и индексация проекта
55
+ * const result = await sdk.indexing.indexProject('/path/to/project', 'My Project');
56
+ * console.log('Project ID:', result.projectId);
57
+ *
58
+ * // Получение статуса индексации
59
+ * const status = await sdk.indexing.getStatus(result.projectId);
60
+ * console.log('Progress:', status.progress);
61
+ *
62
+ * // Ожидание завершения индексации
63
+ * const finalStatus = await sdk.indexing.waitForCompletion(result.projectId);
64
+ * console.log('Final status:', finalStatus.status);
65
+ *
66
+ * // Отмена индексации
67
+ * await sdk.indexing.cancelIndexing(result.projectId);
68
+ * ```
69
+ */
70
+ export declare class IndexingApi {
71
+ private readonly httpClient;
72
+ constructor(httpClient: HttpClient);
73
+ /**
74
+ * Создает проект и запускает его индексацию
75
+ *
76
+ * @param {string} projectPath Путь к проекту (для совместимости с тестами)
77
+ * @param {string} projectName Имя проекта
78
+ * @param {string} [description] Описание проекта
79
+ * @returns {Promise<IndexProjectResult>} Результат создания проекта
80
+ */
81
+ indexProject(projectPath: string, projectName: string, description?: string): Promise<IndexProjectResult>;
82
+ /**
83
+ * Получает текущий статус индексации проекта
84
+ *
85
+ * ⚠️ ВАЖНО: Для real-time уведомлений используйте WebSocket:
86
+ * ```typescript
87
+ * // Правильно (real-time):
88
+ * await sdk.connectWebSocket();
89
+ * sdk.projectSync.on('sync-status-update', (status) => {
90
+ * console.log('Статус обновлен:', status);
91
+ * });
92
+ *
93
+ * // Неправильно (не делайте polling):
94
+ * // setInterval(() => sdk.indexing.getStatus(id), 2000); // ❌
95
+ * ```
96
+ *
97
+ * @param {string} projectId ID проекта
98
+ * @returns {Promise<IndexingStatus>} Текущий статус индексации
99
+ */
100
+ getStatus(projectId: string): Promise<IndexingStatus>;
101
+ /**
102
+ * Ожидает завершения индексации проекта
103
+ *
104
+ * ⚠️ DEPRECATED: Используйте WebSocket для real-time уведомлений
105
+ *
106
+ * @param {string} projectId ID проекта
107
+ * @param {number} [timeout=300000] Таймаут в миллисекундах (по умолчанию 5 минут)
108
+ * @returns {Promise<IndexingStatus>} Финальный статус индексации
109
+ */
110
+ waitForCompletion(projectId: string, timeout?: number): Promise<IndexingStatus>;
111
+ /**
112
+ * Отменяет текущую индексацию проекта
113
+ *
114
+ * @param {string} projectId ID проекта
115
+ * @returns {Promise<void>}
116
+ */
117
+ cancelIndexing(projectId: string): Promise<void>;
118
+ /**
119
+ * Перезапускает индексацию проекта
120
+ *
121
+ * @param {string} projectId ID проекта
122
+ * @returns {Promise<IndexingStatus>} Статус после перезапуска
123
+ */
124
+ restartIndexing(projectId: string): Promise<IndexingStatus>;
125
+ /**
126
+ * Валидация ID проекта
127
+ * @private
128
+ */
129
+ private validateProjectId;
130
+ }
131
+ //# sourceMappingURL=indexing-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexing-api.d.ts","sourceRoot":"","sources":["../../../src/api/indexing-api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;;;;;;OAOG;IACG,YAAY,CAChB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,kBAAkB,CAAC;IAoB9B;;;;;;;;;;;;;;;;;OAiBG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAgB3D;;;;;;;;OAQG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,MAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAyC7F;;;;;OAKG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD;;;;;OAKG;IACG,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBjE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}