solver-sdk 10.3.4 → 10.3.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 +38 -5
- package/dist/cjs/utils/http-client.js +187 -36
- package/dist/cjs/utils/http-client.js.map +1 -1
- package/dist/esm/utils/http-client.js +187 -36
- package/dist/esm/utils/http-client.js.map +1 -1
- package/dist/types/utils/http-client.d.ts +21 -6
- package/dist/types/utils/http-client.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -454,16 +454,49 @@ for await (const chunk of sdk.chat.streamChat(messages, {
|
|
|
454
454
|
### Типы delta для `content_block_delta`
|
|
455
455
|
|
|
456
456
|
```typescript
|
|
457
|
-
//
|
|
458
|
-
delta: { type: 'text_delta', text: 'Создаю функцию...' }
|
|
459
|
-
|
|
460
|
-
// Мышление AI (Extended Thinking)
|
|
457
|
+
// 🧠 Мышление AI (Extended Thinking)
|
|
461
458
|
delta: { type: 'thinking_delta', thinking: 'Анализирую требования...' }
|
|
462
459
|
|
|
463
|
-
//
|
|
460
|
+
// 📝 Текст ответа AI
|
|
461
|
+
delta: { type: 'text_delta', text: 'Создаю функцию...' }
|
|
462
|
+
|
|
463
|
+
// 🔧 Параметры инструмента (постепенно)
|
|
464
464
|
delta: { type: 'input_json_delta', partial_json: '{"file_path": "src/app' }
|
|
465
465
|
```
|
|
466
466
|
|
|
467
|
+
**Обработка всех типов:**
|
|
468
|
+
|
|
469
|
+
```typescript
|
|
470
|
+
const accumulators = { thinking: '', text: '' };
|
|
471
|
+
|
|
472
|
+
sdk.chat.streamChat(messages, {
|
|
473
|
+
thinking: { type: 'enabled', budget_tokens: 10000 },
|
|
474
|
+
|
|
475
|
+
onEvent: (type, data) => {
|
|
476
|
+
if (type === 'content_block_delta') {
|
|
477
|
+
const { delta, index } = data;
|
|
478
|
+
|
|
479
|
+
// 🧠 Thinking - показываем прогресс "AI думает..."
|
|
480
|
+
if (delta.type === 'thinking_delta') {
|
|
481
|
+
accumulators.thinking += delta.thinking;
|
|
482
|
+
updateThinkingUI(accumulators.thinking); // Серый блок в UI
|
|
483
|
+
}
|
|
484
|
+
|
|
485
|
+
// 📝 Text - печатаем ответ в реальном времени
|
|
486
|
+
else if (delta.type === 'text_delta') {
|
|
487
|
+
accumulators.text += delta.text;
|
|
488
|
+
updateResponseUI(accumulators.text); // Обычный текст
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// 🔧 Tool Input - см. "Streaming Tool Use" выше
|
|
492
|
+
else if (delta.type === 'input_json_delta') {
|
|
493
|
+
// Используйте PartialJsonAccumulator (детали выше)
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
});
|
|
498
|
+
```
|
|
499
|
+
|
|
467
500
|
## Защита от сетевых задержек при стриминге
|
|
468
501
|
|
|
469
502
|
### Проблема
|
|
@@ -49,12 +49,6 @@ function getEnvironment() {
|
|
|
49
49
|
? 'browser'
|
|
50
50
|
: 'node';
|
|
51
51
|
}
|
|
52
|
-
/**
|
|
53
|
-
* HTTP клиент для выполнения запросов к API
|
|
54
|
-
*
|
|
55
|
-
* Предоставляет методы для работы с REST API, включая обработку ошибок,
|
|
56
|
-
* повторные попытки и таймауты.
|
|
57
|
-
*/
|
|
58
52
|
class HttpClient {
|
|
59
53
|
/**
|
|
60
54
|
* Создает новый HTTP клиент
|
|
@@ -62,6 +56,12 @@ class HttpClient {
|
|
|
62
56
|
* @param {HttpClientOptions} [options] Опции для HTTP клиента
|
|
63
57
|
*/
|
|
64
58
|
constructor(baseURL, options = {}) {
|
|
59
|
+
/** 🔐 401 Interceptor: Request Queue для параллельных запросов */
|
|
60
|
+
this.requestQueue = [];
|
|
61
|
+
/** 🔐 401 Interceptor: Флаг выполнения refresh токена */
|
|
62
|
+
this.isRefreshing = false;
|
|
63
|
+
/** 🔐 401 Interceptor: Promise текущего refresh для синхронизации */
|
|
64
|
+
this.refreshPromise = null;
|
|
65
65
|
this.baseURL = baseURL;
|
|
66
66
|
this.options = {
|
|
67
67
|
headers: {
|
|
@@ -76,7 +76,10 @@ class HttpClient {
|
|
|
76
76
|
maxRetryDelay: 10000,
|
|
77
77
|
retryStatusCodes: [408, 429, 500, 502, 503, 504]
|
|
78
78
|
},
|
|
79
|
-
httpsAgent: options.httpsAgent
|
|
79
|
+
httpsAgent: options.httpsAgent,
|
|
80
|
+
// ✅ КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: Сохраняем getAuthToken callback!
|
|
81
|
+
// Без этого SDK не может динамически обновлять токены
|
|
82
|
+
getAuthToken: options.getAuthToken
|
|
80
83
|
};
|
|
81
84
|
this.environment = getEnvironment();
|
|
82
85
|
// Создаем Axios инстанс с базовыми настройками
|
|
@@ -89,6 +92,33 @@ class HttpClient {
|
|
|
89
92
|
// Добавляем интерцептор для обработки ошибок и повторных попыток
|
|
90
93
|
this.setupInterceptors();
|
|
91
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* 🔐 Retry всех запросов из очереди с новым токеном
|
|
97
|
+
* Вызывается после успешного refresh для обработки concurrent 401 requests
|
|
98
|
+
*/
|
|
99
|
+
processQueue(newToken) {
|
|
100
|
+
console.log(`🔄 [SDK] Processing ${this.requestQueue.length} queued requests with new token`);
|
|
101
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
102
|
+
if (!queuedRequest.config.headers) {
|
|
103
|
+
queuedRequest.config.headers = {};
|
|
104
|
+
}
|
|
105
|
+
queuedRequest.config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
106
|
+
this.axiosInstance(queuedRequest.config)
|
|
107
|
+
.then((response) => queuedRequest.resolve(response))
|
|
108
|
+
.catch((error) => queuedRequest.reject(error));
|
|
109
|
+
});
|
|
110
|
+
this.requestQueue = [];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 🔐 Reject всех запросов из очереди при ошибке refresh
|
|
114
|
+
*/
|
|
115
|
+
rejectQueue(error) {
|
|
116
|
+
console.error(`❌ [SDK] Rejecting ${this.requestQueue.length} queued requests due to refresh failure`);
|
|
117
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
118
|
+
queuedRequest.reject(error);
|
|
119
|
+
});
|
|
120
|
+
this.requestQueue = [];
|
|
121
|
+
}
|
|
92
122
|
/**
|
|
93
123
|
* Настраивает интерцепторы Axios
|
|
94
124
|
*/
|
|
@@ -96,8 +126,84 @@ class HttpClient {
|
|
|
96
126
|
// Интерцептор для ответов
|
|
97
127
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
98
128
|
const { config, response } = error;
|
|
129
|
+
// 🔍 ДИАГНОСТИКА: Логируем ВСЕ ошибки в interceptor
|
|
130
|
+
console.log('🔴 [SDK Interceptor] Error received:', {
|
|
131
|
+
status: response?.status,
|
|
132
|
+
url: config?.url,
|
|
133
|
+
method: config?.method,
|
|
134
|
+
hasConfig: !!config,
|
|
135
|
+
hasResponse: !!response,
|
|
136
|
+
_retry: config?._retry,
|
|
137
|
+
hasGetAuthToken: !!this.options.getAuthToken
|
|
138
|
+
});
|
|
99
139
|
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
100
140
|
const mappedError = error_mapper_js_1.ErrorMapper.mapError(error);
|
|
141
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
142
|
+
// 🔐 401 INTERCEPTOR: Автоматический refresh + retry
|
|
143
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
144
|
+
//
|
|
145
|
+
// МЕХАНИЗМ РАБОТЫ (стандартный OAuth 2.0 flow):
|
|
146
|
+
//
|
|
147
|
+
// 1. Клиент делает запрос с access token
|
|
148
|
+
// 2. Access token истёк → сервер вернул 401 Unauthorized
|
|
149
|
+
// 3. SDK перехватывает 401 → вызывает getAuthToken()
|
|
150
|
+
// 4. getAuthToken() делает refresh запрос (POST /oauth/token)
|
|
151
|
+
// 5. Сервер возвращает новую пару токенов (access + refresh)
|
|
152
|
+
// 6. SDK повторяет оригинальный запрос с новым access token
|
|
153
|
+
// 7. Запрос успешен → пользователь не видел ошибку
|
|
154
|
+
//
|
|
155
|
+
// ЗАЧЕМ: Без этого клиент получает 401 → показывает ошибку → требует re-login
|
|
156
|
+
//
|
|
157
|
+
// ЗАЩИТЫ:
|
|
158
|
+
// - config._retry → infinite loop protection (один retry на запрос)
|
|
159
|
+
// - isRefreshing + requestQueue → concurrent refresh protection (один refresh для N запросов)
|
|
160
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
161
|
+
if (response?.status === 401 && config && !config._retry && this.options.getAuthToken) {
|
|
162
|
+
console.log('🔐 [SDK] 401 Unauthorized detected, attempting token refresh...');
|
|
163
|
+
// ЗАЧЕМ config._retry: Без этого при втором 401 получим infinite loop (401→refresh→401→refresh→...)
|
|
164
|
+
// Пример: Если refresh не помог (токен протух на сервере) - должны выбросить ошибку, а не зациклиться
|
|
165
|
+
config._retry = true;
|
|
166
|
+
// ⏳ Concurrent refresh protection: добавляем в queue если refresh уже выполняется
|
|
167
|
+
// ЗАЧЕМ: 10 параллельных запросов получили 401 одновременно → без queue будет 10 refresh вызовов
|
|
168
|
+
// С queue: только 1 refresh, остальные 9 ждут и используют новый токен
|
|
169
|
+
if (this.isRefreshing) {
|
|
170
|
+
console.log('⏳ [SDK] Refresh already in progress, adding request to queue');
|
|
171
|
+
return new Promise((resolve, reject) => {
|
|
172
|
+
this.requestQueue.push({ resolve, reject, config });
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
this.isRefreshing = true;
|
|
176
|
+
try {
|
|
177
|
+
// Вызываем getAuthToken для получения нового токена
|
|
178
|
+
// getAuthToken() внутри вызовет VS Code Auth API → тот вызовет provider.refreshToken()
|
|
179
|
+
// provider.refreshToken() → POST /api/v1/oauth/token → новая пара токенов
|
|
180
|
+
console.log('🔄 [SDK] Calling getAuthToken to refresh token...');
|
|
181
|
+
const newToken = await Promise.resolve(this.options.getAuthToken());
|
|
182
|
+
if (!newToken) {
|
|
183
|
+
throw new Error('Failed to get new auth token');
|
|
184
|
+
}
|
|
185
|
+
console.log(`✅ [SDK] Token refreshed successfully: ${newToken.substring(0, 10)}...`);
|
|
186
|
+
// Retry flow: обновляем header, обрабатываем queue, повторяем запрос
|
|
187
|
+
// ЗАЧЕМ processQueue ДО retry: Queued requests должны стартовать одновременно с текущим
|
|
188
|
+
// Иначе: текущий запрос выполнится → вернёт результат → только потом queue (медленно)
|
|
189
|
+
if (!config.headers) {
|
|
190
|
+
config.headers = {};
|
|
191
|
+
}
|
|
192
|
+
config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
193
|
+
this.processQueue(newToken);
|
|
194
|
+
return this.axiosInstance(config);
|
|
195
|
+
}
|
|
196
|
+
catch (refreshError) {
|
|
197
|
+
console.error('❌ [SDK] Token refresh failed:', refreshError);
|
|
198
|
+
this.rejectQueue(refreshError);
|
|
199
|
+
throw new Error('Authentication failed. Please sign in again.');
|
|
200
|
+
}
|
|
201
|
+
finally {
|
|
202
|
+
// Cleanup: следующий 401 запустит новый refresh цикл
|
|
203
|
+
this.isRefreshing = false;
|
|
204
|
+
this.refreshPromise = null;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
101
207
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
102
208
|
if (!config || config._retryCount || config.skipRetry) {
|
|
103
209
|
throw mappedError;
|
|
@@ -131,16 +237,24 @@ class HttpClient {
|
|
|
131
237
|
let authHeaders = {};
|
|
132
238
|
if (this.options.getAuthToken) {
|
|
133
239
|
try {
|
|
240
|
+
console.log(`🔑 [SDK] request() calling getAuthToken for ${options.method} ${options.url}...`);
|
|
134
241
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
135
242
|
if (token) {
|
|
136
243
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
244
|
+
console.log(`✅ [SDK] request() got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
console.warn(`⚠️ [SDK] request() getAuthToken returned null/undefined`);
|
|
137
248
|
}
|
|
138
249
|
}
|
|
139
250
|
catch (error) {
|
|
140
251
|
// Если не удалось получить токен, продолжаем без него
|
|
141
|
-
console.warn('⚠️ Failed to get auth token:', error);
|
|
252
|
+
console.warn('⚠️ [SDK] request() Failed to get auth token:', error);
|
|
142
253
|
}
|
|
143
254
|
}
|
|
255
|
+
else {
|
|
256
|
+
console.log(`🔍 [SDK] request() NO getAuthToken callback configured for ${options.method} ${options.url}`);
|
|
257
|
+
}
|
|
144
258
|
const axiosConfig = {
|
|
145
259
|
url: options.url,
|
|
146
260
|
method: options.method,
|
|
@@ -252,43 +366,80 @@ class HttpClient {
|
|
|
252
366
|
* @returns {Promise<Response>} Объект Response с потоком данных
|
|
253
367
|
*/
|
|
254
368
|
async postStream(url, data, headers) {
|
|
369
|
+
return this.executeStreamRequest(url, data, headers, false);
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* 🔐 Внутренний метод для выполнения stream запроса с поддержкой 401 retry
|
|
373
|
+
* @param isRetry - true если это повторная попытка после 401
|
|
374
|
+
*/
|
|
375
|
+
async executeStreamRequest(url, data, headers, isRetry = false) {
|
|
255
376
|
// Формируем полный URL правильно
|
|
256
377
|
const fullUrl = url.startsWith('http') ? url : `${this.baseURL}${url}`;
|
|
378
|
+
// 🔑 Динамическое получение токена перед stream запросом
|
|
379
|
+
let authHeaders = {};
|
|
380
|
+
if (this.options.getAuthToken) {
|
|
381
|
+
try {
|
|
382
|
+
console.log(`🔑 [SDK postStream] Calling getAuthToken${isRetry ? ' (RETRY after 401)' : ''}...`);
|
|
383
|
+
const token = await Promise.resolve(this.options.getAuthToken());
|
|
384
|
+
if (token) {
|
|
385
|
+
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
386
|
+
console.log(`✅ [SDK postStream] Got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
387
|
+
}
|
|
388
|
+
else {
|
|
389
|
+
console.warn('⚠️ [SDK postStream] getAuthToken returned null/undefined');
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
catch (error) {
|
|
393
|
+
console.warn('⚠️ [SDK postStream] Failed to get auth token:', error);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
257
396
|
const requestHeaders = {
|
|
258
397
|
'Content-Type': 'application/json',
|
|
259
398
|
...this.options.headers,
|
|
399
|
+
...authHeaders, // ← Динамический токен имеет приоритет
|
|
260
400
|
...(headers || {})
|
|
261
401
|
};
|
|
262
|
-
//
|
|
263
|
-
|
|
264
|
-
//
|
|
265
|
-
if (
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
402
|
+
// Универсальная функция для выполнения fetch
|
|
403
|
+
const doFetch = async () => {
|
|
404
|
+
// Для Node.js среды используем нативный fetch если доступен, иначе node-fetch
|
|
405
|
+
if (this.environment === 'node') {
|
|
406
|
+
// Проверяем доступность нативного fetch (Node.js 18+)
|
|
407
|
+
if (typeof globalThis.fetch !== 'undefined') {
|
|
408
|
+
return globalThis.fetch(fullUrl, {
|
|
409
|
+
method: 'POST',
|
|
410
|
+
headers: requestHeaders,
|
|
411
|
+
body: JSON.stringify(data)
|
|
412
|
+
});
|
|
413
|
+
}
|
|
414
|
+
try {
|
|
415
|
+
// Fallback на node-fetch для старых версий Node.js
|
|
416
|
+
const { default: nodeFetch } = await Promise.resolve().then(() => __importStar(require('node-fetch')));
|
|
417
|
+
return nodeFetch(fullUrl, {
|
|
418
|
+
method: 'POST',
|
|
419
|
+
headers: requestHeaders,
|
|
420
|
+
body: JSON.stringify(data)
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
console.error('Ошибка при загрузке node-fetch:', error);
|
|
425
|
+
throw new Error('Для использования потоковой передачи в Node.js необходимо установить node-fetch или использовать Node.js 18+');
|
|
426
|
+
}
|
|
284
427
|
}
|
|
428
|
+
// Для браузера используем нативный fetch
|
|
429
|
+
return fetch(fullUrl, {
|
|
430
|
+
method: 'POST',
|
|
431
|
+
headers: requestHeaders,
|
|
432
|
+
body: JSON.stringify(data)
|
|
433
|
+
});
|
|
434
|
+
};
|
|
435
|
+
const response = await doFetch();
|
|
436
|
+
// 🔐 401 INTERCEPTOR для stream запросов (fetch не проходит через axios interceptor)
|
|
437
|
+
if (response.status === 401 && !isRetry && this.options.getAuthToken) {
|
|
438
|
+
console.log('🔐 [SDK postStream] 401 Unauthorized detected, attempting token refresh...');
|
|
439
|
+
// Рекурсивный вызов с флагом retry
|
|
440
|
+
return this.executeStreamRequest(url, data, headers, true);
|
|
285
441
|
}
|
|
286
|
-
|
|
287
|
-
return fetch(fullUrl, {
|
|
288
|
-
method: 'POST',
|
|
289
|
-
headers: requestHeaders,
|
|
290
|
-
body: JSON.stringify(data)
|
|
291
|
-
});
|
|
442
|
+
return response;
|
|
292
443
|
}
|
|
293
444
|
/**
|
|
294
445
|
* Обрабатывает ошибки от Axios
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,12 +10,6 @@ function getEnvironment() {
|
|
|
10
10
|
? 'browser'
|
|
11
11
|
: 'node';
|
|
12
12
|
}
|
|
13
|
-
/**
|
|
14
|
-
* HTTP клиент для выполнения запросов к API
|
|
15
|
-
*
|
|
16
|
-
* Предоставляет методы для работы с REST API, включая обработку ошибок,
|
|
17
|
-
* повторные попытки и таймауты.
|
|
18
|
-
*/
|
|
19
13
|
export class HttpClient {
|
|
20
14
|
/**
|
|
21
15
|
* Создает новый HTTP клиент
|
|
@@ -23,6 +17,12 @@ export class HttpClient {
|
|
|
23
17
|
* @param {HttpClientOptions} [options] Опции для HTTP клиента
|
|
24
18
|
*/
|
|
25
19
|
constructor(baseURL, options = {}) {
|
|
20
|
+
/** 🔐 401 Interceptor: Request Queue для параллельных запросов */
|
|
21
|
+
this.requestQueue = [];
|
|
22
|
+
/** 🔐 401 Interceptor: Флаг выполнения refresh токена */
|
|
23
|
+
this.isRefreshing = false;
|
|
24
|
+
/** 🔐 401 Interceptor: Promise текущего refresh для синхронизации */
|
|
25
|
+
this.refreshPromise = null;
|
|
26
26
|
this.baseURL = baseURL;
|
|
27
27
|
this.options = {
|
|
28
28
|
headers: {
|
|
@@ -37,7 +37,10 @@ export class HttpClient {
|
|
|
37
37
|
maxRetryDelay: 10000,
|
|
38
38
|
retryStatusCodes: [408, 429, 500, 502, 503, 504]
|
|
39
39
|
},
|
|
40
|
-
httpsAgent: options.httpsAgent
|
|
40
|
+
httpsAgent: options.httpsAgent,
|
|
41
|
+
// ✅ КРИТИЧЕСКОЕ ИСПРАВЛЕНИЕ: Сохраняем getAuthToken callback!
|
|
42
|
+
// Без этого SDK не может динамически обновлять токены
|
|
43
|
+
getAuthToken: options.getAuthToken
|
|
41
44
|
};
|
|
42
45
|
this.environment = getEnvironment();
|
|
43
46
|
// Создаем Axios инстанс с базовыми настройками
|
|
@@ -50,6 +53,33 @@ export class HttpClient {
|
|
|
50
53
|
// Добавляем интерцептор для обработки ошибок и повторных попыток
|
|
51
54
|
this.setupInterceptors();
|
|
52
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* 🔐 Retry всех запросов из очереди с новым токеном
|
|
58
|
+
* Вызывается после успешного refresh для обработки concurrent 401 requests
|
|
59
|
+
*/
|
|
60
|
+
processQueue(newToken) {
|
|
61
|
+
console.log(`🔄 [SDK] Processing ${this.requestQueue.length} queued requests with new token`);
|
|
62
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
63
|
+
if (!queuedRequest.config.headers) {
|
|
64
|
+
queuedRequest.config.headers = {};
|
|
65
|
+
}
|
|
66
|
+
queuedRequest.config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
67
|
+
this.axiosInstance(queuedRequest.config)
|
|
68
|
+
.then((response) => queuedRequest.resolve(response))
|
|
69
|
+
.catch((error) => queuedRequest.reject(error));
|
|
70
|
+
});
|
|
71
|
+
this.requestQueue = [];
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* 🔐 Reject всех запросов из очереди при ошибке refresh
|
|
75
|
+
*/
|
|
76
|
+
rejectQueue(error) {
|
|
77
|
+
console.error(`❌ [SDK] Rejecting ${this.requestQueue.length} queued requests due to refresh failure`);
|
|
78
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
79
|
+
queuedRequest.reject(error);
|
|
80
|
+
});
|
|
81
|
+
this.requestQueue = [];
|
|
82
|
+
}
|
|
53
83
|
/**
|
|
54
84
|
* Настраивает интерцепторы Axios
|
|
55
85
|
*/
|
|
@@ -57,8 +87,84 @@ export class HttpClient {
|
|
|
57
87
|
// Интерцептор для ответов
|
|
58
88
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
59
89
|
const { config, response } = error;
|
|
90
|
+
// 🔍 ДИАГНОСТИКА: Логируем ВСЕ ошибки в interceptor
|
|
91
|
+
console.log('🔴 [SDK Interceptor] Error received:', {
|
|
92
|
+
status: response?.status,
|
|
93
|
+
url: config?.url,
|
|
94
|
+
method: config?.method,
|
|
95
|
+
hasConfig: !!config,
|
|
96
|
+
hasResponse: !!response,
|
|
97
|
+
_retry: config?._retry,
|
|
98
|
+
hasGetAuthToken: !!this.options.getAuthToken
|
|
99
|
+
});
|
|
60
100
|
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
61
101
|
const mappedError = ErrorMapper.mapError(error);
|
|
102
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
103
|
+
// 🔐 401 INTERCEPTOR: Автоматический refresh + retry
|
|
104
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
105
|
+
//
|
|
106
|
+
// МЕХАНИЗМ РАБОТЫ (стандартный OAuth 2.0 flow):
|
|
107
|
+
//
|
|
108
|
+
// 1. Клиент делает запрос с access token
|
|
109
|
+
// 2. Access token истёк → сервер вернул 401 Unauthorized
|
|
110
|
+
// 3. SDK перехватывает 401 → вызывает getAuthToken()
|
|
111
|
+
// 4. getAuthToken() делает refresh запрос (POST /oauth/token)
|
|
112
|
+
// 5. Сервер возвращает новую пару токенов (access + refresh)
|
|
113
|
+
// 6. SDK повторяет оригинальный запрос с новым access token
|
|
114
|
+
// 7. Запрос успешен → пользователь не видел ошибку
|
|
115
|
+
//
|
|
116
|
+
// ЗАЧЕМ: Без этого клиент получает 401 → показывает ошибку → требует re-login
|
|
117
|
+
//
|
|
118
|
+
// ЗАЩИТЫ:
|
|
119
|
+
// - config._retry → infinite loop protection (один retry на запрос)
|
|
120
|
+
// - isRefreshing + requestQueue → concurrent refresh protection (один refresh для N запросов)
|
|
121
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
122
|
+
if (response?.status === 401 && config && !config._retry && this.options.getAuthToken) {
|
|
123
|
+
console.log('🔐 [SDK] 401 Unauthorized detected, attempting token refresh...');
|
|
124
|
+
// ЗАЧЕМ config._retry: Без этого при втором 401 получим infinite loop (401→refresh→401→refresh→...)
|
|
125
|
+
// Пример: Если refresh не помог (токен протух на сервере) - должны выбросить ошибку, а не зациклиться
|
|
126
|
+
config._retry = true;
|
|
127
|
+
// ⏳ Concurrent refresh protection: добавляем в queue если refresh уже выполняется
|
|
128
|
+
// ЗАЧЕМ: 10 параллельных запросов получили 401 одновременно → без queue будет 10 refresh вызовов
|
|
129
|
+
// С queue: только 1 refresh, остальные 9 ждут и используют новый токен
|
|
130
|
+
if (this.isRefreshing) {
|
|
131
|
+
console.log('⏳ [SDK] Refresh already in progress, adding request to queue');
|
|
132
|
+
return new Promise((resolve, reject) => {
|
|
133
|
+
this.requestQueue.push({ resolve, reject, config });
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
this.isRefreshing = true;
|
|
137
|
+
try {
|
|
138
|
+
// Вызываем getAuthToken для получения нового токена
|
|
139
|
+
// getAuthToken() внутри вызовет VS Code Auth API → тот вызовет provider.refreshToken()
|
|
140
|
+
// provider.refreshToken() → POST /api/v1/oauth/token → новая пара токенов
|
|
141
|
+
console.log('🔄 [SDK] Calling getAuthToken to refresh token...');
|
|
142
|
+
const newToken = await Promise.resolve(this.options.getAuthToken());
|
|
143
|
+
if (!newToken) {
|
|
144
|
+
throw new Error('Failed to get new auth token');
|
|
145
|
+
}
|
|
146
|
+
console.log(`✅ [SDK] Token refreshed successfully: ${newToken.substring(0, 10)}...`);
|
|
147
|
+
// Retry flow: обновляем header, обрабатываем queue, повторяем запрос
|
|
148
|
+
// ЗАЧЕМ processQueue ДО retry: Queued requests должны стартовать одновременно с текущим
|
|
149
|
+
// Иначе: текущий запрос выполнится → вернёт результат → только потом queue (медленно)
|
|
150
|
+
if (!config.headers) {
|
|
151
|
+
config.headers = {};
|
|
152
|
+
}
|
|
153
|
+
config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
154
|
+
this.processQueue(newToken);
|
|
155
|
+
return this.axiosInstance(config);
|
|
156
|
+
}
|
|
157
|
+
catch (refreshError) {
|
|
158
|
+
console.error('❌ [SDK] Token refresh failed:', refreshError);
|
|
159
|
+
this.rejectQueue(refreshError);
|
|
160
|
+
throw new Error('Authentication failed. Please sign in again.');
|
|
161
|
+
}
|
|
162
|
+
finally {
|
|
163
|
+
// Cleanup: следующий 401 запустит новый refresh цикл
|
|
164
|
+
this.isRefreshing = false;
|
|
165
|
+
this.refreshPromise = null;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
62
168
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
63
169
|
if (!config || config._retryCount || config.skipRetry) {
|
|
64
170
|
throw mappedError;
|
|
@@ -92,16 +198,24 @@ export class HttpClient {
|
|
|
92
198
|
let authHeaders = {};
|
|
93
199
|
if (this.options.getAuthToken) {
|
|
94
200
|
try {
|
|
201
|
+
console.log(`🔑 [SDK] request() calling getAuthToken for ${options.method} ${options.url}...`);
|
|
95
202
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
96
203
|
if (token) {
|
|
97
204
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
205
|
+
console.log(`✅ [SDK] request() got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
console.warn(`⚠️ [SDK] request() getAuthToken returned null/undefined`);
|
|
98
209
|
}
|
|
99
210
|
}
|
|
100
211
|
catch (error) {
|
|
101
212
|
// Если не удалось получить токен, продолжаем без него
|
|
102
|
-
console.warn('⚠️ Failed to get auth token:', error);
|
|
213
|
+
console.warn('⚠️ [SDK] request() Failed to get auth token:', error);
|
|
103
214
|
}
|
|
104
215
|
}
|
|
216
|
+
else {
|
|
217
|
+
console.log(`🔍 [SDK] request() NO getAuthToken callback configured for ${options.method} ${options.url}`);
|
|
218
|
+
}
|
|
105
219
|
const axiosConfig = {
|
|
106
220
|
url: options.url,
|
|
107
221
|
method: options.method,
|
|
@@ -213,43 +327,80 @@ export class HttpClient {
|
|
|
213
327
|
* @returns {Promise<Response>} Объект Response с потоком данных
|
|
214
328
|
*/
|
|
215
329
|
async postStream(url, data, headers) {
|
|
330
|
+
return this.executeStreamRequest(url, data, headers, false);
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* 🔐 Внутренний метод для выполнения stream запроса с поддержкой 401 retry
|
|
334
|
+
* @param isRetry - true если это повторная попытка после 401
|
|
335
|
+
*/
|
|
336
|
+
async executeStreamRequest(url, data, headers, isRetry = false) {
|
|
216
337
|
// Формируем полный URL правильно
|
|
217
338
|
const fullUrl = url.startsWith('http') ? url : `${this.baseURL}${url}`;
|
|
339
|
+
// 🔑 Динамическое получение токена перед stream запросом
|
|
340
|
+
let authHeaders = {};
|
|
341
|
+
if (this.options.getAuthToken) {
|
|
342
|
+
try {
|
|
343
|
+
console.log(`🔑 [SDK postStream] Calling getAuthToken${isRetry ? ' (RETRY after 401)' : ''}...`);
|
|
344
|
+
const token = await Promise.resolve(this.options.getAuthToken());
|
|
345
|
+
if (token) {
|
|
346
|
+
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
347
|
+
console.log(`✅ [SDK postStream] Got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
console.warn('⚠️ [SDK postStream] getAuthToken returned null/undefined');
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
catch (error) {
|
|
354
|
+
console.warn('⚠️ [SDK postStream] Failed to get auth token:', error);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
218
357
|
const requestHeaders = {
|
|
219
358
|
'Content-Type': 'application/json',
|
|
220
359
|
...this.options.headers,
|
|
360
|
+
...authHeaders, // ← Динамический токен имеет приоритет
|
|
221
361
|
...(headers || {})
|
|
222
362
|
};
|
|
223
|
-
//
|
|
224
|
-
|
|
225
|
-
//
|
|
226
|
-
if (
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
363
|
+
// Универсальная функция для выполнения fetch
|
|
364
|
+
const doFetch = async () => {
|
|
365
|
+
// Для Node.js среды используем нативный fetch если доступен, иначе node-fetch
|
|
366
|
+
if (this.environment === 'node') {
|
|
367
|
+
// Проверяем доступность нативного fetch (Node.js 18+)
|
|
368
|
+
if (typeof globalThis.fetch !== 'undefined') {
|
|
369
|
+
return globalThis.fetch(fullUrl, {
|
|
370
|
+
method: 'POST',
|
|
371
|
+
headers: requestHeaders,
|
|
372
|
+
body: JSON.stringify(data)
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
try {
|
|
376
|
+
// Fallback на node-fetch для старых версий Node.js
|
|
377
|
+
const { default: nodeFetch } = await import('node-fetch');
|
|
378
|
+
return nodeFetch(fullUrl, {
|
|
379
|
+
method: 'POST',
|
|
380
|
+
headers: requestHeaders,
|
|
381
|
+
body: JSON.stringify(data)
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
console.error('Ошибка при загрузке node-fetch:', error);
|
|
386
|
+
throw new Error('Для использования потоковой передачи в Node.js необходимо установить node-fetch или использовать Node.js 18+');
|
|
387
|
+
}
|
|
245
388
|
}
|
|
389
|
+
// Для браузера используем нативный fetch
|
|
390
|
+
return fetch(fullUrl, {
|
|
391
|
+
method: 'POST',
|
|
392
|
+
headers: requestHeaders,
|
|
393
|
+
body: JSON.stringify(data)
|
|
394
|
+
});
|
|
395
|
+
};
|
|
396
|
+
const response = await doFetch();
|
|
397
|
+
// 🔐 401 INTERCEPTOR для stream запросов (fetch не проходит через axios interceptor)
|
|
398
|
+
if (response.status === 401 && !isRetry && this.options.getAuthToken) {
|
|
399
|
+
console.log('🔐 [SDK postStream] 401 Unauthorized detected, attempting token refresh...');
|
|
400
|
+
// Рекурсивный вызов с флагом retry
|
|
401
|
+
return this.executeStreamRequest(url, data, headers, true);
|
|
246
402
|
}
|
|
247
|
-
|
|
248
|
-
return fetch(fullUrl, {
|
|
249
|
-
method: 'POST',
|
|
250
|
-
headers: requestHeaders,
|
|
251
|
-
body: JSON.stringify(data)
|
|
252
|
-
});
|
|
403
|
+
return response;
|
|
253
404
|
}
|
|
254
405
|
/**
|
|
255
406
|
* Обрабатывает ошибки от Axios
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,9 @@ import { IHttpClient, HttpClientOptions, RequestOptions } from '../interfaces/ht
|
|
|
2
2
|
declare module 'axios' {
|
|
3
3
|
interface AxiosRequestConfig {
|
|
4
4
|
skipRetry?: boolean;
|
|
5
|
+
_retry?: boolean;
|
|
5
6
|
}
|
|
6
7
|
}
|
|
7
|
-
/**
|
|
8
|
-
* HTTP клиент для выполнения запросов к API
|
|
9
|
-
*
|
|
10
|
-
* Предоставляет методы для работы с REST API, включая обработку ошибок,
|
|
11
|
-
* повторные попытки и таймауты.
|
|
12
|
-
*/
|
|
13
8
|
export declare class HttpClient implements IHttpClient {
|
|
14
9
|
/** Базовый URL для запросов */
|
|
15
10
|
private readonly baseURL;
|
|
@@ -19,12 +14,27 @@ export declare class HttpClient implements IHttpClient {
|
|
|
19
14
|
private readonly axiosInstance;
|
|
20
15
|
/** Среда выполнения */
|
|
21
16
|
private readonly environment;
|
|
17
|
+
/** 🔐 401 Interceptor: Request Queue для параллельных запросов */
|
|
18
|
+
private requestQueue;
|
|
19
|
+
/** 🔐 401 Interceptor: Флаг выполнения refresh токена */
|
|
20
|
+
private isRefreshing;
|
|
21
|
+
/** 🔐 401 Interceptor: Promise текущего refresh для синхронизации */
|
|
22
|
+
private refreshPromise;
|
|
22
23
|
/**
|
|
23
24
|
* Создает новый HTTP клиент
|
|
24
25
|
* @param {string} baseURL Базовый URL для запросов
|
|
25
26
|
* @param {HttpClientOptions} [options] Опции для HTTP клиента
|
|
26
27
|
*/
|
|
27
28
|
constructor(baseURL: string, options?: HttpClientOptions);
|
|
29
|
+
/**
|
|
30
|
+
* 🔐 Retry всех запросов из очереди с новым токеном
|
|
31
|
+
* Вызывается после успешного refresh для обработки concurrent 401 requests
|
|
32
|
+
*/
|
|
33
|
+
private processQueue;
|
|
34
|
+
/**
|
|
35
|
+
* 🔐 Reject всех запросов из очереди при ошибке refresh
|
|
36
|
+
*/
|
|
37
|
+
private rejectQueue;
|
|
28
38
|
/**
|
|
29
39
|
* Настраивает интерцепторы Axios
|
|
30
40
|
*/
|
|
@@ -83,6 +93,11 @@ export declare class HttpClient implements IHttpClient {
|
|
|
83
93
|
* @returns {Promise<Response>} Объект Response с потоком данных
|
|
84
94
|
*/
|
|
85
95
|
postStream(url: string, data?: any, headers?: Record<string, string>): Promise<Response>;
|
|
96
|
+
/**
|
|
97
|
+
* 🔐 Внутренний метод для выполнения stream запроса с поддержкой 401 retry
|
|
98
|
+
* @param isRetry - true если это повторная попытка после 401
|
|
99
|
+
*/
|
|
100
|
+
private executeStreamRequest;
|
|
86
101
|
/**
|
|
87
102
|
* Обрабатывает ошибки от Axios
|
|
88
103
|
* @param {any} error Ошибка от Axios
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAgB,MAAM,8BAA8B,CAAC;AAK5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAgB,MAAM,8BAA8B,CAAC;AAK5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;CACF;AA2BD,qBAAa,UAAW,YAAW,WAAW;IAC5C,+BAA+B;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAEjC,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,oBAAoB;IACpB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAE9C,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAEjD,kEAAkE;IAClE,OAAO,CAAC,YAAY,CAAuB;IAE3C,yDAAyD;IACzD,OAAO,CAAC,YAAY,CAAkB;IAEtC,qEAAqE;IACrE,OAAO,CAAC,cAAc,CAAuC;IAE7D;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAmC5D;;;OAGG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoIzB;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAmDlE;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,IAAI,CAAC,CAAC,GAAG,GAAG,EACvB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,GAAG,CAAC,CAAC,GAAG,GAAG,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,MAAM,CAAC,CAAC,GAAG,GAAG,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,KAAK,CAAC,CAAC,GAAG,GAAG,EACxB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC;IASb;;;;;;OAMG;IACU,UAAU,CACrB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,OAAO,CAAC,QAAQ,CAAC;IAIpB;;;OAGG;YACW,oBAAoB;IAkFlC;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAiFnB;;OAEG;IACH,IAAW,WAAW,IAAI,GAAG,CAE5B;IAED;;;OAGG;IACI,UAAU,IAAI,MAAM;CAG5B"}
|