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.
- package/README.md +475 -364
- package/dist/cjs/api/indexing-api.js +182 -0
- package/dist/cjs/api/indexing-api.js.map +1 -0
- package/dist/cjs/api/projects-api.js +42 -3
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +19 -2
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +62 -5
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/utils/project-sync-client.js +284 -0
- package/dist/cjs/utils/project-sync-client.js.map +1 -0
- package/dist/esm/api/indexing-api.js +178 -0
- package/dist/esm/api/indexing-api.js.map +1 -0
- package/dist/esm/api/projects-api.js +42 -3
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +19 -2
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +62 -5
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/utils/project-sync-client.js +280 -0
- package/dist/esm/utils/project-sync-client.js.map +1 -0
- package/dist/types/api/indexing-api.d.ts +131 -0
- package/dist/types/api/indexing-api.d.ts.map +1 -0
- package/dist/types/api/projects-api.d.ts +31 -2
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +7 -0
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +30 -1
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +16 -0
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/project-sync-client.d.ts +142 -0
- package/dist/types/utils/project-sync-client.d.ts.map +1 -0
- package/package.json +14 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-api.js","sourceRoot":"","sources":["../../../src/api/search-api.ts"],"names":[],"mappings":"
|
|
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
|
-
* Версия
|
|
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/
|
|
196
|
-
'/api/v1/
|
|
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"}
|