solver-sdk 8.1.0 → 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 +31 -11
- 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 +31 -11
- 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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Централизованный маппер ошибок
|
|
4
|
+
* Преобразует Axios errors в типизированные SDK исключения
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ErrorMapper = void 0;
|
|
8
|
+
const sdk_errors_js_1 = require("../errors/sdk-errors.js");
|
|
9
|
+
/**
|
|
10
|
+
* Класс для маппинга HTTP ошибок на типизированные исключения SDK
|
|
11
|
+
*/
|
|
12
|
+
class ErrorMapper {
|
|
13
|
+
/**
|
|
14
|
+
* Маппит Axios error на типизированное SDK исключение
|
|
15
|
+
* @param axiosError Ошибка от Axios
|
|
16
|
+
* @returns Типизированное исключение SDK
|
|
17
|
+
*/
|
|
18
|
+
static mapError(axiosError) {
|
|
19
|
+
const response = axiosError.response;
|
|
20
|
+
// 1. Network errors (нет ответа от сервера)
|
|
21
|
+
if (!response) {
|
|
22
|
+
return new sdk_errors_js_1.NetworkError(axiosError.message || 'Network error occurred', { originalError: axiosError });
|
|
23
|
+
}
|
|
24
|
+
const status = response.status;
|
|
25
|
+
const data = response.data || {};
|
|
26
|
+
// Извлекаем errorType из backend response
|
|
27
|
+
// Backend структура: { success: false, error: { type, message, code }, requestId, timestamp }
|
|
28
|
+
const errorType = data.error?.type || this.inferErrorType(status);
|
|
29
|
+
const message = data.error?.message || data.message || axiosError.message || 'Unknown error';
|
|
30
|
+
const details = {
|
|
31
|
+
...data,
|
|
32
|
+
originalError: axiosError,
|
|
33
|
+
};
|
|
34
|
+
// 2. Специальные случаи (приоритет - проверяем первыми)
|
|
35
|
+
// LimitExceededError: 403 + usage_limit_exceeded
|
|
36
|
+
if (status === 403 && (data.details?.error === 'usage_limit_exceeded' || data.error === 'credits_limit_exceeded')) {
|
|
37
|
+
return new sdk_errors_js_1.LimitExceededError(data);
|
|
38
|
+
}
|
|
39
|
+
// RateLimitError: 429
|
|
40
|
+
if (status === 429) {
|
|
41
|
+
return new sdk_errors_js_1.RateLimitError(data);
|
|
42
|
+
}
|
|
43
|
+
// 3. Маппинг по errorType из backend
|
|
44
|
+
switch (errorType) {
|
|
45
|
+
case 'unauthorized':
|
|
46
|
+
return new sdk_errors_js_1.AuthenticationError(message, details);
|
|
47
|
+
case 'forbidden':
|
|
48
|
+
return new sdk_errors_js_1.ForbiddenError(message, details);
|
|
49
|
+
case 'validation_error':
|
|
50
|
+
return new sdk_errors_js_1.ValidationError(message, details);
|
|
51
|
+
case 'not_found':
|
|
52
|
+
return new sdk_errors_js_1.NotFoundError(message, details);
|
|
53
|
+
case 'conflict':
|
|
54
|
+
return new sdk_errors_js_1.ConflictError(message, details);
|
|
55
|
+
case 'bad_request':
|
|
56
|
+
return new sdk_errors_js_1.BadRequestError(message, details);
|
|
57
|
+
case 'database_error':
|
|
58
|
+
return new sdk_errors_js_1.DatabaseError(message, details);
|
|
59
|
+
case 'timeout_error':
|
|
60
|
+
case 'gateway_timeout':
|
|
61
|
+
return new sdk_errors_js_1.TimeoutError(message, details);
|
|
62
|
+
case 'internal_server_error':
|
|
63
|
+
case 'server_error':
|
|
64
|
+
return new sdk_errors_js_1.InternalServerError(message, details);
|
|
65
|
+
case 'service_unavailable':
|
|
66
|
+
return new sdk_errors_js_1.ServiceUnavailableError(message, details);
|
|
67
|
+
case 'rate_limit_exceeded':
|
|
68
|
+
return new sdk_errors_js_1.RateLimitError(data);
|
|
69
|
+
case 'usage_limit_exceeded':
|
|
70
|
+
case 'credits_limit_exceeded':
|
|
71
|
+
return new sdk_errors_js_1.LimitExceededError(data);
|
|
72
|
+
default:
|
|
73
|
+
// 4. Fallback по HTTP статусу
|
|
74
|
+
return this.mapByStatusCode(status, message, details);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Определяет тип ошибки по HTTP статусу (fallback)
|
|
79
|
+
*/
|
|
80
|
+
static inferErrorType(status) {
|
|
81
|
+
if (status === 401)
|
|
82
|
+
return 'unauthorized';
|
|
83
|
+
if (status === 403)
|
|
84
|
+
return 'forbidden';
|
|
85
|
+
if (status === 404)
|
|
86
|
+
return 'not_found';
|
|
87
|
+
if (status === 422)
|
|
88
|
+
return 'validation_error';
|
|
89
|
+
if (status === 409)
|
|
90
|
+
return 'conflict';
|
|
91
|
+
if (status === 400)
|
|
92
|
+
return 'bad_request';
|
|
93
|
+
if (status === 429)
|
|
94
|
+
return 'rate_limit_exceeded';
|
|
95
|
+
if (status === 408)
|
|
96
|
+
return 'timeout_error';
|
|
97
|
+
if (status === 503)
|
|
98
|
+
return 'service_unavailable';
|
|
99
|
+
if (status === 504)
|
|
100
|
+
return 'gateway_timeout';
|
|
101
|
+
if (status >= 500)
|
|
102
|
+
return 'internal_server_error';
|
|
103
|
+
return 'unknown_error';
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Маппит ошибку по HTTP статусу (fallback когда errorType неизвестен)
|
|
107
|
+
*/
|
|
108
|
+
static mapByStatusCode(status, message, details) {
|
|
109
|
+
// 4xx Client Errors
|
|
110
|
+
if (status === 401) {
|
|
111
|
+
return new sdk_errors_js_1.AuthenticationError(message, details);
|
|
112
|
+
}
|
|
113
|
+
if (status === 403) {
|
|
114
|
+
return new sdk_errors_js_1.ForbiddenError(message, details);
|
|
115
|
+
}
|
|
116
|
+
if (status === 404) {
|
|
117
|
+
return new sdk_errors_js_1.NotFoundError(message, details);
|
|
118
|
+
}
|
|
119
|
+
if (status === 422) {
|
|
120
|
+
return new sdk_errors_js_1.ValidationError(message, details);
|
|
121
|
+
}
|
|
122
|
+
if (status === 409) {
|
|
123
|
+
return new sdk_errors_js_1.ConflictError(message, details);
|
|
124
|
+
}
|
|
125
|
+
if (status === 400) {
|
|
126
|
+
return new sdk_errors_js_1.BadRequestError(message, details);
|
|
127
|
+
}
|
|
128
|
+
if (status === 408) {
|
|
129
|
+
return new sdk_errors_js_1.TimeoutError(message, details);
|
|
130
|
+
}
|
|
131
|
+
if (status === 429) {
|
|
132
|
+
return new sdk_errors_js_1.RateLimitError(details);
|
|
133
|
+
}
|
|
134
|
+
// 5xx Server Errors
|
|
135
|
+
if (status === 503) {
|
|
136
|
+
return new sdk_errors_js_1.ServiceUnavailableError(message, details);
|
|
137
|
+
}
|
|
138
|
+
if (status === 504) {
|
|
139
|
+
return new sdk_errors_js_1.GatewayTimeoutError(message, details);
|
|
140
|
+
}
|
|
141
|
+
if (status >= 500) {
|
|
142
|
+
return new sdk_errors_js_1.InternalServerError(message, details);
|
|
143
|
+
}
|
|
144
|
+
// Unknown error - возвращаем базовый класс
|
|
145
|
+
return new sdk_errors_js_1.BaseSDKError(status, 'unknown_error', message, details);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
exports.ErrorMapper = ErrorMapper;
|
|
149
|
+
//# 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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"}
|
|
@@ -38,7 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.HttpClient = void 0;
|
|
40
40
|
const axios_1 = __importDefault(require("axios"));
|
|
41
|
-
const
|
|
41
|
+
const error_mapper_js_1 = require("./error-mapper.js");
|
|
42
42
|
/**
|
|
43
43
|
* Определение типа среды выполнения
|
|
44
44
|
* @returns 'browser' | 'node'
|
|
@@ -75,8 +75,7 @@ class HttpClient {
|
|
|
75
75
|
maxRetryDelay: 10000,
|
|
76
76
|
retryStatusCodes: [408, 429, 500, 502, 503, 504]
|
|
77
77
|
},
|
|
78
|
-
httpsAgent: options.httpsAgent
|
|
79
|
-
suppressAuthErrors: options.suppressAuthErrors !== false // По умолчанию true
|
|
78
|
+
httpsAgent: options.httpsAgent
|
|
80
79
|
};
|
|
81
80
|
this.environment = getEnvironment();
|
|
82
81
|
// Создаем Axios инстанс с базовыми настройками
|
|
@@ -96,26 +95,11 @@ class HttpClient {
|
|
|
96
95
|
// Интерцептор для ответов
|
|
97
96
|
this.axiosInstance.interceptors.response.use((response) => response.data, async (error) => {
|
|
98
97
|
const { config, response } = error;
|
|
99
|
-
//
|
|
100
|
-
|
|
101
|
-
throw new limit_errors_js_1.LimitExceededError(response.data);
|
|
102
|
-
}
|
|
103
|
-
// СПЕЦИАЛЬНАЯ ОБРАБОТКА: 429 rate limit
|
|
104
|
-
if (response?.status === 429 && response?.data?.details?.error === 'rate_limit_exceeded') {
|
|
105
|
-
throw new limit_errors_js_1.RateLimitError(response.data);
|
|
106
|
-
}
|
|
107
|
-
// GRACEFUL AUTH ERRORS: Если suppressAuthErrors включен
|
|
108
|
-
if (this.options.suppressAuthErrors && response) {
|
|
109
|
-
const status = response.status;
|
|
110
|
-
if (status === 401 || status === 403) {
|
|
111
|
-
const errorMessage = response.data?.message || error.message || 'Authentication error';
|
|
112
|
-
console.debug(`[SDK HttpClient] Auth error ${status}, handled gracefully:`, errorMessage);
|
|
113
|
-
return null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
98
|
+
// ✅ ЦЕНТРАЛИЗОВАННЫЙ МАППИНГ через ErrorMapper
|
|
99
|
+
const mappedError = error_mapper_js_1.ErrorMapper.mapError(error);
|
|
116
100
|
// RETRY LOGIC: Если нет конфига запроса или это уже повторный запрос, или skipRetry установлен
|
|
117
101
|
if (!config || config._retryCount || config.skipRetry) {
|
|
118
|
-
|
|
102
|
+
throw mappedError;
|
|
119
103
|
}
|
|
120
104
|
config._retryCount = config._retryCount || 0;
|
|
121
105
|
const retryConfig = this.options.retry;
|
|
@@ -132,8 +116,8 @@ class HttpClient {
|
|
|
132
116
|
// Делаем повторную попытку
|
|
133
117
|
return this.axiosInstance(config);
|
|
134
118
|
}
|
|
135
|
-
// Если не нужно делать повторную попытку,
|
|
136
|
-
|
|
119
|
+
// Если не нужно делать повторную попытку, выбрасываем типизированную ошибку
|
|
120
|
+
throw mappedError;
|
|
137
121
|
});
|
|
138
122
|
}
|
|
139
123
|
/**
|
|
@@ -176,20 +160,8 @@ class HttpClient {
|
|
|
176
160
|
return await this.axiosInstance.request(axiosConfig);
|
|
177
161
|
}
|
|
178
162
|
catch (error) {
|
|
179
|
-
//
|
|
180
|
-
|
|
181
|
-
const status = error.response.status;
|
|
182
|
-
// Для auth ошибок логируем тихо и НЕ бросаем наружу
|
|
183
|
-
if (status === 401 || status === 403) {
|
|
184
|
-
const errorMessage = error.response?.data?.message || error.message || 'Authentication error';
|
|
185
|
-
console.debug(`[SDK HttpClient] Auth error ${status}, handled gracefully:`, errorMessage);
|
|
186
|
-
// Возвращаем null вместо выброса ошибки
|
|
187
|
-
// Extension может проверить результат и обработать
|
|
188
|
-
return null;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
// Для остальных ошибок бросаем как обычно
|
|
192
|
-
throw this.handleError(error);
|
|
163
|
+
// ✅ Все ошибки маппятся через ErrorMapper
|
|
164
|
+
throw error_mapper_js_1.ErrorMapper.mapError(error);
|
|
193
165
|
}
|
|
194
166
|
}
|
|
195
167
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAgF;AAEhF,uDAAgD;AAShD;;;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;AAED;;;;;GAKG;AACH,MAAa,UAAU;IAarB;;;;OAIG;IACH,YAAY,OAAe,EAAE,UAA6B,EAAE;QAC1D,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,eAAK,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;;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,+CAA+C;YAC/C,MAAM,WAAW,GAAG,6BAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAEhD,+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,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;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,sDAAsD;gBACtD,OAAO,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;YACtD,CAAC;QACH,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,0CAA0C;YAC1C,MAAM,6BAAW,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,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,MAAM,cAAc,GAAG;YACrB,cAAc,EAAE,kBAAkB;YAClC,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO;YACvB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;SACnB,CAAC;QAIF,8EAA8E;QAC9E,IAAI,IAAI,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAChC,sDAAsD;YACtD,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;gBAC5C,OAAO,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE;oBAC/B,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;YAED,IAAI,CAAC;gBACH,mDAAmD;gBACnD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,wDAAa,YAAY,GAAC,CAAC;gBAE1D,OAAO,SAAS,CAAC,OAAO,EAAE;oBACxB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,cAAc;oBACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC3B,CAAwB,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,8GAA8G,CAAC,CAAC;YAClI,CAAC;QACH,CAAC;QAED,yCAAyC;QACzC,OAAO,KAAK,CAAC,OAAO,EAAE;YACpB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,cAAc;YACvB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;IACL,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;AAlZD,gCAkZC"}
|
|
@@ -10,19 +10,24 @@ export class CreditsApi {
|
|
|
10
10
|
* Получить баланс credits (WorkCoins)
|
|
11
11
|
*
|
|
12
12
|
* @returns Текущий баланс credits пользователя
|
|
13
|
-
* @throws {
|
|
13
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
14
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
15
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
14
16
|
*/
|
|
15
17
|
async getBalance() {
|
|
16
|
-
return await this.httpClient.get('/api/credits/balance');
|
|
18
|
+
return await this.httpClient.get('/api/v1/credits/balance');
|
|
17
19
|
}
|
|
18
20
|
/**
|
|
19
21
|
* Получить статус credits (с рекомендациями)
|
|
20
22
|
*
|
|
21
23
|
* @returns Статус credits и рекомендации
|
|
22
|
-
* @throws {
|
|
24
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
25
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
26
|
+
* @throws {LimitExceededError} При превышении лимита credits
|
|
27
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
23
28
|
*/
|
|
24
29
|
async getStatus() {
|
|
25
|
-
return await this.httpClient.get('/api/credits/status');
|
|
30
|
+
return await this.httpClient.get('/api/v1/credits/status');
|
|
26
31
|
}
|
|
27
32
|
/**
|
|
28
33
|
* Оценить стоимость операции в credits (WorkCoins) до выполнения
|
|
@@ -31,9 +36,12 @@ export class CreditsApi {
|
|
|
31
36
|
* @param model - Модель (haiku/sonnet/auto)
|
|
32
37
|
* @param operationType - Тип операции
|
|
33
38
|
* @returns Оценка стоимости в credits (WorkCoins)
|
|
39
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
40
|
+
* @throws {ValidationError} При некорректных параметрах запроса (422)
|
|
41
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
34
42
|
*/
|
|
35
43
|
async estimate(tokens, model = 'haiku', operationType = 'simple_prompt') {
|
|
36
|
-
return await this.httpClient.post('/api/credits/estimate', {
|
|
44
|
+
return await this.httpClient.post('/api/v1/credits/estimate', {
|
|
37
45
|
tokens,
|
|
38
46
|
model,
|
|
39
47
|
operationType,
|
|
@@ -43,35 +51,47 @@ export class CreditsApi {
|
|
|
43
51
|
* Получить конфигурацию overage (pay-as-you-go)
|
|
44
52
|
*
|
|
45
53
|
* @returns Настройки overage пользователя
|
|
54
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
55
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
56
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
46
57
|
*/
|
|
47
58
|
async getOverageConfig() {
|
|
48
|
-
return await this.httpClient.get('/api/credits/overage');
|
|
59
|
+
return await this.httpClient.get('/api/v1/credits/overage');
|
|
49
60
|
}
|
|
50
61
|
/**
|
|
51
62
|
* Получить статистику overage за текущий месяц
|
|
52
63
|
*
|
|
53
64
|
* @returns Статистика использования overage
|
|
65
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
66
|
+
* @throws {ForbiddenError} При отсутствии доступа (403)
|
|
67
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
54
68
|
*/
|
|
55
69
|
async getOverageStats() {
|
|
56
|
-
return await this.httpClient.get('/api/credits/overage/stats');
|
|
70
|
+
return await this.httpClient.get('/api/v1/credits/overage/stats');
|
|
57
71
|
}
|
|
58
72
|
/**
|
|
59
73
|
* Включить/выключить overage
|
|
60
74
|
*
|
|
61
75
|
* @param enabled - true для включения, false для выключения
|
|
62
|
-
* @throws {
|
|
76
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
77
|
+
* @throws {ForbiddenError} Если пользователь на Free плане (403)
|
|
78
|
+
* @throws {ValidationError} При некорректных параметрах (422)
|
|
79
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
63
80
|
*/
|
|
64
81
|
async toggleOverage(enabled) {
|
|
65
|
-
await this.httpClient.post('/api/credits/overage/toggle', { enabled });
|
|
82
|
+
await this.httpClient.post('/api/v1/credits/overage/toggle', { enabled });
|
|
66
83
|
}
|
|
67
84
|
/**
|
|
68
85
|
* Обновить лимит overage
|
|
69
86
|
*
|
|
70
87
|
* @param limitCredits - Новый лимит overage в credits
|
|
71
|
-
* @throws {
|
|
88
|
+
* @throws {AuthenticationError} При истекшем или невалидном access token (401)
|
|
89
|
+
* @throws {BadRequestError} Если лимит некорректный (400)
|
|
90
|
+
* @throws {ValidationError} При ошибке валидации (422)
|
|
91
|
+
* @throws {InternalServerError} При ошибке сервера (500)
|
|
72
92
|
*/
|
|
73
93
|
async updateOverageLimit(limitCredits) {
|
|
74
|
-
await this.httpClient.post('/api/credits/overage/limit', { limitCredits });
|
|
94
|
+
await this.httpClient.post('/api/v1/credits/overage/limit', { limitCredits });
|
|
75
95
|
}
|
|
76
96
|
}
|
|
77
97
|
//# sourceMappingURL=credits-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credits-api.js","sourceRoot":"","sources":["../../../src/api/credits-api.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,OAAO,UAAU;IACrB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C
|
|
1
|
+
{"version":3,"file":"credits-api.js","sourceRoot":"","sources":["../../../src/api/credits-api.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,OAAO,UAAU;IACrB,YAAoB,UAAsB;QAAtB,eAAU,GAAV,UAAU,CAAY;IAAG,CAAC;IAE9C;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU;QACd,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAiB,yBAAyB,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAgB,wBAAwB,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,QAAmB,OAAO,EAC1B,gBAA+B,eAAe;QAE9C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAkB,0BAA0B,EAAE;YAC7E,MAAM;YACN,KAAK;YACL,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB;QACpB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAgB,yBAAyB,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAe,+BAA+B,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAAC,OAAgB;QAClC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,YAAoB;QAC3C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;IAChF,CAAC;CACF"}
|
|
@@ -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"}
|