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.
Files changed (197) hide show
  1. package/README.md +327 -360
  2. package/dist/cjs/api/chat-api/index.js +23 -49
  3. package/dist/cjs/api/chat-api/index.js.map +1 -1
  4. package/dist/cjs/api/chat-api/interfaces.js +1 -0
  5. package/dist/cjs/api/chat-api/interfaces.js.map +1 -1
  6. package/dist/cjs/api/context-api.js +6 -1
  7. package/dist/cjs/api/context-api.js.map +1 -1
  8. package/dist/cjs/api/models-api.js +43 -60
  9. package/dist/cjs/api/models-api.js.map +1 -1
  10. package/dist/cjs/api/projects-api.js +67 -295
  11. package/dist/cjs/api/projects-api.js.map +1 -1
  12. package/dist/cjs/api/search-api.js +131 -8
  13. package/dist/cjs/api/search-api.js.map +1 -1
  14. package/dist/cjs/code-solver-sdk.js +68 -322
  15. package/dist/cjs/code-solver-sdk.js.map +1 -1
  16. package/dist/cjs/index.js +3 -19
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/utils/logger.js +4 -4
  19. package/dist/cjs/utils/logger.js.map +1 -1
  20. package/dist/esm/api/chat-api/index.js +22 -48
  21. package/dist/esm/api/chat-api/index.js.map +1 -1
  22. package/dist/esm/api/chat-api/interfaces.js +1 -0
  23. package/dist/esm/api/chat-api/interfaces.js.map +1 -1
  24. package/dist/esm/api/context-api.js +6 -1
  25. package/dist/esm/api/context-api.js.map +1 -1
  26. package/dist/esm/api/models-api.js +43 -60
  27. package/dist/esm/api/models-api.js.map +1 -1
  28. package/dist/esm/api/projects-api.js +67 -295
  29. package/dist/esm/api/projects-api.js.map +1 -1
  30. package/dist/esm/api/search-api.js +131 -8
  31. package/dist/esm/api/search-api.js.map +1 -1
  32. package/dist/esm/code-solver-sdk.js +68 -322
  33. package/dist/esm/code-solver-sdk.js.map +1 -1
  34. package/dist/esm/index.js +2 -18
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/utils/logger.js +3 -3
  37. package/dist/esm/utils/logger.js.map +1 -1
  38. package/dist/types/api/chat-api/index.d.ts +1 -13
  39. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  40. package/dist/types/api/chat-api/interfaces.d.ts +6 -54
  41. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  42. package/dist/types/api/chat-api/models.d.ts +3 -26
  43. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  44. package/dist/types/api/context-api.d.ts.map +1 -1
  45. package/dist/types/api/models-api.d.ts +31 -62
  46. package/dist/types/api/models-api.d.ts.map +1 -1
  47. package/dist/types/api/projects-api.d.ts +50 -127
  48. package/dist/types/api/projects-api.d.ts.map +1 -1
  49. package/dist/types/api/search-api.d.ts +147 -6
  50. package/dist/types/api/search-api.d.ts.map +1 -1
  51. package/dist/types/code-solver-sdk.d.ts +36 -86
  52. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  53. package/dist/types/index.d.ts +1 -14
  54. package/dist/types/index.d.ts.map +1 -1
  55. package/dist/types/interfaces/sdk-options.d.ts +18 -66
  56. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  57. package/dist/types/utils/logger.d.ts +3 -3
  58. package/dist/types/utils/logger.d.ts.map +1 -1
  59. package/docs/README.md +53 -37
  60. package/docs/VSCODE_INTEGRATION.md +208 -371
  61. package/docs/indexing/INDEXING.md +658 -335
  62. package/package.json +26 -23
  63. package/dist/cjs/api/agents-api.js +0 -94
  64. package/dist/cjs/api/agents-api.js.map +0 -1
  65. package/dist/cjs/api/chat-api/websocket-helpers.js +0 -211
  66. package/dist/cjs/api/chat-api/websocket-helpers.js.map +0 -1
  67. package/dist/cjs/api/dependencies-api.js +0 -286
  68. package/dist/cjs/api/dependencies-api.js.map +0 -1
  69. package/dist/cjs/constants/websocket-events.constants.js +0 -170
  70. package/dist/cjs/constants/websocket-events.constants.js.map +0 -1
  71. package/dist/cjs/constants/websocket-namespaces.constants.js +0 -22
  72. package/dist/cjs/constants/websocket-namespaces.constants.js.map +0 -1
  73. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +0 -3
  74. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  75. package/dist/cjs/interfaces/websocket/client-options.interfaces.js +0 -3
  76. package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +0 -1
  77. package/dist/cjs/interfaces/websocket/events.interfaces.js +0 -3
  78. package/dist/cjs/interfaces/websocket/events.interfaces.js.map +0 -1
  79. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js +0 -42
  80. package/dist/cjs/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  81. package/dist/cjs/simple-indexing-client.js +0 -138
  82. package/dist/cjs/simple-indexing-client.js.map +0 -1
  83. package/dist/cjs/utils/code-solver-websocket-client.js +0 -497
  84. package/dist/cjs/utils/code-solver-websocket-client.js.map +0 -1
  85. package/dist/cjs/utils/connection-state-manager.js +0 -133
  86. package/dist/cjs/utils/connection-state-manager.js.map +0 -1
  87. package/dist/cjs/utils/indexing-websocket-client.js +0 -107
  88. package/dist/cjs/utils/indexing-websocket-client.js.map +0 -1
  89. package/dist/cjs/utils/session-manager.js +0 -114
  90. package/dist/cjs/utils/session-manager.js.map +0 -1
  91. package/dist/cjs/utils/simple-connection-monitor.js +0 -52
  92. package/dist/cjs/utils/simple-connection-monitor.js.map +0 -1
  93. package/dist/cjs/utils/websocket-client.js +0 -638
  94. package/dist/cjs/utils/websocket-client.js.map +0 -1
  95. package/dist/cjs/ws/base-ws-client.js +0 -280
  96. package/dist/cjs/ws/base-ws-client.js.map +0 -1
  97. package/dist/cjs/ws/dependencies-ws-client.js +0 -11
  98. package/dist/cjs/ws/dependencies-ws-client.js.map +0 -1
  99. package/dist/cjs/ws/file-editing-ws-client.js +0 -162
  100. package/dist/cjs/ws/file-editing-ws-client.js.map +0 -1
  101. package/dist/cjs/ws/filesystem-ws-client.js +0 -305
  102. package/dist/cjs/ws/filesystem-ws-client.js.map +0 -1
  103. package/dist/cjs/ws/indexing-ws-client.js +0 -275
  104. package/dist/cjs/ws/indexing-ws-client.js.map +0 -1
  105. package/dist/cjs/ws/notifications-ws-client.js +0 -12
  106. package/dist/cjs/ws/notifications-ws-client.js.map +0 -1
  107. package/dist/esm/api/agents-api.js +0 -90
  108. package/dist/esm/api/agents-api.js.map +0 -1
  109. package/dist/esm/api/chat-api/websocket-helpers.js +0 -205
  110. package/dist/esm/api/chat-api/websocket-helpers.js.map +0 -1
  111. package/dist/esm/api/dependencies-api.js +0 -282
  112. package/dist/esm/api/dependencies-api.js.map +0 -1
  113. package/dist/esm/constants/websocket-events.constants.js +0 -167
  114. package/dist/esm/constants/websocket-events.constants.js.map +0 -1
  115. package/dist/esm/constants/websocket-namespaces.constants.js +0 -19
  116. package/dist/esm/constants/websocket-namespaces.constants.js.map +0 -1
  117. package/dist/esm/interfaces/websocket/callbacks.interfaces.js +0 -2
  118. package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +0 -1
  119. package/dist/esm/interfaces/websocket/client-options.interfaces.js +0 -2
  120. package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +0 -1
  121. package/dist/esm/interfaces/websocket/events.interfaces.js +0 -2
  122. package/dist/esm/interfaces/websocket/events.interfaces.js.map +0 -1
  123. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js +0 -39
  124. package/dist/esm/interfaces/websocket/vscode-command.interfaces.js.map +0 -1
  125. package/dist/esm/simple-indexing-client.js +0 -134
  126. package/dist/esm/simple-indexing-client.js.map +0 -1
  127. package/dist/esm/utils/code-solver-websocket-client.js +0 -492
  128. package/dist/esm/utils/code-solver-websocket-client.js.map +0 -1
  129. package/dist/esm/utils/connection-state-manager.js +0 -129
  130. package/dist/esm/utils/connection-state-manager.js.map +0 -1
  131. package/dist/esm/utils/indexing-websocket-client.js +0 -103
  132. package/dist/esm/utils/indexing-websocket-client.js.map +0 -1
  133. package/dist/esm/utils/session-manager.js +0 -109
  134. package/dist/esm/utils/session-manager.js.map +0 -1
  135. package/dist/esm/utils/simple-connection-monitor.js +0 -48
  136. package/dist/esm/utils/simple-connection-monitor.js.map +0 -1
  137. package/dist/esm/utils/websocket-client.js +0 -634
  138. package/dist/esm/utils/websocket-client.js.map +0 -1
  139. package/dist/esm/ws/base-ws-client.js +0 -276
  140. package/dist/esm/ws/base-ws-client.js.map +0 -1
  141. package/dist/esm/ws/dependencies-ws-client.js +0 -7
  142. package/dist/esm/ws/dependencies-ws-client.js.map +0 -1
  143. package/dist/esm/ws/file-editing-ws-client.js +0 -158
  144. package/dist/esm/ws/file-editing-ws-client.js.map +0 -1
  145. package/dist/esm/ws/filesystem-ws-client.js +0 -301
  146. package/dist/esm/ws/filesystem-ws-client.js.map +0 -1
  147. package/dist/esm/ws/indexing-ws-client.js +0 -271
  148. package/dist/esm/ws/indexing-ws-client.js.map +0 -1
  149. package/dist/esm/ws/notifications-ws-client.js +0 -8
  150. package/dist/esm/ws/notifications-ws-client.js.map +0 -1
  151. package/dist/types/api/agents-api.d.ts +0 -141
  152. package/dist/types/api/agents-api.d.ts.map +0 -1
  153. package/dist/types/api/chat-api/websocket-helpers.d.ts +0 -40
  154. package/dist/types/api/chat-api/websocket-helpers.d.ts.map +0 -1
  155. package/dist/types/api/dependencies-api.d.ts +0 -109
  156. package/dist/types/api/dependencies-api.d.ts.map +0 -1
  157. package/dist/types/constants/websocket-events.constants.d.ts +0 -144
  158. package/dist/types/constants/websocket-events.constants.d.ts.map +0 -1
  159. package/dist/types/constants/websocket-namespaces.constants.d.ts +0 -17
  160. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +0 -1
  161. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +0 -30
  162. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +0 -1
  163. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +0 -51
  164. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +0 -1
  165. package/dist/types/interfaces/websocket/events.interfaces.d.ts +0 -165
  166. package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +0 -1
  167. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts +0 -56
  168. package/dist/types/interfaces/websocket/vscode-command.interfaces.d.ts.map +0 -1
  169. package/dist/types/simple-indexing-client.d.ts +0 -66
  170. package/dist/types/simple-indexing-client.d.ts.map +0 -1
  171. package/dist/types/utils/code-solver-websocket-client.d.ts +0 -144
  172. package/dist/types/utils/code-solver-websocket-client.d.ts.map +0 -1
  173. package/dist/types/utils/connection-state-manager.d.ts +0 -94
  174. package/dist/types/utils/connection-state-manager.d.ts.map +0 -1
  175. package/dist/types/utils/indexing-websocket-client.d.ts +0 -123
  176. package/dist/types/utils/indexing-websocket-client.d.ts.map +0 -1
  177. package/dist/types/utils/session-manager.d.ts +0 -98
  178. package/dist/types/utils/session-manager.d.ts.map +0 -1
  179. package/dist/types/utils/simple-connection-monitor.d.ts +0 -26
  180. package/dist/types/utils/simple-connection-monitor.d.ts.map +0 -1
  181. package/dist/types/utils/websocket-client.d.ts +0 -233
  182. package/dist/types/utils/websocket-client.d.ts.map +0 -1
  183. package/dist/types/ws/base-ws-client.d.ts +0 -119
  184. package/dist/types/ws/base-ws-client.d.ts.map +0 -1
  185. package/dist/types/ws/dependencies-ws-client.d.ts +0 -6
  186. package/dist/types/ws/dependencies-ws-client.d.ts.map +0 -1
  187. package/dist/types/ws/file-editing-ws-client.d.ts +0 -85
  188. package/dist/types/ws/file-editing-ws-client.d.ts.map +0 -1
  189. package/dist/types/ws/filesystem-ws-client.d.ts +0 -201
  190. package/dist/types/ws/filesystem-ws-client.d.ts.map +0 -1
  191. package/dist/types/ws/indexing-ws-client.d.ts +0 -94
  192. package/dist/types/ws/indexing-ws-client.d.ts.map +0 -1
  193. package/dist/types/ws/notifications-ws-client.d.ts +0 -5
  194. package/dist/types/ws/notifications-ws-client.d.ts.map +0 -1
  195. package/docs/ARCHITECTURE.md +0 -268
  196. package/docs/QUICK_START.md +0 -126
  197. 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":"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"}
@@ -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"}