solver-sdk 8.1.1 → 8.3.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 +100 -14
- package/dist/cjs/api/credits-api.js +24 -4
- package/dist/cjs/api/credits-api.js.map +1 -1
- package/dist/cjs/api/delta-chunking-api.js +15 -0
- package/dist/cjs/api/delta-chunking-api.js.map +1 -1
- package/dist/cjs/delta-chunking/delta-chunking-manager.js +55 -0
- package/dist/cjs/delta-chunking/delta-chunking-manager.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/api/delta-chunking-api.js +15 -0
- package/dist/esm/api/delta-chunking-api.js.map +1 -1
- package/dist/esm/delta-chunking/delta-chunking-manager.js +55 -0
- package/dist/esm/delta-chunking/delta-chunking-manager.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/api/delta-chunking-api.d.ts +5 -1
- package/dist/types/api/delta-chunking-api.d.ts.map +1 -1
- package/dist/types/delta-chunking/delta-chunking-manager.d.ts +28 -1
- package/dist/types/delta-chunking/delta-chunking-manager.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/delta-chunking.d.ts +22 -0
- package/dist/types/types/delta-chunking.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +2 -2
- 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
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Централизованные классы ошибок SDK
|
|
3
|
+
* Покрывают все типы ошибок backend с типизацией
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Базовый класс для всех SDK ошибок
|
|
7
|
+
*/
|
|
8
|
+
export class BaseSDKError extends Error {
|
|
9
|
+
constructor(statusCode, errorType, message, details) {
|
|
10
|
+
super(message);
|
|
11
|
+
this.name = this.constructor.name;
|
|
12
|
+
this.statusCode = statusCode;
|
|
13
|
+
this.errorType = errorType;
|
|
14
|
+
this.requestId = details?.requestId;
|
|
15
|
+
this.timestamp = details?.timestamp;
|
|
16
|
+
this.rawResponse = details;
|
|
17
|
+
// Поддержка stack trace в V8
|
|
18
|
+
if (Error.captureStackTrace) {
|
|
19
|
+
Error.captureStackTrace(this, this.constructor);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// ========================================
|
|
24
|
+
// CLIENT ERRORS (4xx)
|
|
25
|
+
// ========================================
|
|
26
|
+
/**
|
|
27
|
+
* Ошибка аутентификации (401)
|
|
28
|
+
* Выбрасывается при истекшем или невалидном access token
|
|
29
|
+
*/
|
|
30
|
+
export class AuthenticationError extends BaseSDKError {
|
|
31
|
+
constructor(message, details) {
|
|
32
|
+
super(401, 'unauthorized', message, details);
|
|
33
|
+
/** Можно ли повторить запрос после refresh токена */
|
|
34
|
+
this.shouldRetry = true;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Ошибка доступа (403)
|
|
39
|
+
* Выбрасывается когда доступ запрещен (не путать с LimitExceededError)
|
|
40
|
+
*/
|
|
41
|
+
export class ForbiddenError extends BaseSDKError {
|
|
42
|
+
constructor(message, details) {
|
|
43
|
+
super(403, 'forbidden', message, details);
|
|
44
|
+
this.reason = details?.reason;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Ошибка валидации (422)
|
|
49
|
+
* Выбрасывается при невалидных данных в запросе
|
|
50
|
+
*/
|
|
51
|
+
export class ValidationError extends BaseSDKError {
|
|
52
|
+
constructor(message, details) {
|
|
53
|
+
super(422, 'validation_error', message, details);
|
|
54
|
+
this.fields = details?.fields;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Ресурс не найден (404)
|
|
59
|
+
*/
|
|
60
|
+
export class NotFoundError extends BaseSDKError {
|
|
61
|
+
constructor(message, details) {
|
|
62
|
+
super(404, 'not_found', message, details);
|
|
63
|
+
this.resource = details?.resource;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Конфликт данных (409)
|
|
68
|
+
* Выбрасывается при попытке создать дубликат или конфликтующую запись
|
|
69
|
+
*/
|
|
70
|
+
export class ConflictError extends BaseSDKError {
|
|
71
|
+
constructor(message, details) {
|
|
72
|
+
super(409, 'conflict', message, details);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Некорректный запрос (400)
|
|
77
|
+
*/
|
|
78
|
+
export class BadRequestError extends BaseSDKError {
|
|
79
|
+
constructor(message, details) {
|
|
80
|
+
super(400, 'bad_request', message, details);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
// ========================================
|
|
84
|
+
// SERVER ERRORS (5xx)
|
|
85
|
+
// ========================================
|
|
86
|
+
/**
|
|
87
|
+
* Внутренняя ошибка сервера (500)
|
|
88
|
+
*/
|
|
89
|
+
export class InternalServerError extends BaseSDKError {
|
|
90
|
+
constructor(message, details) {
|
|
91
|
+
super(500, 'internal_server_error', message, details);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Сервис недоступен (503)
|
|
96
|
+
*/
|
|
97
|
+
export class ServiceUnavailableError extends BaseSDKError {
|
|
98
|
+
constructor(message, details) {
|
|
99
|
+
super(503, 'service_unavailable', message, details);
|
|
100
|
+
this.retryAfter = details?.retryAfter;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Таймаут gateway (504)
|
|
105
|
+
*/
|
|
106
|
+
export class GatewayTimeoutError extends BaseSDKError {
|
|
107
|
+
constructor(message, details) {
|
|
108
|
+
super(504, 'gateway_timeout', message, details);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
// ========================================
|
|
112
|
+
// СПЕЦИАЛЬНЫЕ ОШИБКИ
|
|
113
|
+
// ========================================
|
|
114
|
+
/**
|
|
115
|
+
* Ошибка базы данных
|
|
116
|
+
* Выбрасывается при SQL ошибках или проблемах с БД
|
|
117
|
+
*/
|
|
118
|
+
export class DatabaseError extends BaseSDKError {
|
|
119
|
+
constructor(message, details) {
|
|
120
|
+
super(400, 'database_error', message, details);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Таймаут запроса (408)
|
|
125
|
+
*/
|
|
126
|
+
export class TimeoutError extends BaseSDKError {
|
|
127
|
+
constructor(message, details) {
|
|
128
|
+
super(408, 'timeout_error', message, details);
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Ошибка сети
|
|
133
|
+
* Выбрасывается когда запрос не смог достичь сервера
|
|
134
|
+
*/
|
|
135
|
+
export class NetworkError extends BaseSDKError {
|
|
136
|
+
constructor(message, details) {
|
|
137
|
+
super(0, 'network_error', message, details);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
// ========================================
|
|
141
|
+
// СУЩЕСТВУЮЩИЕ КЛАССЫ (обратная совместимость)
|
|
142
|
+
// ========================================
|
|
143
|
+
/**
|
|
144
|
+
* Ошибка превышения лимита использования
|
|
145
|
+
* Выбрасывается при HTTP 403 с details.error === 'usage_limit_exceeded'
|
|
146
|
+
*/
|
|
147
|
+
export class LimitExceededError extends BaseSDKError {
|
|
148
|
+
constructor(errorData) {
|
|
149
|
+
const message = errorData.message || errorData.details?.message || 'Usage limit exceeded';
|
|
150
|
+
super(403, 'usage_limit_exceeded', message, errorData);
|
|
151
|
+
this.statusType = errorData.details?.statusType || 'unknown';
|
|
152
|
+
this.status = errorData.details?.status || 'blocked';
|
|
153
|
+
this.details = errorData.details || {};
|
|
154
|
+
this.action = errorData.details?.action;
|
|
155
|
+
this.balance = errorData.details?.balance;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Проверяет, заблокирован ли пользователь
|
|
159
|
+
*/
|
|
160
|
+
isBlocked() {
|
|
161
|
+
return !this.details.canMakeRequest;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Получает URL для действия пользователя
|
|
165
|
+
*/
|
|
166
|
+
getActionUrl() {
|
|
167
|
+
return this.action?.ctaUrl;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Ошибка превышения rate limit
|
|
172
|
+
* Выбрасывается при HTTP 429
|
|
173
|
+
*/
|
|
174
|
+
export class RateLimitError extends BaseSDKError {
|
|
175
|
+
constructor(errorData) {
|
|
176
|
+
const message = errorData.message || errorData.details?.message || 'Rate limit exceeded';
|
|
177
|
+
super(429, 'rate_limit_exceeded', message, errorData);
|
|
178
|
+
this.details = errorData.details || {};
|
|
179
|
+
this.retryAfter = this.details.retryAfter || 60;
|
|
180
|
+
// Парсим дату из ISO строки или используем текущее время + retryAfter
|
|
181
|
+
this.retryAt = this.details.retryAt
|
|
182
|
+
? new Date(this.details.retryAt)
|
|
183
|
+
: new Date(Date.now() + this.retryAfter * 1000);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Получает время ожидания в миллисекундах
|
|
187
|
+
*/
|
|
188
|
+
getRetryDelayMs() {
|
|
189
|
+
return Math.max(0, this.retryAt.getTime() - Date.now());
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Проверяет, прошло ли время ожидания
|
|
193
|
+
*/
|
|
194
|
+
canRetryNow() {
|
|
195
|
+
return Date.now() >= this.retryAt.getTime();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=sdk-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk-errors.js","sourceRoot":"","sources":["../../../src/errors/sdk-errors.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.js
CHANGED
|
@@ -17,8 +17,10 @@ export * from './api/updates-api.js';
|
|
|
17
17
|
export * from './api/user-api.js';
|
|
18
18
|
// Экспортируем типы лимитов
|
|
19
19
|
export * from './types/limit-status.js';
|
|
20
|
-
// Экспортируем классы ошибок
|
|
21
|
-
export * from './errors/
|
|
20
|
+
// Экспортируем все классы ошибок SDK
|
|
21
|
+
export * from './errors/sdk-errors.js';
|
|
22
|
+
// Явно экспортируем основные классы ошибок для удобства импорта
|
|
23
|
+
export { AuthenticationError, ForbiddenError, ValidationError, NotFoundError, ConflictError, BadRequestError, InternalServerError, ServiceUnavailableError, GatewayTimeoutError, DatabaseError, TimeoutError, NetworkError, LimitExceededError, RateLimitError, BaseSDKError, } from './errors/sdk-errors.js';
|
|
22
24
|
// Экспортируем Credits API и типы
|
|
23
25
|
export * from './types/credits.js';
|
|
24
26
|
export * from './api/credits-api.js';
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,0CAA0C;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,gCAAgC;AAChC,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;AAElC,4BAA4B;AAC5B,cAAc,yBAAyB,CAAC;AAExC,qCAAqC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,2DAA2D;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,4CAA4C;AAC5C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,CAAC;AAEtB,0CAA0C;AAC1C,cAAc,6BAA6B,CAAC;AAE5C,gCAAgC;AAChC,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;AAElC,4BAA4B;AAC5B,cAAc,yBAAyB,CAAC;AAExC,qCAAqC;AACrC,cAAc,wBAAwB,CAAC;AAEvC,gEAAgE;AAChE,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;AAEhC,kCAAkC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AAErC,kDAAkD;AAClD,cAAc,4BAA4B,CAAC;AAE3C,iEAAiE;AACjE,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,CAAE,+DAA+D;EACzF,MAAM,4BAA4B,CAAC;AAEpC,oEAAoE;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,+BAA+B;AAC/B,cAAc,2BAA2B,CAAC;AAE1C,wCAAwC;AACxC,cAAc,iCAAiC,CAAC;AAEhD,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,iDAAiD;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,uBAAuB;AACvB,eAAe,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgeH,gCAAgC;AAChC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Централизованный маппер ошибок
|
|
3
|
+
* Преобразует Axios errors в типизированные SDK исключения
|
|
4
|
+
*/
|
|
5
|
+
import { AuthenticationError, ForbiddenError, ValidationError, NotFoundError, ConflictError, BadRequestError, InternalServerError, ServiceUnavailableError, GatewayTimeoutError, DatabaseError, TimeoutError, NetworkError, LimitExceededError, RateLimitError, BaseSDKError, } from '../errors/sdk-errors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Класс для маппинга HTTP ошибок на типизированные исключения SDK
|
|
8
|
+
*/
|
|
9
|
+
export class ErrorMapper {
|
|
10
|
+
/**
|
|
11
|
+
* Маппит Axios error на типизированное SDK исключение
|
|
12
|
+
* @param axiosError Ошибка от Axios
|
|
13
|
+
* @returns Типизированное исключение SDK
|
|
14
|
+
*/
|
|
15
|
+
static mapError(axiosError) {
|
|
16
|
+
const response = axiosError.response;
|
|
17
|
+
// 1. Network errors (нет ответа от сервера)
|
|
18
|
+
if (!response) {
|
|
19
|
+
return new NetworkError(axiosError.message || 'Network error occurred', { originalError: axiosError });
|
|
20
|
+
}
|
|
21
|
+
const status = response.status;
|
|
22
|
+
const data = response.data || {};
|
|
23
|
+
// Извлекаем errorType из backend response
|
|
24
|
+
// Backend структура: { success: false, error: { type, message, code }, requestId, timestamp }
|
|
25
|
+
const errorType = data.error?.type || this.inferErrorType(status);
|
|
26
|
+
const message = data.error?.message || data.message || axiosError.message || 'Unknown error';
|
|
27
|
+
const details = {
|
|
28
|
+
...data,
|
|
29
|
+
originalError: axiosError,
|
|
30
|
+
};
|
|
31
|
+
// 2. Специальные случаи (приоритет - проверяем первыми)
|
|
32
|
+
// LimitExceededError: 403 + usage_limit_exceeded
|
|
33
|
+
if (status === 403 && (data.details?.error === 'usage_limit_exceeded' || data.error === 'credits_limit_exceeded')) {
|
|
34
|
+
return new LimitExceededError(data);
|
|
35
|
+
}
|
|
36
|
+
// RateLimitError: 429
|
|
37
|
+
if (status === 429) {
|
|
38
|
+
return new RateLimitError(data);
|
|
39
|
+
}
|
|
40
|
+
// 3. Маппинг по errorType из backend
|
|
41
|
+
switch (errorType) {
|
|
42
|
+
case 'unauthorized':
|
|
43
|
+
return new AuthenticationError(message, details);
|
|
44
|
+
case 'forbidden':
|
|
45
|
+
return new ForbiddenError(message, details);
|
|
46
|
+
case 'validation_error':
|
|
47
|
+
return new ValidationError(message, details);
|
|
48
|
+
case 'not_found':
|
|
49
|
+
return new NotFoundError(message, details);
|
|
50
|
+
case 'conflict':
|
|
51
|
+
return new ConflictError(message, details);
|
|
52
|
+
case 'bad_request':
|
|
53
|
+
return new BadRequestError(message, details);
|
|
54
|
+
case 'database_error':
|
|
55
|
+
return new DatabaseError(message, details);
|
|
56
|
+
case 'timeout_error':
|
|
57
|
+
case 'gateway_timeout':
|
|
58
|
+
return new TimeoutError(message, details);
|
|
59
|
+
case 'internal_server_error':
|
|
60
|
+
case 'server_error':
|
|
61
|
+
return new InternalServerError(message, details);
|
|
62
|
+
case 'service_unavailable':
|
|
63
|
+
return new ServiceUnavailableError(message, details);
|
|
64
|
+
case 'rate_limit_exceeded':
|
|
65
|
+
return new RateLimitError(data);
|
|
66
|
+
case 'usage_limit_exceeded':
|
|
67
|
+
case 'credits_limit_exceeded':
|
|
68
|
+
return new LimitExceededError(data);
|
|
69
|
+
default:
|
|
70
|
+
// 4. Fallback по HTTP статусу
|
|
71
|
+
return this.mapByStatusCode(status, message, details);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Определяет тип ошибки по HTTP статусу (fallback)
|
|
76
|
+
*/
|
|
77
|
+
static inferErrorType(status) {
|
|
78
|
+
if (status === 401)
|
|
79
|
+
return 'unauthorized';
|
|
80
|
+
if (status === 403)
|
|
81
|
+
return 'forbidden';
|
|
82
|
+
if (status === 404)
|
|
83
|
+
return 'not_found';
|
|
84
|
+
if (status === 422)
|
|
85
|
+
return 'validation_error';
|
|
86
|
+
if (status === 409)
|
|
87
|
+
return 'conflict';
|
|
88
|
+
if (status === 400)
|
|
89
|
+
return 'bad_request';
|
|
90
|
+
if (status === 429)
|
|
91
|
+
return 'rate_limit_exceeded';
|
|
92
|
+
if (status === 408)
|
|
93
|
+
return 'timeout_error';
|
|
94
|
+
if (status === 503)
|
|
95
|
+
return 'service_unavailable';
|
|
96
|
+
if (status === 504)
|
|
97
|
+
return 'gateway_timeout';
|
|
98
|
+
if (status >= 500)
|
|
99
|
+
return 'internal_server_error';
|
|
100
|
+
return 'unknown_error';
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Маппит ошибку по HTTP статусу (fallback когда errorType неизвестен)
|
|
104
|
+
*/
|
|
105
|
+
static mapByStatusCode(status, message, details) {
|
|
106
|
+
// 4xx Client Errors
|
|
107
|
+
if (status === 401) {
|
|
108
|
+
return new AuthenticationError(message, details);
|
|
109
|
+
}
|
|
110
|
+
if (status === 403) {
|
|
111
|
+
return new ForbiddenError(message, details);
|
|
112
|
+
}
|
|
113
|
+
if (status === 404) {
|
|
114
|
+
return new NotFoundError(message, details);
|
|
115
|
+
}
|
|
116
|
+
if (status === 422) {
|
|
117
|
+
return new ValidationError(message, details);
|
|
118
|
+
}
|
|
119
|
+
if (status === 409) {
|
|
120
|
+
return new ConflictError(message, details);
|
|
121
|
+
}
|
|
122
|
+
if (status === 400) {
|
|
123
|
+
return new BadRequestError(message, details);
|
|
124
|
+
}
|
|
125
|
+
if (status === 408) {
|
|
126
|
+
return new TimeoutError(message, details);
|
|
127
|
+
}
|
|
128
|
+
if (status === 429) {
|
|
129
|
+
return new RateLimitError(details);
|
|
130
|
+
}
|
|
131
|
+
// 5xx Server Errors
|
|
132
|
+
if (status === 503) {
|
|
133
|
+
return new ServiceUnavailableError(message, details);
|
|
134
|
+
}
|
|
135
|
+
if (status === 504) {
|
|
136
|
+
return new GatewayTimeoutError(message, details);
|
|
137
|
+
}
|
|
138
|
+
if (status >= 500) {
|
|
139
|
+
return new InternalServerError(message, details);
|
|
140
|
+
}
|
|
141
|
+
// Unknown error - возвращаем базовый класс
|
|
142
|
+
return new BaseSDKError(status, 'unknown_error', message, details);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=error-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-mapper.js","sourceRoot":"","sources":["../../../src/utils/error-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Интеграция с backend endpoints
|
|
4
4
|
*/
|
|
5
5
|
import { HttpClient } from '../utils/http-client.js';
|
|
6
|
-
import { SyncInitRequest, DeltaChunksBatchRequest, SyncStatus, EncryptedChunk, SyncResult, ActiveFile, FileCleanupResult } from '../types/delta-chunking.js';
|
|
6
|
+
import { SyncInitRequest, DeltaChunksBatchRequest, SyncStatus, EncryptedChunk, SyncResult, ActiveFile, FileCleanupResult, InvalidateFileOptions, FileInvalidationResult } from '../types/delta-chunking.js';
|
|
7
7
|
/**
|
|
8
8
|
* API клиент для delta-chunking операций
|
|
9
9
|
*/
|
|
@@ -53,5 +53,9 @@ export declare class DeltaChunkingApi {
|
|
|
53
53
|
* Очистка удаленных файлов из векторной базы
|
|
54
54
|
*/
|
|
55
55
|
cleanupFiles(projectId: string, activeFiles: ActiveFile[]): Promise<FileCleanupResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Инвалидировать chunks измененного файла
|
|
58
|
+
*/
|
|
59
|
+
invalidateFile(projectId: string, options: InvalidateFileOptions): Promise<FileInvalidationResult>;
|
|
56
60
|
}
|
|
57
61
|
//# sourceMappingURL=delta-chunking-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-chunking-api.d.ts","sourceRoot":"","sources":["../../../src/api/delta-chunking-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"delta-chunking-api.d.ts","sourceRoot":"","sources":["../../../src/api/delta-chunking-api.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EACL,eAAe,EACf,uBAAuB,EACvB,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,UAAU;IAIlC;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;QACnE,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IAcF;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,uBAAuB,GACpC,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IASpE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB3D;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkB1D;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWpF;;OAEG;IACG,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,GAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;KAClD,GACL,OAAO,CAAC,UAAU,CAAC;IAyEtB;;OAEG;IACG,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,GACxB,OAAO,CAAC,iBAAiB,CAAC;IAS7B;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;CAgBnC"}
|