solver-sdk 6.1.4 → 6.1.6

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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Code Solver SDK v6.0.3
1
+ # Code Solver SDK v6.1.5
2
2
 
3
3
  Backend SDK для интеграции с Code Solver API
4
4
 
@@ -8,62 +8,36 @@ Backend SDK для интеграции с Code Solver API
8
8
  npm install solver-sdk
9
9
  ```
10
10
 
11
- ## 🚀 Инициализация
11
+ ## 🚀 Быстрый старт
12
12
 
13
- ### Базовая инициализация (локальная разработка)
13
+ ### Локальная разработка
14
14
  ```typescript
15
15
  import { CodeSolverSDK } from 'solver-sdk';
16
16
 
17
- const sdk = new CodeSolverSDK({
17
+ const sdk = await CodeSolverSDK.create({
18
18
  baseURL: 'http://localhost:3000',
19
19
  apiKey: 'your-api-key'
20
20
  });
21
21
  ```
22
22
 
23
- ### Production инициализация с OAuth (для WebSocket)
23
+ ### Production с OAuth
24
24
  ```typescript
25
- import { CodeSolverSDK } from 'solver-sdk';
26
-
27
- // ✅ OAuth токен требуется для WebSocket в production
28
25
  const sdk = await CodeSolverSDK.create({
29
26
  baseURL: 'https://workai.su/api/v1',
30
- headers: {
31
- Authorization: 'Bearer your_oauth_access_token' // OAuth токен
32
- },
33
- webSocket: {
34
- enabled: true, // Включить WebSocket для real-time уведомлений
35
- debug: false, // Отключить debug логи в production
36
- connectionTimeout: 10000,
37
- maxRetries: 3
38
- }
27
+ headers: { Authorization: `Bearer ${oauth_token}` },
28
+ webSocket: { enabled: true }
39
29
  });
40
-
41
- // Проверка здоровья API
42
- const isHealthy = await sdk.checkHealth();
43
- console.log('API доступен:', isHealthy);
44
30
  ```
45
31
 
46
- ### Получение OAuth токена
32
+ ### 🔑 Динамическое обновление токена (v6.1.4+)
47
33
  ```typescript
48
- // 1. Получение access token через OAuth flow
49
- const response = await fetch('https://workai.su/api/v1/oauth/token', {
50
- method: 'POST',
51
- headers: { 'Content-Type': 'application/json' },
52
- body: JSON.stringify({
53
- grant_type: 'authorization_code',
54
- code: 'authorization_code_from_oauth_flow',
55
- client_id: 'your_client_id',
56
- client_secret: 'your_client_secret'
57
- })
58
- });
59
-
60
- const { access_token, refresh_token } = await response.json();
61
-
62
- // 2. Использование токена в SDK
63
34
  const sdk = await CodeSolverSDK.create({
64
35
  baseURL: 'https://workai.su/api/v1',
65
- headers: {
66
- Authorization: `Bearer ${access_token}`
36
+ getAuthToken: async () => {
37
+ if (authManager.isTokenExpired()) {
38
+ await authManager.refreshAccessToken();
39
+ }
40
+ return authManager.getAccessToken();
67
41
  }
68
42
  });
69
43
  ```
@@ -72,163 +46,217 @@ const sdk = await CodeSolverSDK.create({
72
46
 
73
47
  ### Projects API (`sdk.projects`)
74
48
  ```typescript
75
- // Базовое управление проектами
76
- createProject(name: string, data?: any): Promise<Project>
49
+ // Управление проектами
77
50
  getAllProjects(): Promise<Project[]>
78
51
  getProject(projectId: string): Promise<Project>
79
- findOrCreateProject(projectName: string): Promise<Project> // Найти существующий или создать новый
52
+ createProject(name: string, data?: any): Promise<Project>
53
+ findOrCreateProject(projectName: string): Promise<Project>
80
54
  deleteProject(projectId: string): Promise<void>
81
55
 
82
- // Проверка состояния синхронизации
83
- getProjectState(projectId: string, clientRootHash?: string): Promise<ProjectState> // Передать clientRootHash для проверки нужна ли синхронизация
56
+ // Состояние и синхронизация
57
+ getProjectState(projectId: string, clientRootHash?: string): Promise<ProjectState>
84
58
  getIndexingStatus(projectId: string): Promise<any>
85
59
  startIndexing(projectId: string, options?: any): Promise<any>
86
60
  cancelIndexing(projectId: string): Promise<boolean>
87
- resetIndexing(projectId: string): Promise<any> // Очистить индекс, проект остается
88
- restartIndexing(projectId: string): Promise<any> // Очистить + подготовить к новой индексации
61
+ resetIndexing(projectId: string): Promise<any>
62
+ restartIndexing(projectId: string): Promise<any>
63
+ clearIndexingError(projectId: string): Promise<boolean>
89
64
 
90
- // Session Recovery - восстановление прерванных синхронизаций
91
- getRecoveryStatus(projectId: string): Promise<any> // Проверить есть ли прерванные сессии при старте
92
- resumeSync(projectId: string, options?: any): Promise<any> // Продолжить прерванную синхронизацию
93
- cancelRecovery(projectId: string): Promise<any> // Отменить восстановление, начать заново
94
- initializeDeltaSync(projectId: string, clientRootHash: string): Promise<any> // ОБЯЗАТЕЛЬНО вызвать перед отправкой chunks
95
-
96
- // Статус и управление
97
- clearIndexingError(projectId: string): Promise<boolean> // Очистить ошибку индексации
65
+ // Session Recovery
66
+ getRecoveryStatus(projectId: string): Promise<any>
67
+ resumeSync(projectId: string, options?: any): Promise<any>
68
+ cancelRecovery(projectId: string): Promise<any>
69
+ initializeDeltaSync(projectId: string, clientRootHash: string): Promise<any>
98
70
 
99
71
  // Диагностика
100
- getFilePathMapping(projectId: string): Promise<any> // Получить маппинг обфусцированных путей с сервера
72
+ getFilePathMapping(projectId: string): Promise<any>
101
73
  ```
102
74
 
103
75
  ### Delta Manager API (`sdk.deltaManager`)
104
76
  ```typescript
105
- // 🚀 ЕДИНСТВЕННЫЙ ПОДХОД: один вызов делает всё автоматически
106
- syncEncryptedChunks(projectId: string, encryptedChunks: any[], rootHash: string, options?: any): Promise<any> // Автоматическая инициализация + батчинг + финализация
107
- getSyncStatus(projectId: string): Promise<any> // Статус delta-chunking процесса
77
+ // Синхронизация чанков (автоматическая инициализация + батчинг + финализация)
78
+ syncEncryptedChunks(
79
+ projectId: string,
80
+ encryptedChunks: any[],
81
+ rootHash: string,
82
+ options?: { batchSize?: number; onProgress?: (current, total) => void }
83
+ ): Promise<any>
84
+
85
+ getSyncStatus(projectId: string): Promise<SyncStatus>
108
86
  cancelSync(projectId: string): Promise<boolean>
109
- cleanupDeletedFiles(projectId: string, activeFiles: any[]): Promise<any> // Очистить удаленные файлы из индекса
87
+ cleanupDeletedFiles(projectId: string, activeFiles: any[]): Promise<any>
110
88
  ```
111
89
 
112
90
  ### Chat API (`sdk.chat`)
113
91
  ```typescript
114
92
  // Основные методы
115
- chat(messages: any[], options?: any): Promise<any> // Обычный запрос-ответ
116
- chatCompletion(messages: any[], options?: any): Promise<any> // Алиас для chat()
117
- streamChat(messages: any[], options?: any): Promise<AsyncIterable<any>> // Потоковый чат (streaming)
118
- streamPrompt(prompt: string, options?: any): Promise<AsyncIterable<any>> // Потоковый промпт
119
- sendContinuation(messages: any[], options?: any): Promise<AsyncIterable<any>> // Continuation для interleaved thinking
120
-
121
- // Failover и проверки
122
- chatWithRegionFailover(messages: any[], options?: any): Promise<any> // Чат с переключением регионов
123
- sendPromptWithRegionFailover(prompt: string, options?: any): Promise<string> // Промпт с переключением регионов
124
- checkAvailability(): Promise<boolean> // Проверить доступность сервиса
93
+ chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
94
+ chatCompletion(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
95
+ streamChat(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
96
+ streamPrompt(prompt: string, options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
97
+ sendContinuation(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>
98
+
99
+ // Failover
100
+ chatWithRegionFailover(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>
101
+ sendPromptWithRegionFailover(prompt: string, options?: ChatOptions): Promise<string>
102
+ checkAvailability(): Promise<boolean>
125
103
  ```
126
104
 
127
105
  ### Search API (`sdk.search`)
128
106
  ```typescript
129
- search(query: string, options?: any): Promise<any[]> // Векторный поиск по индексу
130
- searchThenFetch(query: string, options?: any): Promise<any> // Поиск + загрузка полного контекста
107
+ searchCode(projectId: string, query: string, options?: any): Promise<any[]>
108
+ searchFunctions(projectId: string, query: string, options?: any): Promise<any[]>
109
+ getFunctionStats(projectId: string): Promise<{stats: {totalFunctions: number}}>
110
+ semanticSearch(projectId: string, query: string, options?: any): Promise<any[]>
111
+ ```
112
+
113
+ ### Models API (`sdk.models`)
114
+ ```typescript
115
+ getAllModels(): Promise<any[]>
116
+ getProviderModels(providerId: string): Promise<any>
117
+ getAvailableModels(): Promise<any[]>
118
+ getModelInfo(modelId: string): Promise<any>
119
+ ```
120
+
121
+ ### Updates API (`sdk.updates`)
122
+ ```typescript
123
+ checkForUpdates(options: UpdateCheckOptions): Promise<UpdateResponse>
124
+ getChangelog(version: string, locale: string): Promise<string>
125
+ getLatestVersion(channel?: string): Promise<LatestVersionInfo>
126
+ sendStats(event: UpdateStatsEvent): Promise<void>
127
+ checkAvailability(): Promise<boolean>
131
128
  ```
132
129
 
133
130
  ### WebSocket API (`sdk.projectSync`)
134
131
  ```typescript
135
- // Real-time уведомления о синхронизации проектов
132
+ // Подключение
133
+ await sdk.connectWebSocket()
134
+ sdk.disconnectWebSocket()
135
+ sdk.isWebSocketConnected
136
+
137
+ // Подписка
138
+ sdk.projectSync.subscribeToProject(projectId)
139
+ sdk.projectSync.unsubscribeFromProject(projectId)
140
+
141
+ // События
142
+ sdk.projectSync.on('sync-status-update', callback) // {projectId, status, timestamp}
143
+ sdk.projectSync.on('sync-progress', callback) // {projectId, progress, stage, currentChunk, totalChunks}
144
+ sdk.projectSync.on('sync-completed', callback) // {projectId, processedChunks, embeddingsCreated}
145
+ sdk.projectSync.on('sync-error', callback) // {projectId, error, timestamp}
146
+ ```
136
147
 
137
- // Подключение к WebSocket (требуется OAuth токен)
138
- await sdk.connectWebSocket(); // Подключиться к WebSocket gateway
139
- sdk.projectSync.subscribeToProject(projectId); // Подписаться на события проекта
148
+ ## 🔧 Основные принципы
140
149
 
141
- // События синхронизации
142
- sdk.projectSync.on('sync-status-update', callback); // Обновление статуса (initializing/processing/completed)
143
- sdk.projectSync.on('sync-progress', callback); // Детальный прогресс (%, stage)
144
- sdk.projectSync.on('sync-completed', callback); // Завершение синхронизации
145
- sdk.projectSync.on('sync-error', callback); // Ошибка синхронизации
150
+ ### Архитектура
151
+ - **Backend SDK** только HTTP API клиент, НЕ работает с файловой системой
152
+ - **Client Extension** сканирует файлы, создает chunks, вычисляет hashes
146
153
 
147
- // Управление подключением
148
- sdk.disconnectWebSocket(); // Отключить WebSocket
149
- sdk.isWebSocketConnected; // Проверка статуса подключения
154
+ ### Синхронизация
155
+ ```typescript
156
+ // Единственный правильный способ:
157
+ await sdk.deltaManager.syncEncryptedChunks(projectId, chunks, rootHash, {
158
+ batchSize: 50,
159
+ onProgress: (current, total) => console.log(`${current}/${total}`)
160
+ });
150
161
  ```
151
162
 
152
- **Пример использования WebSocket:**
163
+ ### Session Recovery
153
164
  ```typescript
154
- import { CodeSolverSDK } from 'solver-sdk';
165
+ // Всегда проверять при старте проекта
166
+ const recovery = await sdk.projects.getRecoveryStatus(projectId);
167
+ if (recovery.needsRecovery) {
168
+ // Показать диалог: Continue (67%) | Start Fresh
169
+ await sdk.projects.resumeSync(projectId); // или cancelRecovery()
170
+ }
171
+ ```
172
+
173
+ ### WebSocket
174
+ - Требуется **OAuth токен** в production
175
+ - Автоматическое переподключение при разрыве
176
+ - События фильтруются по `projectId`
177
+ - Fallback на HTTP polling если недоступен
178
+
179
+ ### Авторизация
180
+ - **Локально**: `apiKey` для HTTP API
181
+ - **Production**: OAuth `access_token` для HTTP + WebSocket
182
+ - **v6.1.4+**: `getAuthToken()` для автоматического обновления токенов
155
183
 
156
- // Инициализация с OAuth токеном
184
+ ## 📝 Примеры
185
+
186
+ ### Базовый workflow
187
+ ```typescript
157
188
  const sdk = await CodeSolverSDK.create({
158
189
  baseURL: 'https://workai.su/api/v1',
159
- headers: {
160
- Authorization: 'Bearer your_oauth_access_token' // ✅ OAuth токен обязателен
161
- },
162
- webSocket: {
163
- enabled: true, // Включить WebSocket (по умолчанию true)
164
- debug: true // Логи для отладки
165
- }
190
+ getAuthToken: () => authManager.getAccessToken()
166
191
  });
167
192
 
168
- // Подключение к WebSocket
169
- await sdk.connectWebSocket();
193
+ // 1. Найти/создать проект
194
+ const project = await sdk.projects.findOrCreateProject('/path/to/project');
170
195
 
171
- // Подписка на события проекта
172
- sdk.projectSync.on('sync-progress', (data) => {
173
- console.log(`Прогресс: ${data.progress}% - ${data.stage}`);
174
- console.log(`Чанки: ${data.currentChunk}/${data.totalChunks}`);
175
- });
196
+ // 2. Проверить recovery
197
+ const recovery = await sdk.projects.getRecoveryStatus(project.id);
198
+ if (recovery.needsRecovery) {
199
+ await sdk.projects.resumeSync(project.id);
200
+ return;
201
+ }
176
202
 
177
- sdk.projectSync.on('sync-completed', (data) => {
178
- console.log('✅ Синхронизация завершена!');
179
- console.log(`Обработано чанков: ${data.processedChunks}`);
180
- console.log(`Создано эмбеддингов: ${data.embeddingsCreated}`);
181
- });
203
+ // 3. Проверить нужна ли синхронизация
204
+ const state = await sdk.projects.getProjectState(project.id, clientRootHash);
205
+ if (!state.syncRequired) {
206
+ console.log('Проект синхронизирован');
207
+ return;
208
+ }
182
209
 
183
- sdk.projectSync.on('sync-error', (error) => {
184
- console.error(`❌ Ошибка: ${error.error}`);
210
+ // 4. Подключить WebSocket для прогресса
211
+ await sdk.connectWebSocket();
212
+ sdk.projectSync.subscribeToProject(project.id);
213
+ sdk.projectSync.on('sync-progress', (data) => {
214
+ console.log(`Прогресс: ${data.progress}%`);
185
215
  });
186
216
 
187
- // Подписаться на проект
188
- sdk.projectSync.subscribeToProject(projectId);
217
+ // 5. Синхронизировать
218
+ await sdk.deltaManager.syncEncryptedChunks(project.id, chunks, rootHash);
189
219
 
190
- // Начать синхронизацию (WebSocket автоматически получит уведомления)
191
- await sdk.deltaManager.syncEncryptedChunks(projectId, chunks, rootHash);
220
+ // 6. Поиск по проекту
221
+ const results = await sdk.search.searchCode(project.id, 'function handleClick');
222
+ ```
192
223
 
193
- // Отключение
194
- sdk.disconnectWebSocket();
224
+ ### Chat с streaming
225
+ ```typescript
226
+ for await (const chunk of sdk.chat.streamChat(messages, { model: 'claude-3-5-sonnet' })) {
227
+ if (chunk.type === 'content_block_delta') {
228
+ process.stdout.write(chunk.delta.text);
229
+ }
230
+ }
195
231
  ```
196
232
 
197
- ## ⚠️ Важные особенности
233
+ ## 📚 Дополнительно
198
234
 
199
- ### Архитектурные принципы:
200
- - **Backend SDK** = только HTTP API клиент, НЕ работает с файловой системой
201
- - **Client Extension** сканирует файлы, вычисляет hashes, создает chunks
235
+ ### TypeScript типы
236
+ SDK полностью типизирован. Импортируйте интерфейсы:
237
+ ```typescript
238
+ import { ChatMessage, ChatOptions, Project, ProjectState } from 'solver-sdk';
239
+ ```
202
240
 
203
- ### Единственный способ синхронизации:
241
+ ### Обработка ошибок
204
242
  ```typescript
205
- // ✅ ПРОСТОЙ И ЕДИНСТВЕННЫЙ ПОДХОД:
206
- const result = await sdk.deltaManager.syncEncryptedChunks(
207
- projectId,
208
- chunks,
209
- rootHash,
210
- {
211
- batchSize: 50, // Размер батчей (по умолчанию 50)
212
- onProgress: (current, total) => {...} // Колбэк прогресса
213
- }
214
- );
215
- ```
216
-
217
- ### Session Recovery:
218
- - Всегда проверяйте `getRecoveryStatus()` при старте проекта
219
- - Показывайте пользователю диалог "Continue (67%) | Start Fresh"
220
- - `resumeSync()` продолжит с последнего batch, `cancelRecovery()` начнет заново
221
-
222
- ### WebSocket для real-time:
223
- - **Требуется OAuth токен** в production для авторизации WebSocket
224
- - Используйте WebSocket вместо polling для статуса индексации
225
- - `sdk.connectWebSocket()` подключает к WebSocket gateway
226
- - `sdk.projectSync.subscribeToProject(projectId)` подписывается на события проекта
227
- - Все события автоматически фильтруются по projectId
228
- - Fallback на HTTP polling если WebSocket недоступен
229
-
230
- ### Авторизация:
231
- - **Локальная разработка:** `apiKey` достаточно для HTTP API
232
- - **Production:** OAuth `access_token` обязателен для WebSocket
233
- - Токен передается в `Authorization` header и автоматически используется для WebSocket
234
- - WebSocket передает токен через query параметр `?token=xxx`
243
+ try {
244
+ await sdk.projects.getProject(projectId);
245
+ } catch (error) {
246
+ console.error(`[HTTP ${error.status}] ${error.message}`);
247
+ // v6.1.3+: читаемые сообщения ошибок вместо [object Object]
248
+ }
249
+ ```
250
+
251
+ ### Debug режим
252
+ ```typescript
253
+ const sdk = await CodeSolverSDK.create({
254
+ baseURL: 'https://workai.su/api/v1',
255
+ debug: 'verbose', // silent | error | warn | info | debug | verbose
256
+ webSocket: { debug: true }
257
+ });
258
+ ```
259
+
260
+ ## 📄 License
261
+
262
+ MIT
@@ -83,10 +83,11 @@ function processStreamChunk(line, logger, options) {
83
83
  }
84
84
  return {};
85
85
  }
86
- // Валидируем что это официальное событие Anthropic API
86
+ // Валидируем что это официальное событие Anthropic API + кастомные события сервера
87
87
  const validEvents = [
88
88
  'message_start', 'content_block_start', 'content_block_delta',
89
- 'content_block_stop', 'message_delta', 'message_stop', 'ping', 'error'
89
+ 'content_block_stop', 'message_delta', 'message_stop', 'ping', 'error',
90
+ 'tool_use_ready' // 🔧 Кастомное событие сервера для уведомления о готовности инструмента
90
91
  ];
91
92
  if (!validEvents.includes(jsonData.type)) {
92
93
  if (logger) {
@@ -149,7 +150,13 @@ function processStreamChunk(line, logger, options) {
149
150
  };
150
151
  }
151
152
  break;
152
- // ping не требует дополнительных полей
153
+ case 'tool_use_ready':
154
+ // 🔧 Кастомное событие сервера - передаем как есть
155
+ if (jsonData.tool_use) {
156
+ chunk.tool_use = jsonData.tool_use;
157
+ }
158
+ break;
159
+ // ping и error не требуют дополнительных полей
153
160
  }
154
161
  return { chunk };
155
162
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"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"}
@@ -77,10 +77,11 @@ export function processStreamChunk(line, logger, options) {
77
77
  }
78
78
  return {};
79
79
  }
80
- // Валидируем что это официальное событие Anthropic API
80
+ // Валидируем что это официальное событие Anthropic API + кастомные события сервера
81
81
  const validEvents = [
82
82
  'message_start', 'content_block_start', 'content_block_delta',
83
- 'content_block_stop', 'message_delta', 'message_stop', 'ping', 'error'
83
+ 'content_block_stop', 'message_delta', 'message_stop', 'ping', 'error',
84
+ 'tool_use_ready' // 🔧 Кастомное событие сервера для уведомления о готовности инструмента
84
85
  ];
85
86
  if (!validEvents.includes(jsonData.type)) {
86
87
  if (logger) {
@@ -143,7 +144,13 @@ export function processStreamChunk(line, logger, options) {
143
144
  };
144
145
  }
145
146
  break;
146
- // ping не требует дополнительных полей
147
+ case 'tool_use_ready':
148
+ // 🔧 Кастомное событие сервера - передаем как есть
149
+ if (jsonData.tool_use) {
150
+ chunk.tool_use = jsonData.tool_use;
151
+ }
152
+ break;
153
+ // ping и error не требуют дополнительных полей
147
154
  }
148
155
  return { chunk };
149
156
  }
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,yCAAyC;IACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACzC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,oCAAoC;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACV,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEpC,2BAA2B;IAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAElC,8CAA8C;QAC9C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,wDAAwD;QACtD,MAAM,KAAK,GAAoB;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,QAAQ;SACZ,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,2BAA2B,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAsB;IACrD,OAAO,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAY,EACZ,MAAY,EACZ,OAGC;IAED,IAAI,CAAC;QACH,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,uBAAuB;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAElC,2BAA2B;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,qBAAqB;QACrB,IAAI,QAAa,CAAC;QAClB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,mFAAmF;QACnF,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,qBAAqB,EAAE,qBAAqB;YAC7D,oBAAoB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO;YACtE,gBAAgB,CAAC,wEAAwE;SAC1F,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,2DAA2D;QACzD,MAAM,KAAK,GAAoB;YAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC;QAEF,+CAA+C;QAC/C,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACrB,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBACnC,CAAC;gBACD,MAAM;YAER,KAAK,qBAAqB;gBACxB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBACD,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;oBAC3B,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAC/C,CAAC;gBACD,MAAM;YAER,KAAK,qBAAqB;gBACxB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBACD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBACD,MAAM;YAER,KAAK,oBAAoB;gBACvB,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBACD,MAAM;YAER,KAAK,eAAe;gBAClB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACvC,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;oBACnB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC/B,CAAC;gBACD,MAAM;YAER,KAAK,cAAc;gBACjB,iEAAiE;gBACjE,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;oBACvC,KAAK,CAAC,OAAO,GAAG;wBACd,EAAE,EAAE,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;wBACjB,KAAK,EAAE,EAAE;wBACT,OAAO,EAAE,EAAE;wBACX,WAAW,EAAE,QAAQ,CAAC,WAAW;qBAClC,CAAC;gBACJ,CAAC;gBACD,MAAM;YAER,KAAK,gBAAgB;gBACnB,mDAAmD;gBACnD,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBACrB,KAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAC9C,CAAC;gBACD,MAAM;YAER,+CAA+C;QACjD,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,CAAC;IAEnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAU;IAC1C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAChD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stream-utils.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;CAEzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAqCzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE;IACR,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,WAAW,CAqHb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAenD"}
1
+ {"version":3,"file":"stream-utils.d.ts","sourceRoot":"","sources":["../../../../src/api/chat-api/stream-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,eAAe,CAAC;CAEzB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAqCzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE;IACR,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,WAAW,CA6Hb;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,CAenD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "6.1.4",
3
+ "version": "6.1.6",
4
4
  "description": "SDK for API integration",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",