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.
Files changed (43) hide show
  1. package/README.md +84 -14
  2. package/dist/cjs/api/credits-api.js +31 -11
  3. package/dist/cjs/api/credits-api.js.map +1 -1
  4. package/dist/cjs/errors/sdk-errors.js +216 -0
  5. package/dist/cjs/errors/sdk-errors.js.map +1 -0
  6. package/dist/cjs/index.js +20 -3
  7. package/dist/cjs/index.js.map +1 -1
  8. package/dist/cjs/types/index.js.map +1 -1
  9. package/dist/cjs/utils/error-mapper.js +149 -0
  10. package/dist/cjs/utils/error-mapper.js.map +1 -0
  11. package/dist/cjs/utils/http-client.js +9 -37
  12. package/dist/cjs/utils/http-client.js.map +1 -1
  13. package/dist/esm/api/credits-api.js +31 -11
  14. package/dist/esm/api/credits-api.js.map +1 -1
  15. package/dist/esm/errors/sdk-errors.js +198 -0
  16. package/dist/esm/errors/sdk-errors.js.map +1 -0
  17. package/dist/esm/index.js +4 -2
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/esm/types/index.js.map +1 -1
  20. package/dist/esm/utils/error-mapper.js +145 -0
  21. package/dist/esm/utils/error-mapper.js.map +1 -0
  22. package/dist/esm/utils/http-client.js +9 -37
  23. package/dist/esm/utils/http-client.js.map +1 -1
  24. package/dist/types/api/credits-api.d.ts +24 -4
  25. package/dist/types/api/credits-api.d.ts.map +1 -1
  26. package/dist/types/errors/sdk-errors.d.ts +156 -0
  27. package/dist/types/errors/sdk-errors.d.ts.map +1 -0
  28. package/dist/types/index.d.ts +2 -1
  29. package/dist/types/index.d.ts.map +1 -1
  30. package/dist/types/interfaces/http-client.d.ts +0 -9
  31. package/dist/types/interfaces/http-client.d.ts.map +1 -1
  32. package/dist/types/types/index.d.ts +1 -1
  33. package/dist/types/types/index.d.ts.map +1 -1
  34. package/dist/types/utils/error-mapper.d.ts +24 -0
  35. package/dist/types/utils/error-mapper.d.ts.map +1 -0
  36. package/dist/types/utils/http-client.d.ts.map +1 -1
  37. package/package.json +1 -1
  38. package/dist/cjs/errors/limit-errors.js +0 -80
  39. package/dist/cjs/errors/limit-errors.js.map +0 -1
  40. package/dist/esm/errors/limit-errors.js +0 -74
  41. package/dist/esm/errors/limit-errors.js.map +0 -1
  42. package/dist/types/errors/limit-errors.d.ts +0 -61
  43. package/dist/types/errors/limit-errors.d.ts.map +0 -1
@@ -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;IAiC5D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;;;OAIG;IACU,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IAwDlE;;;;;;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"}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "solver-sdk",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "SDK for WorkAI API - AI-powered code analysis with WorkCoins billing system",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -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"}
@@ -1,74 +0,0 @@
1
- /**
2
- * Классы ошибок для обработки лимитов
3
- */
4
- /**
5
- * Базовый класс для ошибок лимитов
6
- */
7
- export class BaseLimitError extends Error {
8
- constructor(message, statusCode, rawError) {
9
- super(message);
10
- this.name = this.constructor.name;
11
- this.statusCode = statusCode;
12
- this.rawError = rawError;
13
- // Поддержка stack trace в V8
14
- if (Error.captureStackTrace) {
15
- Error.captureStackTrace(this, this.constructor);
16
- }
17
- }
18
- }
19
- /**
20
- * Ошибка превышения лимита использования
21
- * Выбрасывается при HTTP 403 с details.error === 'usage_limit_exceeded'
22
- */
23
- export class LimitExceededError extends BaseLimitError {
24
- constructor(errorData) {
25
- const message = errorData.message || errorData.details?.message || 'Usage limit exceeded';
26
- super(message, 403, errorData);
27
- this.statusType = errorData.details?.statusType || 'unknown';
28
- this.status = errorData.details?.status || 'blocked';
29
- this.details = errorData.details || {};
30
- this.action = errorData.details?.action;
31
- this.balance = errorData.details?.balance;
32
- }
33
- /**
34
- * Проверяет, заблокирован ли пользователь
35
- */
36
- isBlocked() {
37
- return !this.details.canMakeRequest;
38
- }
39
- /**
40
- * Получает URL для действия пользователя
41
- */
42
- getActionUrl() {
43
- return this.action?.ctaUrl;
44
- }
45
- }
46
- /**
47
- * Ошибка превышения rate limit
48
- * Выбрасывается при HTTP 429
49
- */
50
- export class RateLimitError extends BaseLimitError {
51
- constructor(errorData) {
52
- const message = errorData.message || errorData.details?.message || 'Rate limit exceeded';
53
- super(message, 429, errorData);
54
- this.details = errorData.details || {};
55
- this.retryAfter = this.details.retryAfter || 60;
56
- // Парсим дату из ISO строки или используем текущее время + retryAfter
57
- this.retryAt = this.details.retryAt
58
- ? new Date(this.details.retryAt)
59
- : new Date(Date.now() + this.retryAfter * 1000);
60
- }
61
- /**
62
- * Получает время ожидания в миллисекундах
63
- */
64
- getRetryDelayMs() {
65
- return Math.max(0, this.retryAt.getTime() - Date.now());
66
- }
67
- /**
68
- * Проверяет, прошло ли время ожидания
69
- */
70
- canRetryNow() {
71
- return Date.now() >= this.retryAt.getTime();
72
- }
73
- }
74
- //# 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,MAAM,OAAO,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;AAED;;;GAGG;AACH,MAAM,OAAO,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;AAED;;;GAGG;AACH,MAAM,OAAO,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"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Классы ошибок для обработки лимитов
3
- */
4
- import type { LimitStatus, LimitAction, LimitBalance } from '../types/limit-status.js';
5
- /**
6
- * Базовый класс для ошибок лимитов
7
- */
8
- export declare class BaseLimitError extends Error {
9
- /** Статус HTTP ответа */
10
- readonly statusCode: number;
11
- /** Исходные данные ошибки */
12
- readonly rawError: any;
13
- constructor(message: string, statusCode: number, rawError?: any);
14
- }
15
- /**
16
- * Ошибка превышения лимита использования
17
- * Выбрасывается при HTTP 403 с details.error === 'usage_limit_exceeded'
18
- */
19
- export declare class LimitExceededError extends BaseLimitError {
20
- /** Тип статуса лимита */
21
- readonly statusType: string;
22
- /** Уровень статуса */
23
- readonly status: string;
24
- /** Детали лимитов */
25
- readonly details: Partial<LimitStatus>;
26
- /** Рекомендуемое действие */
27
- readonly action?: LimitAction;
28
- /** Информация о балансе */
29
- readonly balance?: LimitBalance;
30
- constructor(errorData: any);
31
- /**
32
- * Проверяет, заблокирован ли пользователь
33
- */
34
- isBlocked(): boolean;
35
- /**
36
- * Получает URL для действия пользователя
37
- */
38
- getActionUrl(): string | undefined;
39
- }
40
- /**
41
- * Ошибка превышения rate limit
42
- * Выбрасывается при HTTP 429
43
- */
44
- export declare class RateLimitError extends BaseLimitError {
45
- /** Время ожидания в секундах */
46
- readonly retryAfter: number;
47
- /** Время когда можно повторить запрос */
48
- readonly retryAt: Date;
49
- /** Детали rate limit */
50
- readonly details: any;
51
- constructor(errorData: any);
52
- /**
53
- * Получает время ожидания в миллисекундах
54
- */
55
- getRetryDelayMs(): number;
56
- /**
57
- * Проверяет, прошло ли время ожидания
58
- */
59
- canRetryNow(): boolean;
60
- }
61
- //# sourceMappingURL=limit-errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"limit-errors.d.ts","sourceRoot":"","sources":["../../../src/errors/limit-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEvF;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,yBAAyB;IACzB,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,6BAA6B;IAC7B,SAAgB,QAAQ,EAAE,GAAG,CAAC;gBAElB,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;CAWhE;AAED;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,yBAAyB;IACzB,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,sBAAsB;IACtB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,qBAAqB;IACrB,SAAgB,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,SAAgB,MAAM,CAAC,EAAE,WAAW,CAAC;IAErC,2BAA2B;IAC3B,SAAgB,OAAO,CAAC,EAAE,YAAY,CAAC;gBAE3B,SAAS,EAAE,GAAG;IAW1B;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,YAAY,IAAI,MAAM,GAAG,SAAS;CAG1C;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChD,gCAAgC;IAChC,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC,yCAAyC;IACzC,SAAgB,OAAO,EAAE,IAAI,CAAC;IAE9B,wBAAwB;IACxB,SAAgB,OAAO,EAAE,GAAG,CAAC;gBAEjB,SAAS,EAAE,GAAG;IAa1B;;OAEG;IACI,eAAe,IAAI,MAAM;IAIhC;;OAEG;IACI,WAAW,IAAI,OAAO;CAG9B"}