solver-sdk 2.8.0 → 3.1.1
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 +327 -360
- package/dist/cjs/api/chat-api/index.js +23 -49
- package/dist/cjs/api/chat-api/index.js.map +1 -1
- package/dist/cjs/api/chat-api/interfaces.js +1 -0
- package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
- package/dist/cjs/api/context-api.js +6 -1
- package/dist/cjs/api/context-api.js.map +1 -1
- package/dist/cjs/api/models-api.js +43 -60
- package/dist/cjs/api/models-api.js.map +1 -1
- package/dist/cjs/api/projects-api.js +67 -295
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/api/search-api.js +131 -8
- package/dist/cjs/api/search-api.js.map +1 -1
- package/dist/cjs/code-solver-sdk.js +68 -322
- package/dist/cjs/code-solver-sdk.js.map +1 -1
- package/dist/cjs/index.js +3 -19
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/logger.js +4 -4
- package/dist/cjs/utils/logger.js.map +1 -1
- package/dist/esm/api/chat-api/index.js +22 -48
- package/dist/esm/api/chat-api/index.js.map +1 -1
- package/dist/esm/api/chat-api/interfaces.js +1 -0
- package/dist/esm/api/chat-api/interfaces.js.map +1 -1
- package/dist/esm/api/context-api.js +6 -1
- package/dist/esm/api/context-api.js.map +1 -1
- package/dist/esm/api/models-api.js +43 -60
- package/dist/esm/api/models-api.js.map +1 -1
- package/dist/esm/api/projects-api.js +67 -295
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/api/search-api.js +131 -8
- package/dist/esm/api/search-api.js.map +1 -1
- package/dist/esm/code-solver-sdk.js +68 -322
- package/dist/esm/code-solver-sdk.js.map +1 -1
- package/dist/esm/index.js +2 -18
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/logger.js +3 -3
- package/dist/esm/utils/logger.js.map +1 -1
- package/dist/types/api/chat-api/index.d.ts +1 -13
- package/dist/types/api/chat-api/index.d.ts.map +1 -1
- package/dist/types/api/chat-api/interfaces.d.ts +6 -54
- package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
- package/dist/types/api/chat-api/models.d.ts +3 -26
- package/dist/types/api/chat-api/models.d.ts.map +1 -1
- package/dist/types/api/context-api.d.ts.map +1 -1
- package/dist/types/api/models-api.d.ts +31 -62
- package/dist/types/api/models-api.d.ts.map +1 -1
- package/dist/types/api/projects-api.d.ts +50 -127
- package/dist/types/api/projects-api.d.ts.map +1 -1
- package/dist/types/api/search-api.d.ts +147 -6
- package/dist/types/api/search-api.d.ts.map +1 -1
- package/dist/types/code-solver-sdk.d.ts +36 -86
- package/dist/types/code-solver-sdk.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -14
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/sdk-options.d.ts +18 -66
- package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
- package/dist/types/utils/logger.d.ts +3 -3
- package/dist/types/utils/logger.d.ts.map +1 -1
- package/docs/README.md +53 -37
- package/docs/VSCODE_INTEGRATION.md +208 -371
- package/docs/indexing/INDEXING.md +658 -335
- package/package.json +26 -23
- package/dist/cjs/api/agents-api.js +0 -94
- package/dist/cjs/api/agents-api.js.map +0 -1
- package/dist/cjs/api/chat-api/websocket-helpers.js +0 -211
- package/dist/cjs/api/chat-api/websocket-helpers.js.map +0 -1
- package/dist/cjs/api/dependencies-api.js +0 -286
- package/dist/cjs/api/dependencies-api.js.map +0 -1
- package/dist/cjs/constants/websocket-events.constants.js +0 -170
- package/dist/cjs/constants/websocket-events.constants.js.map +0 -1
- package/dist/cjs/constants/websocket-namespaces.constants.js +0 -22
- package/dist/cjs/constants/websocket-namespaces.constants.js.map +0 -1
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/events.interfaces.js +0 -3
- package/dist/cjs/interfaces/websocket/events.interfaces.js.map +0 -1
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +0 -42
- package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
- package/dist/cjs/simple-indexing-client.js +0 -138
- package/dist/cjs/simple-indexing-client.js.map +0 -1
- package/dist/cjs/utils/code-solver-websocket-client.js +0 -497
- package/dist/cjs/utils/code-solver-websocket-client.js.map +0 -1
- package/dist/cjs/utils/connection-state-manager.js +0 -133
- package/dist/cjs/utils/connection-state-manager.js.map +0 -1
- package/dist/cjs/utils/indexing-websocket-client.js +0 -107
- package/dist/cjs/utils/indexing-websocket-client.js.map +0 -1
- package/dist/cjs/utils/session-manager.js +0 -114
- package/dist/cjs/utils/session-manager.js.map +0 -1
- package/dist/cjs/utils/simple-connection-monitor.js +0 -52
- package/dist/cjs/utils/simple-connection-monitor.js.map +0 -1
- package/dist/cjs/utils/websocket-client.js +0 -638
- package/dist/cjs/utils/websocket-client.js.map +0 -1
- package/dist/cjs/ws/base-ws-client.js +0 -280
- package/dist/cjs/ws/base-ws-client.js.map +0 -1
- package/dist/cjs/ws/dependencies-ws-client.js +0 -11
- package/dist/cjs/ws/dependencies-ws-client.js.map +0 -1
- package/dist/cjs/ws/file-editing-ws-client.js +0 -162
- package/dist/cjs/ws/file-editing-ws-client.js.map +0 -1
- package/dist/cjs/ws/filesystem-ws-client.js +0 -305
- package/dist/cjs/ws/filesystem-ws-client.js.map +0 -1
- package/dist/cjs/ws/indexing-ws-client.js +0 -275
- package/dist/cjs/ws/indexing-ws-client.js.map +0 -1
- package/dist/cjs/ws/notifications-ws-client.js +0 -12
- package/dist/cjs/ws/notifications-ws-client.js.map +0 -1
- package/dist/esm/api/agents-api.js +0 -90
- package/dist/esm/api/agents-api.js.map +0 -1
- package/dist/esm/api/chat-api/websocket-helpers.js +0 -205
- package/dist/esm/api/chat-api/websocket-helpers.js.map +0 -1
- package/dist/esm/api/dependencies-api.js +0 -282
- package/dist/esm/api/dependencies-api.js.map +0 -1
- package/dist/esm/constants/websocket-events.constants.js +0 -167
- package/dist/esm/constants/websocket-events.constants.js.map +0 -1
- package/dist/esm/constants/websocket-namespaces.constants.js +0 -19
- package/dist/esm/constants/websocket-namespaces.constants.js.map +0 -1
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/client-options.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/events.interfaces.js +0 -2
- package/dist/esm/interfaces/websocket/events.interfaces.js.map +0 -1
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +0 -39
- package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
- package/dist/esm/simple-indexing-client.js +0 -134
- package/dist/esm/simple-indexing-client.js.map +0 -1
- package/dist/esm/utils/code-solver-websocket-client.js +0 -492
- package/dist/esm/utils/code-solver-websocket-client.js.map +0 -1
- package/dist/esm/utils/connection-state-manager.js +0 -129
- package/dist/esm/utils/connection-state-manager.js.map +0 -1
- package/dist/esm/utils/indexing-websocket-client.js +0 -103
- package/dist/esm/utils/indexing-websocket-client.js.map +0 -1
- package/dist/esm/utils/session-manager.js +0 -109
- package/dist/esm/utils/session-manager.js.map +0 -1
- package/dist/esm/utils/simple-connection-monitor.js +0 -48
- package/dist/esm/utils/simple-connection-monitor.js.map +0 -1
- package/dist/esm/utils/websocket-client.js +0 -634
- package/dist/esm/utils/websocket-client.js.map +0 -1
- package/dist/esm/ws/base-ws-client.js +0 -276
- package/dist/esm/ws/base-ws-client.js.map +0 -1
- package/dist/esm/ws/dependencies-ws-client.js +0 -7
- package/dist/esm/ws/dependencies-ws-client.js.map +0 -1
- package/dist/esm/ws/file-editing-ws-client.js +0 -158
- package/dist/esm/ws/file-editing-ws-client.js.map +0 -1
- package/dist/esm/ws/filesystem-ws-client.js +0 -301
- package/dist/esm/ws/filesystem-ws-client.js.map +0 -1
- package/dist/esm/ws/indexing-ws-client.js +0 -271
- package/dist/esm/ws/indexing-ws-client.js.map +0 -1
- package/dist/esm/ws/notifications-ws-client.js +0 -8
- package/dist/esm/ws/notifications-ws-client.js.map +0 -1
- package/dist/types/api/agents-api.d.ts +0 -141
- package/dist/types/api/agents-api.d.ts.map +0 -1
- package/dist/types/api/chat-api/websocket-helpers.d.ts +0 -40
- package/dist/types/api/chat-api/websocket-helpers.d.ts.map +0 -1
- package/dist/types/api/dependencies-api.d.ts +0 -109
- package/dist/types/api/dependencies-api.d.ts.map +0 -1
- package/dist/types/constants/websocket-events.constants.d.ts +0 -144
- package/dist/types/constants/websocket-events.constants.d.ts.map +0 -1
- package/dist/types/constants/websocket-namespaces.constants.d.ts +0 -17
- package/dist/types/constants/websocket-namespaces.constants.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +0 -30
- package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +0 -51
- package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/events.interfaces.d.ts +0 -165
- package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +0 -1
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +0 -56
- package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +0 -1
- package/dist/types/simple-indexing-client.d.ts +0 -66
- package/dist/types/simple-indexing-client.d.ts.map +0 -1
- package/dist/types/utils/code-solver-websocket-client.d.ts +0 -144
- package/dist/types/utils/code-solver-websocket-client.d.ts.map +0 -1
- package/dist/types/utils/connection-state-manager.d.ts +0 -94
- package/dist/types/utils/connection-state-manager.d.ts.map +0 -1
- package/dist/types/utils/indexing-websocket-client.d.ts +0 -123
- package/dist/types/utils/indexing-websocket-client.d.ts.map +0 -1
- package/dist/types/utils/session-manager.d.ts +0 -98
- package/dist/types/utils/session-manager.d.ts.map +0 -1
- package/dist/types/utils/simple-connection-monitor.d.ts +0 -26
- package/dist/types/utils/simple-connection-monitor.d.ts.map +0 -1
- package/dist/types/utils/websocket-client.d.ts +0 -233
- package/dist/types/utils/websocket-client.d.ts.map +0 -1
- package/dist/types/ws/base-ws-client.d.ts +0 -119
- package/dist/types/ws/base-ws-client.d.ts.map +0 -1
- package/dist/types/ws/dependencies-ws-client.d.ts +0 -6
- package/dist/types/ws/dependencies-ws-client.d.ts.map +0 -1
- package/dist/types/ws/file-editing-ws-client.d.ts +0 -85
- package/dist/types/ws/file-editing-ws-client.d.ts.map +0 -1
- package/dist/types/ws/filesystem-ws-client.d.ts +0 -201
- package/dist/types/ws/filesystem-ws-client.d.ts.map +0 -1
- package/dist/types/ws/indexing-ws-client.d.ts +0 -94
- package/dist/types/ws/indexing-ws-client.d.ts.map +0 -1
- package/dist/types/ws/notifications-ws-client.d.ts +0 -5
- package/dist/types/ws/notifications-ws-client.d.ts.map +0 -1
- package/docs/ARCHITECTURE.md +0 -268
- package/docs/QUICK_START.md +0 -126
- package/docs/WEBSOCKET.md +0 -472
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ConnectionStateManager = void 0;
|
|
4
|
-
const logger_js_1 = require("./logger.js");
|
|
5
|
-
/**
|
|
6
|
-
* Класс для управления состоянием подключений
|
|
7
|
-
*/
|
|
8
|
-
class ConnectionStateManager {
|
|
9
|
-
/**
|
|
10
|
-
* Создает новый менеджер состояния подключений
|
|
11
|
-
* @param {ConnectionStateManagerOptions} options Опции менеджера состояния подключений
|
|
12
|
-
*/
|
|
13
|
-
constructor(options = {}) {
|
|
14
|
-
/** Хранилище состояний подключений */
|
|
15
|
-
this.states = new Map();
|
|
16
|
-
this.reconnectStrategy = options.reconnectStrategy || 'exponential';
|
|
17
|
-
this.retryDelay = options.retryDelay || 1000;
|
|
18
|
-
this.maxRetryDelay = options.maxRetryDelay || 30000;
|
|
19
|
-
this.logger = options.logger || (0, logger_js_1.createWebSocketLogger)('ConnectionStateManager');
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Получает состояние подключения для указанного пространства имен
|
|
23
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
24
|
-
* @returns {ConnectionState} Состояние подключения
|
|
25
|
-
*/
|
|
26
|
-
getState(namespace) {
|
|
27
|
-
if (!this.states.has(namespace)) {
|
|
28
|
-
// Инициализируем состояние по умолчанию
|
|
29
|
-
this.states.set(namespace, {
|
|
30
|
-
lastConnectTime: 0,
|
|
31
|
-
reconnectAttempts: 0,
|
|
32
|
-
connected: false,
|
|
33
|
-
reconnecting: false
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
return this.states.get(namespace);
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Устанавливает состояние подключения для указанного пространства имен
|
|
40
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
41
|
-
* @param {boolean} connected Состояние подключения
|
|
42
|
-
* @param {boolean} reconnecting Состояние переподключения
|
|
43
|
-
*/
|
|
44
|
-
setConnectionState(namespace, connected, reconnecting = false) {
|
|
45
|
-
const state = this.getState(namespace);
|
|
46
|
-
state.connected = connected;
|
|
47
|
-
state.reconnecting = reconnecting;
|
|
48
|
-
if (connected) {
|
|
49
|
-
state.lastConnectTime = Date.now();
|
|
50
|
-
// Сбрасываем счетчик попыток переподключения, если успешно подключились
|
|
51
|
-
if (!reconnecting) {
|
|
52
|
-
state.reconnectAttempts = 0;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
this.states.set(namespace, state);
|
|
56
|
-
this.logger.debug(`Обновлено состояние подключения для ${namespace}`, {
|
|
57
|
-
connected,
|
|
58
|
-
reconnecting,
|
|
59
|
-
attempts: state.reconnectAttempts,
|
|
60
|
-
lastConnect: state.lastConnectTime
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Увеличивает счетчик попыток переподключения для указанного пространства имен
|
|
65
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
66
|
-
* @returns {number} Новое количество попыток
|
|
67
|
-
*/
|
|
68
|
-
incrementReconnectAttempts(namespace) {
|
|
69
|
-
const state = this.getState(namespace);
|
|
70
|
-
state.reconnectAttempts++;
|
|
71
|
-
state.reconnecting = true;
|
|
72
|
-
this.states.set(namespace, state);
|
|
73
|
-
this.logger.debug(`Увеличен счетчик попыток переподключения для ${namespace}`, {
|
|
74
|
-
attempts: state.reconnectAttempts
|
|
75
|
-
});
|
|
76
|
-
return state.reconnectAttempts;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Рассчитывает задержку для переподключения на основе количества попыток и стратегии
|
|
80
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
81
|
-
* @returns {number} Задержка в миллисекундах
|
|
82
|
-
*/
|
|
83
|
-
calculateReconnectDelay(namespace) {
|
|
84
|
-
const state = this.getState(namespace);
|
|
85
|
-
const attempts = state.reconnectAttempts;
|
|
86
|
-
if (this.reconnectStrategy === 'exponential') {
|
|
87
|
-
// Экспоненциальный рост с фактором 1.5
|
|
88
|
-
const calculatedDelay = Math.min(this.retryDelay * Math.pow(1.5, attempts), this.maxRetryDelay);
|
|
89
|
-
// Добавляем случайный фактор (jitter) для предотвращения штормов переподключений
|
|
90
|
-
return calculatedDelay * (0.8 + Math.random() * 0.4);
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
// Линейный рост
|
|
94
|
-
return Math.min(this.retryDelay * (attempts + 1), this.maxRetryDelay);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Сбрасывает счетчик попыток переподключения для указанного пространства имен
|
|
99
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
100
|
-
*/
|
|
101
|
-
resetReconnectAttempts(namespace) {
|
|
102
|
-
const state = this.getState(namespace);
|
|
103
|
-
state.reconnectAttempts = 0;
|
|
104
|
-
state.reconnecting = false;
|
|
105
|
-
this.states.set(namespace, state);
|
|
106
|
-
this.logger.debug(`Сброшен счетчик попыток переподключения для ${namespace}`);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Регистрирует успешное подключение
|
|
110
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
111
|
-
*/
|
|
112
|
-
registerSuccessfulConnection(namespace) {
|
|
113
|
-
this.setConnectionState(namespace, true, false);
|
|
114
|
-
this.resetReconnectAttempts(namespace);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Регистрирует отключение
|
|
118
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
119
|
-
*/
|
|
120
|
-
registerDisconnection(namespace) {
|
|
121
|
-
this.setConnectionState(namespace, false, false);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Регистрирует начало процесса переподключения
|
|
125
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
126
|
-
*/
|
|
127
|
-
registerReconnecting(namespace) {
|
|
128
|
-
this.setConnectionState(namespace, false, true);
|
|
129
|
-
this.incrementReconnectAttempts(namespace);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
exports.ConnectionStateManager = ConnectionStateManager;
|
|
133
|
-
//# sourceMappingURL=connection-state-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-state-manager.js","sourceRoot":"","sources":["../../../src/utils/connection-state-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IndexingWebSocketClient = exports.IndexingEvent = void 0;
|
|
4
|
-
const websocket_client_js_1 = require("./websocket-client.js");
|
|
5
|
-
/**
|
|
6
|
-
* События индексации
|
|
7
|
-
*/
|
|
8
|
-
var IndexingEvent;
|
|
9
|
-
(function (IndexingEvent) {
|
|
10
|
-
/** Начало индексации */
|
|
11
|
-
IndexingEvent["START"] = "indexing_start";
|
|
12
|
-
/** Прогресс индексации */
|
|
13
|
-
IndexingEvent["PROGRESS"] = "indexing_progress";
|
|
14
|
-
/** Завершение индексации */
|
|
15
|
-
IndexingEvent["COMPLETE"] = "indexing_complete";
|
|
16
|
-
/** Ошибка индексации */
|
|
17
|
-
IndexingEvent["ERROR"] = "indexing_error";
|
|
18
|
-
})(IndexingEvent || (exports.IndexingEvent = IndexingEvent = {}));
|
|
19
|
-
/**
|
|
20
|
-
* WebSocket клиент для работы с индексацией
|
|
21
|
-
*/
|
|
22
|
-
class IndexingWebSocketClient extends websocket_client_js_1.WebSocketClient {
|
|
23
|
-
/**
|
|
24
|
-
* Создает новый WebSocket клиент для индексации
|
|
25
|
-
* @param {string} url URL для подключения
|
|
26
|
-
* @param {IndexingWebSocketOptions} [options] Опции клиента
|
|
27
|
-
*/
|
|
28
|
-
constructor(url, options = {}) {
|
|
29
|
-
// Сохраняем базовый URL
|
|
30
|
-
const baseUrl = url;
|
|
31
|
-
// Формируем URL с параметрами для проекта если он указан
|
|
32
|
-
let targetUrl = url;
|
|
33
|
-
if (options.projectId) {
|
|
34
|
-
const urlWithParams = new URL(url);
|
|
35
|
-
urlWithParams.searchParams.append('projectId', options.projectId);
|
|
36
|
-
urlWithParams.searchParams.append('type', 'indexing');
|
|
37
|
-
targetUrl = urlWithParams.toString();
|
|
38
|
-
}
|
|
39
|
-
super(targetUrl, {
|
|
40
|
-
...options,
|
|
41
|
-
headers: {
|
|
42
|
-
...(options.headers || {}),
|
|
43
|
-
...(options.apiKey ? { 'Authorization': `Bearer ${options.apiKey}` } : {})
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
/** Идентификатор проекта */
|
|
47
|
-
this.projectId = null;
|
|
48
|
-
this.baseUrl = baseUrl;
|
|
49
|
-
this.projectId = options.projectId || null;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Устанавливает идентификатор проекта
|
|
53
|
-
* @param {string} projectId Идентификатор проекта
|
|
54
|
-
*/
|
|
55
|
-
setProjectId(projectId) {
|
|
56
|
-
this.projectId = projectId;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Подключается к WebSocket для отслеживания индексации
|
|
60
|
-
* @param {string} [projectId] Идентификатор проекта (если не был указан в конструкторе)
|
|
61
|
-
* @returns {Promise<void>}
|
|
62
|
-
*/
|
|
63
|
-
async connect(projectId) {
|
|
64
|
-
const targetProjectId = projectId || this.projectId;
|
|
65
|
-
if (!targetProjectId) {
|
|
66
|
-
throw new Error('Project ID is required for indexing WebSocket connection');
|
|
67
|
-
}
|
|
68
|
-
// Сохраняем ID проекта
|
|
69
|
-
this.projectId = targetProjectId;
|
|
70
|
-
// Если проект изменился и клиент уже подключен, отключаемся
|
|
71
|
-
if (projectId && this.isConnected()) {
|
|
72
|
-
this.close();
|
|
73
|
-
}
|
|
74
|
-
// Выполняем соединение
|
|
75
|
-
await super.connect();
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Подписывается на события начала индексации
|
|
79
|
-
* @param {(data: {projectId: string}) => void} handler Обработчик события
|
|
80
|
-
*/
|
|
81
|
-
onStart(handler) {
|
|
82
|
-
this.on(IndexingEvent.START, handler);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Подписывается на события прогресса индексации
|
|
86
|
-
* @param {(data: IndexingProgressData) => void} handler Обработчик события
|
|
87
|
-
*/
|
|
88
|
-
onProgress(handler) {
|
|
89
|
-
this.on(IndexingEvent.PROGRESS, handler);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Подписывается на события завершения индексации
|
|
93
|
-
* @param {(data: IndexingCompleteData) => void} handler Обработчик события
|
|
94
|
-
*/
|
|
95
|
-
onComplete(handler) {
|
|
96
|
-
this.on(IndexingEvent.COMPLETE, handler);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Подписывается на события ошибок индексации
|
|
100
|
-
* @param {(data: IndexingErrorData) => void} handler Обработчик события
|
|
101
|
-
*/
|
|
102
|
-
onError(handler) {
|
|
103
|
-
this.on(IndexingEvent.ERROR, handler);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
exports.IndexingWebSocketClient = IndexingWebSocketClient;
|
|
107
|
-
//# sourceMappingURL=indexing-websocket-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexing-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/indexing-websocket-client.ts"],"names":[],"mappings":";;;AAAA,+DAAgF;AAEhF;;GAEG;AACH,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,wBAAwB;IACxB,yCAAwB,CAAA;IAExB,0BAA0B;IAC1B,+CAA8B,CAAA;IAE9B,4BAA4B;IAC5B,+CAA8B,CAAA;IAE9B,wBAAwB;IACxB,yCAAwB,CAAA;AAC1B,CAAC,EAZW,aAAa,6BAAb,aAAa,QAYxB;AAkFD;;GAEG;AACH,MAAa,uBAAwB,SAAQ,qCAAe;IAO1D;;;;OAIG;IACH,YAAY,GAAW,EAAE,UAAoC,EAAE;QAC7D,wBAAwB;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC;QAEpB,yDAAyD;QACzD,IAAI,SAAS,GAAG,GAAG,CAAC;QACpB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACnC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAClE,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACtD,SAAS,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAED,KAAK,CAAC,SAAS,EAAE;YACf,GAAG,OAAO;YACV,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3E;SACF,CAAC,CAAC;QA9BL,4BAA4B;QACpB,cAAS,GAAkB,IAAI,CAAC;QA+BtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAAiB;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAC,SAAkB;QACrC,MAAM,eAAe,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAEpD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC;QAEjC,4DAA4D;QAC5D,IAAI,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,OAA4C;QACzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAA6C;QAC7D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,OAA6C;QAC7D,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED;;;OAGG;IACI,OAAO,CAAC,OAA0C;QACvD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF;AApGD,0DAoGC"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionManager = exports.MemorySessionTokenStore = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Класс для хранения токенов сессий в памяти
|
|
6
|
-
*/
|
|
7
|
-
class MemorySessionTokenStore {
|
|
8
|
-
constructor() {
|
|
9
|
-
/** Хранилище токенов */
|
|
10
|
-
this.tokens = new Map();
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Получить токен сессии для указанного пространства имен
|
|
14
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
15
|
-
* @returns {string | null} Токен сессии или null, если не найден
|
|
16
|
-
*/
|
|
17
|
-
getToken(namespace) {
|
|
18
|
-
return this.tokens.get(namespace) || null;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Сохранить токен сессии для указанного пространства имен
|
|
22
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
23
|
-
* @param {string} token Токен сессии
|
|
24
|
-
*/
|
|
25
|
-
saveToken(namespace, token) {
|
|
26
|
-
this.tokens.set(namespace, token);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Удалить токен сессии для указанного пространства имен
|
|
30
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
31
|
-
*/
|
|
32
|
-
removeToken(namespace) {
|
|
33
|
-
this.tokens.delete(namespace);
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Проверить наличие токена для указанного пространства имен
|
|
37
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
38
|
-
* @returns {boolean} true, если токен есть
|
|
39
|
-
*/
|
|
40
|
-
hasToken(namespace) {
|
|
41
|
-
return this.tokens.has(namespace);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Очистить все токены
|
|
45
|
-
*/
|
|
46
|
-
clear() {
|
|
47
|
-
this.tokens.clear();
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.MemorySessionTokenStore = MemorySessionTokenStore;
|
|
51
|
-
/**
|
|
52
|
-
* Класс для управления токенами сессий WebSocket
|
|
53
|
-
*/
|
|
54
|
-
class SessionManager {
|
|
55
|
-
/**
|
|
56
|
-
* Создает новый менеджер сессий
|
|
57
|
-
* @param {SessionManagerOptions} options Опции менеджера сессий
|
|
58
|
-
*/
|
|
59
|
-
constructor(options = {}) {
|
|
60
|
-
/** Хранилище токенов сессий */
|
|
61
|
-
this.sessionTokens = new Map();
|
|
62
|
-
this.enableSessionPersistence = options.enableSessionPersistence !== false;
|
|
63
|
-
this.logger = options.logger || {
|
|
64
|
-
debug: () => { },
|
|
65
|
-
info: () => { },
|
|
66
|
-
warn: () => { },
|
|
67
|
-
error: () => { },
|
|
68
|
-
withPrefix: () => this.logger
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Сохраняет токен сессии для пространства имен
|
|
73
|
-
* @param {string} namespace Пространство имен
|
|
74
|
-
* @param {string} token Токен сессии
|
|
75
|
-
*/
|
|
76
|
-
saveSessionToken(namespace, token) {
|
|
77
|
-
if (!this.enableSessionPersistence) {
|
|
78
|
-
this.logger.debug(`Сохранение сессий отключено, игнорируем токен для ${namespace}`);
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
this.logger.debug(`Сохранение токена сессии для ${namespace}`);
|
|
82
|
-
this.sessionTokens.set(namespace, token);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Получает токен сессии для пространства имен
|
|
86
|
-
* @param {string} namespace Пространство имен
|
|
87
|
-
* @returns {string | undefined} Токен сессии или undefined, если не найден
|
|
88
|
-
*/
|
|
89
|
-
getSessionToken(namespace) {
|
|
90
|
-
if (!this.enableSessionPersistence) {
|
|
91
|
-
return undefined;
|
|
92
|
-
}
|
|
93
|
-
const token = this.sessionTokens.get(namespace);
|
|
94
|
-
this.logger.debug(`Получение токена сессии для ${namespace}: ${token ? 'найден' : 'не найден'}`);
|
|
95
|
-
return token;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Удаляет токен сессии для пространства имен
|
|
99
|
-
* @param {string} namespace Пространство имен
|
|
100
|
-
*/
|
|
101
|
-
clearSessionToken(namespace) {
|
|
102
|
-
this.logger.debug(`Удаление токена сессии для ${namespace}`);
|
|
103
|
-
this.sessionTokens.delete(namespace);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Удаляет все токены сессий
|
|
107
|
-
*/
|
|
108
|
-
clearAllSessionTokens() {
|
|
109
|
-
this.logger.debug('Удаление всех токенов сессий');
|
|
110
|
-
this.sessionTokens.clear();
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
exports.SessionManager = SessionManager;
|
|
114
|
-
//# sourceMappingURL=session-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../../../src/utils/session-manager.ts"],"names":[],"mappings":";;;AAuBA;;GAEG;AACH,MAAa,uBAAuB;IAApC;QACE,wBAAwB;QAChB,WAAM,GAAoC,IAAI,GAAG,EAAE,CAAC;IA2C9D,CAAC;IAzCC;;;;OAIG;IACI,QAAQ,CAAC,SAA6B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,SAA6B,EAAE,KAAa;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,WAAW,CAAC,SAA6B;QAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,SAA6B;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACI,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AA7CD,0DA6CC;AAaD;;GAEG;AACH,MAAa,cAAc;IAUzB;;;OAGG;IACH,YAAY,UAAiC,EAAE;QAb/C,+BAA+B;QACvB,kBAAa,GAAwB,IAAI,GAAG,EAAE,CAAC;QAarD,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,KAAK,KAAK,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI;YAC9B,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;YACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;YACf,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;SAC9B,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,SAAiB,EAAE,KAAa;QACtD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,SAAS,EAAE,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACI,eAAe,CAAC,SAAiB;QACtC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAEjG,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,SAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;CACF;AAxED,wCAwEC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SimpleConnectionMonitor = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Минимальный мониторинг WebSocket соединения
|
|
6
|
-
*/
|
|
7
|
-
class SimpleConnectionMonitor {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.monitors = new Map();
|
|
10
|
-
this.checkInterval = 30000; // 30 секунд
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Запускает мониторинг для клиента
|
|
14
|
-
*/
|
|
15
|
-
startMonitoring(namespace, client) {
|
|
16
|
-
this.stopMonitoring(namespace);
|
|
17
|
-
const monitor = setInterval(() => {
|
|
18
|
-
// Простая проверка состояния соединения
|
|
19
|
-
if (!client.isConnected()) {
|
|
20
|
-
this.stopMonitoring(namespace);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
}, this.checkInterval);
|
|
24
|
-
this.monitors.set(namespace, monitor);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Останавливает мониторинг
|
|
28
|
-
*/
|
|
29
|
-
stopMonitoring(namespace) {
|
|
30
|
-
const monitor = this.monitors.get(namespace);
|
|
31
|
-
if (monitor) {
|
|
32
|
-
clearInterval(monitor);
|
|
33
|
-
this.monitors.delete(namespace);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Останавливает весь мониторинг
|
|
38
|
-
*/
|
|
39
|
-
stopAll() {
|
|
40
|
-
for (const [namespace] of this.monitors) {
|
|
41
|
-
this.stopMonitoring(namespace);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Проверяет активен ли мониторинг
|
|
46
|
-
*/
|
|
47
|
-
isMonitoring(namespace) {
|
|
48
|
-
return this.monitors.has(namespace);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
exports.SimpleConnectionMonitor = SimpleConnectionMonitor;
|
|
52
|
-
//# sourceMappingURL=simple-connection-monitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-connection-monitor.js","sourceRoot":"","sources":["../../../src/utils/simple-connection-monitor.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACH,MAAa,uBAAuB;IAApC;QACmB,aAAQ,GAA4C,IAAI,GAAG,EAAE,CAAC;QAC9D,kBAAa,GAAG,KAAK,CAAC,CAAC,YAAY;IA6CtD,CAAC;IA3CC;;OAEG;IACH,eAAe,CAAC,SAA6B,EAAE,MAAuB;QACpE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;YAC/B,wCAAwC;YACxC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,SAA6B;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,aAAa,CAAC,OAAO,CAAC,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAA6B;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF;AA/CD,0DA+CC"}
|