solver-sdk 2.7.3 → 2.7.5

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 (61) hide show
  1. package/dist/cjs/api/chat-api/index.js +53 -58
  2. package/dist/cjs/api/chat-api/index.js.map +1 -1
  3. package/dist/cjs/api/chat-api/stream-utils.js +126 -12
  4. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
  5. package/dist/cjs/api/projects-api.js +83 -4
  6. package/dist/cjs/api/projects-api.js.map +1 -1
  7. package/dist/cjs/utils/code-solver-websocket-client.js +0 -48
  8. package/dist/cjs/utils/code-solver-websocket-client.js.map +1 -1
  9. package/dist/cjs/utils/simple-connection-monitor.js +52 -0
  10. package/dist/cjs/utils/simple-connection-monitor.js.map +1 -0
  11. package/dist/cjs/ws/base-ws-client.js +8 -14
  12. package/dist/cjs/ws/base-ws-client.js.map +1 -1
  13. package/dist/cjs/ws/indexing-ws-client.js +46 -0
  14. package/dist/cjs/ws/indexing-ws-client.js.map +1 -1
  15. package/dist/esm/api/chat-api/index.js +54 -59
  16. package/dist/esm/api/chat-api/index.js.map +1 -1
  17. package/dist/esm/api/chat-api/stream-utils.js +126 -12
  18. package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
  19. package/dist/esm/api/projects-api.js +83 -4
  20. package/dist/esm/api/projects-api.js.map +1 -1
  21. package/dist/esm/utils/code-solver-websocket-client.js +0 -48
  22. package/dist/esm/utils/code-solver-websocket-client.js.map +1 -1
  23. package/dist/esm/utils/simple-connection-monitor.js +48 -0
  24. package/dist/esm/utils/simple-connection-monitor.js.map +1 -0
  25. package/dist/esm/ws/base-ws-client.js +8 -14
  26. package/dist/esm/ws/base-ws-client.js.map +1 -1
  27. package/dist/esm/ws/indexing-ws-client.js +46 -0
  28. package/dist/esm/ws/indexing-ws-client.js.map +1 -1
  29. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  30. package/dist/types/api/chat-api/models.d.ts +4 -2
  31. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  32. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
  33. package/dist/types/api/projects-api.d.ts +18 -0
  34. package/dist/types/api/projects-api.d.ts.map +1 -1
  35. package/dist/types/utils/code-solver-websocket-client.d.ts +0 -7
  36. package/dist/types/utils/code-solver-websocket-client.d.ts.map +1 -1
  37. package/dist/types/utils/simple-connection-monitor.d.ts +26 -0
  38. package/dist/types/utils/simple-connection-monitor.d.ts.map +1 -0
  39. package/dist/types/ws/base-ws-client.d.ts +3 -3
  40. package/dist/types/ws/base-ws-client.d.ts.map +1 -1
  41. package/dist/types/ws/indexing-ws-client.d.ts +16 -0
  42. package/dist/types/ws/indexing-ws-client.d.ts.map +1 -1
  43. package/package.json +1 -1
  44. package/dist/cjs/interfaces/websocket/stats.interfaces.js +0 -3
  45. package/dist/cjs/interfaces/websocket/stats.interfaces.js.map +0 -1
  46. package/dist/cjs/utils/ping-pong-manager.js +0 -306
  47. package/dist/cjs/utils/ping-pong-manager.js.map +0 -1
  48. package/dist/cjs/ws/diagnostics-service.js +0 -170
  49. package/dist/cjs/ws/diagnostics-service.js.map +0 -1
  50. package/dist/esm/interfaces/websocket/stats.interfaces.js +0 -2
  51. package/dist/esm/interfaces/websocket/stats.interfaces.js.map +0 -1
  52. package/dist/esm/utils/ping-pong-manager.js +0 -302
  53. package/dist/esm/utils/ping-pong-manager.js.map +0 -1
  54. package/dist/esm/ws/diagnostics-service.js +0 -166
  55. package/dist/esm/ws/diagnostics-service.js.map +0 -1
  56. package/dist/types/interfaces/websocket/stats.interfaces.d.ts +0 -72
  57. package/dist/types/interfaces/websocket/stats.interfaces.d.ts.map +0 -1
  58. package/dist/types/utils/ping-pong-manager.d.ts +0 -118
  59. package/dist/types/utils/ping-pong-manager.d.ts.map +0 -1
  60. package/dist/types/ws/diagnostics-service.d.ts +0 -93
  61. package/dist/types/ws/diagnostics-service.d.ts.map +0 -1
@@ -1,118 +0,0 @@
1
- import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
2
- import { WebSocketClient } from './websocket-client.js';
3
- import { Logger } from './logger.js';
4
- import { PingPongStats } from '../interfaces/websocket/stats.interfaces.js';
5
- /**
6
- * Опции для менеджера ping/pong
7
- */
8
- export interface PingPongManagerOptions {
9
- /** Интервал между ping-сообщениями в миллисекундах */
10
- pingInterval?: number;
11
- /** Количество пропущенных pong-ответов до признания соединения потерянным */
12
- pingTimeoutThreshold?: number;
13
- /** Логгер для вывода сообщений */
14
- logger?: Logger;
15
- }
16
- /**
17
- * Обработчик для событий ping/pong
18
- */
19
- export type PingPongEventHandler = (data: any) => void;
20
- /**
21
- * Класс для управления механизмом ping/pong
22
- */
23
- export declare class PingPongManager {
24
- /** Интервал между ping-сообщениями в миллисекундах */
25
- private readonly pingInterval;
26
- /** Количество пропущенных pong-ответов до признания соединения потерянным */
27
- private readonly pingTimeoutThreshold;
28
- /** Логгер для вывода сообщений */
29
- private readonly logger;
30
- /** Таймеры для ping/pong */
31
- private readonly pingIntervals;
32
- /** Статистика ping/pong */
33
- private readonly pingStats;
34
- /** Количество последовательных таймаутов */
35
- private readonly pingTimeouts;
36
- /** Хранилище обработчиков ping/pong */
37
- private readonly pingPongEventHandlers;
38
- /** Клиенты WebSocket по namespace */
39
- private readonly clients;
40
- /**
41
- * Создает новый менеджер ping/pong
42
- * @param {PingPongManagerOptions} options Опции менеджера ping/pong
43
- */
44
- constructor(options?: PingPongManagerOptions);
45
- /**
46
- * Регистрирует WebSocket клиент для указанного пространства имен
47
- * @param {WebSocketNamespace} namespace Пространство имен
48
- * @param {WebSocketClient} client WebSocket клиент
49
- */
50
- registerClient(namespace: WebSocketNamespace, client: WebSocketClient): void;
51
- /**
52
- * Удаляет регистрацию WebSocket клиента для указанного пространства имен
53
- * @param {WebSocketNamespace} namespace Пространство имен
54
- */
55
- unregisterClient(namespace: WebSocketNamespace): void;
56
- /**
57
- * Создает обработчик для события pong
58
- * @param {WebSocketNamespace} namespace Пространство имен
59
- * @returns {PingPongEventHandler} Обработчик события pong
60
- */
61
- private createPongHandler;
62
- /**
63
- * Уведомляет обработчики о событии
64
- * @param {string} eventType Тип события
65
- * @param {any} data Данные события
66
- */
67
- private notifyEventHandlers;
68
- /**
69
- * Включает автоматическую отправку ping-сообщений
70
- * @param {WebSocketNamespace} namespace Пространство имен
71
- * @returns {boolean} true, если механизм успешно включен
72
- */
73
- enablePingPong(namespace: WebSocketNamespace): boolean;
74
- /**
75
- * Проверяет таймаут для ping/pong
76
- * @param {WebSocketNamespace} namespace Пространство имен
77
- */
78
- private checkPingTimeout;
79
- /**
80
- * Отключает автоматическую отправку ping-сообщений
81
- * @param {WebSocketNamespace} namespace Пространство имен
82
- */
83
- disablePingPong(namespace: WebSocketNamespace): void;
84
- /**
85
- * Отключает автоматическую отправку ping-сообщений для всех пространств имен
86
- */
87
- disablePingPongAll(): void;
88
- /**
89
- * Получает статистику ping/pong для указанного пространства имен
90
- * @param {WebSocketNamespace} namespace Пространство имен
91
- * @returns {PingPongStats | null} Статистика ping/pong
92
- */
93
- getPingStats(namespace: WebSocketNamespace): PingPongStats | null;
94
- /**
95
- * Получает статистику ping/pong для всех пространств имен
96
- * @returns {PingPongStats[]} Массив статистики ping/pong
97
- */
98
- getAllPingStats(): PingPongStats[];
99
- /**
100
- * Добавляет обработчик для событий ping/pong
101
- * @param {string} eventType Тип события (connection_timeout, connection_pong)
102
- * @param {PingPongEventHandler} handler Обработчик события
103
- */
104
- onPingPongEvent(eventType: string, handler: PingPongEventHandler): void;
105
- /**
106
- * Удаляет обработчик для событий ping/pong
107
- * @param {string} eventType Тип события
108
- * @param {PingPongEventHandler} [handler] Обработчик события (если не указан, удаляются все обработчики)
109
- */
110
- offPingPongEvent(eventType: string, handler?: PingPongEventHandler): void;
111
- /**
112
- * Проверяет, включен ли механизм ping/pong для указанного пространства имен
113
- * @param {WebSocketNamespace} namespace Пространство имен
114
- * @returns {boolean} true, если механизм включен
115
- */
116
- isPingPongEnabled(namespace: WebSocketNamespace): boolean;
117
- }
118
- //# sourceMappingURL=ping-pong-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ping-pong-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/ping-pong-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAyB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC;AAEvD;;GAEG;AACH,qBAAa,eAAe;IAC1B,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAEtC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAE9C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsD;IAEpF,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqD;IAE/E,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA8C;IAE3E,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuD;IAE7F,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E;;;OAGG;gBACS,OAAO,GAAE,sBAA2B;IAMhD;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IA8BnF;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAgDzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;IA4E7D;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;OAGG;IACI,eAAe,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAU3D;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAQjC;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,eAAe,IAAI,aAAa,EAAE;IAIzC;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAW9E;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAgBhF;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,kBAAkB,GAAG,OAAO;CAGjE"}
@@ -1,93 +0,0 @@
1
- import { WebSocketNamespace } from '../constants/websocket-namespaces.constants.js';
2
- import { WebSocketClient } from '../utils/websocket-client.js';
3
- import { SessionManager } from '../utils/session-manager.js';
4
- import { PingPongManager } from '../utils/ping-pong-manager.js';
5
- import { ConnectionStateManager } from '../utils/connection-state-manager.js';
6
- import { ConnectionDiagnostics, PingPongStats } from '../interfaces/websocket/stats.interfaces.js';
7
- import { Logger } from '../utils/logger.js';
8
- /**
9
- * Опции для сервиса диагностики
10
- */
11
- export interface DiagnosticsServiceOptions {
12
- /** Интервал проверки здоровья соединений в миллисекундах */
13
- healthCheckInterval?: number;
14
- /** Логгер для вывода сообщений */
15
- logger?: Logger;
16
- /** Менеджер сессий */
17
- sessionManager?: SessionManager;
18
- /** Менеджер ping/pong */
19
- pingPongManager?: PingPongManager;
20
- /** Менеджер состояния подключения */
21
- connectionStateManager?: ConnectionStateManager;
22
- }
23
- /**
24
- * Сервис для диагностики WebSocket соединений
25
- */
26
- export declare class DiagnosticsService {
27
- /** Интервал проверки здоровья соединений в миллисекундах */
28
- private readonly healthCheckInterval;
29
- /** Логгер для вывода сообщений */
30
- private readonly logger;
31
- /** Менеджер сессий */
32
- private readonly sessionManager;
33
- /** Менеджер ping/pong */
34
- private readonly pingPongManager;
35
- /** Менеджер состояния подключения */
36
- private readonly connectionStateManager;
37
- /** Таймер для проверки здоровья соединений */
38
- private healthCheckTimer;
39
- /** Клиенты WebSocket по namespace */
40
- private readonly clients;
41
- /**
42
- * Создает новый сервис диагностики
43
- * @param {DiagnosticsServiceOptions} options Опции сервиса
44
- */
45
- constructor(options?: DiagnosticsServiceOptions);
46
- /**
47
- * Регистрирует WebSocket клиент для мониторинга
48
- * @param {WebSocketNamespace} namespace Пространство имен
49
- * @param {WebSocketClient} client WebSocket клиент
50
- */
51
- registerClient(namespace: WebSocketNamespace, client: WebSocketClient): void;
52
- /**
53
- * Удаляет регистрацию WebSocket клиента
54
- * @param {WebSocketNamespace} namespace Пространство имен
55
- */
56
- unregisterClient(namespace: WebSocketNamespace): void;
57
- /**
58
- * Запускает периодическую проверку здоровья соединений
59
- * @returns {boolean} true, если проверка успешно запущена
60
- */
61
- startHealthCheck(): boolean;
62
- /**
63
- * Останавливает периодическую проверку здоровья соединений
64
- */
65
- stopHealthCheck(): void;
66
- /**
67
- * Выполняет проверку здоровья соединений
68
- */
69
- private performHealthCheck;
70
- /**
71
- * Выполняет диагностику соединения
72
- * @param {WebSocketNamespace} namespace Пространство имен
73
- * @returns {ConnectionDiagnostics} Диагностическая информация
74
- */
75
- diagnoseConnection(namespace: WebSocketNamespace): ConnectionDiagnostics;
76
- /**
77
- * Выполняет диагностику всех соединений
78
- * @returns {Record<string, ConnectionDiagnostics>} Диагностическая информация по всем соединениям
79
- */
80
- diagnoseAllConnections(): Record<string, ConnectionDiagnostics>;
81
- /**
82
- * Получает статистику ping/pong для указанного пространства имен
83
- * @param {WebSocketNamespace} namespace Пространство имен
84
- * @returns {PingPongStats | null} Статистика ping/pong
85
- */
86
- getPingStats(namespace: WebSocketNamespace): PingPongStats | null;
87
- /**
88
- * Возвращает функцию-обработчик для pong-ответов, которая рассчитывает RTT
89
- * @returns {(data: any) => void} Функция-обработчик
90
- */
91
- getPongHandler(): (data: any) => void;
92
- }
93
- //# sourceMappingURL=diagnostics-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"diagnostics-service.d.ts","sourceRoot":"","sources":["../../../src/ws/diagnostics-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,MAAM,EAAyB,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,sBAAsB;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC,yBAAyB;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC,qCAAqC;IACrC,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;CACjD;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE7C,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,sBAAsB;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAEhD,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkB;IAElD,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAyB;IAEhE,8CAA8C;IAC9C,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuD;IAE/E;;;OAGG;gBACS,OAAO,GAAE,yBAA8B;IAQnD;;;;OAIG;IACI,cAAc,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,eAAe,GAAG,IAAI;IAOnF;;;OAGG;IACI,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI;IAK5D;;;OAGG;IACI,gBAAgB,IAAI,OAAO;IAalC;;OAEG;IACI,eAAe,IAAI,IAAI;IAQ9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+B1B;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,kBAAkB,GAAG,qBAAqB;IA+B/E;;;OAGG;IACI,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;IAWtE;;;;OAIG;IACI,YAAY,CAAC,SAAS,EAAE,kBAAkB,GAAG,aAAa,GAAG,IAAI;IAIxE;;;OAGG;IACI,cAAc,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI;CAU7C"}