solver-sdk 1.8.1 → 1.9.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 (116) hide show
  1. package/dist/cjs/api/projects-api.js +4 -6
  2. package/dist/cjs/api/projects-api.js.map +1 -1
  3. package/dist/cjs/code-solver-sdk.js +13 -10
  4. package/dist/cjs/code-solver-sdk.js.map +1 -1
  5. package/dist/cjs/constants/websocket-events.constants.js +14 -1
  6. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  7. package/dist/cjs/constants/websocket-namespaces.constants.js +18 -0
  8. package/dist/cjs/constants/websocket-namespaces.constants.js.map +1 -0
  9. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js +3 -0
  10. package/dist/cjs/interfaces/websocket/callbacks.interfaces.js.map +1 -0
  11. package/dist/cjs/interfaces/websocket/client-options.interfaces.js +3 -0
  12. package/dist/cjs/interfaces/websocket/client-options.interfaces.js.map +1 -0
  13. package/dist/cjs/interfaces/websocket/events.interfaces.js +3 -0
  14. package/dist/cjs/interfaces/websocket/events.interfaces.js.map +1 -0
  15. package/dist/cjs/interfaces/websocket/stats.interfaces.js +3 -0
  16. package/dist/cjs/interfaces/websocket/stats.interfaces.js.map +1 -0
  17. package/dist/cjs/utils/code-solver-websocket-client.js +382 -1503
  18. package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
  19. package/dist/cjs/utils/connection-state-manager.js +133 -0
  20. package/dist/cjs/utils/connection-state-manager.js.map +1 -0
  21. package/dist/cjs/utils/logger.js +106 -0
  22. package/dist/cjs/utils/logger.js.map +1 -0
  23. package/dist/cjs/utils/ping-pong-manager.js +306 -0
  24. package/dist/cjs/utils/ping-pong-manager.js.map +1 -0
  25. package/dist/cjs/utils/session-manager.js +114 -0
  26. package/dist/cjs/utils/session-manager.js.map +1 -0
  27. package/dist/cjs/ws/base-ws-client.js +286 -0
  28. package/dist/cjs/ws/base-ws-client.js.map +1 -0
  29. package/dist/cjs/ws/dependencies-ws-client.js +11 -0
  30. package/dist/cjs/ws/dependencies-ws-client.js.map +1 -0
  31. package/dist/cjs/ws/diagnostics-service.js +170 -0
  32. package/dist/cjs/ws/diagnostics-service.js.map +1 -0
  33. package/dist/cjs/ws/indexing-ws-client.js +223 -0
  34. package/dist/cjs/ws/indexing-ws-client.js.map +1 -0
  35. package/dist/cjs/ws/notifications-ws-client.js +12 -0
  36. package/dist/cjs/ws/notifications-ws-client.js.map +1 -0
  37. package/dist/cjs/ws/reasoning-ws-client.js +330 -0
  38. package/dist/cjs/ws/reasoning-ws-client.js.map +1 -0
  39. package/dist/esm/api/projects-api.js +4 -6
  40. package/dist/esm/api/projects-api.js.map +1 -1
  41. package/dist/esm/code-solver-sdk.js +6 -3
  42. package/dist/esm/code-solver-sdk.js.map +1 -1
  43. package/dist/esm/constants/websocket-events.constants.js +13 -0
  44. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  45. package/dist/esm/constants/websocket-namespaces.constants.js +15 -0
  46. package/dist/esm/constants/websocket-namespaces.constants.js.map +1 -0
  47. package/dist/esm/interfaces/websocket/callbacks.interfaces.js +2 -0
  48. package/dist/esm/interfaces/websocket/callbacks.interfaces.js.map +1 -0
  49. package/dist/esm/interfaces/websocket/client-options.interfaces.js +2 -0
  50. package/dist/esm/interfaces/websocket/client-options.interfaces.js.map +1 -0
  51. package/dist/esm/interfaces/websocket/events.interfaces.js +2 -0
  52. package/dist/esm/interfaces/websocket/events.interfaces.js.map +1 -0
  53. package/dist/esm/interfaces/websocket/stats.interfaces.js +2 -0
  54. package/dist/esm/interfaces/websocket/stats.interfaces.js.map +1 -0
  55. package/dist/esm/utils/code-solver-websocket-client.js +381 -1503
  56. package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
  57. package/dist/esm/utils/connection-state-manager.js +129 -0
  58. package/dist/esm/utils/connection-state-manager.js.map +1 -0
  59. package/dist/esm/utils/logger.js +101 -0
  60. package/dist/esm/utils/logger.js.map +1 -0
  61. package/dist/esm/utils/ping-pong-manager.js +302 -0
  62. package/dist/esm/utils/ping-pong-manager.js.map +1 -0
  63. package/dist/esm/utils/session-manager.js +109 -0
  64. package/dist/esm/utils/session-manager.js.map +1 -0
  65. package/dist/esm/ws/base-ws-client.js +282 -0
  66. package/dist/esm/ws/base-ws-client.js.map +1 -0
  67. package/dist/esm/ws/dependencies-ws-client.js +7 -0
  68. package/dist/esm/ws/dependencies-ws-client.js.map +1 -0
  69. package/dist/esm/ws/diagnostics-service.js +166 -0
  70. package/dist/esm/ws/diagnostics-service.js.map +1 -0
  71. package/dist/esm/ws/indexing-ws-client.js +219 -0
  72. package/dist/esm/ws/indexing-ws-client.js.map +1 -0
  73. package/dist/esm/ws/notifications-ws-client.js +8 -0
  74. package/dist/esm/ws/notifications-ws-client.js.map +1 -0
  75. package/dist/esm/ws/reasoning-ws-client.js +326 -0
  76. package/dist/esm/ws/reasoning-ws-client.js.map +1 -0
  77. package/dist/types/api/projects-api.d.ts.map +1 -1
  78. package/dist/types/code-solver-sdk.d.ts +2 -1
  79. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  80. package/dist/types/constants/websocket-events.constants.d.ts +12 -0
  81. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  82. package/dist/types/constants/websocket-namespaces.constants.d.ts +14 -0
  83. package/dist/types/constants/websocket-namespaces.constants.d.ts.map +1 -0
  84. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts +30 -0
  85. package/dist/types/interfaces/websocket/callbacks.interfaces.d.ts.map +1 -0
  86. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts +51 -0
  87. package/dist/types/interfaces/websocket/client-options.interfaces.d.ts.map +1 -0
  88. package/dist/types/interfaces/websocket/events.interfaces.d.ts +165 -0
  89. package/dist/types/interfaces/websocket/events.interfaces.d.ts.map +1 -0
  90. package/dist/types/interfaces/websocket/stats.interfaces.d.ts +72 -0
  91. package/dist/types/interfaces/websocket/stats.interfaces.d.ts.map +1 -0
  92. package/dist/types/utils/code-solver-websocket-client.d.ts +70 -616
  93. package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
  94. package/dist/types/utils/connection-state-manager.d.ts +94 -0
  95. package/dist/types/utils/connection-state-manager.d.ts.map +1 -0
  96. package/dist/types/utils/logger.d.ts +62 -0
  97. package/dist/types/utils/logger.d.ts.map +1 -0
  98. package/dist/types/utils/ping-pong-manager.d.ts +118 -0
  99. package/dist/types/utils/ping-pong-manager.d.ts.map +1 -0
  100. package/dist/types/utils/session-manager.d.ts +98 -0
  101. package/dist/types/utils/session-manager.d.ts.map +1 -0
  102. package/dist/types/ws/base-ws-client.d.ts +119 -0
  103. package/dist/types/ws/base-ws-client.d.ts.map +1 -0
  104. package/dist/types/ws/dependencies-ws-client.d.ts +6 -0
  105. package/dist/types/ws/dependencies-ws-client.d.ts.map +1 -0
  106. package/dist/types/ws/diagnostics-service.d.ts +93 -0
  107. package/dist/types/ws/diagnostics-service.d.ts.map +1 -0
  108. package/dist/types/ws/indexing-ws-client.d.ts +78 -0
  109. package/dist/types/ws/indexing-ws-client.d.ts.map +1 -0
  110. package/dist/types/ws/notifications-ws-client.d.ts +5 -0
  111. package/dist/types/ws/notifications-ws-client.d.ts.map +1 -0
  112. package/dist/types/ws/reasoning-ws-client.d.ts +87 -0
  113. package/dist/types/ws/reasoning-ws-client.d.ts.map +1 -0
  114. package/docs/AUTHENTICATION.md +31 -127
  115. package/docs/WEBSOCKET.md +51 -211
  116. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-solver-websocket-client.js","sourceRoot":"","sources":["../../../src/utils/code-solver-websocket-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,129 @@
1
+ import { createWebSocketLogger } from './logger.js';
2
+ /**
3
+ * Класс для управления состоянием подключений
4
+ */
5
+ export class ConnectionStateManager {
6
+ /**
7
+ * Создает новый менеджер состояния подключений
8
+ * @param {ConnectionStateManagerOptions} options Опции менеджера состояния подключений
9
+ */
10
+ constructor(options = {}) {
11
+ /** Хранилище состояний подключений */
12
+ this.states = new Map();
13
+ this.reconnectStrategy = options.reconnectStrategy || 'exponential';
14
+ this.retryDelay = options.retryDelay || 1000;
15
+ this.maxRetryDelay = options.maxRetryDelay || 30000;
16
+ this.logger = options.logger || createWebSocketLogger('ConnectionStateManager');
17
+ }
18
+ /**
19
+ * Получает состояние подключения для указанного пространства имен
20
+ * @param {WebSocketNamespace} namespace Пространство имен
21
+ * @returns {ConnectionState} Состояние подключения
22
+ */
23
+ getState(namespace) {
24
+ if (!this.states.has(namespace)) {
25
+ // Инициализируем состояние по умолчанию
26
+ this.states.set(namespace, {
27
+ lastConnectTime: 0,
28
+ reconnectAttempts: 0,
29
+ connected: false,
30
+ reconnecting: false
31
+ });
32
+ }
33
+ return this.states.get(namespace);
34
+ }
35
+ /**
36
+ * Устанавливает состояние подключения для указанного пространства имен
37
+ * @param {WebSocketNamespace} namespace Пространство имен
38
+ * @param {boolean} connected Состояние подключения
39
+ * @param {boolean} reconnecting Состояние переподключения
40
+ */
41
+ setConnectionState(namespace, connected, reconnecting = false) {
42
+ const state = this.getState(namespace);
43
+ state.connected = connected;
44
+ state.reconnecting = reconnecting;
45
+ if (connected) {
46
+ state.lastConnectTime = Date.now();
47
+ // Сбрасываем счетчик попыток переподключения, если успешно подключились
48
+ if (!reconnecting) {
49
+ state.reconnectAttempts = 0;
50
+ }
51
+ }
52
+ this.states.set(namespace, state);
53
+ this.logger.debug(`Обновлено состояние подключения для ${namespace}`, {
54
+ connected,
55
+ reconnecting,
56
+ attempts: state.reconnectAttempts,
57
+ lastConnect: state.lastConnectTime
58
+ });
59
+ }
60
+ /**
61
+ * Увеличивает счетчик попыток переподключения для указанного пространства имен
62
+ * @param {WebSocketNamespace} namespace Пространство имен
63
+ * @returns {number} Новое количество попыток
64
+ */
65
+ incrementReconnectAttempts(namespace) {
66
+ const state = this.getState(namespace);
67
+ state.reconnectAttempts++;
68
+ state.reconnecting = true;
69
+ this.states.set(namespace, state);
70
+ this.logger.debug(`Увеличен счетчик попыток переподключения для ${namespace}`, {
71
+ attempts: state.reconnectAttempts
72
+ });
73
+ return state.reconnectAttempts;
74
+ }
75
+ /**
76
+ * Рассчитывает задержку для переподключения на основе количества попыток и стратегии
77
+ * @param {WebSocketNamespace} namespace Пространство имен
78
+ * @returns {number} Задержка в миллисекундах
79
+ */
80
+ calculateReconnectDelay(namespace) {
81
+ const state = this.getState(namespace);
82
+ const attempts = state.reconnectAttempts;
83
+ if (this.reconnectStrategy === 'exponential') {
84
+ // Экспоненциальный рост с фактором 1.5
85
+ const calculatedDelay = Math.min(this.retryDelay * Math.pow(1.5, attempts), this.maxRetryDelay);
86
+ // Добавляем случайный фактор (jitter) для предотвращения штормов переподключений
87
+ return calculatedDelay * (0.8 + Math.random() * 0.4);
88
+ }
89
+ else {
90
+ // Линейный рост
91
+ return Math.min(this.retryDelay * (attempts + 1), this.maxRetryDelay);
92
+ }
93
+ }
94
+ /**
95
+ * Сбрасывает счетчик попыток переподключения для указанного пространства имен
96
+ * @param {WebSocketNamespace} namespace Пространство имен
97
+ */
98
+ resetReconnectAttempts(namespace) {
99
+ const state = this.getState(namespace);
100
+ state.reconnectAttempts = 0;
101
+ state.reconnecting = false;
102
+ this.states.set(namespace, state);
103
+ this.logger.debug(`Сброшен счетчик попыток переподключения для ${namespace}`);
104
+ }
105
+ /**
106
+ * Регистрирует успешное подключение
107
+ * @param {WebSocketNamespace} namespace Пространство имен
108
+ */
109
+ registerSuccessfulConnection(namespace) {
110
+ this.setConnectionState(namespace, true, false);
111
+ this.resetReconnectAttempts(namespace);
112
+ }
113
+ /**
114
+ * Регистрирует отключение
115
+ * @param {WebSocketNamespace} namespace Пространство имен
116
+ */
117
+ registerDisconnection(namespace) {
118
+ this.setConnectionState(namespace, false, false);
119
+ }
120
+ /**
121
+ * Регистрирует начало процесса переподключения
122
+ * @param {WebSocketNamespace} namespace Пространство имен
123
+ */
124
+ registerReconnecting(namespace) {
125
+ this.setConnectionState(namespace, false, true);
126
+ this.incrementReconnectAttempts(namespace);
127
+ }
128
+ }
129
+ //# sourceMappingURL=connection-state-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-state-manager.js","sourceRoot":"","sources":["../../../src/utils/connection-state-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Уровни логирования
3
+ */
4
+ export var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel["DEBUG"] = "debug";
7
+ LogLevel["INFO"] = "info";
8
+ LogLevel["WARN"] = "warn";
9
+ LogLevel["ERROR"] = "error";
10
+ })(LogLevel || (LogLevel = {}));
11
+ /**
12
+ * Реализация логгера
13
+ */
14
+ class LoggerImpl {
15
+ /**
16
+ * Создает новый логгер
17
+ * @param component Название компонента
18
+ * @param logFn Функция логирования
19
+ */
20
+ constructor(component, logFn) {
21
+ this.component = component;
22
+ this.logFn = logFn;
23
+ }
24
+ /**
25
+ * Логирует отладочное сообщение
26
+ * @param message Сообщение для логирования
27
+ * @param data Дополнительные данные
28
+ */
29
+ debug(message, data) {
30
+ this.logFn(LogLevel.DEBUG, `[${this.component}] ${message}`, data);
31
+ }
32
+ /**
33
+ * Логирует информационное сообщение
34
+ * @param message Сообщение для логирования
35
+ * @param data Дополнительные данные
36
+ */
37
+ info(message, data) {
38
+ this.logFn(LogLevel.INFO, `[${this.component}] ${message}`, data);
39
+ }
40
+ /**
41
+ * Логирует предупреждение
42
+ * @param message Сообщение для логирования
43
+ * @param data Дополнительные данные
44
+ */
45
+ warn(message, data) {
46
+ this.logFn(LogLevel.WARN, `[${this.component}] ${message}`, data);
47
+ }
48
+ /**
49
+ * Логирует ошибку
50
+ * @param message Сообщение для логирования
51
+ * @param data Дополнительные данные
52
+ */
53
+ error(message, data) {
54
+ this.logFn(LogLevel.ERROR, `[${this.component}] ${message}`, data);
55
+ }
56
+ /**
57
+ * Создает новый логгер с указанным префиксом
58
+ * @param prefix Префикс для нового логгера
59
+ * @returns Новый логгер с префиксом
60
+ */
61
+ withPrefix(prefix) {
62
+ return new LoggerImpl(`${this.component}:${prefix}`, this.logFn);
63
+ }
64
+ }
65
+ /**
66
+ * Функция логирования по умолчанию
67
+ */
68
+ const defaultLogFunction = (level, message, data) => {
69
+ if (level === LogLevel.ERROR) {
70
+ console.error(message, data);
71
+ }
72
+ else if (level === LogLevel.WARN) {
73
+ console.warn(message, data);
74
+ }
75
+ else if (level === LogLevel.INFO) {
76
+ console.info(message, data);
77
+ }
78
+ else if (level === LogLevel.DEBUG) {
79
+ if (process.env.NODE_ENV === 'development') {
80
+ console.debug(message, data);
81
+ }
82
+ }
83
+ };
84
+ /**
85
+ * Создает новый логгер для WebSocket клиента
86
+ * @param component Название компонента
87
+ * @param logFn Функция логирования
88
+ * @returns Новый логгер
89
+ */
90
+ export function createWebSocketLogger(component, logFn = defaultLogFunction) {
91
+ return new LoggerImpl(component, logFn);
92
+ }
93
+ /**
94
+ * Создает новый логгер с пустой функцией логирования
95
+ * @param component Название компонента
96
+ * @returns Новый логгер
97
+ */
98
+ export function createNullLogger(component) {
99
+ return new LoggerImpl(component, () => { });
100
+ }
101
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AA+CD;;GAEG;AACH,MAAM,UAAU;IAOd;;;;OAIG;IACH,YAAY,SAAiB,EAAE,KAAkB;QAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,IAAI,CAAC,OAAe,EAAE,IAAU;QACrC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAe,EAAE,IAAU;QACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAc;QAC9B,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,kBAAkB,GAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;IAC/D,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;SAAM,IAAI,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,QAAqB,kBAAkB;IAC9F,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}