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.
Files changed (197) hide show
  1. package/README.md +200 -368
  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 +63 -293
  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 +63 -293
  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 +47 -126
  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 +0,0 @@
1
- {"version":3,"file":"websocket-client.js","sourceRoot":"","sources":["../../../src/utils/websocket-client.ts"],"names":[],"mappings":"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"}
@@ -1,280 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseWebSocketClient = void 0;
4
- const websocket_client_js_1 = require("../utils/websocket-client.js");
5
- const websocket_namespaces_constants_js_1 = require("../constants/websocket-namespaces.constants.js");
6
- const websocket_events_constants_js_1 = require("../constants/websocket-events.constants.js");
7
- const logger_js_1 = require("../utils/logger.js");
8
- const session_manager_js_1 = require("../utils/session-manager.js");
9
- const simple_connection_monitor_js_1 = require("../utils/simple-connection-monitor.js");
10
- const connection_state_manager_js_1 = require("../utils/connection-state-manager.js");
11
- /**
12
- * Базовый абстрактный класс для всех WebSocket клиентов
13
- */
14
- class BaseWebSocketClient {
15
- /**
16
- * Создает новый базовый WebSocket клиент
17
- * @param {WebSocketNamespace} namespace Пространство имен WebSocket
18
- * @param {string} baseURL Базовый URL API
19
- * @param {BaseWebSocketClientOptions} options Опции клиента
20
- */
21
- constructor(namespace, baseURL, options = {}) {
22
- /** WebSocket клиент */
23
- this.client = null;
24
- this.namespace = namespace;
25
- this.baseURL = baseURL.replace(/^http/, 'ws');
26
- // Добавляем заголовок авторизации, если задан API ключ
27
- this.options = {
28
- ...options,
29
- headers: {
30
- ...(options.headers || {}),
31
- ...(options.apiKey ? { 'Authorization': `Bearer ${options.apiKey}` } : {})
32
- }
33
- };
34
- // Инициализируем логгер
35
- this.logger = typeof options.logger === 'function'
36
- ? (0, logger_js_1.createWebSocketLogger)(`WebSocket:${namespace}`, options.logger)
37
- : (options.logger || (0, logger_js_1.createWebSocketLogger)(`WebSocket:${namespace}`));
38
- // Инициализируем менеджеры
39
- this.sessionManager = new session_manager_js_1.SessionManager({
40
- enableSessionPersistence: options.enableSessionPersistence,
41
- logger: this.logger.withPrefix('SessionManager')
42
- });
43
- this.connectionMonitor = new simple_connection_monitor_js_1.SimpleConnectionMonitor();
44
- this.connectionStateManager = new connection_state_manager_js_1.ConnectionStateManager({
45
- reconnectStrategy: options.reconnectStrategy === 'fibonacci' ? 'exponential' : options.reconnectStrategy,
46
- retryDelay: options.retryDelay,
47
- maxRetryDelay: options.maxRetryDelay,
48
- logger: this.logger.withPrefix('ConnectionStateManager')
49
- });
50
- }
51
- /**
52
- * Подключается к серверу WebSocket
53
- * @param {Record<string, any>} [params={}] Дополнительные параметры для подключения
54
- * @returns {Promise<boolean>} Успешность подключения
55
- */
56
- async connect(params = {}) {
57
- try {
58
- // Если клиент уже существует, проверяем его состояние
59
- if (this.client) {
60
- if (this.client.isConnected()) {
61
- this.logger.debug(`Уже подключен к ${this.namespace}`);
62
- return true;
63
- }
64
- else {
65
- // Закрываем существующее соединение
66
- this.client.close();
67
- this.client = null;
68
- }
69
- }
70
- // Формируем URL для подключения
71
- const url = this.buildConnectionUrl(params);
72
- this.logger.debug(`Подключение к ${url}`, {
73
- namespace: String(this.namespace),
74
- params: Object.keys(params)
75
- });
76
- // Создаем новый WebSocket клиент
77
- this.client = new websocket_client_js_1.WebSocketClient(url, {
78
- ...this.options,
79
- namespace: String(this.namespace),
80
- // Преобразуем объект Logger в функцию логирования для WebSocketClient
81
- logger: (level, message, data) => {
82
- if (level === 'error')
83
- this.logger.error(message, data);
84
- else if (level === 'warn')
85
- this.logger.warn(message, data);
86
- else if (level === 'info')
87
- this.logger.info(message, data);
88
- else
89
- this.logger.debug(message, data);
90
- }
91
- });
92
- // Устанавливаем обработчики событий
93
- this.setupEventHandlers();
94
- // Подключаемся к серверу
95
- await this.client.connect();
96
- // Обновляем состояние подключения
97
- this.connectionStateManager.registerSuccessfulConnection(this.namespace);
98
- // Запускаем мониторинг соединения, если настроено
99
- if (this.options.enableAutoPing !== false) {
100
- this.connectionMonitor.startMonitoring(this.namespace, this.client);
101
- }
102
- return true;
103
- }
104
- catch (error) {
105
- this.logger.error(`Ошибка при подключении к ${this.namespace}`, error);
106
- // Обновляем состояние подключения
107
- this.connectionStateManager.registerDisconnection(this.namespace);
108
- return false;
109
- }
110
- }
111
- /**
112
- * Формирует URL для подключения
113
- * @param {Record<string, any>} params Параметры для подключения
114
- * @returns {string} URL для подключения
115
- */
116
- buildConnectionUrl(params) {
117
- let baseUrl;
118
- let namespaceStr = '';
119
- // Добавляем namespace в URL путь (стандартный подход Socket.IO)
120
- if (this.namespace !== websocket_namespaces_constants_js_1.WebSocketNamespace.DEFAULT) {
121
- namespaceStr = String(this.namespace);
122
- if (!namespaceStr.startsWith('/')) {
123
- namespaceStr = '/' + namespaceStr;
124
- }
125
- }
126
- // Формируем правильный URL для Socket.IO
127
- if (this.baseURL.endsWith('/socket.io') || this.baseURL.endsWith('/socket.io/')) {
128
- // Для случая когда URL заканчивается на /socket.io, убираем слеш
129
- const cleanBaseUrl = this.baseURL.endsWith('/')
130
- ? this.baseURL.slice(0, -1)
131
- : this.baseURL;
132
- // Добавляем namespace к URL
133
- baseUrl = cleanBaseUrl + namespaceStr;
134
- }
135
- else {
136
- // Для случая когда URL не содержит /socket.io
137
- baseUrl = this.baseURL + namespaceStr;
138
- }
139
- // Создаем URL объект с параметрами
140
- const url = new URL(baseUrl);
141
- // Добавляем обязательные параметры для Socket.IO
142
- url.searchParams.append('EIO', '4');
143
- url.searchParams.append('transport', 'websocket');
144
- // Добавляем параметры к URL
145
- Object.entries(params).forEach(([key, value]) => {
146
- if (value !== undefined) {
147
- url.searchParams.append(key, String(value));
148
- }
149
- });
150
- return url.toString();
151
- }
152
- /**
153
- * Устанавливает обработчики событий для WebSocket клиента
154
- */
155
- setupEventHandlers() {
156
- if (!this.client)
157
- return;
158
- // Добавляем обработчик для успешного подключения
159
- this.client.on('open', () => {
160
- this.logger.debug(`Подключение к ${this.namespace} установлено`, {
161
- socketId: this.client?.getSocketId()
162
- });
163
- // Отправляем сообщение аутентификации, если задан API ключ
164
- if (this.options.apiKey) {
165
- this.authenticate();
166
- }
167
- });
168
- // Логирование ошибок
169
- this.client.on('error', (error) => {
170
- this.logger.error(`Ошибка соединения с ${this.namespace}`, error);
171
- });
172
- // Логирование разъединений
173
- this.client.on('close', (event) => {
174
- this.logger.debug(`Соединение с ${this.namespace} закрыто: ${event.code || 'нет кода'}, ${event.reason || 'Причина не указана'}`);
175
- // Обновляем состояние подключения
176
- this.connectionStateManager.registerDisconnection(this.namespace);
177
- // Останавливаем мониторинг соединения
178
- this.connectionMonitor.stopMonitoring(this.namespace);
179
- });
180
- }
181
- /**
182
- * Отправляет аутентификационные данные на сервер
183
- */
184
- authenticate() {
185
- if (!this.client || !this.options.apiKey)
186
- return;
187
- try {
188
- this.logger.debug(`Отправка аутентификации для ${this.namespace}`);
189
- // Отправляем сообщение аутентификации
190
- this.send(websocket_events_constants_js_1.WebSocketEvents.AUTHENTICATE, {
191
- token: this.options.apiKey
192
- });
193
- }
194
- catch (error) {
195
- this.logger.error(`Ошибка при отправке аутентификации: ${error instanceof Error ? error.message : String(error)}`);
196
- }
197
- }
198
- /**
199
- * Отключается от сервера WebSocket
200
- */
201
- disconnect() {
202
- // Останавливаем мониторинг соединения
203
- this.connectionMonitor.stopMonitoring(this.namespace);
204
- // Закрываем соединение
205
- if (this.client) {
206
- this.client.close();
207
- this.client = null;
208
- }
209
- // Обновляем состояние подключения
210
- this.connectionStateManager.registerDisconnection(this.namespace);
211
- this.logger.debug(`Отключено от ${this.namespace}`);
212
- }
213
- /**
214
- * Проверяет, подключен ли клиент к серверу
215
- * @returns {boolean} true, если клиент подключен
216
- */
217
- isConnected() {
218
- return !!this.client && this.client.isConnected();
219
- }
220
- /**
221
- * Получает ID сокета
222
- * @returns {string | null} ID сокета или null, если не подключен
223
- */
224
- getSocketId() {
225
- return this.client ? this.client.getSocketId() : null;
226
- }
227
- /**
228
- * Отправляет событие на сервер
229
- * @param {string} eventType Тип события
230
- * @param {any} [data] Данные события
231
- * @returns {boolean} Успешность отправки
232
- */
233
- send(eventType, data) {
234
- if (!this.client) {
235
- this.logger.warn(`Попытка отправить событие ${eventType}, но клиент не подключен`);
236
- return false;
237
- }
238
- return this.client.send({
239
- event: eventType,
240
- data
241
- });
242
- }
243
- /**
244
- * Отправляет событие и ожидает ответа
245
- * @param {string} eventType Тип события
246
- * @param {any} data Данные события
247
- * @param {number} [timeout=5000] Таймаут ожидания ответа в миллисекундах
248
- * @returns {Promise<any>} Ответ сервера
249
- */
250
- async emitWithAck(eventType, data, timeout = 5000) {
251
- if (!this.client) {
252
- throw new Error(`Попытка отправить событие ${eventType} с подтверждением, но клиент не подключен`);
253
- }
254
- return this.client.emitWithAck(eventType, data, timeout);
255
- }
256
- /**
257
- * Добавляет обработчик события
258
- * @param {string} eventType Тип события
259
- * @param {(data: any) => void} handler Обработчик события
260
- */
261
- on(eventType, handler) {
262
- if (!this.client) {
263
- this.logger.warn(`Попытка добавить обработчик для события ${eventType}, но клиент не подключен`);
264
- return;
265
- }
266
- this.client.on(eventType, handler);
267
- }
268
- /**
269
- * Удаляет обработчик события
270
- * @param {string} eventType Тип события
271
- * @param {(data: any) => void} [handler] Обработчик события (если не указан, удаляются все обработчики)
272
- */
273
- off(eventType, handler) {
274
- if (!this.client)
275
- return;
276
- this.client.off(eventType, handler);
277
- }
278
- }
279
- exports.BaseWebSocketClient = BaseWebSocketClient;
280
- //# sourceMappingURL=base-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-ws-client.js","sourceRoot":"","sources":["../../../src/ws/base-ws-client.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DependenciesWsClient = void 0;
4
- const base_ws_client_1 = require("./base-ws-client");
5
- class DependenciesWsClient extends base_ws_client_1.BaseWebSocketClient {
6
- constructor(namespace, baseURL, options = {}) {
7
- super(namespace, baseURL, options);
8
- }
9
- }
10
- exports.DependenciesWsClient = DependenciesWsClient;
11
- //# sourceMappingURL=dependencies-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dependencies-ws-client.js","sourceRoot":"","sources":["../../../src/ws/dependencies-ws-client.ts"],"names":[],"mappings":";;;AAAA,qDAAmF;AAGnF,MAAa,oBAAqB,SAAQ,oCAAmB;IAC3D,YACE,SAA6B,EAC7B,OAAe,EACf,UAAsC,EAAE;QAExC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CAEF;AATD,oDASC"}
@@ -1,162 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileEditingWsClient = void 0;
4
- const base_ws_client_1 = require("./base-ws-client");
5
- const websocket_namespaces_constants_1 = require("../constants/websocket-namespaces.constants");
6
- const uuid_1 = require("uuid");
7
- /**
8
- * ✅ ПРОФЕССИОНАЛЬНЫЙ FILE EDITING WEBSOCKET CLIENT
9
- *
10
- * Следует паттерну других WebSocket клиентов SDK:
11
- * - Наследуется от BaseWebSocketClient
12
- * - Использует WebSocketNamespace.FILE_EDITING
13
- * - Имеет callback'и для обработки событий от сервера
14
- * - Переопределяет connect() для инициализации
15
- */
16
- class FileEditingWsClient extends base_ws_client_1.BaseWebSocketClient {
17
- /**
18
- * Создает новый клиент для редактирования файлов
19
- * @param baseURL Базовый URL API
20
- * @param options Опции клиента
21
- */
22
- constructor(baseURL, options = {}) {
23
- super(websocket_namespaces_constants_1.WebSocketNamespace.FILE_EDITING, baseURL, {
24
- enableAutoPing: true,
25
- pingInterval: 25000,
26
- reconnectStrategy: 'exponential',
27
- retryDelay: 1000,
28
- maxRetryDelay: 30000
29
- });
30
- this.projectId = null;
31
- this.SDK_VERSION = '1.0.0';
32
- /**
33
- * Обработчик изменений файлов по умолчанию
34
- */
35
- this.defaultFileChangesHandler = async (suggestion) => {
36
- this.logger.warn('Получено предложение изменений файлов, но обработчик не настроен');
37
- this.logger.warn(`Проект: ${suggestion.projectId}, время: ${suggestion.timestamp}`);
38
- return {
39
- applied: false,
40
- reason: 'Обработчик изменений файлов не настроен'
41
- };
42
- };
43
- // Устанавливаем обработчики
44
- this.onApplyFileChanges = options.onApplyFileChanges || this.defaultFileChangesHandler;
45
- }
46
- /**
47
- * Подключение к серверу и присоединение к проекту
48
- * @param params Параметры подключения (должен содержать projectId)
49
- * @returns Promise<boolean> Успешность подключения
50
- */
51
- async connect(params = {}) {
52
- // Если передан projectId, сохраняем его
53
- if (params.projectId) {
54
- this.projectId = params.projectId;
55
- }
56
- // Подключаемся с базовыми параметрами
57
- const connected = await super.connect(params);
58
- if (!connected) {
59
- return false;
60
- }
61
- try {
62
- // Если есть projectId, присоединяемся к проекту
63
- if (this.projectId) {
64
- await this.joinProject(this.projectId);
65
- }
66
- // Настраиваем обработчики событий
67
- this.setupHandlers();
68
- return true;
69
- }
70
- catch (error) {
71
- this.logger.error(`Ошибка инициализации file editing клиента: ${error instanceof Error ? error.message : String(error)}`);
72
- return false;
73
- }
74
- }
75
- /**
76
- * Подключение к проекту - удобный метод для использования в приложении
77
- * @param projectId ID проекта
78
- * @returns Promise<boolean> Успешность подключения
79
- */
80
- async connectToProject(projectId) {
81
- this.projectId = projectId;
82
- return this.connect({ projectId });
83
- }
84
- /**
85
- * Присоединиться к проекту для получения событий файлового редактирования
86
- */
87
- async joinProject(projectId) {
88
- return new Promise((resolve, reject) => {
89
- // Слушаем подтверждение присоединения
90
- this.on('PROJECT_JOINED', (data) => {
91
- this.logger.info(`✅ Присоединён к проекту: ${data.projectId}`);
92
- resolve();
93
- });
94
- // Отправляем запрос на присоединение
95
- this.send('JOIN_PROJECT', { projectId });
96
- // Таймаут
97
- setTimeout(() => reject(new Error('Timeout: JOIN_PROJECT')), 5000);
98
- });
99
- }
100
- /**
101
- * Настройка обработчиков событий
102
- */
103
- setupHandlers() {
104
- // Обработчик предложений изменений файлов
105
- this.on('APPLY_FILE_CHANGES', async (suggestion) => {
106
- try {
107
- this.logger.info(`📥 Получено предложение изменений файлов для проекта: ${suggestion.projectId}`);
108
- // Вызываем пользовательский обработчик
109
- const response = await this.onApplyFileChanges(suggestion);
110
- if (response.applied) {
111
- // Отправляем подтверждение применения
112
- this.send('FILE_CHANGES_APPLIED', {
113
- suggestionId: (0, uuid_1.v4)(),
114
- appliedFiles: response.appliedFiles || [],
115
- projectId: suggestion.projectId
116
- });
117
- this.logger.info(`✅ Изменения применены для проекта: ${suggestion.projectId}`);
118
- }
119
- else {
120
- // Отправляем отклонение
121
- this.send('FILE_CHANGES_REJECTED', {
122
- suggestionId: (0, uuid_1.v4)(),
123
- reason: response.reason || 'Изменения отклонены пользователем',
124
- projectId: suggestion.projectId
125
- });
126
- this.logger.info(`❌ Изменения отклонены для проекта: ${suggestion.projectId}`);
127
- }
128
- }
129
- catch (error) {
130
- // Отправляем ошибку
131
- this.send('FILE_CHANGES_ERROR', {
132
- suggestionId: (0, uuid_1.v4)(),
133
- error: error instanceof Error ? error.message : String(error),
134
- projectId: suggestion.projectId
135
- });
136
- this.logger.error(`💥 Ошибка обработки изменений: ${error instanceof Error ? error.message : String(error)}`);
137
- }
138
- });
139
- }
140
- /**
141
- * Получить ID текущего проекта
142
- */
143
- getCurrentProjectId() {
144
- return this.projectId;
145
- }
146
- /**
147
- * Покинуть текущий проект
148
- */
149
- async leaveProject() {
150
- if (this.projectId) {
151
- return new Promise((resolve) => {
152
- this.on('PROJECT_LEFT', () => {
153
- this.projectId = null;
154
- resolve();
155
- });
156
- this.send('LEAVE_PROJECT', { projectId: this.projectId });
157
- });
158
- }
159
- }
160
- }
161
- exports.FileEditingWsClient = FileEditingWsClient;
162
- //# sourceMappingURL=file-editing-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-editing-ws-client.js","sourceRoot":"","sources":["../../../src/ws/file-editing-ws-client.ts"],"names":[],"mappings":"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"}