solver-sdk 2.0.2 → 2.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 (51) hide show
  1. package/dist/cjs/api/chat-api/index.js +205 -171
  2. package/dist/cjs/api/chat-api/index.js.map +1 -1
  3. package/dist/cjs/api/chat-api/models.js +1 -1
  4. package/dist/cjs/api/chat-api/stream-utils.js +139 -151
  5. package/dist/cjs/api/chat-api/stream-utils.js.map +1 -1
  6. package/dist/cjs/constants/websocket-events.constants.js +1 -1
  7. package/dist/cjs/constants/websocket-events.constants.js.map +1 -1
  8. package/dist/cjs/index.js +2 -0
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/utils/message-helpers.js +212 -0
  11. package/dist/cjs/utils/message-helpers.js.map +1 -0
  12. package/dist/cjs/ws/filesystem-ws-client.js +0 -10
  13. package/dist/cjs/ws/filesystem-ws-client.js.map +1 -1
  14. package/dist/esm/api/chat-api/index.js +207 -151
  15. package/dist/esm/api/chat-api/index.js.map +1 -1
  16. package/dist/esm/api/chat-api/models.js +1 -1
  17. package/dist/esm/api/chat-api/stream-utils.js +139 -151
  18. package/dist/esm/api/chat-api/stream-utils.js.map +1 -1
  19. package/dist/esm/constants/websocket-events.constants.js +1 -1
  20. package/dist/esm/constants/websocket-events.constants.js.map +1 -1
  21. package/dist/esm/index.js +2 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/utils/message-helpers.js +199 -0
  24. package/dist/esm/utils/message-helpers.js.map +1 -0
  25. package/dist/esm/ws/filesystem-ws-client.js +0 -10
  26. package/dist/esm/ws/filesystem-ws-client.js.map +1 -1
  27. package/dist/types/api/chat-api/index.d.ts +23 -8
  28. package/dist/types/api/chat-api/index.d.ts.map +1 -1
  29. package/dist/types/api/chat-api/interfaces.d.ts +125 -8
  30. package/dist/types/api/chat-api/interfaces.d.ts.map +1 -1
  31. package/dist/types/api/chat-api/models.d.ts +163 -43
  32. package/dist/types/api/chat-api/models.d.ts.map +1 -1
  33. package/dist/types/api/chat-api/stream-utils.d.ts +19 -16
  34. package/dist/types/api/chat-api/stream-utils.d.ts.map +1 -1
  35. package/dist/types/constants/websocket-events.constants.d.ts +2 -2
  36. package/dist/types/constants/websocket-events.constants.d.ts.map +1 -1
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/index.d.ts.map +1 -1
  39. package/dist/types/utils/message-helpers.d.ts +84 -0
  40. package/dist/types/utils/message-helpers.d.ts.map +1 -0
  41. package/dist/types/ws/filesystem-ws-client.d.ts +0 -2
  42. package/dist/types/ws/filesystem-ws-client.d.ts.map +1 -1
  43. package/docs/API_REFERENCE.md +38 -166
  44. package/docs/AUTHENTICATION.md +37 -59
  45. package/docs/ERROR_HANDLING.md +124 -191
  46. package/docs/INTEGRATION_EXAMPLES.md +38 -52
  47. package/docs/PING_PONG.md +79 -178
  48. package/docs/README.md +7 -3
  49. package/docs/WEBSOCKET.md +66 -37
  50. package/package.json +7 -2
  51. package/docs/advanced/PING_PONG.md +0 -212
package/docs/PING_PONG.md CHANGED
@@ -1,212 +1,113 @@
1
- # WebSocket Ping/Pong механизм
1
+ # Механизм Ping/Pong для WebSocket
2
2
 
3
- Данный документ описывает механизм поддержания WebSocket соединений и мониторинга их состояния через ping/pong обмен.
3
+ Для поддержания активных WebSocket соединений и проверки их состояния SDK использует механизм ping/pong.
4
4
 
5
- ## Обзор функциональности
5
+ ## Что такое ping/pong?
6
6
 
7
- SDK поддерживает автоматический механизм отправки ping-сообщений и обработки pong-ответов для:
7
+ Ping/pong - это механизм отправки специальных сообщений между клиентом и сервером для проверки активности соединения.
8
+ Клиент периодически отправляет сообщение "ping", на которое сервер должен ответить сообщением "pong".
9
+ Если ответа нет в течение определенного времени, соединение считается разорванным.
8
10
 
9
- 1. **Проверки активности соединения** - обнаружение разрывов соединения даже в отсутствие активности
10
- 2. **Измерения времени отклика (Round Trip Time, RTT)** - мониторинг качества соединения
11
- 3. **Сбора статистики соединения** - для диагностики и отладки
12
- 4. **Автоматического обнаружения проблем** - уведомление о потере соединения
11
+ ## Как это работает в SDK?
13
12
 
14
- ## Включение механизма ping/pong
13
+ SDK автоматически настраивает и управляет ping/pong механизмом, когда вы используете следующие высокоуровневые методы:
15
14
 
16
- ```typescript
17
- import { CodeSolverSDK, WebSocketNamespace } from 'solver-sdk';
15
+ ```javascript
16
+ // Подключение к WebSocket пространствам имен
17
+ await sdk.connect(); // Подключается ко всем пространствам имен
18
18
 
19
- // Создаем экземпляр SDK
20
- const sdk = new CodeSolverSDK({
21
- baseURL: 'https://api.example.com',
22
- apiKey: 'your-api-key'
23
- });
19
+ // Или более специфичные подключения
20
+ await sdk.reasoning.connectWebSocket(reasoningId);
21
+ await sdk.dependencies.connectWebSocket(projectId);
22
+ await sdk.projects.connectWebSocket();
23
+ ```
24
24
 
25
- // Получаем WebSocket клиент
26
- const wsClient = sdk.getWebSocketClient();
25
+ ### Настройка ping/pong
27
26
 
28
- // Подключаемся к пространствам имен
29
- await wsClient.connectToReasoning();
30
- await wsClient.connectToDependencies();
31
- await wsClient.connectToIndexing();
27
+ По умолчанию SDK использует следующие настройки:
28
+ - Интервал ping: 25 секунд
29
+ - Таймаут ожидания pong: 60 секунд
32
30
 
33
- // Включаем автоматический механизм ping/pong
34
- // параметры: интервал отправки в мс (по умолчанию 30000) и порог таймаута (по умолчанию 3)
35
- wsClient.enablePingPong(10000, 3);
31
+ Эти настройки можно изменить при инициализации SDK:
36
32
 
37
- // Регистрируем обработчик для события таймаута соединения
38
- wsClient.onPingPongEvent('connection_timeout', (data) => {
39
- console.log(`Соединение потеряно для namespace ${data.namespace}`);
40
- console.log(`Socket ID: ${data.socketId}`);
41
- console.log(`Количество пропущенных pong: ${data.timeouts}`);
42
-
43
- // Здесь можно добавить логику переподключения или уведомления пользователя
33
+ ```javascript
34
+ const sdk = new CodeSolverSDK({
35
+ baseURL: 'https://api.example.com',
36
+ apiKey: 'your-api-key',
37
+ websocket: {
38
+ pingInterval: 30000, // 30 секунд
39
+ pingTimeout: 90000 // 90 секунд
40
+ }
44
41
  });
45
42
  ```
46
43
 
47
- ## Отключение механизма ping/pong
44
+ ### Преимущества автоматического ping/pong
48
45
 
49
- ```typescript
50
- // Отключение для всех пространств имен
51
- wsClient.disablePingPong();
46
+ 1. **Обнаружение разрывов соединения**: Если сервер не отвечает на ping, SDK обнаружит разрыв соединения.
47
+ 2. **Предотвращение тайм-аутов**: Регулярные ping/pong сообщения поддерживают соединение активным и предотвращают тайм-ауты на промежуточных серверах и брандмауэрах.
48
+ 3. **Автоматическое переподключение**: SDK может автоматически переподключаться при обнаружении разрыва соединения.
52
49
 
53
- // Отключение для конкретного пространства имен
54
- wsClient.disablePingPong(WebSocketNamespace.REASONING);
55
- ```
56
-
57
- ## Получение статистики ping/pong
58
-
59
- ```typescript
60
- // Получение статистики для всех пространств имен
61
- const allStats = wsClient.getPingStats();
62
- console.log('Статистика для всех соединений:', allStats);
63
-
64
- // Получение статистики для конкретного пространства имен
65
- const reasoningStats = wsClient.getPingStats(WebSocketNamespace.REASONING);
66
- console.log('Статистика для reasoning:', reasoningStats);
67
-
68
- // Пример содержимого статистики:
69
- // {
70
- // namespace: '/reasoning',
71
- // socketId: 'socket-id-123',
72
- // pingSent: 10, // Количество отправленных ping
73
- // pongReceived: 10, // Количество полученных pong
74
- // averageRtt: 15.5, // Среднее время отклика (мс)
75
- // minRtt: 5, // Минимальное время отклика (мс)
76
- // maxRtt: 45, // Максимальное время отклика (мс)
77
- // lastRtt: 12, // Последнее измеренное время отклика (мс)
78
- // lastPongTimestamp: 1712345678901, // Timestamp последнего полученного pong
79
- // isConnected: true // Текущий статус соединения
80
- // }
81
- ```
82
-
83
- ## Ручная отправка ping/pong
50
+ ### События ping/pong
84
51
 
85
- Хотя SDK обеспечивает автоматический механизм ping/pong, вы также можете вручную отправлять ping-сообщения:
52
+ SDK предоставляет события для отслеживания состояния ping/pong:
86
53
 
87
- ```typescript
88
- // Отправка ping и получение pong
89
- wsClient.send(WebSocketNamespace.REASONING, 'connection_ping', {
90
- timestamp: Date.now()
54
+ ```javascript
55
+ // Настройка обработчиков для всех WebSocket соединений
56
+ sdk.on('connection_timeout', async (data) => {
57
+ console.warn(`Соединение с ${data.namespace} истекло по тайм-ауту`);
58
+ // Автоматически SDK попытается переподключиться
91
59
  });
92
-
93
- // Добавление обработчика для pong-ответов
94
- wsClient.on('connection_pong', (data) => {
95
- const rtt = Date.now() - data.echo;
96
- console.log(`Получен pong, RTT: ${rtt}ms`);
97
- });
98
-
99
- // Альтернативно, можно использовать готовый обработчик
100
- wsClient.on('connection_pong', wsClient.getPongHandler());
101
60
  ```
102
61
 
103
- ## Обработка отключений и переподключение
62
+ ## Рекомендуемые практики
104
63
 
105
- ```typescript
106
- // Обработка события таймаута соединения
107
- wsClient.onPingPongEvent('connection_timeout', async (data) => {
108
- console.log(`Соединение потеряно для ${data.namespace}`);
109
-
110
- // Попытка переподключения
111
- try {
112
- // Отключаемся от проблемного пространства имен
113
- wsClient.disconnect(data.namespace);
114
-
115
- // Пауза перед повторным подключением
116
- await new Promise(resolve => setTimeout(resolve, 1000));
117
-
118
- // Переподключаемся
119
- switch (data.namespace) {
120
- case WebSocketNamespace.REASONING:
121
- await wsClient.connectToReasoning();
122
- break;
123
- case WebSocketNamespace.DEPENDENCIES:
124
- await wsClient.connectToDependencies();
125
- break;
126
- case WebSocketNamespace.INDEXING:
127
- await wsClient.connectToIndexing();
128
- break;
129
- }
130
-
131
- console.log(`Успешно переподключились к ${data.namespace}`);
132
- } catch (error) {
133
- console.error(`Ошибка при переподключении к ${data.namespace}:`, error);
134
- }
135
- });
136
- ```
64
+ 1. **Используйте высокоуровневые методы подключения**: Самый простой способ обеспечить надежное соединение - использовать встроенные высокоуровневые методы SDK.
137
65
 
138
- ## Рекомендации по использованию
66
+ 2. **Включите автоматическое переподключение**: При инициализации SDK установите параметры:
67
+ ```javascript
68
+ const sdk = new CodeSolverSDK({
69
+ baseURL: 'https://api.example.com',
70
+ apiKey: 'your-api-key',
71
+ websocket: {
72
+ reconnect: true,
73
+ reconnectAttempts: 5,
74
+ reconnectDelay: 2000
75
+ }
76
+ });
77
+ ```
139
78
 
140
- 1. **Интервал ping/pong**: Рекомендуемый интервал - 30 секунд для продакшн и 5-10 секунд для отладки.
79
+ 3. **Обрабатывайте события тайм-аута**: Регистрируйте обработчики событий, чтобы знать, когда соединение было потеряно.
141
80
 
142
- 2. **Порог таймаута**: Значение 2-3 пропущенных ping/pong позволяет избежать ложных срабатываний при временных задержках сети.
81
+ 4. **Правильно завершайте соединения**: Перед закрытием приложения вызывайте метод для отключения:
82
+ ```javascript
83
+ // Отключение перед закрытием приложения
84
+ await sdk.disconnect();
85
+ ```
143
86
 
144
- 3. **Экономия трафика**: При частой передаче данных через WebSocket можно увеличить интервал ping/pong, так как регулярный обмен данными уже поддерживает соединение активным.
87
+ ## Пример обработки тайм-аутов
145
88
 
146
- 4. **Мониторинг RTT**: Используйте statsPingStats для мониторинга задержек сети и раннего обнаружения проблем с соединением.
89
+ ```javascript
90
+ // Инициализация SDK
91
+ const sdk = new CodeSolverSDK({
92
+ baseURL: 'https://api.example.com',
93
+ apiKey: 'your-api-key'
94
+ });
147
95
 
148
- 5. **Отключение перед закрытием приложения**: Вызывайте disablePingPong() и затем disconnectAll() при закрытии приложения для корректного освобождения ресурсов.
96
+ // Подключение к WebSocket
97
+ await sdk.connect();
149
98
 
150
- ## Пример комплексного использования
99
+ // Обработка события тайм-аута
100
+ sdk.on('connection_timeout', handleConnectionTimeout);
151
101
 
152
- ```typescript
153
- async function setupWebSocketWithHealthMonitoring() {
154
- const sdk = new CodeSolverSDK({
155
- baseURL: 'https://api.example.com',
156
- apiKey: 'your-api-key',
157
- websocket: {
158
- reconnect: true,
159
- reconnectAttempts: 5,
160
- reconnectDelay: 2000
161
- }
162
- });
163
-
164
- const wsClient = sdk.getWebSocketClient();
165
-
166
- // Подключаемся ко всем пространствам имен
167
- await wsClient.connectToReasoning();
168
- await wsClient.connectToDependencies();
169
- await wsClient.connectToIndexing();
102
+ // Функция обработки тайм-аута
103
+ async function handleConnectionTimeout(data) {
104
+ console.warn(`Соединение с ${data.namespace} прервано по тайм-ауту`);
170
105
 
171
- // Включаем механизм ping/pong для всех соединений
172
- wsClient.enablePingPong(20000, 3);
173
-
174
- // Регистрируем обработчик для события таймаута
175
- wsClient.onPingPongEvent('connection_timeout', handleConnectionTimeout);
176
-
177
- // Периодически проверяем статистику соединений
178
- const statsInterval = setInterval(() => {
179
- const stats = wsClient.getPingStats();
180
-
181
- // Анализируем статистику
182
- for (const stat of stats) {
183
- if (stat.averageRtt > 500) {
184
- console.warn(`Высокая задержка для ${stat.namespace}: ${stat.averageRtt}ms`);
185
- }
186
- }
187
- }, 60000); // Проверка каждую минуту
188
-
189
- // Функция для обработки таймаута соединения
190
- async function handleConnectionTimeout(data) {
191
- console.error(`Соединение потеряно для ${data.namespace}`);
192
-
193
- // Логика переподключения...
194
- }
195
-
196
- // Функция для корректного закрытия соединений
197
- function cleanup() {
198
- clearInterval(statsInterval);
199
- wsClient.disablePingPong();
200
- wsClient.disconnectAll();
201
- }
202
-
203
- // Возвращаем функцию очистки
204
- return cleanup;
106
+ // Вы можете добавить свою логику обработки
107
+ // Например, уведомить пользователя или попытаться переподключиться
205
108
  }
206
109
 
207
- // Использование
208
- const cleanup = await setupWebSocketWithHealthMonitoring();
209
-
210
- // При закрытии приложения
211
- window.addEventListener('beforeunload', cleanup);
110
+ // Перед закрытием приложения
111
+ // Корректно отключаемся
112
+ await sdk.disconnect();
212
113
  ```
package/docs/README.md CHANGED
@@ -38,6 +38,9 @@ if (!isAvailable) {
38
38
  return;
39
39
  }
40
40
 
41
+ // Единое подключение ко всем WebSocket сервисам
42
+ await sdk.connect();
43
+
41
44
  // Создание проекта
42
45
  const project = await sdk.projects.createProject(
43
46
  'Мой проект',
@@ -88,9 +91,10 @@ console.log(chatResponse.answer);
88
91
  Подробная документация доступна в следующих файлах:
89
92
 
90
93
  - [API Reference](./API_REFERENCE.md) - подробное описание всех методов SDK
91
- - [Authentication](./AUTHENTICATION.md) - информация по аутентификации
92
- - [Работа с WebSocket](./WEBSOCKET.md) - примеры работы с WebSocket соединениями
93
- - [Примеры интеграции](./INTEGRATION_EXAMPLES.md) - примеры интеграции с VS Code/Cursor
94
+ - [WebSocket](./WEBSOCKET.md) - примеры работы с WebSocket соединениями
95
+ - [Примеры интеграции](./INTEGRATION_EXAMPLES.md) - примеры интеграции с VS Code/Cursor и другими приложениями
96
+ - [Аутентификация](./AUTHENTICATION.md) - информация по процессу аутентификации
97
+ - [Обработка ошибок](./ERROR_HANDLING.md) - руководство по обработке ошибок
94
98
 
95
99
  ## Поддерживаемые платформы
96
100
 
package/docs/WEBSOCKET.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Работа с WebSocket в Solver SDK
2
2
 
3
- Эта документация описывает, как использовать WebSocket соединения через Solver SDK для работы в реальном времени.
3
+ Эта документация описывает, как использовать WebSocket соединения через высокоуровневые методы Solver SDK для работы в реальном времени.
4
4
 
5
5
  ## Инициализация SDK
6
6
 
@@ -10,13 +10,43 @@ const { CodeSolverSDK } = require('solver-sdk');
10
10
  // Создаем экземпляр SDK с настройками
11
11
  const sdk = new CodeSolverSDK({
12
12
  baseURL: 'https://api.example.com',
13
- apiKey: 'your-api-key'
13
+ apiKey: 'your-api-key',
14
+ websocket: {
15
+ reconnect: true, // Автоматическое переподключение при разрыве соединения
16
+ reconnectAttempts: 5, // Максимальное количество попыток переподключения
17
+ reconnectDelay: 3000 // Задержка между попытками (мс)
18
+ }
14
19
  });
20
+
21
+ // Единое подключение ко всем сервисам
22
+ await sdk.connect();
15
23
  ```
16
24
 
17
- ## Работа с рассуждениями (Reasoning)
25
+ ## Работа с индексацией проектов
26
+
27
+ ```javascript
28
+ // Подключение к WebSocket для проектов
29
+ await sdk.projects.connectWebSocket();
18
30
 
19
- ### Создание рассуждения и получение результатов в реальном времени
31
+ // Отслеживание прогресса индексации
32
+ sdk.projects.on('indexing_progress', (data) => {
33
+ console.log(`Прогресс индексации: ${data.progress}%`);
34
+ console.log(`Обработано файлов: ${data.processedFiles} из ${data.totalFiles}`);
35
+ });
36
+
37
+ // Завершение индексации
38
+ sdk.projects.on('indexing_complete', (data) => {
39
+ console.log('Индексация завершена!', data.success ? 'Успешно' : 'С ошибками');
40
+
41
+ // Отключение после завершения
42
+ sdk.projects.disconnectWebSocket();
43
+ });
44
+
45
+ // Запуск индексации проекта
46
+ await sdk.projects.indexProject('project-id');
47
+ ```
48
+
49
+ ## Работа с рассуждениями (Reasoning)
20
50
 
21
51
  ```javascript
22
52
  // Создание рассуждения
@@ -25,7 +55,7 @@ const reasoning = await sdk.reasoning.createReasoning({
25
55
  query: 'Объясни этот проект'
26
56
  });
27
57
 
28
- // Подключение к WebSocket
58
+ // Подключение к WebSocket для рассуждений
29
59
  await sdk.reasoning.connectWebSocket(reasoning.id);
30
60
 
31
61
  // Подписка на события
@@ -76,27 +106,6 @@ const response = await sdk.chat.streamChatWithThinking(
76
106
  );
77
107
  ```
78
108
 
79
- ## Мониторинг индексации проектов
80
-
81
- ```javascript
82
- // Подключение к WebSocket для проектов
83
- await sdk.projects.connectWebSocket();
84
-
85
- // Отслеживание прогресса индексации
86
- sdk.projects.on('indexing_progress', (data) => {
87
- console.log(`Прогресс индексации: ${data.progress}%`);
88
- console.log(`Обработано файлов: ${data.processedFiles} из ${data.totalFiles}`);
89
- });
90
-
91
- // Завершение индексации
92
- sdk.projects.on('indexing_complete', (data) => {
93
- console.log('Индексация завершена!', data.success ? 'Успешно' : 'С ошибками');
94
-
95
- // Отключение после завершения
96
- sdk.projects.disconnectWebSocket();
97
- });
98
- ```
99
-
100
109
  ## Работа с зависимостями
101
110
 
102
111
  ```javascript
@@ -112,21 +121,41 @@ sdk.dependencies.on('dependency_update', (data) => {
112
121
  await sdk.dependencies.disconnectWebSocket();
113
122
  ```
114
123
 
115
- ## Обработка ошибок
124
+ ## Автоматическая авторизация
125
+
126
+ **Важно:** Авторизация происходит автоматически, если указан `apiKey` при инициализации SDK. Отдельных действий для авторизации не требуется.
127
+
128
+ ## Обработка ошибок и переподключение
129
+
130
+ Используйте параметры `reconnect` и `reconnectAttempts` для автоматического переподключения при разрыве соединения:
116
131
 
117
132
  ```javascript
118
- try {
119
- await sdk.chat.streamChatWithThinking(
120
- messages,
121
- options,
122
- handleEvent
123
- );
124
- } catch (error) {
125
- console.error('Произошла ошибка:', error.message);
133
+ // Инициализация SDK с настройками переподключения
134
+ const sdk = new CodeSolverSDK({
135
+ baseURL: 'https://api.example.com',
136
+ apiKey: 'your-api-key',
137
+ websocket: {
138
+ reconnect: true,
139
+ reconnectAttempts: 5,
140
+ reconnectDelay: 3000
141
+ }
142
+ });
143
+
144
+ // Проверка доступности сервера перед началом работы
145
+ const isHealthy = await sdk.checkHealth();
146
+ if (!isHealthy) {
147
+ console.error('API недоступен');
148
+ return;
149
+ }
150
+
151
+ // Попытка подключения
152
+ const connected = await sdk.connect();
153
+ if (!connected) {
154
+ console.warn('WebSocket соединение не установлено, работа будет ограничена');
126
155
  }
127
156
  ```
128
157
 
129
- ## Основные события
158
+ ## Основные события WebSocket
130
159
 
131
160
  | Событие | Описание |
132
161
  |---------|----------|
@@ -136,4 +165,4 @@ try {
136
165
  | `message_stop` | Конец сообщения |
137
166
  | `indexing_progress` | Прогресс индексации |
138
167
  | `indexing_complete` | Завершение индексации |
139
- | `error` | Уведомление об ошибке |
168
+ | `error` | Уведомление об ошибке |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "2.0.2",
3
+ "version": "2.1.0",
4
4
  "description": "SDK для интеграции с Code Solver Backend API",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -34,6 +34,11 @@
34
34
  "build:esm": "tsc -p tsconfig.esm.json",
35
35
  "build:types": "tsc -p tsconfig.types.json",
36
36
  "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest",
37
+ "test:quick": "node quick-test.js",
38
+ "test:unit": "npx jest sdk-test/unit/ --testMatch=\"**/sdk-test/unit/**/*.test.js\"",
39
+ "test:mock": "./sdk-test/run-integration-tests.sh mock-only",
40
+ "test:integration": "./sdk-test/run-integration-tests.sh without-backend",
41
+ "test:integration:full": "./sdk-test/run-integration-tests.sh with-backend",
37
42
  "test:node": "cross-env NODE_OPTIONS=--experimental-vm-modules jest tests/node",
38
43
  "test:browser": "cross-env NODE_OPTIONS=--experimental-vm-modules jest tests/browser",
39
44
  "test:indexing": "NODE_TLS_REJECT_UNAUTHORIZED=0 node --experimental-vm-modules node_modules/.bin/jest tests/unit/indexing",
@@ -97,7 +102,7 @@
97
102
  "jest-junit": "^16.0.0",
98
103
  "rollup": "^4.12.0",
99
104
  "rollup-plugin-dts": "^6.1.1",
100
- "rollup-plugin-terser": "^7.0.2",
105
+ "@rollup/plugin-terser": "^0.4.4",
101
106
  "ts-jest": "^29.1.2",
102
107
  "typescript": "^5.7.3",
103
108
  "ws": "^8.18.1"