solver-sdk 10.0.1 → 10.2.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 (54) hide show
  1. package/README.md +214 -39
  2. package/dist/cjs/api/chat-api/stream-utils.js +103 -0
  3. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
  4. package/dist/cjs/api/delta-chunking-api.js +5 -2
  5. package/dist/cjs/api/delta-chunking-api.js.map +1 -1
  6. package/dist/cjs/code-solver-sdk.js +6 -3
  7. package/dist/cjs/code-solver-sdk.js.map +1 -1
  8. package/dist/cjs/delta-chunking/delta-chunking-manager.js +12 -3
  9. package/dist/cjs/delta-chunking/delta-chunking-manager.js.map +1 -1
  10. package/dist/cjs/index.js +11 -1
  11. package/dist/cjs/index.js.map +1 -1
  12. package/dist/cjs/utils/project-sync-client.js +116 -11
  13. package/dist/cjs/utils/project-sync-client.js.map +1 -1
  14. package/dist/esm/api/chat-api/stream-utils.js +100 -0
  15. package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
  16. package/dist/esm/api/delta-chunking-api.js +5 -2
  17. package/dist/esm/api/delta-chunking-api.js.map +1 -1
  18. package/dist/esm/code-solver-sdk.js +6 -3
  19. package/dist/esm/code-solver-sdk.js.map +1 -1
  20. package/dist/esm/delta-chunking/delta-chunking-manager.js +12 -3
  21. package/dist/esm/delta-chunking/delta-chunking-manager.js.map +1 -1
  22. package/dist/esm/index.js +4 -0
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/utils/project-sync-client.js +116 -11
  25. package/dist/esm/utils/project-sync-client.js.map +1 -1
  26. package/dist/types/api/chat-api/stream-utils.d.ts +34 -0
  27. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
  28. package/dist/types/api/delta-chunking-api.d.ts +4 -1
  29. package/dist/types/api/delta-chunking-api.d.ts.map +1 -1
  30. package/dist/types/code-solver-sdk.d.ts +2 -2
  31. package/dist/types/code-solver-sdk.d.ts.map +1 -1
  32. package/dist/types/delta-chunking/delta-chunking-manager.d.ts +4 -1
  33. package/dist/types/delta-chunking/delta-chunking-manager.d.ts.map +1 -1
  34. package/dist/types/index.d.ts +2 -0
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/interfaces/sdk-options.d.ts +15 -0
  37. package/dist/types/interfaces/sdk-options.d.ts.map +1 -1
  38. package/dist/types/types/delta-chunking.d.ts +5 -0
  39. package/dist/types/types/delta-chunking.d.ts.map +1 -1
  40. package/dist/types/utils/project-sync-client.d.ts +70 -3
  41. package/dist/types/utils/project-sync-client.d.ts.map +1 -1
  42. package/package.json +1 -1
  43. package/dist/cjs/utils/logger.js +0 -106
  44. package/dist/cjs/utils/logger.js.map +0 -1
  45. package/dist/cjs/utils/sse-client.js +0 -233
  46. package/dist/cjs/utils/sse-client.js.map +0 -1
  47. package/dist/esm/utils/logger.js +0 -101
  48. package/dist/esm/utils/logger.js.map +0 -1
  49. package/dist/esm/utils/sse-client.js +0 -229
  50. package/dist/esm/utils/sse-client.js.map +0 -1
  51. package/dist/types/utils/logger.d.ts +0 -62
  52. package/dist/types/utils/logger.d.ts.map +0 -1
  53. package/dist/types/utils/sse-client.d.ts +0 -92
  54. package/dist/types/utils/sse-client.d.ts.map +0 -1
@@ -62,7 +62,49 @@ export interface ErrorEvent {
62
62
  recoverable: boolean;
63
63
  }
64
64
  export type SyncEventHandler<T> = (data: T) => void;
65
- export type EventType = 'sync-status-update' | 'sync-progress' | 'sync-completed' | 'error' | 'connected' | 'disconnected';
65
+ /**
66
+ * Типы событий WebSocket (синхронизированы с backend ProjectSyncGateway)
67
+ *
68
+ * Backend → Client:
69
+ * - 'connected' - успешное подключение к gateway
70
+ * - 'disconnected' - отключение от gateway (SDK-only, внутреннее)
71
+ * - 'project-sync-joined' - успешная подписка на проект
72
+ * - 'project-sync-left' - успешная отписка от проекта
73
+ * - 'sync-status-update' - обновление статуса синхронизации
74
+ * - 'sync-progress' - прогресс синхронизации
75
+ * - 'sync-completed' - завершение синхронизации
76
+ * - 'error' - ошибки (IP_CONNECTIONS_EXCEEDED, INVALID_PROJECT_ID, etc.)
77
+ * - 'disconnect-idle' - принудительное отключение по idle timeout
78
+ * - 'reconnect_exhausted' - SDK-only: исчерпаны попытки reconnect
79
+ */
80
+ export type EventType = 'sync-status-update' | 'sync-progress' | 'sync-completed' | 'error' | 'connected' | 'disconnected' | 'project-sync-joined' | 'project-sync-left' | 'disconnect-idle' | 'reconnect_exhausted';
81
+ /** Событие при успешном join на проект (от backend) */
82
+ export interface ProjectSyncJoinedEvent {
83
+ projectId: string;
84
+ message: string;
85
+ connectedClients: number;
86
+ timestamp: Date;
87
+ }
88
+ /** Событие при leave проекта (от backend) */
89
+ export interface ProjectSyncLeftEvent {
90
+ projectId: string;
91
+ message: string;
92
+ timestamp: Date;
93
+ }
94
+ /** Событие при принудительном отключении по idle timeout */
95
+ export interface DisconnectIdleEvent {
96
+ reason: string;
97
+ idleTime: number;
98
+ maxIdleTime: number;
99
+ timestamp: Date;
100
+ }
101
+ /** Событие при исчерпании попыток reconnect (SDK-only) */
102
+ export interface ReconnectExhaustedEvent {
103
+ attempts: number;
104
+ maxAttempts: number;
105
+ lastError?: string;
106
+ timestamp: Date;
107
+ }
66
108
  /**
67
109
  * Опции для ProjectSyncClient
68
110
  */
@@ -77,8 +119,22 @@ export interface ProjectSyncClientOptions {
77
119
  maxRetries?: number;
78
120
  /** Задержка между попытками переподключения (мс) */
79
121
  retryDelay?: number;
80
- /** Включить отладочные логи */
122
+ /** Включить отладочные логи (deprecated: используйте logLevel) */
81
123
  debug?: boolean;
124
+ /**
125
+ * 🔄 Полностью отключить auto-reconnect в SDK
126
+ * Рекомендуется при использовании собственного координатора reconnect на клиенте
127
+ */
128
+ disableAutoReconnect?: boolean;
129
+ /**
130
+ * 📝 Уровень логирования для WebSocket
131
+ * - 'silent' - полностью отключает логирование
132
+ * - 'error' - только ошибки (по умолчанию)
133
+ * - 'warn' - предупреждения и ошибки
134
+ * - 'info' - информация, предупреждения и ошибки
135
+ * - 'debug' - полная отладочная информация
136
+ */
137
+ logLevel?: 'silent' | 'error' | 'warn' | 'info' | 'debug';
82
138
  }
83
139
  /**
84
140
  * 🔌 WebSocket клиент для project sync уведомлений
@@ -93,12 +149,23 @@ export declare class ProjectSyncClient {
93
149
  private subscribedProjects;
94
150
  private idleWarningTimer;
95
151
  private readonly IDLE_WARNING_DELAY;
152
+ private errorDebounce;
153
+ private readonly ERROR_DEBOUNCE_MS;
154
+ private lastConnectionError;
96
155
  private eventHandlers;
97
156
  /**
98
- * Logger для отладки
157
+ * Logger для отладки с поддержкой logLevel и debounce
99
158
  */
100
159
  private logger;
101
160
  constructor(options: ProjectSyncClientOptions);
161
+ /**
162
+ * 📝 Проверка уровня логирования
163
+ */
164
+ private shouldLog;
165
+ /**
166
+ * 🔄 Логирование ошибок с debounce для снижения спама
167
+ */
168
+ private logErrorWithDebounce;
102
169
  /**
103
170
  * 🔌 Подключение к WebSocket
104
171
  */
@@ -1 +1 @@
1
- {"version":3,"file":"project-sync-client.d.ts","sourceRoot":"","sources":["../../../src/utils/project-sync-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-sync-client.d.ts","sourceRoot":"","sources":["../../../src/utils/project-sync-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "10.0.1",
3
+ "version": "10.2.0",
4
4
  "description": "SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,106 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LogLevel = void 0;
4
- exports.createHttpLogger = createHttpLogger;
5
- exports.createNullLogger = createNullLogger;
6
- /**
7
- * Уровни логирования
8
- */
9
- var LogLevel;
10
- (function (LogLevel) {
11
- LogLevel["DEBUG"] = "debug";
12
- LogLevel["INFO"] = "info";
13
- LogLevel["WARN"] = "warn";
14
- LogLevel["ERROR"] = "error";
15
- })(LogLevel || (exports.LogLevel = LogLevel = {}));
16
- /**
17
- * Реализация логгера
18
- */
19
- class LoggerImpl {
20
- /**
21
- * Создает новый логгер
22
- * @param component Название компонента
23
- * @param logFn Функция логирования
24
- */
25
- constructor(component, logFn) {
26
- this.component = component;
27
- this.logFn = logFn;
28
- }
29
- /**
30
- * Логирует отладочное сообщение
31
- * @param message Сообщение для логирования
32
- * @param data Дополнительные данные
33
- */
34
- debug(message, data) {
35
- this.logFn(LogLevel.DEBUG, `[${this.component}] ${message}`, data);
36
- }
37
- /**
38
- * Логирует информационное сообщение
39
- * @param message Сообщение для логирования
40
- * @param data Дополнительные данные
41
- */
42
- info(message, data) {
43
- this.logFn(LogLevel.INFO, `[${this.component}] ${message}`, data);
44
- }
45
- /**
46
- * Логирует предупреждение
47
- * @param message Сообщение для логирования
48
- * @param data Дополнительные данные
49
- */
50
- warn(message, data) {
51
- this.logFn(LogLevel.WARN, `[${this.component}] ${message}`, data);
52
- }
53
- /**
54
- * Логирует ошибку
55
- * @param message Сообщение для логирования
56
- * @param data Дополнительные данные
57
- */
58
- error(message, data) {
59
- this.logFn(LogLevel.ERROR, `[${this.component}] ${message}`, data);
60
- }
61
- /**
62
- * Создает новый логгер с указанным префиксом
63
- * @param prefix Префикс для нового логгера
64
- * @returns Новый логгер с префиксом
65
- */
66
- withPrefix(prefix) {
67
- return new LoggerImpl(`${this.component}:${prefix}`, this.logFn);
68
- }
69
- }
70
- /**
71
- * Функция логирования по умолчанию
72
- */
73
- const defaultLogFunction = (level, message, data) => {
74
- if (level === LogLevel.ERROR) {
75
- console.error(message, data);
76
- }
77
- else if (level === LogLevel.WARN) {
78
- console.warn(message, data);
79
- }
80
- else if (level === LogLevel.INFO) {
81
- console.info(message, data);
82
- }
83
- else if (level === LogLevel.DEBUG) {
84
- if (process.env.NODE_ENV === 'development') {
85
- console.debug(message, data);
86
- }
87
- }
88
- };
89
- /**
90
- * Создает новый логгер для HTTP клиента
91
- * @param component Название компонента
92
- * @param logFn Функция логирования
93
- * @returns Логгер
94
- */
95
- function createHttpLogger(component, logFn = defaultLogFunction) {
96
- return new LoggerImpl(component, logFn);
97
- }
98
- /**
99
- * Создает новый логгер с пустой функцией логирования
100
- * @param component Название компонента
101
- * @returns Новый логгер
102
- */
103
- function createNullLogger(component) {
104
- return new LoggerImpl(component, () => { });
105
- }
106
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;AAgJA,4CAEC;AAOD,4CAEC;AA3JD;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EALW,QAAQ,wBAAR,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,SAAgB,gBAAgB,CAAC,SAAiB,EAAE,QAAqB,kBAAkB;IACzF,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,SAAiB;IAChD,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AAC7C,CAAC"}
@@ -1,233 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SseClient = void 0;
4
- const event_source_polyfill_1 = require("event-source-polyfill");
5
- // В браузере будем использовать нативный EventSource или полифилл
6
- const BrowserEventSource = typeof EventSource !== 'undefined' ? EventSource : event_source_polyfill_1.EventSourcePolyfill;
7
- // Проверяем, находимся ли мы в браузере
8
- const isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';
9
- /**
10
- * Клиент для работы с Server-Sent Events (SSE)
11
- * Поддерживает работу как в браузере, так и в Node.js
12
- */
13
- class SseClient {
14
- /**
15
- * Создает новый SSE клиент
16
- * @param {string} url URL для подключения
17
- * @param {SseClientOptions} [options] Опции клиента
18
- */
19
- constructor(url, options = {}) {
20
- /** Экземпляр EventSource */
21
- this.eventSource = null;
22
- /** Счетчик попыток переподключения */
23
- this.retryCount = 0;
24
- /** Флаг, указывающий, что соединение было закрыто намеренно */
25
- this.intentionallyClosed = false;
26
- /** Таймер переподключения */
27
- this.reconnectTimer = null;
28
- /** Таймер таймаута соединения */
29
- this.connectionTimeoutTimer = null;
30
- /** Обработчики событий */
31
- this.eventHandlers = {};
32
- this.url = url;
33
- this.options = {
34
- headers: options.headers || {},
35
- connectionTimeout: options.connectionTimeout || 30000,
36
- maxRetries: options.maxRetries || 5,
37
- retryDelay: options.retryDelay || 1000,
38
- maxRetryDelay: options.maxRetryDelay || 30000
39
- };
40
- }
41
- /**
42
- * Подключается к SSE эндпоинту
43
- * @returns {Promise<void>}
44
- */
45
- connect() {
46
- // Если соединение уже установлено, возвращаем Promise.resolve
47
- if (this.eventSource && this.eventSource.readyState === 1) {
48
- return Promise.resolve();
49
- }
50
- // Сбрасываем флаг намеренного закрытия
51
- this.intentionallyClosed = false;
52
- return new Promise((resolve, reject) => {
53
- try {
54
- // Создаем новый экземпляр EventSource
55
- const EventSourceImpl = isBrowser ? BrowserEventSource : require('eventsource');
56
- this.eventSource = new EventSourceImpl(this.url, {
57
- headers: this.options.headers,
58
- withCredentials: true
59
- });
60
- // Устанавливаем таймаут соединения
61
- this.connectionTimeoutTimer = setTimeout(() => {
62
- if (this.eventSource && this.eventSource.readyState !== 1) {
63
- reject(new Error('Таймаут подключения SSE'));
64
- this.close();
65
- }
66
- }, this.options.connectionTimeout);
67
- // Проверяем, что this.eventSource не null
68
- if (!this.eventSource) {
69
- reject(new Error('Не удалось создать EventSource'));
70
- return;
71
- }
72
- // Обработчик открытия соединения
73
- this.eventSource.onopen = () => {
74
- clearTimeout(this.connectionTimeoutTimer);
75
- this.retryCount = 0;
76
- resolve();
77
- this.dispatchEvent('open', {});
78
- };
79
- // Обработчик сообщений
80
- this.eventSource.onmessage = (event) => {
81
- try {
82
- const data = JSON.parse(event.data);
83
- this.dispatchEvent('message', data);
84
- // Также вызываем специальный обработчик для конкретного типа события,
85
- // если такой тип указан в данных
86
- if (data && data.type) {
87
- this.dispatchEvent(data.type, data);
88
- }
89
- }
90
- catch (error) {
91
- this.dispatchEvent('error', { error, message: 'Ошибка при обработке сообщения SSE' });
92
- }
93
- };
94
- // Обработчик ошибок
95
- this.eventSource.onerror = (error) => {
96
- clearTimeout(this.connectionTimeoutTimer);
97
- if (this.intentionallyClosed) {
98
- return;
99
- }
100
- // Если соединение уже установлено и произошла ошибка, просто сообщаем об ошибке
101
- if (this.eventSource && this.eventSource.readyState === 1) {
102
- this.dispatchEvent('error', { error, message: 'Ошибка SSE соединения' });
103
- return;
104
- }
105
- // Если это первая попытка подключения, отклоняем Promise
106
- if (this.retryCount === 0) {
107
- reject(new Error('Ошибка подключения SSE'));
108
- }
109
- // Запускаем процесс переподключения
110
- this.reconnect();
111
- };
112
- // Настраиваем обработчики для всех добавленных событий
113
- for (const eventType in this.eventHandlers) {
114
- if (eventType !== 'message' && eventType !== 'open' && eventType !== 'error') {
115
- this.eventSource.addEventListener(eventType, (event) => {
116
- try {
117
- const data = JSON.parse(event.data);
118
- this.dispatchEvent(eventType, data);
119
- }
120
- catch (e) {
121
- this.dispatchEvent(eventType, event.data);
122
- }
123
- });
124
- }
125
- }
126
- }
127
- catch (error) {
128
- reject(error);
129
- }
130
- });
131
- }
132
- /**
133
- * Закрывает SSE соединение
134
- */
135
- close() {
136
- this.intentionallyClosed = true;
137
- // Очищаем таймеры
138
- clearTimeout(this.reconnectTimer);
139
- clearTimeout(this.connectionTimeoutTimer);
140
- // Закрываем соединение
141
- if (this.eventSource) {
142
- this.eventSource.close();
143
- this.eventSource = null;
144
- }
145
- this.dispatchEvent('close', {});
146
- }
147
- /**
148
- * Добавляет обработчик события
149
- * @param {string} eventType Тип события
150
- * @param {SseEventHandler} handler Обработчик события
151
- */
152
- on(eventType, handler) {
153
- if (!this.eventHandlers[eventType]) {
154
- this.eventHandlers[eventType] = [];
155
- // Если соединение уже установлено, добавляем обработчик события
156
- if (this.eventSource && this.eventSource.readyState === 1 &&
157
- eventType !== 'message' && eventType !== 'open' && eventType !== 'error') {
158
- this.eventSource.addEventListener(eventType, (event) => {
159
- try {
160
- const data = JSON.parse(event.data);
161
- this.dispatchEvent(eventType, data);
162
- }
163
- catch (e) {
164
- this.dispatchEvent(eventType, event.data);
165
- }
166
- });
167
- }
168
- }
169
- this.eventHandlers[eventType].push(handler);
170
- }
171
- /**
172
- * Удаляет обработчик события
173
- * @param {string} eventType Тип события
174
- * @param {SseEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
175
- */
176
- off(eventType, handler) {
177
- if (!this.eventHandlers[eventType]) {
178
- return;
179
- }
180
- if (!handler) {
181
- // Если обработчик не указан, удаляем все обработчики для данного события
182
- delete this.eventHandlers[eventType];
183
- }
184
- else {
185
- // Если обработчик указан, удаляем только его
186
- this.eventHandlers[eventType] = this.eventHandlers[eventType].filter(h => h !== handler);
187
- // Если обработчиков больше нет, удаляем массив
188
- if (this.eventHandlers[eventType].length === 0) {
189
- delete this.eventHandlers[eventType];
190
- }
191
- }
192
- }
193
- /**
194
- * Вызывает обработчики для указанного события
195
- * @param {string} eventType Тип события
196
- * @param {any} data Данные события
197
- */
198
- dispatchEvent(eventType, data) {
199
- if (!this.eventHandlers[eventType]) {
200
- return;
201
- }
202
- for (const handler of this.eventHandlers[eventType]) {
203
- try {
204
- handler(data);
205
- }
206
- catch (e) {
207
- console.error(`Ошибка в обработчике события ${eventType}:`, e);
208
- }
209
- }
210
- }
211
- /**
212
- * Переподключается к SSE эндпоинту с экспоненциальной задержкой
213
- * @private
214
- */
215
- reconnect() {
216
- // Увеличиваем счетчик попыток
217
- this.retryCount++;
218
- // Если превышено максимальное количество попыток, прекращаем
219
- if (this.retryCount > (this.options.maxRetries || 5)) {
220
- this.dispatchEvent('maxRetries', { retries: this.retryCount });
221
- return;
222
- }
223
- // Вычисляем задержку перед переподключением с экспоненциальным ростом
224
- const delay = Math.min((this.options.retryDelay || 1000) * Math.pow(2, this.retryCount - 1), this.options.maxRetryDelay || 30000);
225
- // Пытаемся переподключиться после задержки
226
- this.reconnectTimer = setTimeout(() => {
227
- this.dispatchEvent('reconnect', { attempt: this.retryCount });
228
- this.connect().catch(() => { });
229
- }, delay);
230
- }
231
- }
232
- exports.SseClient = SseClient;
233
- //# sourceMappingURL=sse-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sse-client.js","sourceRoot":"","sources":["../../../src/utils/sse-client.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
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
- * Создает новый логгер для HTTP клиента
86
- * @param component Название компонента
87
- * @param logFn Функция логирования
88
- * @returns Логгер
89
- */
90
- export function createHttpLogger(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
@@ -1 +0,0 @@
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,gBAAgB,CAAC,SAAiB,EAAE,QAAqB,kBAAkB;IACzF,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"}