solver-sdk 8.1.1 → 8.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -14
- package/dist/cjs/api/credits-api.js +24 -4
- package/dist/cjs/api/credits-api.js.map +1 -1
- package/dist/cjs/errors/sdk-errors.js +216 -0
- package/dist/cjs/errors/sdk-errors.js.map +1 -0
- package/dist/cjs/index.js +20 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/utils/error-mapper.js +149 -0
- package/dist/cjs/utils/error-mapper.js.map +1 -0
- package/dist/cjs/utils/http-client.js +9 -37
- package/dist/cjs/utils/http-client.js.map +1 -1
- package/dist/esm/api/credits-api.js +24 -4
- package/dist/esm/api/credits-api.js.map +1 -1
- package/dist/esm/errors/sdk-errors.js +198 -0
- package/dist/esm/errors/sdk-errors.js.map +1 -0
- package/dist/esm/index.js +4 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/error-mapper.js +145 -0
- package/dist/esm/utils/error-mapper.js.map +1 -0
- package/dist/esm/utils/http-client.js +9 -37
- package/dist/esm/utils/http-client.js.map +1 -1
- package/dist/types/api/credits-api.d.ts +24 -4
- package/dist/types/api/credits-api.d.ts.map +1 -1
- package/dist/types/errors/sdk-errors.d.ts +156 -0
- package/dist/types/errors/sdk-errors.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/interfaces/http-client.d.ts +0 -9
- package/dist/types/interfaces/http-client.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utils/error-mapper.d.ts +24 -0
- package/dist/types/utils/error-mapper.d.ts.map +1 -0
- package/dist/types/utils/http-client.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/cjs/errors/limit-errors.js +0 -80
- package/dist/cjs/errors/limit-errors.js.map +0 -1
- package/dist/esm/errors/limit-errors.js +0 -74
- package/dist/esm/errors/limit-errors.js.map +0 -1
- package/dist/types/errors/limit-errors.d.ts +0 -61
- package/dist/types/errors/limit-errors.d.ts.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import {
|
|
2
|
+
import { ErrorMapper } from './error-mapper.js';
|
|
3
3
|
/**
|
|
4
4
|
* Определение типа среды выполнения
|
|
5
5
|
* @returns 'browser' | 'node'
|
|
@@ -36,8 +36,7 @@ export class HttpClient {
|
|
|
36
36
|
maxRetryDelay: 10000,
|
|
37
37
|
retryStatusCodes: [408, 429, 500, 502, 503, 504]
|
|
38
38
|
},
|
|
39
|
-
httpsAgent: options.httpsAgent
|
|
40
|
-
suppressAuthErrors: options.suppressAuthErrors !== false // По умолчанию true
|
|
39
|
+
httpsAgent: options.httpsAgent
|
|
41
40
|
};
|
|
42
41
|
this.environment = getEnvironment();
|
|
43
42
|
// Создаем Axios инстанс с базовыми настройками
|
|
@@ -57,26 +56,11 @@ export class HttpClient {
|
|
|
57
56
|
// Интерцептор для ответов
|
|
58
57
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
59
58
|
const { config, response } = error;
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
throw new LimitExceededError(response.data);
|
|
63
|
-
}
|
|
64
|
-
// СПЕЦИАЛЬНАЯ ОБРАБОТКА: 429 rate limit
|
|
65
|
-
if (response?.status === 429 && response?.data?.details?.error === 'rate_limit_exceeded') {
|
|
66
|
-
throw new RateLimitError(response.data);
|
|
67
|
-
}
|
|
68
|
-
// GRACEFUL AUTH ERRORS: Если suppressAuthErrors включен
|
|
69
|
-
if (this.options.suppressAuthErrors && response) {
|
|
70
|
-
const status = response.status;
|
|
71
|
-
if (status === 401 || status === 403) {
|
|
72
|
-
const errorMessage = response.data?.message || error.message || 'Authentication error';
|
|
73
|
-
console.debug(`[SDK HttpClient] Auth error ${status}, handled gracefully:`, errorMessage);
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
59
|
+
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
60
|
+
const mappedError = ErrorMapper.mapError(error);
|
|
77
61
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
78
62
|
if (!config || config._retryCount || config.skipRetry) {
|
|
79
|
-
|
|
63
|
+
throw mappedError;
|
|
80
64
|
}
|
|
81
65
|
config._retryCount = config._retryCount || 0;
|
|
82
66
|
const retryConfig = this.options.retry;
|
|
@@ -93,8 +77,8 @@ export class HttpClient {
|
|
|
93
77
|
// Делаем повторную попытку
|
|
94
78
|
return this.axiosInstance(config);
|
|
95
79
|
}
|
|
96
|
-
// Если не нужно делать повторную попытку,
|
|
97
|
-
|
|
80
|
+
// Если не нужно делать повторную попытку, выбрасываем типизированную ошибку
|
|
81
|
+
throw mappedError;
|
|
98
82
|
});
|
|
99
83
|
}
|
|
100
84
|
/**
|
|
@@ -137,20 +121,8 @@ export class HttpClient {
|
|
|
137
121
|
return await this.axiosInstance.request(axiosConfig);
|
|
138
122
|
}
|
|
139
123
|
catch (error) {
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
const status = error.response.status;
|
|
143
|
-
// Для auth ошибок логируем тихо и НЕ бросаем наружу
|
|
144
|
-
if (status === 401 || status === 403) {
|
|
145
|
-
const errorMessage = error.response?.data?.message || error.message || 'Authentication error';
|
|
146
|
-
console.debug(`[SDK HttpClient] Auth error ${status}, handled gracefully:`, errorMessage);
|
|
147
|
-
// Возвращаем null вместо выброса ошибки
|
|
148
|
-
// Extension может проверить результат и обработать
|
|
149
|
-
return null;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
// Для остальных ошибок бросаем как обычно
|
|
153
|
-
throw this.handleError(error);
|
|
124
|
+
// ✅ Все ошибки маппятся через ErrorMapper
|
|
125
|
+
throw ErrorMapper.mapError(error);
|
|
154
126
|
}
|
|
155
127
|
}
|
|
156
128
|
/**
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,14 +11,19 @@ export declare class CreditsApi {
|
|
|
11
11
|
* Получить баланс credits (WorkCoins)
|
|
12
12
|
*
|
|
13
13
|
* @returns Текущий баланс credits пользователя
|
|
14
|
-
* @throws {
|
|
14
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
15
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
16
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
15
17
|
*/
|
|
16
18
|
getBalance(): Promise<CreditsBalance>;
|
|
17
19
|
/**
|
|
18
20
|
* Получить статус credits (с рекомендациями)
|
|
19
21
|
*
|
|
20
22
|
* @returns Статус credits и рекомендации
|
|
21
|
-
* @throws {
|
|
23
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
24
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
25
|
+
* @throws {LimitExceededError} При превышении лимита credits
|
|
26
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
22
27
|
*/
|
|
23
28
|
getStatus(): Promise<CreditsStatus>;
|
|
24
29
|
/**
|
|
@@ -28,32 +33,47 @@ export declare class CreditsApi {
|
|
|
28
33
|
* @param model - Модель (haiku/sonnet/auto)
|
|
29
34
|
* @param operationType - Тип операции
|
|
30
35
|
* @returns Оценка стоимости в credits (WorkCoins)
|
|
36
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
37
|
+
* @throws {ValidationError} При некорректных параметрах запроса (422)
|
|
38
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
31
39
|
*/
|
|
32
40
|
estimate(tokens: number, model?: ModelType, operationType?: OperationType): Promise<CreditsEstimate>;
|
|
33
41
|
/**
|
|
34
42
|
* Получить конфигурацию overage (pay-as-you-go)
|
|
35
43
|
*
|
|
36
44
|
* @returns Настройки overage пользователя
|
|
45
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
46
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
47
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
37
48
|
*/
|
|
38
49
|
getOverageConfig(): Promise<OverageConfig>;
|
|
39
50
|
/**
|
|
40
51
|
* Получить статистику overage за текущий месяц
|
|
41
52
|
*
|
|
42
53
|
* @returns Статистика использования overage
|
|
54
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
55
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
56
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
43
57
|
*/
|
|
44
58
|
getOverageStats(): Promise<OverageStats>;
|
|
45
59
|
/**
|
|
46
60
|
* Включить/выключить overage
|
|
47
61
|
*
|
|
48
62
|
* @param enabled - true для включения, false для выключения
|
|
49
|
-
* @throws {
|
|
63
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
64
|
+
* @throws {ForbiddenError} Если пользователь на Free плане (403)
|
|
65
|
+
* @throws {ValidationError} При некорректных параметрах (422)
|
|
66
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
50
67
|
*/
|
|
51
68
|
toggleOverage(enabled: boolean): Promise<void>;
|
|
52
69
|
/**
|
|
53
70
|
* Обновить лимит overage
|
|
54
71
|
*
|
|
55
72
|
* @param limitCredits - Новый лимит overage в credits
|
|
56
|
-
* @throws {
|
|
73
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
74
|
+
* @throws {BadRequestError} Если лимит некорректный (400)
|
|
75
|
+
* @throws {ValidationError} При ошибке валидации (422)
|
|
76
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
57
77
|
*/
|
|
58
78
|
updateOverageLimit(limitCredits: number): Promise<void>;
|
|
59
79
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credits-api.d.ts","sourceRoot":"","sources":["../../../src/api/credits-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C
|
|
1
|
+
{"version":3,"file":"credits-api.d.ts","sourceRoot":"","sources":["../../../src/api/credits-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,aAAa,EACd,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,UAAU;IAE1C;;;;;;;OAOG;IACG,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC;IAI3C;;;;;;;;OAQG;IACG,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IAIzC;;;;;;;;;;OAUG;IACG,QAAQ,CACZ,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,SAAmB,EAC1B,aAAa,GAAE,aAA+B,GAC7C,OAAO,CAAC,eAAe,CAAC;IAQ3B;;;;;;;OAOG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAIhD;;;;;;;OAOG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAI9C;;;;;;;;OAQG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;;;;;;OAQG;IACG,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG9D"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Централизованные классы ошибок SDK
|
|
3
|
+
* Покрывают все типы ошибок backend с типизацией
|
|
4
|
+
*/
|
|
5
|
+
import type { LimitStatus, LimitAction, LimitBalance } from '../types/limit-status.js';
|
|
6
|
+
/**
|
|
7
|
+
* Базовый класс для всех SDK ошибок
|
|
8
|
+
*/
|
|
9
|
+
export declare class BaseSDKError extends Error {
|
|
10
|
+
/** HTTP статус код */
|
|
11
|
+
readonly statusCode: number;
|
|
12
|
+
/** Тип ошибки для категоризации */
|
|
13
|
+
readonly errorType: string;
|
|
14
|
+
/** ID запроса для корреляции с логами backend */
|
|
15
|
+
readonly requestId?: string;
|
|
16
|
+
/** Временная метка ошибки */
|
|
17
|
+
readonly timestamp?: string;
|
|
18
|
+
/** Исходный ответ от сервера */
|
|
19
|
+
readonly rawResponse?: any;
|
|
20
|
+
constructor(statusCode: number, errorType: string, message: string, details?: any);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Ошибка аутентификации (401)
|
|
24
|
+
* Выбрасывается при истекшем или невалидном access token
|
|
25
|
+
*/
|
|
26
|
+
export declare class AuthenticationError extends BaseSDKError {
|
|
27
|
+
/** Можно ли повторить запрос после refresh токена */
|
|
28
|
+
readonly shouldRetry: boolean;
|
|
29
|
+
constructor(message: string, details?: any);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Ошибка доступа (403)
|
|
33
|
+
* Выбрасывается когда доступ запрещен (не путать с LimitExceededError)
|
|
34
|
+
*/
|
|
35
|
+
export declare class ForbiddenError extends BaseSDKError {
|
|
36
|
+
/** Причина отказа в доступе */
|
|
37
|
+
readonly reason?: string;
|
|
38
|
+
constructor(message: string, details?: any);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Ошибка валидации (422)
|
|
42
|
+
* Выбрасывается при невалидных данных в запросе
|
|
43
|
+
*/
|
|
44
|
+
export declare class ValidationError extends BaseSDKError {
|
|
45
|
+
/** Поля с ошибками валидации */
|
|
46
|
+
readonly fields?: Record<string, string>;
|
|
47
|
+
constructor(message: string, details?: any);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Ресурс не найден (404)
|
|
51
|
+
*/
|
|
52
|
+
export declare class NotFoundError extends BaseSDKError {
|
|
53
|
+
/** Тип ресурса который не найден */
|
|
54
|
+
readonly resource?: string;
|
|
55
|
+
constructor(message: string, details?: any);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Конфликт данных (409)
|
|
59
|
+
* Выбрасывается при попытке создать дубликат или конфликтующую запись
|
|
60
|
+
*/
|
|
61
|
+
export declare class ConflictError extends BaseSDKError {
|
|
62
|
+
constructor(message: string, details?: any);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Некорректный запрос (400)
|
|
66
|
+
*/
|
|
67
|
+
export declare class BadRequestError extends BaseSDKError {
|
|
68
|
+
constructor(message: string, details?: any);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Внутренняя ошибка сервера (500)
|
|
72
|
+
*/
|
|
73
|
+
export declare class InternalServerError extends BaseSDKError {
|
|
74
|
+
constructor(message: string, details?: any);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Сервис недоступен (503)
|
|
78
|
+
*/
|
|
79
|
+
export declare class ServiceUnavailableError extends BaseSDKError {
|
|
80
|
+
/** Время ожидания перед повторным запросом (секунды) */
|
|
81
|
+
readonly retryAfter?: number;
|
|
82
|
+
constructor(message: string, details?: any);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Таймаут gateway (504)
|
|
86
|
+
*/
|
|
87
|
+
export declare class GatewayTimeoutError extends BaseSDKError {
|
|
88
|
+
constructor(message: string, details?: any);
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Ошибка базы данных
|
|
92
|
+
* Выбрасывается при SQL ошибках или проблемах с БД
|
|
93
|
+
*/
|
|
94
|
+
export declare class DatabaseError extends BaseSDKError {
|
|
95
|
+
constructor(message: string, details?: any);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Таймаут запроса (408)
|
|
99
|
+
*/
|
|
100
|
+
export declare class TimeoutError extends BaseSDKError {
|
|
101
|
+
constructor(message: string, details?: any);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Ошибка сети
|
|
105
|
+
* Выбрасывается когда запрос не смог достичь сервера
|
|
106
|
+
*/
|
|
107
|
+
export declare class NetworkError extends BaseSDKError {
|
|
108
|
+
constructor(message: string, details?: any);
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Ошибка превышения лимита использования
|
|
112
|
+
* Выбрасывается при HTTP 403 с details.error === 'usage_limit_exceeded'
|
|
113
|
+
*/
|
|
114
|
+
export declare class LimitExceededError extends BaseSDKError {
|
|
115
|
+
/** Тип статуса лимита */
|
|
116
|
+
readonly statusType: string;
|
|
117
|
+
/** Уровень статуса */
|
|
118
|
+
readonly status: string;
|
|
119
|
+
/** Детали лимитов */
|
|
120
|
+
readonly details: Partial<LimitStatus>;
|
|
121
|
+
/** Рекомендуемое действие */
|
|
122
|
+
readonly action?: LimitAction;
|
|
123
|
+
/** Информация о балансе */
|
|
124
|
+
readonly balance?: LimitBalance;
|
|
125
|
+
constructor(errorData: any);
|
|
126
|
+
/**
|
|
127
|
+
* Проверяет, заблокирован ли пользователь
|
|
128
|
+
*/
|
|
129
|
+
isBlocked(): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Получает URL для действия пользователя
|
|
132
|
+
*/
|
|
133
|
+
getActionUrl(): string | undefined;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Ошибка превышения rate limit
|
|
137
|
+
* Выбрасывается при HTTP 429
|
|
138
|
+
*/
|
|
139
|
+
export declare class RateLimitError extends BaseSDKError {
|
|
140
|
+
/** Время ожидания в секундах */
|
|
141
|
+
readonly retryAfter: number;
|
|
142
|
+
/** Время когда можно повторить запрос */
|
|
143
|
+
readonly retryAt: Date;
|
|
144
|
+
/** Детали rate limit */
|
|
145
|
+
readonly details: any;
|
|
146
|
+
constructor(errorData: any);
|
|
147
|
+
/**
|
|
148
|
+
* Получает время ожидания в миллисекундах
|
|
149
|
+
*/
|
|
150
|
+
getRetryDelayMs(): number;
|
|
151
|
+
/**
|
|
152
|
+
* Проверяет, прошло ли время ожидания
|
|
153
|
+
*/
|
|
154
|
+
canRetryNow(): boolean;
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=sdk-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-errors.d.ts","sourceRoot":"","sources":["../../../src/errors/sdk-errors.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -14,7 +14,8 @@ export * from './api/models-api.js';
|
|
|
14
14
|
export * from './api/updates-api.js';
|
|
15
15
|
export * from './api/user-api.js';
|
|
16
16
|
export * from './types/limit-status.js';
|
|
17
|
-
export * from './errors/
|
|
17
|
+
export * from './errors/sdk-errors.js';
|
|
18
|
+
export { AuthenticationError, ForbiddenError, ValidationError, NotFoundError, ConflictError, BadRequestError, InternalServerError, ServiceUnavailableError, GatewayTimeoutError, DatabaseError, TimeoutError, NetworkError, LimitExceededError, RateLimitError, BaseSDKError, } from './errors/sdk-errors.js';
|
|
18
19
|
export * from './types/credits.js';
|
|
19
20
|
export * from './api/credits-api.js';
|
|
20
21
|
export * from './utils/message-helpers.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,cAAc,6BAA6B,CAAC;AAG5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAGvC,OAAO,EAAE,aAAa,EAAE,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,cAAc,6BAA6B,CAAC;AAG5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,4BAA4B,CAAC;AAG3C,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAG9E,cAAc,2BAA2B,CAAC;AAG1C,cAAc,iCAAiC,CAAC;AAGhD,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,eAAe,aAAa,CAAC"}
|
|
@@ -50,15 +50,6 @@ export interface HttpClientOptions {
|
|
|
50
50
|
* Полезно для автоматического обновления истекших access tokens
|
|
51
51
|
*/
|
|
52
52
|
getAuthToken?: () => Promise<string | null> | string | null;
|
|
53
|
-
/**
|
|
54
|
-
* 🔇 НОВОЕ в v7.0.1: Тихая обработка auth ошибок (401, 403)
|
|
55
|
-
* Вместо выброса ошибки наружу (unhandled rejection), возвращает null
|
|
56
|
-
* Позволяет избежать ERR логов в VS Code Extension Host
|
|
57
|
-
* Extension может сам проверить результат и обработать
|
|
58
|
-
*
|
|
59
|
-
* @default true (тихий режим включен)
|
|
60
|
-
*/
|
|
61
|
-
suppressAuthErrors?: boolean;
|
|
62
53
|
}
|
|
63
54
|
/**
|
|
64
55
|
* Опции запроса
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;OAGG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/interfaces/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -301,7 +301,7 @@ export interface ApiResponse<T = any> {
|
|
|
301
301
|
*/
|
|
302
302
|
export interface ApiError {
|
|
303
303
|
/** Тип ошибки для категоризации */
|
|
304
|
-
type: '
|
|
304
|
+
type: 'unauthorized' | 'forbidden' | 'validation_error' | 'not_found' | 'conflict' | 'bad_request' | 'internal_server_error' | 'server_error' | 'service_unavailable' | 'gateway_timeout' | 'rate_limit_exceeded' | 'usage_limit_exceeded' | 'credits_limit_exceeded' | 'database_error' | 'timeout_error' | 'network_error' | 'external_service' | 'validation' | 'not_found' | 'internal_server' | 'rate_limit';
|
|
305
305
|
/** HTTP статус код */
|
|
306
306
|
code: number;
|
|
307
307
|
/** Человекочитаемое сообщение */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Централизованный маппер ошибок
|
|
3
|
+
* Преобразует Axios errors в типизированные SDK исключения
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Класс для маппинга HTTP ошибок на типизированные исключения SDK
|
|
7
|
+
*/
|
|
8
|
+
export declare class ErrorMapper {
|
|
9
|
+
/**
|
|
10
|
+
* Маппит Axios error на типизированное SDK исключение
|
|
11
|
+
* @param axiosError Ошибка от Axios
|
|
12
|
+
* @returns Типизированное исключение SDK
|
|
13
|
+
*/
|
|
14
|
+
static mapError(axiosError: any): Error;
|
|
15
|
+
/**
|
|
16
|
+
* Определяет тип ошибки по HTTP статусу (fallback)
|
|
17
|
+
*/
|
|
18
|
+
private static inferErrorType;
|
|
19
|
+
/**
|
|
20
|
+
* Маппит ошибку по HTTP статусу (fallback когда errorType неизвестен)
|
|
21
|
+
*/
|
|
22
|
+
private static mapByStatusCode;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=error-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-mapper.d.ts","sourceRoot":"","sources":["../../../src/utils/error-mapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH;;GAEG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,GAAG,KAAK;IAkFvC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;CAyC/B"}
|
|
@@ -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;AAI5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;CACF;AAYD;;;;;GAKG;AACH,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;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;
|
|
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;AAI5G,OAAO,QAAQ,OAAO,CAAC;IACrB,UAAiB,kBAAkB;QACjC,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB;CACF;AAYD;;;;;GAKG;AACH,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;;;;OAIG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAgC5D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA8CzB;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAyClE;;;;;;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;IA8CpB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAiFnB;;OAEG;IACH,IAAW,WAAW,IAAI,GAAG,CAE5B;IAED;;;OAGG;IACI,UAAU,IAAI,MAAM;CAG5B"}
|
package/package.json
CHANGED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Классы ошибок для обработки лимитов
|
|
4
|
-
*/
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.RateLimitError = exports.LimitExceededError = exports.BaseLimitError = void 0;
|
|
7
|
-
/**
|
|
8
|
-
* Базовый класс для ошибок лимитов
|
|
9
|
-
*/
|
|
10
|
-
class BaseLimitError extends Error {
|
|
11
|
-
constructor(message, statusCode, rawError) {
|
|
12
|
-
super(message);
|
|
13
|
-
this.name = this.constructor.name;
|
|
14
|
-
this.statusCode = statusCode;
|
|
15
|
-
this.rawError = rawError;
|
|
16
|
-
// Поддержка stack trace в V8
|
|
17
|
-
if (Error.captureStackTrace) {
|
|
18
|
-
Error.captureStackTrace(this, this.constructor);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.BaseLimitError = BaseLimitError;
|
|
23
|
-
/**
|
|
24
|
-
* Ошибка превышения лимита использования
|
|
25
|
-
* Выбрасывается при HTTP 403 с details.error === 'usage_limit_exceeded'
|
|
26
|
-
*/
|
|
27
|
-
class LimitExceededError extends BaseLimitError {
|
|
28
|
-
constructor(errorData) {
|
|
29
|
-
const message = errorData.message || errorData.details?.message || 'Usage limit exceeded';
|
|
30
|
-
super(message, 403, errorData);
|
|
31
|
-
this.statusType = errorData.details?.statusType || 'unknown';
|
|
32
|
-
this.status = errorData.details?.status || 'blocked';
|
|
33
|
-
this.details = errorData.details || {};
|
|
34
|
-
this.action = errorData.details?.action;
|
|
35
|
-
this.balance = errorData.details?.balance;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Проверяет, заблокирован ли пользователь
|
|
39
|
-
*/
|
|
40
|
-
isBlocked() {
|
|
41
|
-
return !this.details.canMakeRequest;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Получает URL для действия пользователя
|
|
45
|
-
*/
|
|
46
|
-
getActionUrl() {
|
|
47
|
-
return this.action?.ctaUrl;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.LimitExceededError = LimitExceededError;
|
|
51
|
-
/**
|
|
52
|
-
* Ошибка превышения rate limit
|
|
53
|
-
* Выбрасывается при HTTP 429
|
|
54
|
-
*/
|
|
55
|
-
class RateLimitError extends BaseLimitError {
|
|
56
|
-
constructor(errorData) {
|
|
57
|
-
const message = errorData.message || errorData.details?.message || 'Rate limit exceeded';
|
|
58
|
-
super(message, 429, errorData);
|
|
59
|
-
this.details = errorData.details || {};
|
|
60
|
-
this.retryAfter = this.details.retryAfter || 60;
|
|
61
|
-
// Парсим дату из ISO строки или используем текущее время + retryAfter
|
|
62
|
-
this.retryAt = this.details.retryAt
|
|
63
|
-
? new Date(this.details.retryAt)
|
|
64
|
-
: new Date(Date.now() + this.retryAfter * 1000);
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Получает время ожидания в миллисекундах
|
|
68
|
-
*/
|
|
69
|
-
getRetryDelayMs() {
|
|
70
|
-
return Math.max(0, this.retryAt.getTime() - Date.now());
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Проверяет, прошло ли время ожидания
|
|
74
|
-
*/
|
|
75
|
-
canRetryNow() {
|
|
76
|
-
return Date.now() >= this.retryAt.getTime();
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.RateLimitError = RateLimitError;
|
|
80
|
-
//# sourceMappingURL=limit-errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"limit-errors.js","sourceRoot":"","sources":["../../../src/errors/limit-errors.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH;;GAEG;AACH,MAAa,cAAe,SAAQ,KAAK;IAOvC,YAAY,OAAe,EAAE,UAAkB,EAAE,QAAc;QAC7D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,6BAA6B;QAC7B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;CACF;AAlBD,wCAkBC;AAED;;;GAGG;AACH,MAAa,kBAAmB,SAAQ,cAAc;IAgBpD,YAAY,SAAc;QACxB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,IAAI,sBAAsB,CAAC;QAC1F,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,UAAU,IAAI,SAAS,CAAC;QAC7D,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,SAAS;QACd,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,YAAY;QACjB,OAAO,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAC7B,CAAC;CACF;AAxCD,gDAwCC;AAED;;;GAGG;AACH,MAAa,cAAe,SAAQ,cAAc;IAUhD,YAAY,SAAc;QACxB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,IAAI,qBAAqB,CAAC;QACzF,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAE/B,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAEhD,sEAAsE;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YACjC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;CACF;AApCD,wCAoCC"}
|