solver-sdk 10.3.3 → 10.3.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.
- package/README.md +38 -5
- package/dist/cjs/api/projects-api.js +4 -3
- package/dist/cjs/api/projects-api.js.map +1 -1
- package/dist/cjs/utils/http-client.js +169 -36
- package/dist/cjs/utils/http-client.js.map +1 -1
- package/dist/esm/api/projects-api.js +4 -3
- package/dist/esm/api/projects-api.js.map +1 -1
- package/dist/esm/utils/http-client.js +169 -36
- package/dist/esm/utils/http-client.js.map +1 -1
- package/dist/types/api/projects-api.d.ts +2 -2
- package/dist/types/api/projects-api.d.ts.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
|
### Проблема
|
|
@@ -44,7 +44,7 @@ class ProjectsApi {
|
|
|
44
44
|
*
|
|
45
45
|
* @example
|
|
46
46
|
* ```typescript
|
|
47
|
-
* const project = await sdk.projects.findOrCreateProject('MyProject');
|
|
47
|
+
* const project = await sdk.projects.findOrCreateProject('MyProject', '/path/to/project');
|
|
48
48
|
* if (!project) {
|
|
49
49
|
* // Auth error - токен истек
|
|
50
50
|
* return;
|
|
@@ -52,12 +52,13 @@ class ProjectsApi {
|
|
|
52
52
|
* console.log(project.id);
|
|
53
53
|
* ```
|
|
54
54
|
*/
|
|
55
|
-
async findOrCreateProject(projectName) {
|
|
55
|
+
async findOrCreateProject(projectName, projectPath) {
|
|
56
56
|
if (!projectName?.trim()) {
|
|
57
57
|
throw new Error('Project name is required');
|
|
58
58
|
}
|
|
59
59
|
const response = await this.httpClient.post('/api/v1/projects/find-or-create', {
|
|
60
|
-
name: projectName.trim()
|
|
60
|
+
name: projectName.trim(),
|
|
61
|
+
path: projectPath?.trim() // ✅ Передаем path для уникальности
|
|
61
62
|
});
|
|
62
63
|
return response;
|
|
63
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":";;;AAsBA;;GAEG;AACH,MAAa,WAAW;IAGtB,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,mDAAmD;IAEnD;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,cAAc;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAY,kBAAkB,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,mBAAmB,CAC9B,WAAmB;
|
|
1
|
+
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"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"}
|
|
@@ -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: {
|
|
@@ -89,6 +89,33 @@ class HttpClient {
|
|
|
89
89
|
// Добавляем интерцептор для обработки ошибок и повторных попыток
|
|
90
90
|
this.setupInterceptors();
|
|
91
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* 🔐 Retry всех запросов из очереди с новым токеном
|
|
94
|
+
* Вызывается после успешного refresh для обработки concurrent 401 requests
|
|
95
|
+
*/
|
|
96
|
+
processQueue(newToken) {
|
|
97
|
+
console.log(`🔄 [SDK] Processing ${this.requestQueue.length} queued requests with new token`);
|
|
98
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
99
|
+
if (!queuedRequest.config.headers) {
|
|
100
|
+
queuedRequest.config.headers = {};
|
|
101
|
+
}
|
|
102
|
+
queuedRequest.config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
103
|
+
this.axiosInstance(queuedRequest.config)
|
|
104
|
+
.then((response) => queuedRequest.resolve(response))
|
|
105
|
+
.catch((error) => queuedRequest.reject(error));
|
|
106
|
+
});
|
|
107
|
+
this.requestQueue = [];
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* 🔐 Reject всех запросов из очереди при ошибке refresh
|
|
111
|
+
*/
|
|
112
|
+
rejectQueue(error) {
|
|
113
|
+
console.error(`❌ [SDK] Rejecting ${this.requestQueue.length} queued requests due to refresh failure`);
|
|
114
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
115
|
+
queuedRequest.reject(error);
|
|
116
|
+
});
|
|
117
|
+
this.requestQueue = [];
|
|
118
|
+
}
|
|
92
119
|
/**
|
|
93
120
|
* Настраивает интерцепторы Axios
|
|
94
121
|
*/
|
|
@@ -96,8 +123,84 @@ class HttpClient {
|
|
|
96
123
|
// Интерцептор для ответов
|
|
97
124
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
98
125
|
const { config, response } = error;
|
|
126
|
+
// 🔍 ДИАГНОСТИКА: Логируем ВСЕ ошибки в interceptor
|
|
127
|
+
console.log('🔴 [SDK Interceptor] Error received:', {
|
|
128
|
+
status: response?.status,
|
|
129
|
+
url: config?.url,
|
|
130
|
+
method: config?.method,
|
|
131
|
+
hasConfig: !!config,
|
|
132
|
+
hasResponse: !!response,
|
|
133
|
+
_retry: config?._retry,
|
|
134
|
+
hasGetAuthToken: !!this.options.getAuthToken
|
|
135
|
+
});
|
|
99
136
|
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
100
137
|
const mappedError = error_mapper_js_1.ErrorMapper.mapError(error);
|
|
138
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
139
|
+
// 🔐 401 INTERCEPTOR: Автоматический refresh + retry
|
|
140
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
141
|
+
//
|
|
142
|
+
// МЕХАНИЗМ РАБОТЫ (стандартный OAuth 2.0 flow):
|
|
143
|
+
//
|
|
144
|
+
// 1. Клиент делает запрос с access token
|
|
145
|
+
// 2. Access token истёк → сервер вернул 401 Unauthorized
|
|
146
|
+
// 3. SDK перехватывает 401 → вызывает getAuthToken()
|
|
147
|
+
// 4. getAuthToken() делает refresh запрос (POST /oauth/token)
|
|
148
|
+
// 5. Сервер возвращает новую пару токенов (access + refresh)
|
|
149
|
+
// 6. SDK повторяет оригинальный запрос с новым access token
|
|
150
|
+
// 7. Запрос успешен → пользователь не видел ошибку
|
|
151
|
+
//
|
|
152
|
+
// ЗАЧЕМ: Без этого клиент получает 401 → показывает ошибку → требует re-login
|
|
153
|
+
//
|
|
154
|
+
// ЗАЩИТЫ:
|
|
155
|
+
// - config._retry → infinite loop protection (один retry на запрос)
|
|
156
|
+
// - isRefreshing + requestQueue → concurrent refresh protection (один refresh для N запросов)
|
|
157
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
158
|
+
if (response?.status === 401 && config && !config._retry && this.options.getAuthToken) {
|
|
159
|
+
console.log('🔐 [SDK] 401 Unauthorized detected, attempting token refresh...');
|
|
160
|
+
// ЗАЧЕМ config._retry: Без этого при втором 401 получим infinite loop (401→refresh→401→refresh→...)
|
|
161
|
+
// Пример: Если refresh не помог (токен протух на сервере) - должны выбросить ошибку, а не зациклиться
|
|
162
|
+
config._retry = true;
|
|
163
|
+
// ⏳ Concurrent refresh protection: добавляем в queue если refresh уже выполняется
|
|
164
|
+
// ЗАЧЕМ: 10 параллельных запросов получили 401 одновременно → без queue будет 10 refresh вызовов
|
|
165
|
+
// С queue: только 1 refresh, остальные 9 ждут и используют новый токен
|
|
166
|
+
if (this.isRefreshing) {
|
|
167
|
+
console.log('⏳ [SDK] Refresh already in progress, adding request to queue');
|
|
168
|
+
return new Promise((resolve, reject) => {
|
|
169
|
+
this.requestQueue.push({ resolve, reject, config });
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
this.isRefreshing = true;
|
|
173
|
+
try {
|
|
174
|
+
// Вызываем getAuthToken для получения нового токена
|
|
175
|
+
// getAuthToken() внутри вызовет VS Code Auth API → тот вызовет provider.refreshToken()
|
|
176
|
+
// provider.refreshToken() → POST /api/v1/oauth/token → новая пара токенов
|
|
177
|
+
console.log('🔄 [SDK] Calling getAuthToken to refresh token...');
|
|
178
|
+
const newToken = await Promise.resolve(this.options.getAuthToken());
|
|
179
|
+
if (!newToken) {
|
|
180
|
+
throw new Error('Failed to get new auth token');
|
|
181
|
+
}
|
|
182
|
+
console.log(`✅ [SDK] Token refreshed successfully: ${newToken.substring(0, 10)}...`);
|
|
183
|
+
// Retry flow: обновляем header, обрабатываем queue, повторяем запрос
|
|
184
|
+
// ЗАЧЕМ processQueue ДО retry: Queued requests должны стартовать одновременно с текущим
|
|
185
|
+
// Иначе: текущий запрос выполнится → вернёт результат → только потом queue (медленно)
|
|
186
|
+
if (!config.headers) {
|
|
187
|
+
config.headers = {};
|
|
188
|
+
}
|
|
189
|
+
config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
190
|
+
this.processQueue(newToken);
|
|
191
|
+
return this.axiosInstance(config);
|
|
192
|
+
}
|
|
193
|
+
catch (refreshError) {
|
|
194
|
+
console.error('❌ [SDK] Token refresh failed:', refreshError);
|
|
195
|
+
this.rejectQueue(refreshError);
|
|
196
|
+
throw new Error('Authentication failed. Please sign in again.');
|
|
197
|
+
}
|
|
198
|
+
finally {
|
|
199
|
+
// Cleanup: следующий 401 запустит новый refresh цикл
|
|
200
|
+
this.isRefreshing = false;
|
|
201
|
+
this.refreshPromise = null;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
101
204
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
102
205
|
if (!config || config._retryCount || config.skipRetry) {
|
|
103
206
|
throw mappedError;
|
|
@@ -131,16 +234,24 @@ class HttpClient {
|
|
|
131
234
|
let authHeaders = {};
|
|
132
235
|
if (this.options.getAuthToken) {
|
|
133
236
|
try {
|
|
237
|
+
console.log(`🔑 [SDK] request() calling getAuthToken for ${options.method} ${options.url}...`);
|
|
134
238
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
135
239
|
if (token) {
|
|
136
240
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
241
|
+
console.log(`✅ [SDK] request() got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
console.warn(`⚠️ [SDK] request() getAuthToken returned null/undefined`);
|
|
137
245
|
}
|
|
138
246
|
}
|
|
139
247
|
catch (error) {
|
|
140
248
|
// Если не удалось получить токен, продолжаем без него
|
|
141
|
-
console.warn('⚠️ Failed to get auth token:', error);
|
|
249
|
+
console.warn('⚠️ [SDK] request() Failed to get auth token:', error);
|
|
142
250
|
}
|
|
143
251
|
}
|
|
252
|
+
else {
|
|
253
|
+
console.log(`🔍 [SDK] request() NO getAuthToken callback configured for ${options.method} ${options.url}`);
|
|
254
|
+
}
|
|
144
255
|
const axiosConfig = {
|
|
145
256
|
url: options.url,
|
|
146
257
|
method: options.method,
|
|
@@ -252,16 +363,27 @@ class HttpClient {
|
|
|
252
363
|
* @returns {Promise<Response>} Объект Response с потоком данных
|
|
253
364
|
*/
|
|
254
365
|
async postStream(url, data, headers) {
|
|
366
|
+
return this.executeStreamRequest(url, data, headers, false);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* 🔐 Внутренний метод для выполнения stream запроса с поддержкой 401 retry
|
|
370
|
+
* @param isRetry - true если это повторная попытка после 401
|
|
371
|
+
*/
|
|
372
|
+
async executeStreamRequest(url, data, headers, isRetry = false) {
|
|
255
373
|
// Формируем полный URL правильно
|
|
256
374
|
const fullUrl = url.startsWith('http') ? url : `${this.baseURL}${url}`;
|
|
257
375
|
// 🔑 Динамическое получение токена перед stream запросом
|
|
258
376
|
let authHeaders = {};
|
|
259
377
|
if (this.options.getAuthToken) {
|
|
260
378
|
try {
|
|
379
|
+
console.log(`🔑 [SDK postStream] Calling getAuthToken${isRetry ? ' (RETRY after 401)' : ''}...`);
|
|
261
380
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
262
381
|
if (token) {
|
|
263
382
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
264
|
-
console.log(
|
|
383
|
+
console.log(`✅ [SDK postStream] Got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
384
|
+
}
|
|
385
|
+
else {
|
|
386
|
+
console.warn('⚠️ [SDK postStream] getAuthToken returned null/undefined');
|
|
265
387
|
}
|
|
266
388
|
}
|
|
267
389
|
catch (error) {
|
|
@@ -274,36 +396,47 @@ class HttpClient {
|
|
|
274
396
|
...authHeaders, // ← Динамический токен имеет приоритет
|
|
275
397
|
...(headers || {})
|
|
276
398
|
};
|
|
277
|
-
//
|
|
278
|
-
|
|
279
|
-
//
|
|
280
|
-
if (
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
399
|
+
// Универсальная функция для выполнения fetch
|
|
400
|
+
const doFetch = async () => {
|
|
401
|
+
// Для Node.js среды используем нативный fetch если доступен, иначе node-fetch
|
|
402
|
+
if (this.environment === 'node') {
|
|
403
|
+
// Проверяем доступность нативного fetch (Node.js 18+)
|
|
404
|
+
if (typeof globalThis.fetch !== 'undefined') {
|
|
405
|
+
return globalThis.fetch(fullUrl, {
|
|
406
|
+
method: 'POST',
|
|
407
|
+
headers: requestHeaders,
|
|
408
|
+
body: JSON.stringify(data)
|
|
409
|
+
});
|
|
410
|
+
}
|
|
411
|
+
try {
|
|
412
|
+
// Fallback на node-fetch для старых версий Node.js
|
|
413
|
+
const { default: nodeFetch } = await Promise.resolve().then(() => __importStar(require('node-fetch')));
|
|
414
|
+
return nodeFetch(fullUrl, {
|
|
415
|
+
method: 'POST',
|
|
416
|
+
headers: requestHeaders,
|
|
417
|
+
body: JSON.stringify(data)
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
catch (error) {
|
|
421
|
+
console.error('Ошибка при загрузке node-fetch:', error);
|
|
422
|
+
throw new Error('Для использования потоковой передачи в Node.js необходимо установить node-fetch или использовать Node.js 18+');
|
|
423
|
+
}
|
|
299
424
|
}
|
|
425
|
+
// Для браузера используем нативный fetch
|
|
426
|
+
return fetch(fullUrl, {
|
|
427
|
+
method: 'POST',
|
|
428
|
+
headers: requestHeaders,
|
|
429
|
+
body: JSON.stringify(data)
|
|
430
|
+
});
|
|
431
|
+
};
|
|
432
|
+
const response = await doFetch();
|
|
433
|
+
// 🔐 401 INTERCEPTOR для stream запросов (fetch не проходит через axios interceptor)
|
|
434
|
+
if (response.status === 401 && !isRetry && this.options.getAuthToken) {
|
|
435
|
+
console.log('🔐 [SDK postStream] 401 Unauthorized detected, attempting token refresh...');
|
|
436
|
+
// Рекурсивный вызов с флагом retry
|
|
437
|
+
return this.executeStreamRequest(url, data, headers, true);
|
|
300
438
|
}
|
|
301
|
-
|
|
302
|
-
return fetch(fullUrl, {
|
|
303
|
-
method: 'POST',
|
|
304
|
-
headers: requestHeaders,
|
|
305
|
-
body: JSON.stringify(data)
|
|
306
|
-
});
|
|
439
|
+
return response;
|
|
307
440
|
}
|
|
308
441
|
/**
|
|
309
442
|
* Обрабатывает ошибки от 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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"}
|
|
@@ -41,7 +41,7 @@ export class ProjectsApi {
|
|
|
41
41
|
*
|
|
42
42
|
* @example
|
|
43
43
|
* ```typescript
|
|
44
|
-
* const project = await sdk.projects.findOrCreateProject('MyProject');
|
|
44
|
+
* const project = await sdk.projects.findOrCreateProject('MyProject', '/path/to/project');
|
|
45
45
|
* if (!project) {
|
|
46
46
|
* // Auth error - токен истек
|
|
47
47
|
* return;
|
|
@@ -49,12 +49,13 @@ export class ProjectsApi {
|
|
|
49
49
|
* console.log(project.id);
|
|
50
50
|
* ```
|
|
51
51
|
*/
|
|
52
|
-
async findOrCreateProject(projectName) {
|
|
52
|
+
async findOrCreateProject(projectName, projectPath) {
|
|
53
53
|
if (!projectName?.trim()) {
|
|
54
54
|
throw new Error('Project name is required');
|
|
55
55
|
}
|
|
56
56
|
const response = await this.httpClient.post('/api/v1/projects/find-or-create', {
|
|
57
|
-
name: projectName.trim()
|
|
57
|
+
name: projectName.trim(),
|
|
58
|
+
path: projectPath?.trim() // ✅ Передаем path для уникальности
|
|
58
59
|
});
|
|
59
60
|
return response;
|
|
60
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,OAAO,WAAW;IAGtB,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,mDAAmD;IAEnD;;;;;;;;;;;;;;OAcG;IACI,KAAK,CAAC,cAAc;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAY,kBAAkB,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW;QACtB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACI,KAAK,CAAC,mBAAmB,CAC9B,WAAmB;
|
|
1
|
+
{"version":3,"file":"projects-api.js","sourceRoot":"","sources":["../../../src/api/projects-api.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: {
|
|
@@ -50,6 +50,33 @@ export class HttpClient {
|
|
|
50
50
|
// Добавляем интерцептор для обработки ошибок и повторных попыток
|
|
51
51
|
this.setupInterceptors();
|
|
52
52
|
}
|
|
53
|
+
/**
|
|
54
|
+
* 🔐 Retry всех запросов из очереди с новым токеном
|
|
55
|
+
* Вызывается после успешного refresh для обработки concurrent 401 requests
|
|
56
|
+
*/
|
|
57
|
+
processQueue(newToken) {
|
|
58
|
+
console.log(`🔄 [SDK] Processing ${this.requestQueue.length} queued requests with new token`);
|
|
59
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
60
|
+
if (!queuedRequest.config.headers) {
|
|
61
|
+
queuedRequest.config.headers = {};
|
|
62
|
+
}
|
|
63
|
+
queuedRequest.config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
64
|
+
this.axiosInstance(queuedRequest.config)
|
|
65
|
+
.then((response) => queuedRequest.resolve(response))
|
|
66
|
+
.catch((error) => queuedRequest.reject(error));
|
|
67
|
+
});
|
|
68
|
+
this.requestQueue = [];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 🔐 Reject всех запросов из очереди при ошибке refresh
|
|
72
|
+
*/
|
|
73
|
+
rejectQueue(error) {
|
|
74
|
+
console.error(`❌ [SDK] Rejecting ${this.requestQueue.length} queued requests due to refresh failure`);
|
|
75
|
+
this.requestQueue.forEach((queuedRequest) => {
|
|
76
|
+
queuedRequest.reject(error);
|
|
77
|
+
});
|
|
78
|
+
this.requestQueue = [];
|
|
79
|
+
}
|
|
53
80
|
/**
|
|
54
81
|
* Настраивает интерцепторы Axios
|
|
55
82
|
*/
|
|
@@ -57,8 +84,84 @@ export class HttpClient {
|
|
|
57
84
|
// Интерцептор для ответов
|
|
58
85
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
59
86
|
const { config, response } = error;
|
|
87
|
+
// 🔍 ДИАГНОСТИКА: Логируем ВСЕ ошибки в interceptor
|
|
88
|
+
console.log('🔴 [SDK Interceptor] Error received:', {
|
|
89
|
+
status: response?.status,
|
|
90
|
+
url: config?.url,
|
|
91
|
+
method: config?.method,
|
|
92
|
+
hasConfig: !!config,
|
|
93
|
+
hasResponse: !!response,
|
|
94
|
+
_retry: config?._retry,
|
|
95
|
+
hasGetAuthToken: !!this.options.getAuthToken
|
|
96
|
+
});
|
|
60
97
|
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
61
98
|
const mappedError = ErrorMapper.mapError(error);
|
|
99
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
100
|
+
// 🔐 401 INTERCEPTOR: Автоматический refresh + retry
|
|
101
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
102
|
+
//
|
|
103
|
+
// МЕХАНИЗМ РАБОТЫ (стандартный OAuth 2.0 flow):
|
|
104
|
+
//
|
|
105
|
+
// 1. Клиент делает запрос с access token
|
|
106
|
+
// 2. Access token истёк → сервер вернул 401 Unauthorized
|
|
107
|
+
// 3. SDK перехватывает 401 → вызывает getAuthToken()
|
|
108
|
+
// 4. getAuthToken() делает refresh запрос (POST /oauth/token)
|
|
109
|
+
// 5. Сервер возвращает новую пару токенов (access + refresh)
|
|
110
|
+
// 6. SDK повторяет оригинальный запрос с новым access token
|
|
111
|
+
// 7. Запрос успешен → пользователь не видел ошибку
|
|
112
|
+
//
|
|
113
|
+
// ЗАЧЕМ: Без этого клиент получает 401 → показывает ошибку → требует re-login
|
|
114
|
+
//
|
|
115
|
+
// ЗАЩИТЫ:
|
|
116
|
+
// - config._retry → infinite loop protection (один retry на запрос)
|
|
117
|
+
// - isRefreshing + requestQueue → concurrent refresh protection (один refresh для N запросов)
|
|
118
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
119
|
+
if (response?.status === 401 && config && !config._retry && this.options.getAuthToken) {
|
|
120
|
+
console.log('🔐 [SDK] 401 Unauthorized detected, attempting token refresh...');
|
|
121
|
+
// ЗАЧЕМ config._retry: Без этого при втором 401 получим infinite loop (401→refresh→401→refresh→...)
|
|
122
|
+
// Пример: Если refresh не помог (токен протух на сервере) - должны выбросить ошибку, а не зациклиться
|
|
123
|
+
config._retry = true;
|
|
124
|
+
// ⏳ Concurrent refresh protection: добавляем в queue если refresh уже выполняется
|
|
125
|
+
// ЗАЧЕМ: 10 параллельных запросов получили 401 одновременно → без queue будет 10 refresh вызовов
|
|
126
|
+
// С queue: только 1 refresh, остальные 9 ждут и используют новый токен
|
|
127
|
+
if (this.isRefreshing) {
|
|
128
|
+
console.log('⏳ [SDK] Refresh already in progress, adding request to queue');
|
|
129
|
+
return new Promise((resolve, reject) => {
|
|
130
|
+
this.requestQueue.push({ resolve, reject, config });
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
this.isRefreshing = true;
|
|
134
|
+
try {
|
|
135
|
+
// Вызываем getAuthToken для получения нового токена
|
|
136
|
+
// getAuthToken() внутри вызовет VS Code Auth API → тот вызовет provider.refreshToken()
|
|
137
|
+
// provider.refreshToken() → POST /api/v1/oauth/token → новая пара токенов
|
|
138
|
+
console.log('🔄 [SDK] Calling getAuthToken to refresh token...');
|
|
139
|
+
const newToken = await Promise.resolve(this.options.getAuthToken());
|
|
140
|
+
if (!newToken) {
|
|
141
|
+
throw new Error('Failed to get new auth token');
|
|
142
|
+
}
|
|
143
|
+
console.log(`✅ [SDK] Token refreshed successfully: ${newToken.substring(0, 10)}...`);
|
|
144
|
+
// Retry flow: обновляем header, обрабатываем queue, повторяем запрос
|
|
145
|
+
// ЗАЧЕМ processQueue ДО retry: Queued requests должны стартовать одновременно с текущим
|
|
146
|
+
// Иначе: текущий запрос выполнится → вернёт результат → только потом queue (медленно)
|
|
147
|
+
if (!config.headers) {
|
|
148
|
+
config.headers = {};
|
|
149
|
+
}
|
|
150
|
+
config.headers['Authorization'] = `Bearer ${newToken}`;
|
|
151
|
+
this.processQueue(newToken);
|
|
152
|
+
return this.axiosInstance(config);
|
|
153
|
+
}
|
|
154
|
+
catch (refreshError) {
|
|
155
|
+
console.error('❌ [SDK] Token refresh failed:', refreshError);
|
|
156
|
+
this.rejectQueue(refreshError);
|
|
157
|
+
throw new Error('Authentication failed. Please sign in again.');
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
// Cleanup: следующий 401 запустит новый refresh цикл
|
|
161
|
+
this.isRefreshing = false;
|
|
162
|
+
this.refreshPromise = null;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
62
165
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
63
166
|
if (!config || config._retryCount || config.skipRetry) {
|
|
64
167
|
throw mappedError;
|
|
@@ -92,16 +195,24 @@ export class HttpClient {
|
|
|
92
195
|
let authHeaders = {};
|
|
93
196
|
if (this.options.getAuthToken) {
|
|
94
197
|
try {
|
|
198
|
+
console.log(`🔑 [SDK] request() calling getAuthToken for ${options.method} ${options.url}...`);
|
|
95
199
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
96
200
|
if (token) {
|
|
97
201
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
202
|
+
console.log(`✅ [SDK] request() got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
console.warn(`⚠️ [SDK] request() getAuthToken returned null/undefined`);
|
|
98
206
|
}
|
|
99
207
|
}
|
|
100
208
|
catch (error) {
|
|
101
209
|
// Если не удалось получить токен, продолжаем без него
|
|
102
|
-
console.warn('⚠️ Failed to get auth token:', error);
|
|
210
|
+
console.warn('⚠️ [SDK] request() Failed to get auth token:', error);
|
|
103
211
|
}
|
|
104
212
|
}
|
|
213
|
+
else {
|
|
214
|
+
console.log(`🔍 [SDK] request() NO getAuthToken callback configured for ${options.method} ${options.url}`);
|
|
215
|
+
}
|
|
105
216
|
const axiosConfig = {
|
|
106
217
|
url: options.url,
|
|
107
218
|
method: options.method,
|
|
@@ -213,16 +324,27 @@ export class HttpClient {
|
|
|
213
324
|
* @returns {Promise<Response>} Объект Response с потоком данных
|
|
214
325
|
*/
|
|
215
326
|
async postStream(url, data, headers) {
|
|
327
|
+
return this.executeStreamRequest(url, data, headers, false);
|
|
328
|
+
}
|
|
329
|
+
/**
|
|
330
|
+
* 🔐 Внутренний метод для выполнения stream запроса с поддержкой 401 retry
|
|
331
|
+
* @param isRetry - true если это повторная попытка после 401
|
|
332
|
+
*/
|
|
333
|
+
async executeStreamRequest(url, data, headers, isRetry = false) {
|
|
216
334
|
// Формируем полный URL правильно
|
|
217
335
|
const fullUrl = url.startsWith('http') ? url : `${this.baseURL}${url}`;
|
|
218
336
|
// 🔑 Динамическое получение токена перед stream запросом
|
|
219
337
|
let authHeaders = {};
|
|
220
338
|
if (this.options.getAuthToken) {
|
|
221
339
|
try {
|
|
340
|
+
console.log(`🔑 [SDK postStream] Calling getAuthToken${isRetry ? ' (RETRY after 401)' : ''}...`);
|
|
222
341
|
const token = await Promise.resolve(this.options.getAuthToken());
|
|
223
342
|
if (token) {
|
|
224
343
|
authHeaders['Authorization'] = `Bearer ${token}`;
|
|
225
|
-
console.log(
|
|
344
|
+
console.log(`✅ [SDK postStream] Got token: ${token.substring(0, 10)}...${token.substring(token.length - 5)}`);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
console.warn('⚠️ [SDK postStream] getAuthToken returned null/undefined');
|
|
226
348
|
}
|
|
227
349
|
}
|
|
228
350
|
catch (error) {
|
|
@@ -235,36 +357,47 @@ export class HttpClient {
|
|
|
235
357
|
...authHeaders, // ← Динамический токен имеет приоритет
|
|
236
358
|
...(headers || {})
|
|
237
359
|
};
|
|
238
|
-
//
|
|
239
|
-
|
|
240
|
-
//
|
|
241
|
-
if (
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
360
|
+
// Универсальная функция для выполнения fetch
|
|
361
|
+
const doFetch = async () => {
|
|
362
|
+
// Для Node.js среды используем нативный fetch если доступен, иначе node-fetch
|
|
363
|
+
if (this.environment === 'node') {
|
|
364
|
+
// Проверяем доступность нативного fetch (Node.js 18+)
|
|
365
|
+
if (typeof globalThis.fetch !== 'undefined') {
|
|
366
|
+
return globalThis.fetch(fullUrl, {
|
|
367
|
+
method: 'POST',
|
|
368
|
+
headers: requestHeaders,
|
|
369
|
+
body: JSON.stringify(data)
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
try {
|
|
373
|
+
// Fallback на node-fetch для старых версий Node.js
|
|
374
|
+
const { default: nodeFetch } = await import('node-fetch');
|
|
375
|
+
return nodeFetch(fullUrl, {
|
|
376
|
+
method: 'POST',
|
|
377
|
+
headers: requestHeaders,
|
|
378
|
+
body: JSON.stringify(data)
|
|
379
|
+
});
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
console.error('Ошибка при загрузке node-fetch:', error);
|
|
383
|
+
throw new Error('Для использования потоковой передачи в Node.js необходимо установить node-fetch или использовать Node.js 18+');
|
|
384
|
+
}
|
|
260
385
|
}
|
|
386
|
+
// Для браузера используем нативный fetch
|
|
387
|
+
return fetch(fullUrl, {
|
|
388
|
+
method: 'POST',
|
|
389
|
+
headers: requestHeaders,
|
|
390
|
+
body: JSON.stringify(data)
|
|
391
|
+
});
|
|
392
|
+
};
|
|
393
|
+
const response = await doFetch();
|
|
394
|
+
// 🔐 401 INTERCEPTOR для stream запросов (fetch не проходит через axios interceptor)
|
|
395
|
+
if (response.status === 401 && !isRetry && this.options.getAuthToken) {
|
|
396
|
+
console.log('🔐 [SDK postStream] 401 Unauthorized detected, attempting token refresh...');
|
|
397
|
+
// Рекурсивный вызов с флагом retry
|
|
398
|
+
return this.executeStreamRequest(url, data, headers, true);
|
|
261
399
|
}
|
|
262
|
-
|
|
263
|
-
return fetch(fullUrl, {
|
|
264
|
-
method: 'POST',
|
|
265
|
-
headers: requestHeaders,
|
|
266
|
-
body: JSON.stringify(data)
|
|
267
|
-
});
|
|
400
|
+
return response;
|
|
268
401
|
}
|
|
269
402
|
/**
|
|
270
403
|
* Обрабатывает ошибки от 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":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAUvD;;;GAGG;AACH,SAAS,cAAc;IACrB,OAAO,CAAC,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC;QAC9E,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAiBD,MAAM,OAAO,UAAU;IAsBrB;;;;OAIG;IACH,YAAY,OAAe,EAAE,UAA6B,EAAE;QAd5D,kEAAkE;QAC1D,iBAAY,GAAoB,EAAE,CAAC;QAE3C,yDAAyD;QACjD,iBAAY,GAAY,KAAK,CAAC;QAEtC,qEAAqE;QAC7D,mBAAc,GAAkC,IAAI,CAAC;QAQ3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,QAAQ,EAAE,kBAAkB;gBAC5B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;YACD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,KAAK;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI;gBACtB,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,KAAK;gBACpB,gBAAgB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aACjD;YACD,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAC;QAEF,IAAI,CAAC,WAAW,GAAG,cAAc,EAAE,CAAC;QAEpC,+CAA+C;QAC/C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,GAAG,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3G,CAAC,CAAC;QAEH,iEAAiE;QACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,QAAgB;QACnC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,YAAY,CAAC,MAAM,iCAAiC,CAAC,CAAC;QAE9F,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBAClC,aAAa,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;YACpC,CAAC;YACD,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,QAAQ,EAAE,CAAC;YAErE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;iBACrC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACnD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAY;QAC9B,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,YAAY,CAAC,MAAM,yCAAyC,CAAC,CAAC;QAEtG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;YAC1C,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,0BAA0B;QAC1B,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAC1C,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAC3B,KAAK,EAAE,KAAK,EAAE,EAAE;YACd,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;YAEnC,oDAAoD;YACpD,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE;gBAClD,MAAM,EAAE,QAAQ,EAAE,MAAM;gBACxB,GAAG,EAAE,MAAM,EAAE,GAAG;gBAChB,MAAM,EAAE,MAAM,EAAE,MAAM;gBACtB,SAAS,EAAE,CAAC,CAAC,MAAM;gBACnB,WAAW,EAAE,CAAC,CAAC,QAAQ;gBACvB,MAAM,EAAE,MAAM,EAAE,MAAM;gBACtB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY;aAC7C,CAAC,CAAC;YAEH,+CAA+C;YAC/C,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEhD,8EAA8E;YAC9E,qDAAqD;YACrD,8EAA8E;YAC9E,EAAE;YACF,gDAAgD;YAChD,EAAE;YACF,yCAAyC;YACzC,yDAAyD;YACzD,qDAAqD;YACrD,8DAA8D;YAC9D,6DAA6D;YAC7D,4DAA4D;YAC5D,mDAAmD;YACnD,EAAE;YACF,8EAA8E;YAC9E,EAAE;YACF,UAAU;YACV,oEAAoE;YACpE,8FAA8F;YAC9F,8EAA8E;YAE9E,IAAI,QAAQ,EAAE,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;gBAE/E,oGAAoG;gBACpG,sGAAsG;gBACtG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBAErB,kFAAkF;gBAClF,iGAAiG;gBACjG,uEAAuE;gBACvE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;oBAE5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtD,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBAEzB,IAAI,CAAC;oBACH,oDAAoD;oBACpD,uFAAuF;oBACvF,0EAA0E;oBAC1E,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;oBACjE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;oBAEpE,IAAI,CAAC,QAAQ,EAAE,CAAC;wBACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;oBAClD,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;oBAErF,qEAAqE;oBACrE,wFAAwF;oBACxF,sFAAsF;oBACtF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;oBACtB,CAAC;oBACD,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,QAAQ,EAAE,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;oBAE5B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,YAAY,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,YAAY,CAAC,CAAC;oBAC7D,IAAI,CAAC,WAAW,CAAC,YAAqB,CAAC,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBAClE,CAAC;wBAAS,CAAC;oBACT,qDAAqD;oBACrD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;oBAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,+FAA+F;YAC/F,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtD,MAAM,WAAW,CAAC;YACpB,CAAC;YAED,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;YAE7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,KAAqB,CAAC;YAEvD,mEAAmE;YACnE,MAAM,WAAW,GAAG,QAAQ;gBAC1B,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACvD,MAAM,CAAC,WAAW,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;YAErD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;gBAExB,oDAAoD;gBACpD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,EACtE,WAAW,CAAC,aAAa,IAAI,KAAK,CACnC,CAAC;gBAEF,gCAAgC;gBAChC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAEzD,2BAA2B;gBAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,4EAA4E;YAC5E,MAAM,WAAW,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,OAAO,CAAU,OAAuB;QACnD,kDAAkD;QAClD,IAAI,WAAW,GAA2B,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,+CAA+C,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;gBAC/F,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjE,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,gCAAgC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/G,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sDAAsD;gBACtD,OAAO,CAAC,IAAI,CAAC,8CAA8C,EAAE,KAAK,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,8DAA8D,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7G,CAAC;QAED,MAAM,WAAW,GAAuB;YACtC,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;gBACvB,GAAG,WAAW,EAAG,uCAAuC;gBACxD,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;aAC3B;YACD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO;SACjD,CAAC;QAEF,uEAAuE;QACvE,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,mEAAmE;YACnE,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;gBAClC,MAAM,KAAK,CAAC;YACd,CAAC;YACD,gEAAgE;YAChE,MAAM,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CACd,GAAW,EACX,MAA4B,EAC5B,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,GAAG;YACH,MAAM,EAAE,KAAK;YACb,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,IAAI,CACf,GAAW,EACX,IAAU,EACV,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,GAAG;YACH,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,GAAG,CACd,GAAW,EACX,IAAU,EACV,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,GAAG;YACH,MAAM,EAAE,KAAK;YACb,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,MAA4B,EAC5B,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,GAAG;YACH,MAAM,EAAE,QAAQ;YAChB,MAAM;YACN,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAChB,GAAW,EACX,IAAU,EACV,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAI;YACrB,GAAG;YACH,MAAM,EAAE,OAAO;YACf,IAAI;YACJ,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,UAAU,CACrB,GAAW,EACX,IAAU,EACV,OAAgC;QAEhC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,oBAAoB,CAChC,GAAW,EACX,IAAU,EACV,OAAgC,EAChC,UAAmB,KAAK;QAExB,iCAAiC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;QAEvE,yDAAyD;QACzD,IAAI,WAAW,GAA2B,EAAE,CAAC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,2CAA2C,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjE,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,iCAAiC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAE,KAAK,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG;YACrB,cAAc,EAAE,kBAAkB;YAClC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YACvB,GAAG,WAAW,EAAG,uCAAuC;YACxD,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC;QAEF,6CAA6C;QAC7C,MAAM,OAAO,GAAG,KAAK,IAAuB,EAAE;YAC5C,8EAA8E;YAC9E,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;gBAChC,sDAAsD;gBACtD,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;oBAC5C,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;wBAC/B,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,CAAC;oBACH,mDAAmD;oBACnD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;oBAE1D,OAAO,SAAS,CAAC,OAAO,EAAE;wBACxB,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,cAAc;wBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC3B,CAAwB,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;oBACxD,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;gBAClI,CAAC;YACH,CAAC;YAED,yCAAyC;YACzC,OAAO,KAAK,CAAC,OAAO,EAAE;gBACpB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,cAAc;gBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;QAEjC,qFAAqF;QACrF,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,4EAA4E,CAAC,CAAC;YAE1F,mCAAmC;YACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,KAAU;QAC5B,IAAI,aAAkB,CAAC;QACvB,IAAI,OAAe,CAAC;QAEpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,mCAAmC;YACnC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;YAExC,yCAAyC;YACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5C,sDAAsD;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,GAAG,CAAC;gBAE/E,IAAI,UAAU,EAAE,CAAC;oBACf,0CAA0C;oBAC1C,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;wBACnC,OAAO,GAAG,UAAU,CAAC;oBACvB,CAAC;yBAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;wBAC1C,mCAAmC;wBACnC,IAAI,CAAC;4BACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;wBACvC,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,gDAAgD;wBAChD,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0DAA0D;oBAC1D,IAAI,CAAC;wBACH,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACjC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,OAAO,GAAG,8BAA8B,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,eAAe,MAAM,EAAE,CAAC;YACpC,CAAC;YAED,aAAa,GAAG,IAAI,KAAK,CAAC,SAAS,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;YACzD,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC;YAC9B,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;YAC1B,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACzB,yCAAyC;YACzC,OAAO,GAAG,2DAA2D,CAAC;YACtE,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;YACtC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,yCAAyC;YACzC,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,8BAA8B,CAAC;YAC9E,aAAa,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YACnC,aAAa,CAAC,cAAc,GAAG,IAAI,CAAC;QACtC,CAAC;QAED,4CAA4C;QAC5C,aAAa,CAAC,aAAa,GAAG,KAAK,CAAC;QAEpC,kDAAkD;QAClD,aAAa,CAAC,QAAQ,GAAG;YACvB,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC,CAAC;QAEF,yDAAyD;QACzD,IAAI,CAAC;YACH,8DAA8D;YAC9D,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAC3D,IAAI,OAAO,aAAa,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBACpD,aAAa,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,uDAAuD;QACzD,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACI,UAAU;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF"}
|
|
@@ -37,7 +37,7 @@ export declare class ProjectsApi {
|
|
|
37
37
|
*
|
|
38
38
|
* @example
|
|
39
39
|
* ```typescript
|
|
40
|
-
* const project = await sdk.projects.findOrCreateProject('MyProject');
|
|
40
|
+
* const project = await sdk.projects.findOrCreateProject('MyProject', '/path/to/project');
|
|
41
41
|
* if (!project) {
|
|
42
42
|
* // Auth error - токен истек
|
|
43
43
|
* return;
|
|
@@ -45,7 +45,7 @@ export declare class ProjectsApi {
|
|
|
45
45
|
* console.log(project.id);
|
|
46
46
|
* ```
|
|
47
47
|
*/
|
|
48
|
-
findOrCreateProject(projectName: string): Promise<Project | null>;
|
|
48
|
+
findOrCreateProject(projectName: string, projectPath?: string): Promise<Project | null>;
|
|
49
49
|
/**
|
|
50
50
|
* Получает проекты, готовые к использованию
|
|
51
51
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projects-api.d.ts","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,OAAO,EAGP,cAAc,EAGd,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAKL,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAMlC;;;;;;;;;;;;;;OAcG;IACU,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAKxD;;;;OAIG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIrD;;;;;;;;;;;;;;;OAeG;IACU,mBAAmB,CAC9B,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"projects-api.d.ts","sourceRoot":"","sources":["../../../src/api/projects-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,OAAO,EAGP,cAAc,EAGd,YAAY,EACZ,YAAY,EACZ,aAAa,EACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAKL,eAAe,EAChB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAMlC;;;;;;;;;;;;;;OAcG;IACU,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAKxD;;;;OAIG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAIrD;;;;;;;;;;;;;;;OAeG;IACU,mBAAmB,CAC9B,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAa1B;;;;OAIG;IACU,gBAAgB,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAS1D;;;;;OAKG;IACU,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAOnE;;;;;;;OAOG;IACU,aAAa,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAe1B;;OAEG;IACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAO5D;;;;;OAKG;IACU,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAKrE;;;;;OAKG;IACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAKtE;;;;;OAKG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAavE;;;;;OAKG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAmB3E;;;;;;;OAOG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAiC/F;;OAEG;IACU,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACzD,qBAAqB,EAAE,OAAO,CAAC;QAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,CAAC;IAyBF;;OAEG;IACU,UAAU,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC;QACT,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAmBF;;OAEG;IACU,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACtD,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAaF;;OAEG;IACU,mBAAmB,CAC9B,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;QACT,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAqBF;;OAEG;IACU,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAeF;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QACvD,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAcF;;OAEG;IACU,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,eAAe,EAAE,CAAC;QAC3B,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IAgBF;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
|
|
@@ -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;IAgC5D;;;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"}
|