solver-sdk 2.8.0 → 3.1.0
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 +200 -368
- 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 +63 -293
- 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 +63 -293
- 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 +47 -126
- 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,123 +0,0 @@
|
|
|
1
|
-
import { WebSocketClient, WebSocketClientOptions } from './websocket-client.js';
|
|
2
|
-
/**
|
|
3
|
-
* События индексации
|
|
4
|
-
*/
|
|
5
|
-
export declare enum IndexingEvent {
|
|
6
|
-
/** Начало индексации */
|
|
7
|
-
START = "indexing_start",
|
|
8
|
-
/** Прогресс индексации */
|
|
9
|
-
PROGRESS = "indexing_progress",
|
|
10
|
-
/** Завершение индексации */
|
|
11
|
-
COMPLETE = "indexing_complete",
|
|
12
|
-
/** Ошибка индексации */
|
|
13
|
-
ERROR = "indexing_error"
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Данные о прогрессе индексации
|
|
17
|
-
*/
|
|
18
|
-
export interface IndexingProgressData {
|
|
19
|
-
/** Идентификатор проекта */
|
|
20
|
-
projectId: string;
|
|
21
|
-
/** Общее количество файлов */
|
|
22
|
-
totalFiles: number;
|
|
23
|
-
/** Количество проиндексированных файлов */
|
|
24
|
-
indexedFiles: number;
|
|
25
|
-
/** Процент завершения индексации */
|
|
26
|
-
progress: number;
|
|
27
|
-
/** Время начала индексации */
|
|
28
|
-
startTime: string;
|
|
29
|
-
/** Прошедшее время в секундах */
|
|
30
|
-
elapsedTime: number;
|
|
31
|
-
/** Оставшееся время в секундах (приблизительно) */
|
|
32
|
-
estimatedTimeRemaining?: number;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Данные о завершении индексации
|
|
36
|
-
*/
|
|
37
|
-
export interface IndexingCompleteData {
|
|
38
|
-
/** Идентификатор проекта */
|
|
39
|
-
projectId: string;
|
|
40
|
-
/** Общее количество файлов */
|
|
41
|
-
totalFiles: number;
|
|
42
|
-
/** Количество проиндексированных файлов */
|
|
43
|
-
indexedFiles: number;
|
|
44
|
-
/** Количество пропущенных файлов */
|
|
45
|
-
skippedFiles: number;
|
|
46
|
-
/** Время начала индексации */
|
|
47
|
-
startTime: string;
|
|
48
|
-
/** Время завершения индексации */
|
|
49
|
-
endTime: string;
|
|
50
|
-
/** Общее время индексации в секундах */
|
|
51
|
-
totalTime: number;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Данные об ошибке индексации
|
|
55
|
-
*/
|
|
56
|
-
export interface IndexingErrorData {
|
|
57
|
-
/** Идентификатор проекта */
|
|
58
|
-
projectId: string;
|
|
59
|
-
/** Сообщение об ошибке */
|
|
60
|
-
message: string;
|
|
61
|
-
/** Код ошибки */
|
|
62
|
-
code?: string;
|
|
63
|
-
/** Детали ошибки */
|
|
64
|
-
details?: any;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Опции для WebSocket клиента индексации
|
|
68
|
-
*/
|
|
69
|
-
export interface IndexingWebSocketOptions extends WebSocketClientOptions {
|
|
70
|
-
/** Идентификатор проекта */
|
|
71
|
-
projectId?: string;
|
|
72
|
-
/** API ключ для авторизации */
|
|
73
|
-
apiKey?: string;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* WebSocket клиент для работы с индексацией
|
|
77
|
-
*/
|
|
78
|
-
export declare class IndexingWebSocketClient extends WebSocketClient {
|
|
79
|
-
/** Идентификатор проекта */
|
|
80
|
-
private projectId;
|
|
81
|
-
/** Базовый URL без параметров */
|
|
82
|
-
private baseUrl;
|
|
83
|
-
/**
|
|
84
|
-
* Создает новый WebSocket клиент для индексации
|
|
85
|
-
* @param {string} url URL для подключения
|
|
86
|
-
* @param {IndexingWebSocketOptions} [options] Опции клиента
|
|
87
|
-
*/
|
|
88
|
-
constructor(url: string, options?: IndexingWebSocketOptions);
|
|
89
|
-
/**
|
|
90
|
-
* Устанавливает идентификатор проекта
|
|
91
|
-
* @param {string} projectId Идентификатор проекта
|
|
92
|
-
*/
|
|
93
|
-
setProjectId(projectId: string): void;
|
|
94
|
-
/**
|
|
95
|
-
* Подключается к WebSocket для отслеживания индексации
|
|
96
|
-
* @param {string} [projectId] Идентификатор проекта (если не был указан в конструкторе)
|
|
97
|
-
* @returns {Promise<void>}
|
|
98
|
-
*/
|
|
99
|
-
connect(projectId?: string): Promise<void>;
|
|
100
|
-
/**
|
|
101
|
-
* Подписывается на события начала индексации
|
|
102
|
-
* @param {(data: {projectId: string}) => void} handler Обработчик события
|
|
103
|
-
*/
|
|
104
|
-
onStart(handler: (data: {
|
|
105
|
-
projectId: string;
|
|
106
|
-
}) => void): void;
|
|
107
|
-
/**
|
|
108
|
-
* Подписывается на события прогресса индексации
|
|
109
|
-
* @param {(data: IndexingProgressData) => void} handler Обработчик события
|
|
110
|
-
*/
|
|
111
|
-
onProgress(handler: (data: IndexingProgressData) => void): void;
|
|
112
|
-
/**
|
|
113
|
-
* Подписывается на события завершения индексации
|
|
114
|
-
* @param {(data: IndexingCompleteData) => void} handler Обработчик события
|
|
115
|
-
*/
|
|
116
|
-
onComplete(handler: (data: IndexingCompleteData) => void): void;
|
|
117
|
-
/**
|
|
118
|
-
* Подписывается на события ошибок индексации
|
|
119
|
-
* @param {(data: IndexingErrorData) => void} handler Обработчик события
|
|
120
|
-
*/
|
|
121
|
-
onError(handler: (data: IndexingErrorData) => void): void;
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=indexing-websocket-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"indexing-websocket-client.d.ts","sourceRoot":"","sources":["../../../src/utils/indexing-websocket-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEhF;;GAEG;AACH,oBAAY,aAAa;IACvB,wBAAwB;IACxB,KAAK,mBAAmB;IAExB,0BAA0B;IAC1B,QAAQ,sBAAsB;IAE9B,4BAA4B;IAC5B,QAAQ,sBAAsB;IAE9B,wBAAwB;IACxB,KAAK,mBAAmB;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IAEjB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IAEpB,mDAAmD;IACnD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;IAErB,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IAErB,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAElB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAElB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,iBAAiB;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,oBAAoB;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,+BAA+B;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,4BAA4B;IAC5B,OAAO,CAAC,SAAS,CAAuB;IAExC,iCAAiC;IACjC,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;gBACS,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,wBAA6B;IAyB/D;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI5C;;;;OAIG;IACU,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBvD;;;OAGG;IACI,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,KAAK,IAAI,GAAG,IAAI;IAIlE;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAItE;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAItE;;;OAGG;IACI,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,GAAG,IAAI;CAGjE"}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
-
import { Logger } from './logger.js';
|
|
3
|
-
/**
|
|
4
|
-
* Интерфейс для хранения токенов сессий
|
|
5
|
-
*/
|
|
6
|
-
export interface SessionTokenStore {
|
|
7
|
-
/** Получить токен сессии */
|
|
8
|
-
getToken(namespace: WebSocketNamespace): string | null;
|
|
9
|
-
/** Сохранить токен сессии */
|
|
10
|
-
saveToken(namespace: WebSocketNamespace, token: string): void;
|
|
11
|
-
/** Удалить токен сессии */
|
|
12
|
-
removeToken(namespace: WebSocketNamespace): void;
|
|
13
|
-
/** Проверить наличие токена */
|
|
14
|
-
hasToken(namespace: WebSocketNamespace): boolean;
|
|
15
|
-
/** Очистить все токены */
|
|
16
|
-
clear(): void;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Класс для хранения токенов сессий в памяти
|
|
20
|
-
*/
|
|
21
|
-
export declare class MemorySessionTokenStore implements SessionTokenStore {
|
|
22
|
-
/** Хранилище токенов */
|
|
23
|
-
private tokens;
|
|
24
|
-
/**
|
|
25
|
-
* Получить токен сессии для указанного пространства имен
|
|
26
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
27
|
-
* @returns {string | null} Токен сессии или null, если не найден
|
|
28
|
-
*/
|
|
29
|
-
getToken(namespace: WebSocketNamespace): string | null;
|
|
30
|
-
/**
|
|
31
|
-
* Сохранить токен сессии для указанного пространства имен
|
|
32
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
33
|
-
* @param {string} token Токен сессии
|
|
34
|
-
*/
|
|
35
|
-
saveToken(namespace: WebSocketNamespace, token: string): void;
|
|
36
|
-
/**
|
|
37
|
-
* Удалить токен сессии для указанного пространства имен
|
|
38
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
39
|
-
*/
|
|
40
|
-
removeToken(namespace: WebSocketNamespace): void;
|
|
41
|
-
/**
|
|
42
|
-
* Проверить наличие токена для указанного пространства имен
|
|
43
|
-
* @param {WebSocketNamespace} namespace Пространство имен
|
|
44
|
-
* @returns {boolean} true, если токен есть
|
|
45
|
-
*/
|
|
46
|
-
hasToken(namespace: WebSocketNamespace): boolean;
|
|
47
|
-
/**
|
|
48
|
-
* Очистить все токены
|
|
49
|
-
*/
|
|
50
|
-
clear(): void;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Опции для менеджера сессий
|
|
54
|
-
*/
|
|
55
|
-
export interface SessionManagerOptions {
|
|
56
|
-
/** Включение сохранения и восстановления сессий */
|
|
57
|
-
enableSessionPersistence?: boolean;
|
|
58
|
-
/** Логгер */
|
|
59
|
-
logger?: Logger;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Класс для управления токенами сессий WebSocket
|
|
63
|
-
*/
|
|
64
|
-
export declare class SessionManager {
|
|
65
|
-
/** Хранилище токенов сессий */
|
|
66
|
-
private sessionTokens;
|
|
67
|
-
/** Включено ли сохранение сессий */
|
|
68
|
-
private readonly enableSessionPersistence;
|
|
69
|
-
/** Логгер */
|
|
70
|
-
private readonly logger;
|
|
71
|
-
/**
|
|
72
|
-
* Создает новый менеджер сессий
|
|
73
|
-
* @param {SessionManagerOptions} options Опции менеджера сессий
|
|
74
|
-
*/
|
|
75
|
-
constructor(options?: SessionManagerOptions);
|
|
76
|
-
/**
|
|
77
|
-
* Сохраняет токен сессии для пространства имен
|
|
78
|
-
* @param {string} namespace Пространство имен
|
|
79
|
-
* @param {string} token Токен сессии
|
|
80
|
-
*/
|
|
81
|
-
saveSessionToken(namespace: string, token: string): void;
|
|
82
|
-
/**
|
|
83
|
-
* Получает токен сессии для пространства имен
|
|
84
|
-
* @param {string} namespace Пространство имен
|
|
85
|
-
* @returns {string | undefined} Токен сессии или undefined, если не найден
|
|
86
|
-
*/
|
|
87
|
-
getSessionToken(namespace: string): string | undefined;
|
|
88
|
-
/**
|
|
89
|
-
* Удаляет токен сессии для пространства имен
|
|
90
|
-
* @param {string} namespace Пространство имен
|
|
91
|
-
*/
|
|
92
|
-
clearSessionToken(namespace: string): void;
|
|
93
|
-
/**
|
|
94
|
-
* Удаляет все токены сессий
|
|
95
|
-
*/
|
|
96
|
-
clearAllSessionTokens(): void;
|
|
97
|
-
}
|
|
98
|
-
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAAC;IAEvD,6BAA6B;IAC7B,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9D,2BAA2B;IAC3B,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAEjD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAEjD,0BAA0B;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,wBAAwB;IACxB,OAAO,CAAC,MAAM,CAA8C;IAE5D;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI;IAI7D;;;;OAIG;IACI,SAAS,CAAC,SAAS,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIpE;;;OAGG;IACI,WAAW,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAIvD;;;;OAIG;IACI,QAAQ,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IAIvD;;OAEG;IACI,KAAK,IAAI,IAAI;CAGrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,mDAAmD;IACnD,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,+BAA+B;IAC/B,OAAO,CAAC,aAAa,CAAkC;IAEvD,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IAEnD,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;;OAGG;gBACS,OAAO,GAAE,qBAA0B;IAW/C;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/D;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAW7D;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKjD;;OAEG;IACI,qBAAqB,IAAI,IAAI;CAIrC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
2
|
-
import { WebSocketClient } from './websocket-client.js';
|
|
3
|
-
/**
|
|
4
|
-
* Минимальный мониторинг WebSocket соединения
|
|
5
|
-
*/
|
|
6
|
-
export declare class SimpleConnectionMonitor {
|
|
7
|
-
private readonly monitors;
|
|
8
|
-
private readonly checkInterval;
|
|
9
|
-
/**
|
|
10
|
-
* Запускает мониторинг для клиента
|
|
11
|
-
*/
|
|
12
|
-
startMonitoring(namespace: WebSocketNamespace, client: WebSocketClient): void;
|
|
13
|
-
/**
|
|
14
|
-
* Останавливает мониторинг
|
|
15
|
-
*/
|
|
16
|
-
stopMonitoring(namespace: WebSocketNamespace): void;
|
|
17
|
-
/**
|
|
18
|
-
* Останавливает весь мониторинг
|
|
19
|
-
*/
|
|
20
|
-
stopAll(): void;
|
|
21
|
-
/**
|
|
22
|
-
* Проверяет активен ли мониторинг
|
|
23
|
-
*/
|
|
24
|
-
isMonitoring(namespace: WebSocketNamespace): boolean;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=simple-connection-monitor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"simple-connection-monitor.d.ts","sourceRoot":"","sources":["../../../src/utils/simple-connection-monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;GAEG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsD;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAc7E;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAQnD;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;CAGrD"}
|
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { Socket as SocketIOClient } from 'socket.io-client';
|
|
2
|
-
/**
|
|
3
|
-
* Опции для WebSocket клиента
|
|
4
|
-
*/
|
|
5
|
-
export interface WebSocketClientOptions {
|
|
6
|
-
/**
|
|
7
|
-
* HTTP заголовки для WebSocket соединения
|
|
8
|
-
*/
|
|
9
|
-
headers?: Record<string, string>;
|
|
10
|
-
/**
|
|
11
|
-
* Таймаут подключения в миллисекундах
|
|
12
|
-
*/
|
|
13
|
-
connectionTimeout?: number;
|
|
14
|
-
/**
|
|
15
|
-
* Протоколы WebSocket
|
|
16
|
-
*/
|
|
17
|
-
protocols?: string | string[];
|
|
18
|
-
/**
|
|
19
|
-
* Максимальное количество попыток переподключения
|
|
20
|
-
*/
|
|
21
|
-
maxRetries?: number;
|
|
22
|
-
/**
|
|
23
|
-
* Задержка перед попыткой переподключения в миллисекундах
|
|
24
|
-
*/
|
|
25
|
-
retryDelay?: number;
|
|
26
|
-
/**
|
|
27
|
-
* Максимальная задержка перед попыткой переподключения
|
|
28
|
-
*/
|
|
29
|
-
maxRetryDelay?: number;
|
|
30
|
-
/**
|
|
31
|
-
* Автоматически переподключаться при потере соединения
|
|
32
|
-
*/
|
|
33
|
-
autoReconnect?: boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Отклонять неавторизованные соединения
|
|
36
|
-
*/
|
|
37
|
-
rejectUnauthorized?: boolean;
|
|
38
|
-
/**
|
|
39
|
-
* API ключ для аутентификации
|
|
40
|
-
*/
|
|
41
|
-
apiKey?: string;
|
|
42
|
-
/**
|
|
43
|
-
* Пространство имен Socket.IO для подключения
|
|
44
|
-
*/
|
|
45
|
-
namespace?: string;
|
|
46
|
-
/**
|
|
47
|
-
* Функция для логирования сообщений
|
|
48
|
-
*/
|
|
49
|
-
logger?: (level: string, message: string, data?: any) => void;
|
|
50
|
-
/**
|
|
51
|
-
* Интервал для отправки ping-сообщений (мс)
|
|
52
|
-
*/
|
|
53
|
-
pingInterval?: number;
|
|
54
|
-
/**
|
|
55
|
-
* Таймаут ожидания pong-ответа (мс)
|
|
56
|
-
*/
|
|
57
|
-
pingTimeout?: number;
|
|
58
|
-
/**
|
|
59
|
-
* Включить расширенную отладку
|
|
60
|
-
*/
|
|
61
|
-
debug?: boolean;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Интерфейс для обработчика события WebSocket
|
|
65
|
-
*/
|
|
66
|
-
export interface WebSocketEventHandler {
|
|
67
|
-
(event: any): void;
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Базовый класс для WebSocket клиентов, реализованный на базе Socket.IO
|
|
71
|
-
*/
|
|
72
|
-
export declare class WebSocketClient {
|
|
73
|
-
/** URL для подключения */
|
|
74
|
-
protected readonly url: string;
|
|
75
|
-
/** Опции клиента */
|
|
76
|
-
protected readonly options: WebSocketClientOptions;
|
|
77
|
-
/** Экземпляр Socket.IO */
|
|
78
|
-
protected socket: SocketIOClient | null;
|
|
79
|
-
/** Счетчик попыток переподключения */
|
|
80
|
-
protected retryCount: number;
|
|
81
|
-
/** Флаг, указывающий, что соединение было закрыто намеренно */
|
|
82
|
-
protected intentionallyClosed: boolean;
|
|
83
|
-
/** Таймер переподключения */
|
|
84
|
-
protected reconnectTimer: any;
|
|
85
|
-
/** Таймер таймаута соединения */
|
|
86
|
-
protected connectionTimeoutTimer: any;
|
|
87
|
-
/** Обработчики событий */
|
|
88
|
-
protected eventHandlers: Record<string, WebSocketEventHandler[]>;
|
|
89
|
-
/** Очередь сообщений для отправки после подключения */
|
|
90
|
-
protected messageQueue: Array<any>;
|
|
91
|
-
/** Состояние соединения */
|
|
92
|
-
protected connected: boolean;
|
|
93
|
-
/** Среда выполнения */
|
|
94
|
-
protected readonly isBrowser: boolean;
|
|
95
|
-
/** Аутентифицировано ли соединение */
|
|
96
|
-
protected authenticated: boolean;
|
|
97
|
-
/** Пространство имен Socket.IO */
|
|
98
|
-
protected namespace: string;
|
|
99
|
-
/** Функция логирования */
|
|
100
|
-
protected logger: (level: string, message: string, data?: any) => void;
|
|
101
|
-
/** ID сокета */
|
|
102
|
-
protected socketId: string | null;
|
|
103
|
-
/** Хранилище ожидающих callback-функций */
|
|
104
|
-
protected _pendingCallbacks: Map<string, (response: any) => void>;
|
|
105
|
-
/** Таймер проверки состояния соединения */
|
|
106
|
-
protected healthCheckTimer: any;
|
|
107
|
-
/** Время последнего полученного pong */
|
|
108
|
-
protected lastPongTimestamp: number;
|
|
109
|
-
/** Интервал проверки здоровья соединения */
|
|
110
|
-
protected healthCheckInterval: number;
|
|
111
|
-
/**
|
|
112
|
-
* Тип для хранения отложенных обработчиков событий
|
|
113
|
-
* @private
|
|
114
|
-
*/
|
|
115
|
-
protected _pendingCallbackHandlers: Map<string, WebSocketEventHandler>;
|
|
116
|
-
/**
|
|
117
|
-
* Создает новый WebSocket клиент
|
|
118
|
-
* @param {string} url URL для подключения
|
|
119
|
-
* @param {WebSocketClientOptions} [options] Опции клиента
|
|
120
|
-
*/
|
|
121
|
-
constructor(url: string, options?: WebSocketClientOptions);
|
|
122
|
-
/**
|
|
123
|
-
* Получает WebSocket URL из HTTP URL
|
|
124
|
-
* @returns {string} WebSocket URL
|
|
125
|
-
* @private
|
|
126
|
-
*/
|
|
127
|
-
private getWebSocketURL;
|
|
128
|
-
/**
|
|
129
|
-
* Подключается к WebSocket серверу используя Socket.IO клиент
|
|
130
|
-
* @returns {Promise<void>}
|
|
131
|
-
*/
|
|
132
|
-
connect(): Promise<void>;
|
|
133
|
-
/**
|
|
134
|
-
* Получает код закрытия WebSocket из строки причины Socket.IO
|
|
135
|
-
* @param {string} reason Причина закрытия Socket.IO
|
|
136
|
-
* @returns {number} Код закрытия WebSocket
|
|
137
|
-
* @private
|
|
138
|
-
*/
|
|
139
|
-
private getCloseCodeFromReason;
|
|
140
|
-
/**
|
|
141
|
-
* Настраивает проверку состояния соединения для обнаружения "зависших" подключений
|
|
142
|
-
* @private
|
|
143
|
-
*/
|
|
144
|
-
protected setupConnectionHealthCheck(): void;
|
|
145
|
-
/**
|
|
146
|
-
* Останавливает проверку состояния соединения
|
|
147
|
-
* @private
|
|
148
|
-
*/
|
|
149
|
-
protected stopConnectionHealthCheck(): void;
|
|
150
|
-
/**
|
|
151
|
-
* Закрывает соединение WebSocket
|
|
152
|
-
* @param {number} code Код закрытия
|
|
153
|
-
* @param {string} reason Причина закрытия
|
|
154
|
-
*/
|
|
155
|
-
close(code?: number, reason?: string): void;
|
|
156
|
-
/**
|
|
157
|
-
* Отправляет сообщение в WebSocket
|
|
158
|
-
* @param {any} data Данные для отправки
|
|
159
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
160
|
-
*/
|
|
161
|
-
send(data: any): boolean;
|
|
162
|
-
/**
|
|
163
|
-
* Отправляет событие с данными и ожидает ответа с помощью Promise
|
|
164
|
-
* @param {string} event Название события
|
|
165
|
-
* @param {any} data Данные события
|
|
166
|
-
* @param {number} [timeout=5000] Таймаут ожидания ответа в мс
|
|
167
|
-
* @returns {Promise<any>} Promise с ответом
|
|
168
|
-
*/
|
|
169
|
-
emitWithAck(event: string, data: any, timeout?: number): Promise<any>;
|
|
170
|
-
/**
|
|
171
|
-
* Добавляет обработчик события
|
|
172
|
-
* @param {string} eventType Тип события
|
|
173
|
-
* @param {WebSocketEventHandler} handler Обработчик события
|
|
174
|
-
*/
|
|
175
|
-
on(eventType: string, handler: WebSocketEventHandler): void;
|
|
176
|
-
/**
|
|
177
|
-
* Удаляет обработчик события
|
|
178
|
-
* @param {string} eventType Тип события
|
|
179
|
-
* @param {WebSocketEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
180
|
-
*/
|
|
181
|
-
off(eventType: string, handler?: WebSocketEventHandler): void;
|
|
182
|
-
/**
|
|
183
|
-
* Отправляет событие в обработчики
|
|
184
|
-
* @param {string} eventType Тип события
|
|
185
|
-
* @param {any} data Данные события
|
|
186
|
-
* @private
|
|
187
|
-
*/
|
|
188
|
-
protected dispatchEvent(eventType: string, data: any): void;
|
|
189
|
-
/**
|
|
190
|
-
* Возвращает текущий статус соединения
|
|
191
|
-
* @returns {boolean} Подключен ли клиент
|
|
192
|
-
*/
|
|
193
|
-
isConnected(): boolean;
|
|
194
|
-
/**
|
|
195
|
-
* Выполняет принудительное переподключение
|
|
196
|
-
* @returns {Promise<void>} Promise без результата
|
|
197
|
-
*/
|
|
198
|
-
reconnect(): Promise<void>;
|
|
199
|
-
/**
|
|
200
|
-
* Отправляет событие (алиас для более удобного использования)
|
|
201
|
-
* @param {string} eventName Название события
|
|
202
|
-
* @param {any} data Данные события
|
|
203
|
-
* @returns {boolean} Успешно ли отправлено событие
|
|
204
|
-
*/
|
|
205
|
-
emit(eventName: string, data: any): boolean;
|
|
206
|
-
/**
|
|
207
|
-
* Возвращает ID сокета, если соединение установлено
|
|
208
|
-
* @returns {string|null} ID сокета или null, если соединение не установлено
|
|
209
|
-
*/
|
|
210
|
-
getSocketId(): string | null;
|
|
211
|
-
/**
|
|
212
|
-
* Устанавливает функцию логирования
|
|
213
|
-
* @param {Function} loggerFn Функция для логирования
|
|
214
|
-
*/
|
|
215
|
-
setLogger(loggerFn: (level: string, message: string, data?: any) => void): void;
|
|
216
|
-
/**
|
|
217
|
-
* Регистрирует обработчик события, который будет вызван один раз и удален
|
|
218
|
-
* @param {string} event Название события
|
|
219
|
-
* @param {WebSocketEventHandler} handler Обработчик события
|
|
220
|
-
* @returns {void}
|
|
221
|
-
*/
|
|
222
|
-
once(event: string, handler: WebSocketEventHandler): void;
|
|
223
|
-
/**
|
|
224
|
-
* Отправляет событие Socket.IO через WebSocket соединение
|
|
225
|
-
* @param {string} event Имя события
|
|
226
|
-
* @param {any} data Данные события
|
|
227
|
-
* @param {(response: any) => void} [callback] Функция обратного вызова для получения ответа
|
|
228
|
-
* @param {string} [namespace=''] Namespace для Socket.IO
|
|
229
|
-
* @returns {boolean} Успешно ли отправлено сообщение
|
|
230
|
-
*/
|
|
231
|
-
sendSocketIOEvent(event: string, data: any, callback?: (response: any) => void, namespace?: string): boolean;
|
|
232
|
-
}
|
|
233
|
-
//# sourceMappingURL=websocket-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-client.d.ts","sourceRoot":"","sources":["../../../src/utils/websocket-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { WebSocketClient, WebSocketClientOptions } from '../utils/websocket-client.js';
|
|
2
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
3
|
-
import { Logger, LogFunction } from '../utils/logger.js';
|
|
4
|
-
import { SessionManager } from '../utils/session-manager.js';
|
|
5
|
-
import { SimpleConnectionMonitor } from '../utils/simple-connection-monitor.js';
|
|
6
|
-
import { ConnectionStateManager } from '../utils/connection-state-manager.js';
|
|
7
|
-
/**
|
|
8
|
-
* Опции базового WebSocket клиента
|
|
9
|
-
*/
|
|
10
|
-
export interface BaseWebSocketClientOptions extends Omit<WebSocketClientOptions, 'logger'> {
|
|
11
|
-
/** Логгер (объект или функция) */
|
|
12
|
-
logger?: Logger | LogFunction;
|
|
13
|
-
/** API ключ для аутентификации */
|
|
14
|
-
apiKey?: string;
|
|
15
|
-
/** Включить автоматическое ping/pong */
|
|
16
|
-
enableAutoPing?: boolean;
|
|
17
|
-
/** Интервал ping в миллисекундах */
|
|
18
|
-
pingInterval?: number;
|
|
19
|
-
/** Таймаут ожидания pong в миллисекундах */
|
|
20
|
-
pingTimeoutThreshold?: number;
|
|
21
|
-
/** Включить сохранение сессий */
|
|
22
|
-
enableSessionPersistence?: boolean;
|
|
23
|
-
/** Стратегия переподключения */
|
|
24
|
-
reconnectStrategy?: 'linear' | 'exponential' | 'fibonacci';
|
|
25
|
-
/** Задержка перед повторной попыткой подключения в миллисекундах */
|
|
26
|
-
retryDelay?: number;
|
|
27
|
-
/** Максимальная задержка перед повторной попыткой подключения в миллисекундах */
|
|
28
|
-
maxRetryDelay?: number;
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Базовый абстрактный класс для всех WebSocket клиентов
|
|
32
|
-
*/
|
|
33
|
-
export declare abstract class BaseWebSocketClient {
|
|
34
|
-
/** Базовый URL API */
|
|
35
|
-
protected readonly baseURL: string;
|
|
36
|
-
/** Опции клиента */
|
|
37
|
-
protected readonly options: BaseWebSocketClientOptions;
|
|
38
|
-
/** Пространство имен WebSocket */
|
|
39
|
-
protected readonly namespace: WebSocketNamespace;
|
|
40
|
-
/** WebSocket клиент */
|
|
41
|
-
protected client: WebSocketClient | null;
|
|
42
|
-
/** Логгер */
|
|
43
|
-
protected readonly logger: Logger;
|
|
44
|
-
/** Менеджер сессий */
|
|
45
|
-
protected readonly sessionManager: SessionManager;
|
|
46
|
-
/** Мониторинг соединения */
|
|
47
|
-
protected readonly connectionMonitor: SimpleConnectionMonitor;
|
|
48
|
-
/** Менеджер состояния подключения */
|
|
49
|
-
protected readonly connectionStateManager: ConnectionStateManager;
|
|
50
|
-
/**
|
|
51
|
-
* Создает новый базовый WebSocket клиент
|
|
52
|
-
* @param {WebSocketNamespace} namespace Пространство имен WebSocket
|
|
53
|
-
* @param {string} baseURL Базовый URL API
|
|
54
|
-
* @param {BaseWebSocketClientOptions} options Опции клиента
|
|
55
|
-
*/
|
|
56
|
-
constructor(namespace: WebSocketNamespace, baseURL: string, options?: BaseWebSocketClientOptions);
|
|
57
|
-
/**
|
|
58
|
-
* Подключается к серверу WebSocket
|
|
59
|
-
* @param {Record<string, any>} [params={}] Дополнительные параметры для подключения
|
|
60
|
-
* @returns {Promise<boolean>} Успешность подключения
|
|
61
|
-
*/
|
|
62
|
-
connect(params?: Record<string, any>): Promise<boolean>;
|
|
63
|
-
/**
|
|
64
|
-
* Формирует URL для подключения
|
|
65
|
-
* @param {Record<string, any>} params Параметры для подключения
|
|
66
|
-
* @returns {string} URL для подключения
|
|
67
|
-
*/
|
|
68
|
-
protected buildConnectionUrl(params: Record<string, any>): string;
|
|
69
|
-
/**
|
|
70
|
-
* Устанавливает обработчики событий для WebSocket клиента
|
|
71
|
-
*/
|
|
72
|
-
protected setupEventHandlers(): void;
|
|
73
|
-
/**
|
|
74
|
-
* Отправляет аутентификационные данные на сервер
|
|
75
|
-
*/
|
|
76
|
-
protected authenticate(): void;
|
|
77
|
-
/**
|
|
78
|
-
* Отключается от сервера WebSocket
|
|
79
|
-
*/
|
|
80
|
-
disconnect(): void;
|
|
81
|
-
/**
|
|
82
|
-
* Проверяет, подключен ли клиент к серверу
|
|
83
|
-
* @returns {boolean} true, если клиент подключен
|
|
84
|
-
*/
|
|
85
|
-
isConnected(): boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Получает ID сокета
|
|
88
|
-
* @returns {string | null} ID сокета или null, если не подключен
|
|
89
|
-
*/
|
|
90
|
-
getSocketId(): string | null;
|
|
91
|
-
/**
|
|
92
|
-
* Отправляет событие на сервер
|
|
93
|
-
* @param {string} eventType Тип события
|
|
94
|
-
* @param {any} [data] Данные события
|
|
95
|
-
* @returns {boolean} Успешность отправки
|
|
96
|
-
*/
|
|
97
|
-
send(eventType: string, data?: any): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* Отправляет событие и ожидает ответа
|
|
100
|
-
* @param {string} eventType Тип события
|
|
101
|
-
* @param {any} data Данные события
|
|
102
|
-
* @param {number} [timeout=5000] Таймаут ожидания ответа в миллисекундах
|
|
103
|
-
* @returns {Promise<any>} Ответ сервера
|
|
104
|
-
*/
|
|
105
|
-
emitWithAck(eventType: string, data: any, timeout?: number): Promise<any>;
|
|
106
|
-
/**
|
|
107
|
-
* Добавляет обработчик события
|
|
108
|
-
* @param {string} eventType Тип события
|
|
109
|
-
* @param {(data: any) => void} handler Обработчик события
|
|
110
|
-
*/
|
|
111
|
-
on(eventType: string, handler: (data: any) => void): void;
|
|
112
|
-
/**
|
|
113
|
-
* Удаляет обработчик события
|
|
114
|
-
* @param {string} eventType Тип события
|
|
115
|
-
* @param {(data: any) => void} [handler] Обработчик события (если не указан, удаляются все обработчики)
|
|
116
|
-
*/
|
|
117
|
-
off(eventType: string, handler?: (data: any) => void): void;
|
|
118
|
-
}
|
|
119
|
-
//# sourceMappingURL=base-ws-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/base-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,OAAO,EAAE,MAAM,EAAyB,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,0BAA2B,SAAQ,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC;IACxF,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAE9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,iCAAiC;IACjC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAEnC,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,WAAW,CAAC;IAE3D,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,8BAAsB,mBAAmB;IACvC,sBAAsB;IACtB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEnC,oBAAoB;IACpB,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAEvD,kCAAkC;IAClC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IAEjD,uBAAuB;IACvB,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAQ;IAEhD,aAAa;IACb,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAElC,sBAAsB;IACtB,SAAS,CAAC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IAElD,4BAA4B;IAC5B,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,uBAAuB,CAAC;IAE9D,qCAAqC;IACrC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAElE;;;;;OAKG;gBAED,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,0BAA+B;IAmC1C;;;;OAIG;IACU,OAAO,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4DxE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IA2CjE;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAgCpC;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,IAAI;IAe9B;;OAEG;IACI,UAAU,IAAI,IAAI;IAgBzB;;;OAGG;IACI,WAAW,IAAI,OAAO;IAI7B;;;OAGG;IACI,WAAW,IAAI,MAAM,GAAG,IAAI;IAInC;;;;;OAKG;IACI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO;IAYnD;;;;;;OAMG;IACU,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAE,MAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAQ5F;;;;OAIG;IACI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAShE;;;;OAIG;IACI,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;CAKnE"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { BaseWebSocketClient, BaseWebSocketClientOptions } from './base-ws-client';
|
|
2
|
-
import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
|
|
3
|
-
export declare class DependenciesWsClient extends BaseWebSocketClient {
|
|
4
|
-
constructor(namespace: WebSocketNamespace, baseURL: string, options?: BaseWebSocketClientOptions);
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=dependencies-ws-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies-ws-client.d.ts","sourceRoot":"","sources":["../../../src/ws/dependencies-ws-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAEpF,qBAAa,oBAAqB,SAAQ,mBAAmB;gBAEzD,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,0BAA+B;CAK3C"}
|