burnledger 0.1.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 (99) hide show
  1. package/README.md +166 -0
  2. package/dist/cjs/client.d.ts +84 -0
  3. package/dist/cjs/client.d.ts.map +1 -0
  4. package/dist/cjs/client.js +275 -0
  5. package/dist/cjs/client.js.map +1 -0
  6. package/dist/cjs/crypto-browser.d.ts +7 -0
  7. package/dist/cjs/crypto-browser.d.ts.map +1 -0
  8. package/dist/cjs/crypto-browser.js +37 -0
  9. package/dist/cjs/crypto-browser.js.map +1 -0
  10. package/dist/cjs/crypto-node.d.ts +4 -0
  11. package/dist/cjs/crypto-node.d.ts.map +1 -0
  12. package/dist/cjs/crypto-node.js +30 -0
  13. package/dist/cjs/crypto-node.js.map +1 -0
  14. package/dist/cjs/crypto.d.ts +6 -0
  15. package/dist/cjs/crypto.d.ts.map +1 -0
  16. package/dist/cjs/crypto.js +4 -0
  17. package/dist/cjs/crypto.js.map +1 -0
  18. package/dist/cjs/errors.d.ts +76 -0
  19. package/dist/cjs/errors.d.ts.map +1 -0
  20. package/dist/cjs/errors.js +119 -0
  21. package/dist/cjs/errors.js.map +1 -0
  22. package/dist/cjs/http.d.ts +35 -0
  23. package/dist/cjs/http.d.ts.map +1 -0
  24. package/dist/cjs/http.js +136 -0
  25. package/dist/cjs/http.js.map +1 -0
  26. package/dist/cjs/index.browser.d.ts +31 -0
  27. package/dist/cjs/index.browser.d.ts.map +1 -0
  28. package/dist/cjs/index.browser.js +54 -0
  29. package/dist/cjs/index.browser.js.map +1 -0
  30. package/dist/cjs/index.d.ts +26 -0
  31. package/dist/cjs/index.d.ts.map +1 -0
  32. package/dist/cjs/index.js +50 -0
  33. package/dist/cjs/index.js.map +1 -0
  34. package/dist/cjs/models.d.ts +119 -0
  35. package/dist/cjs/models.d.ts.map +1 -0
  36. package/dist/cjs/models.js +144 -0
  37. package/dist/cjs/models.js.map +1 -0
  38. package/dist/cjs/package.json +1 -0
  39. package/dist/cjs/pagination.d.ts +21 -0
  40. package/dist/cjs/pagination.d.ts.map +1 -0
  41. package/dist/cjs/pagination.js +50 -0
  42. package/dist/cjs/pagination.js.map +1 -0
  43. package/dist/cjs/verify.d.ts +47 -0
  44. package/dist/cjs/verify.d.ts.map +1 -0
  45. package/dist/cjs/verify.js +471 -0
  46. package/dist/cjs/verify.js.map +1 -0
  47. package/dist/cjs/webhooks.d.ts +17 -0
  48. package/dist/cjs/webhooks.d.ts.map +1 -0
  49. package/dist/cjs/webhooks.js +39 -0
  50. package/dist/cjs/webhooks.js.map +1 -0
  51. package/dist/esm/client.d.ts +84 -0
  52. package/dist/esm/client.d.ts.map +1 -0
  53. package/dist/esm/client.js +238 -0
  54. package/dist/esm/client.js.map +1 -0
  55. package/dist/esm/crypto-browser.d.ts +7 -0
  56. package/dist/esm/crypto-browser.d.ts.map +1 -0
  57. package/dist/esm/crypto-browser.js +34 -0
  58. package/dist/esm/crypto-browser.js.map +1 -0
  59. package/dist/esm/crypto-node.d.ts +4 -0
  60. package/dist/esm/crypto-node.d.ts.map +1 -0
  61. package/dist/esm/crypto-node.js +27 -0
  62. package/dist/esm/crypto-node.js.map +1 -0
  63. package/dist/esm/crypto.d.ts +6 -0
  64. package/dist/esm/crypto.d.ts.map +1 -0
  65. package/dist/esm/crypto.js +3 -0
  66. package/dist/esm/crypto.js.map +1 -0
  67. package/dist/esm/errors.d.ts +76 -0
  68. package/dist/esm/errors.d.ts.map +1 -0
  69. package/dist/esm/errors.js +105 -0
  70. package/dist/esm/errors.js.map +1 -0
  71. package/dist/esm/http.d.ts +35 -0
  72. package/dist/esm/http.d.ts.map +1 -0
  73. package/dist/esm/http.js +132 -0
  74. package/dist/esm/http.js.map +1 -0
  75. package/dist/esm/index.browser.d.ts +31 -0
  76. package/dist/esm/index.browser.d.ts.map +1 -0
  77. package/dist/esm/index.browser.js +31 -0
  78. package/dist/esm/index.browser.js.map +1 -0
  79. package/dist/esm/index.d.ts +26 -0
  80. package/dist/esm/index.d.ts.map +1 -0
  81. package/dist/esm/index.js +26 -0
  82. package/dist/esm/index.js.map +1 -0
  83. package/dist/esm/models.d.ts +119 -0
  84. package/dist/esm/models.d.ts.map +1 -0
  85. package/dist/esm/models.js +132 -0
  86. package/dist/esm/models.js.map +1 -0
  87. package/dist/esm/pagination.d.ts +21 -0
  88. package/dist/esm/pagination.d.ts.map +1 -0
  89. package/dist/esm/pagination.js +46 -0
  90. package/dist/esm/pagination.js.map +1 -0
  91. package/dist/esm/verify.d.ts +47 -0
  92. package/dist/esm/verify.d.ts.map +1 -0
  93. package/dist/esm/verify.js +462 -0
  94. package/dist/esm/verify.js.map +1 -0
  95. package/dist/esm/webhooks.d.ts +17 -0
  96. package/dist/esm/webhooks.d.ts.map +1 -0
  97. package/dist/esm/webhooks.js +36 -0
  98. package/dist/esm/webhooks.js.map +1 -0
  99. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":";AAAA,+EAA+E"}
@@ -0,0 +1,76 @@
1
+ /** Exception hierarchy for the BurnLedger SDK.
2
+ *
3
+ * Maps HTTP status codes to typed errors. Every error includes
4
+ * enough context for log correlation.
5
+ */
6
+ export declare class BurnLedgerError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ export declare class ApiError extends BurnLedgerError {
10
+ readonly code: string;
11
+ readonly statusCode: number;
12
+ readonly requestId: string;
13
+ constructor(opts: {
14
+ code: string;
15
+ message: string;
16
+ requestId: string;
17
+ statusCode: number;
18
+ });
19
+ }
20
+ export declare class AuthenticationError extends ApiError {
21
+ constructor(opts: {
22
+ code: string;
23
+ message: string;
24
+ requestId: string;
25
+ });
26
+ }
27
+ export declare class NotFoundError extends ApiError {
28
+ constructor(opts: {
29
+ code: string;
30
+ message: string;
31
+ requestId: string;
32
+ });
33
+ }
34
+ export declare class ConflictError extends ApiError {
35
+ constructor(opts: {
36
+ code: string;
37
+ message: string;
38
+ requestId: string;
39
+ });
40
+ }
41
+ export declare class ValidationError extends ApiError {
42
+ constructor(opts: {
43
+ code: string;
44
+ message: string;
45
+ requestId: string;
46
+ });
47
+ }
48
+ export declare class RateLimitError extends ApiError {
49
+ readonly retryAfter: number | undefined;
50
+ constructor(opts: {
51
+ code: string;
52
+ message: string;
53
+ requestId: string;
54
+ retryAfter?: number;
55
+ });
56
+ }
57
+ export declare class ServerError extends ApiError {
58
+ constructor(opts: {
59
+ code: string;
60
+ message: string;
61
+ requestId: string;
62
+ statusCode: number;
63
+ });
64
+ }
65
+ export declare class TimeoutError extends BurnLedgerError {
66
+ readonly operation: string;
67
+ readonly elapsed: number;
68
+ constructor(operation: string, elapsed: number);
69
+ }
70
+ export declare class VerificationError extends BurnLedgerError {
71
+ readonly reason: string;
72
+ constructor(reason: string);
73
+ }
74
+ /** Parse an API error envelope and throw the appropriate exception. */
75
+ export declare function raiseForError(statusCode: number, body: Record<string, unknown>, retryAfter?: number): never;
76
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qBAAa,eAAgB,SAAQ,KAAK;gBAC5B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB;CASF;AAED,qBAAa,mBAAoB,SAAQ,QAAQ;gBACnC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAIvE;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAIvE;AAED,qBAAa,aAAc,SAAQ,QAAQ;gBAC7B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAIvE;AAED,qBAAa,eAAgB,SAAQ,QAAQ;gBAC/B,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAIvE;AAED,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAKF;AAED,qBAAa,WAAY,SAAQ,QAAQ;gBAC3B,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACpB;CAIF;AAED,qBAAa,YAAa,SAAQ,eAAe;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAM/C;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAEZ,MAAM,EAAE,MAAM;CAK3B;AAkBD,uEAAuE;AACvE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,GAClB,KAAK,CAqBP"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ /** Exception hierarchy for the BurnLedger SDK.
3
+ *
4
+ * Maps HTTP status codes to typed errors. Every error includes
5
+ * enough context for log correlation.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.VerificationError = exports.TimeoutError = exports.ServerError = exports.RateLimitError = exports.ValidationError = exports.ConflictError = exports.NotFoundError = exports.AuthenticationError = exports.ApiError = exports.BurnLedgerError = void 0;
9
+ exports.raiseForError = raiseForError;
10
+ class BurnLedgerError extends Error {
11
+ constructor(message) {
12
+ super(message);
13
+ this.name = "BurnLedgerError";
14
+ }
15
+ }
16
+ exports.BurnLedgerError = BurnLedgerError;
17
+ class ApiError extends BurnLedgerError {
18
+ code;
19
+ statusCode;
20
+ requestId;
21
+ constructor(opts) {
22
+ super(`[${opts.statusCode}] ${opts.code}: ${opts.message} (request_id=${opts.requestId})`);
23
+ this.name = "ApiError";
24
+ this.code = opts.code;
25
+ this.statusCode = opts.statusCode;
26
+ this.requestId = opts.requestId;
27
+ }
28
+ }
29
+ exports.ApiError = ApiError;
30
+ class AuthenticationError extends ApiError {
31
+ constructor(opts) {
32
+ super({ ...opts, statusCode: 401 });
33
+ this.name = "AuthenticationError";
34
+ }
35
+ }
36
+ exports.AuthenticationError = AuthenticationError;
37
+ class NotFoundError extends ApiError {
38
+ constructor(opts) {
39
+ super({ ...opts, statusCode: 404 });
40
+ this.name = "NotFoundError";
41
+ }
42
+ }
43
+ exports.NotFoundError = NotFoundError;
44
+ class ConflictError extends ApiError {
45
+ constructor(opts) {
46
+ super({ ...opts, statusCode: 409 });
47
+ this.name = "ConflictError";
48
+ }
49
+ }
50
+ exports.ConflictError = ConflictError;
51
+ class ValidationError extends ApiError {
52
+ constructor(opts) {
53
+ super({ ...opts, statusCode: 422 });
54
+ this.name = "ValidationError";
55
+ }
56
+ }
57
+ exports.ValidationError = ValidationError;
58
+ class RateLimitError extends ApiError {
59
+ retryAfter;
60
+ constructor(opts) {
61
+ super({ ...opts, statusCode: 429 });
62
+ this.name = "RateLimitError";
63
+ this.retryAfter = opts.retryAfter;
64
+ }
65
+ }
66
+ exports.RateLimitError = RateLimitError;
67
+ class ServerError extends ApiError {
68
+ constructor(opts) {
69
+ super(opts);
70
+ this.name = "ServerError";
71
+ }
72
+ }
73
+ exports.ServerError = ServerError;
74
+ class TimeoutError extends BurnLedgerError {
75
+ operation;
76
+ elapsed;
77
+ constructor(operation, elapsed) {
78
+ super(`${operation}: timed out after ${elapsed.toFixed(1)}s`);
79
+ this.name = "TimeoutError";
80
+ this.operation = operation;
81
+ this.elapsed = elapsed;
82
+ }
83
+ }
84
+ exports.TimeoutError = TimeoutError;
85
+ class VerificationError extends BurnLedgerError {
86
+ reason;
87
+ constructor(reason) {
88
+ super(reason);
89
+ this.name = "VerificationError";
90
+ this.reason = reason;
91
+ }
92
+ }
93
+ exports.VerificationError = VerificationError;
94
+ const STATUS_TO_CLASS = {
95
+ 401: AuthenticationError,
96
+ 404: NotFoundError,
97
+ 409: ConflictError,
98
+ 422: ValidationError,
99
+ 429: RateLimitError,
100
+ };
101
+ /** Parse an API error envelope and throw the appropriate exception. */
102
+ function raiseForError(statusCode, body, retryAfter) {
103
+ const err = (body.error ?? {});
104
+ const code = err.code ?? "UNKNOWN";
105
+ const message = err.message ?? "";
106
+ const requestId = err.request_id ?? "";
107
+ const Cls = STATUS_TO_CLASS[statusCode];
108
+ if (Cls === RateLimitError) {
109
+ throw new RateLimitError({ code, message, requestId, retryAfter });
110
+ }
111
+ if (Cls) {
112
+ throw new Cls({ code, message, requestId });
113
+ }
114
+ if (statusCode >= 500) {
115
+ throw new ServerError({ code, message, requestId, statusCode });
116
+ }
117
+ throw new ApiError({ code, message, requestId, statusCode });
118
+ }
119
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AA4HH,sCAyBC;AAnJD,MAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,QAAS,SAAQ,eAAe;IAClC,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,SAAS,CAAS;IAE3B,YAAY,IAKX;QACC,KAAK,CACH,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,gBAAgB,IAAI,CAAC,SAAS,GAAG,CACpF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IAClC,CAAC;CACF;AAnBD,4BAmBC;AAED,MAAa,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AALD,kDAKC;AAED,MAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,aAAc,SAAQ,QAAQ;IACzC,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,IAA0D;QACpE,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,cAAe,SAAQ,QAAQ;IACjC,UAAU,CAAqB;IAExC,YAAY,IAKX;QACC,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;CACF;AAbD,wCAaC;AAED,MAAa,WAAY,SAAQ,QAAQ;IACvC,YAAY,IAKX;QACC,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;CACF;AAVD,kCAUC;AAED,MAAa,YAAa,SAAQ,eAAe;IACtC,SAAS,CAAS;IAClB,OAAO,CAAS;IAEzB,YAAY,SAAiB,EAAE,OAAe;QAC5C,KAAK,CAAC,GAAG,SAAS,qBAAqB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAVD,oCAUC;AAED,MAAa,iBAAkB,SAAQ,eAAe;IAC3C,MAAM,CAAS;IAExB,YAAY,MAAc;QACxB,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AARD,8CAQC;AAED,MAAM,eAAe,GAQjB;IACF,GAAG,EAAE,mBAAmB;IACxB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,aAAa;IAClB,GAAG,EAAE,eAAe;IACpB,GAAG,EAAE,cAAc;CACpB,CAAC;AAEF,uEAAuE;AACvE,SAAgB,aAAa,CAC3B,UAAkB,EAClB,IAA6B,EAC7B,UAAmB;IAEnB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAA4B,CAAC;IAC1D,MAAM,IAAI,GAAI,GAAG,CAAC,IAAe,IAAI,SAAS,CAAC;IAC/C,MAAM,OAAO,GAAI,GAAG,CAAC,OAAkB,IAAI,EAAE,CAAC;IAC9C,MAAM,SAAS,GAAI,GAAG,CAAC,UAAqB,IAAI,EAAE,CAAC;IAEnD,MAAM,GAAG,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAExC,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,IAAI,GAAG,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,IAAI,WAAW,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,IAAI,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,35 @@
1
+ /** HTTP transport layer wrapping native fetch.
2
+ *
3
+ * Handles: Bearer auth, response envelope unwrapping, retry on 5xx/transport
4
+ * errors, Retry-After respect on 429, and raw byte streaming for PDFs.
5
+ */
6
+ export interface TransportOptions {
7
+ baseUrl: string;
8
+ apiKey: string;
9
+ timeout: number;
10
+ maxRetries: number;
11
+ }
12
+ export declare class Transport {
13
+ private readonly baseUrl;
14
+ private readonly apiKey;
15
+ private readonly timeout;
16
+ private readonly maxRetries;
17
+ constructor(opts: TransportOptions);
18
+ /** Make a request and return the unwrapped `data` field. */
19
+ request(method: string, path: string, opts?: {
20
+ json?: unknown;
21
+ params?: Record<string, string | number>;
22
+ authenticated?: boolean;
23
+ }): Promise<unknown>;
24
+ /** Make a request and return the full response envelope (for pagination). */
25
+ requestRaw(method: string, path: string, opts?: {
26
+ json?: unknown;
27
+ params?: Record<string, string | number>;
28
+ authenticated?: boolean;
29
+ }): Promise<Record<string, unknown>>;
30
+ /** Make a request and return raw bytes (for PDF downloads). */
31
+ requestBytes(method: string, path: string, opts?: {
32
+ authenticated?: boolean;
33
+ }): Promise<Uint8Array>;
34
+ }
35
+ //# sourceMappingURL=http.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,IAAI,EAAE,gBAAgB;IAOlC,4DAA4D;IACtD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;QACzC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC,OAAO,CAAC;IAKnB,6EAA6E;IACvE,UAAU,CACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;QACzC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,GACA,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAiFnC,+DAA+D;IACzD,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GACjC,OAAO,CAAC,UAAU,CAAC;CAyBvB"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /** HTTP transport layer wrapping native fetch.
3
+ *
4
+ * Handles: Bearer auth, response envelope unwrapping, retry on 5xx/transport
5
+ * errors, Retry-After respect on 429, and raw byte streaming for PDFs.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.Transport = void 0;
9
+ const errors_js_1 = require("./errors.js");
10
+ class Transport {
11
+ baseUrl;
12
+ apiKey;
13
+ timeout;
14
+ maxRetries;
15
+ constructor(opts) {
16
+ this.baseUrl = opts.baseUrl.replace(/\/+$/, "");
17
+ this.apiKey = opts.apiKey;
18
+ this.timeout = opts.timeout;
19
+ this.maxRetries = opts.maxRetries;
20
+ }
21
+ /** Make a request and return the unwrapped `data` field. */
22
+ async request(method, path, opts) {
23
+ const envelope = await this.requestRaw(method, path, opts);
24
+ return envelope.data;
25
+ }
26
+ /** Make a request and return the full response envelope (for pagination). */
27
+ async requestRaw(method, path, opts) {
28
+ const authenticated = opts?.authenticated ?? true;
29
+ const headers = {
30
+ Accept: "application/json",
31
+ };
32
+ if (authenticated) {
33
+ headers["Authorization"] = `Bearer ${this.apiKey}`;
34
+ }
35
+ let url = `${this.baseUrl}${path}`;
36
+ if (opts?.params) {
37
+ const qs = new URLSearchParams();
38
+ for (const [k, v] of Object.entries(opts.params)) {
39
+ qs.set(k, String(v));
40
+ }
41
+ url += `?${qs.toString()}`;
42
+ }
43
+ const body = opts?.json !== undefined ? JSON.stringify(opts.json) : undefined;
44
+ if (body !== undefined) {
45
+ headers["Content-Type"] = "application/json";
46
+ }
47
+ let lastError;
48
+ for (let attempt = 0; attempt <= this.maxRetries; attempt++) {
49
+ if (attempt > 0) {
50
+ await sleep(500 * 2 ** (attempt - 1));
51
+ }
52
+ const controller = new AbortController();
53
+ const timer = setTimeout(() => controller.abort(), this.timeout * 1000);
54
+ let resp;
55
+ try {
56
+ resp = await fetch(url, {
57
+ method,
58
+ headers,
59
+ body,
60
+ signal: controller.signal,
61
+ });
62
+ }
63
+ catch (err) {
64
+ clearTimeout(timer);
65
+ lastError = err instanceof Error ? err : new Error(String(err));
66
+ continue;
67
+ }
68
+ finally {
69
+ clearTimeout(timer);
70
+ }
71
+ if (resp.status === 204) {
72
+ return {};
73
+ }
74
+ if (resp.status === 429) {
75
+ const retryAfter = parseRetryAfter(resp);
76
+ const errorBody = await safeJson(resp);
77
+ (0, errors_js_1.raiseForError)(resp.status, errorBody, retryAfter);
78
+ }
79
+ if (resp.status >= 500 && attempt < this.maxRetries) {
80
+ lastError = new Error(`Server error ${resp.status}`);
81
+ continue;
82
+ }
83
+ if (resp.status >= 400) {
84
+ const errorBody = await safeJson(resp);
85
+ (0, errors_js_1.raiseForError)(resp.status, errorBody);
86
+ }
87
+ return (await resp.json());
88
+ }
89
+ throw new Error(`Request failed after ${this.maxRetries + 1} attempts: ${lastError?.message}`);
90
+ }
91
+ /** Make a request and return raw bytes (for PDF downloads). */
92
+ async requestBytes(method, path, opts) {
93
+ const authenticated = opts?.authenticated ?? true;
94
+ const headers = {};
95
+ if (authenticated) {
96
+ headers["Authorization"] = `Bearer ${this.apiKey}`;
97
+ }
98
+ const url = `${this.baseUrl}${path}`;
99
+ const controller = new AbortController();
100
+ const timer = setTimeout(() => controller.abort(), this.timeout * 1000);
101
+ let resp;
102
+ try {
103
+ resp = await fetch(url, { method, headers, signal: controller.signal });
104
+ }
105
+ finally {
106
+ clearTimeout(timer);
107
+ }
108
+ if (resp.status >= 400) {
109
+ const errorBody = await safeJson(resp);
110
+ (0, errors_js_1.raiseForError)(resp.status, errorBody);
111
+ }
112
+ return new Uint8Array(await resp.arrayBuffer());
113
+ }
114
+ }
115
+ exports.Transport = Transport;
116
+ function parseRetryAfter(resp) {
117
+ const raw = resp.headers.get("Retry-After");
118
+ if (raw == null)
119
+ return undefined;
120
+ const n = Number(raw);
121
+ return Number.isFinite(n) ? n : undefined;
122
+ }
123
+ async function safeJson(resp) {
124
+ try {
125
+ return (await resp.json());
126
+ }
127
+ catch {
128
+ return {
129
+ error: { code: "UNKNOWN", message: await resp.text(), request_id: "" },
130
+ };
131
+ }
132
+ }
133
+ function sleep(ms) {
134
+ return new Promise((resolve) => setTimeout(resolve, ms));
135
+ }
136
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,2CAA4C;AAS5C,MAAa,SAAS;IACH,OAAO,CAAS;IAChB,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,UAAU,CAAS;IAEpC,YAAY,IAAsB;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IACpC,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,IAIC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3D,OAAQ,QAAoC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,UAAU,CACd,MAAc,EACd,IAAY,EACZ,IAIC;QAED,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QAClD,MAAM,OAAO,GAA2B;YACtC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QACF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QAED,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;YACjB,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,IAAI,GACR,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,IAAI,SAA4B,CAAC;QAEjC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;YAC5D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,UAAU,CACtB,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EACxB,IAAI,CAAC,OAAO,GAAG,IAAI,CACpB,CAAC;YAEF,IAAI,IAAc,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBACtB,MAAM;oBACN,OAAO;oBACP,IAAI;oBACJ,MAAM,EAAE,UAAU,CAAC,MAAM;iBAC1B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,SAAS,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAChE,SAAS;YACX,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;gBACzC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAA,yBAAa,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YACpD,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpD,SAAS,GAAG,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvC,IAAA,yBAAa,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACxC,CAAC;YAED,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,cAAc,SAAS,EAAE,OAAO,EAAE,CAC9E,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,IAAY,EACZ,IAAkC;QAElC,MAAM,aAAa,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC;QAClD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;QACrD,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAExE,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvC,IAAA,yBAAa,EAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,CAAC;CACF;AAnJD,8BAmJC;AAED,SAAS,eAAe,CAAC,IAAc;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,QAAQ,CAAC,IAAc;IACpC,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAA4B,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;SACvE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,31 @@
1
+ /** BurnLedger TypeScript SDK — browser entry point.
2
+ *
3
+ * Uses WebCrypto (crypto.subtle) for Ed25519 and SHA-256.
4
+ * Requires Chrome 113+, Firefox 128+, or Safari 17+.
5
+ *
6
+ * Does NOT export verifyWebhookSignature (server-side only, uses node:crypto).
7
+ */
8
+ export { BurnLedger } from "./client.js";
9
+ export type { BurnLedgerOptions } from "./client.js";
10
+ export { BurnLedgerError, ApiError, AuthenticationError, NotFoundError, ConflictError, ValidationError, RateLimitError, ServerError, TimeoutError, VerificationError, } from "./errors.js";
11
+ export { Transport } from "./http.js";
12
+ export type { TransportOptions } from "./http.js";
13
+ export type { ProofMode, AttestationStatus, CertificateStatus, TransparencyStatus, HealthStatus, ConnectorType, HashScope, LogEntryType, VerificationResult, TransparencyResult, System, SystemAttestation, Attestation, VerificationSystem, VerifyResult, CertificateResponse, RevocationStatus, Webhook, SignedTreeHead, LogEntry, InclusionProof, ConsistencyProof, } from "./models.js";
14
+ export { Paginator } from "./pagination.js";
15
+ export type { CryptoOps } from "./crypto.js";
16
+ export type { PublicKeyInfo } from "./verify.js";
17
+ export { issuanceBytes, hexToBytes, bytesToHex } from "./verify.js";
18
+ import type { PublicKeyInfo } from "./verify.js";
19
+ import type { VerificationResult, TransparencyResult } from "./models.js";
20
+ type Cert = Record<string, unknown>;
21
+ /** Verify all signatures on a deletion certificate offline. */
22
+ export declare function verifyCertificate(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<VerificationResult>;
23
+ /** Verify the transparency proof embedded in a certificate. */
24
+ export declare function verifyTransparency(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<TransparencyResult>;
25
+ /** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key. */
26
+ export declare function publicKeyFromHex(hexKey: string, opts?: {
27
+ revoked?: boolean;
28
+ }): Promise<PublicKeyInfo>;
29
+ /** Verify a Merkle consistency proof between two tree states (RFC 6962). */
30
+ export declare function verifyConsistency(oldSize: number, newSize: number, oldRoot: Uint8Array, newRoot: Uint8Array, proof: Uint8Array[]): Promise<boolean>;
31
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ /** BurnLedger TypeScript SDK — browser entry point.
3
+ *
4
+ * Uses WebCrypto (crypto.subtle) for Ed25519 and SHA-256.
5
+ * Requires Chrome 113+, Firefox 128+, or Safari 17+.
6
+ *
7
+ * Does NOT export verifyWebhookSignature (server-side only, uses node:crypto).
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.bytesToHex = exports.hexToBytes = exports.issuanceBytes = exports.Paginator = exports.Transport = exports.VerificationError = exports.TimeoutError = exports.ServerError = exports.RateLimitError = exports.ValidationError = exports.ConflictError = exports.NotFoundError = exports.AuthenticationError = exports.ApiError = exports.BurnLedgerError = exports.BurnLedger = void 0;
11
+ exports.verifyCertificate = verifyCertificate;
12
+ exports.verifyTransparency = verifyTransparency;
13
+ exports.publicKeyFromHex = publicKeyFromHex;
14
+ exports.verifyConsistency = verifyConsistency;
15
+ var client_js_1 = require("./client.js");
16
+ Object.defineProperty(exports, "BurnLedger", { enumerable: true, get: function () { return client_js_1.BurnLedger; } });
17
+ var errors_js_1 = require("./errors.js");
18
+ Object.defineProperty(exports, "BurnLedgerError", { enumerable: true, get: function () { return errors_js_1.BurnLedgerError; } });
19
+ Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return errors_js_1.ApiError; } });
20
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_js_1.AuthenticationError; } });
21
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_js_1.NotFoundError; } });
22
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return errors_js_1.ConflictError; } });
23
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_js_1.ValidationError; } });
24
+ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_js_1.RateLimitError; } });
25
+ Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
26
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
27
+ Object.defineProperty(exports, "VerificationError", { enumerable: true, get: function () { return errors_js_1.VerificationError; } });
28
+ var http_js_1 = require("./http.js");
29
+ Object.defineProperty(exports, "Transport", { enumerable: true, get: function () { return http_js_1.Transport; } });
30
+ var pagination_js_1 = require("./pagination.js");
31
+ Object.defineProperty(exports, "Paginator", { enumerable: true, get: function () { return pagination_js_1.Paginator; } });
32
+ var verify_js_1 = require("./verify.js");
33
+ Object.defineProperty(exports, "issuanceBytes", { enumerable: true, get: function () { return verify_js_1.issuanceBytes; } });
34
+ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return verify_js_1.hexToBytes; } });
35
+ Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return verify_js_1.bytesToHex; } });
36
+ const crypto_browser_js_1 = require("./crypto-browser.js");
37
+ const verify_js_2 = require("./verify.js");
38
+ /** Verify all signatures on a deletion certificate offline. */
39
+ function verifyCertificate(certificate, publicKeys) {
40
+ return (0, verify_js_2.verifyCertificate)(crypto_browser_js_1.browserCrypto, certificate, publicKeys);
41
+ }
42
+ /** Verify the transparency proof embedded in a certificate. */
43
+ function verifyTransparency(certificate, publicKeys) {
44
+ return (0, verify_js_2.verifyTransparency)(crypto_browser_js_1.browserCrypto, certificate, publicKeys);
45
+ }
46
+ /** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key. */
47
+ function publicKeyFromHex(hexKey, opts) {
48
+ return (0, verify_js_2.publicKeyFromHex)(crypto_browser_js_1.browserCrypto, hexKey, opts);
49
+ }
50
+ /** Verify a Merkle consistency proof between two tree states (RFC 6962). */
51
+ function verifyConsistency(oldSize, newSize, oldRoot, newRoot, proof) {
52
+ return (0, verify_js_2.verifyConsistency)(crypto_browser_js_1.browserCrypto, oldSize, newSize, oldRoot, newRoot, proof);
53
+ }
54
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiEH,8CAKC;AAGD,gDAKC;AAGD,4CAKC;AAGD,8CAQC;AA/FD,yCAAyC;AAAhC,uGAAA,UAAU,OAAA;AAGnB,yCAWqB;AAVnB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AAGnB,qCAAsC;AAA7B,oGAAA,SAAS,OAAA;AA4BlB,iDAA4C;AAAnC,0GAAA,SAAS,OAAA;AAIlB,yCAAoE;AAA3D,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE9C,2DAAoD;AACpD,2CAKqB;AAMrB,+DAA+D;AAC/D,SAAgB,iBAAiB,CAC/B,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,6BAAkB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,+DAA+D;AAC/D,SAAgB,kBAAkB,CAChC,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,8BAAmB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,SAAgB,gBAAgB,CAC9B,MAAc,EACd,IAA4B;IAE5B,OAAO,IAAA,4BAAiB,EAAC,iCAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,SAAgB,iBAAiB,CAC/B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,OAAmB,EACnB,KAAmB;IAEnB,OAAO,IAAA,6BAAkB,EAAC,iCAAa,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACtF,CAAC"}
@@ -0,0 +1,26 @@
1
+ /** BurnLedger TypeScript SDK — public API (Node.js entry point). */
2
+ export { BurnLedger } from "./client.js";
3
+ export type { BurnLedgerOptions } from "./client.js";
4
+ export { BurnLedgerError, ApiError, AuthenticationError, NotFoundError, ConflictError, ValidationError, RateLimitError, ServerError, TimeoutError, VerificationError, } from "./errors.js";
5
+ export { Transport } from "./http.js";
6
+ export type { TransportOptions } from "./http.js";
7
+ export type { ProofMode, AttestationStatus, CertificateStatus, TransparencyStatus, HealthStatus, ConnectorType, HashScope, LogEntryType, VerificationResult, TransparencyResult, System, SystemAttestation, Attestation, VerificationSystem, VerifyResult, CertificateResponse, RevocationStatus, Webhook, SignedTreeHead, LogEntry, InclusionProof, ConsistencyProof, } from "./models.js";
8
+ export { Paginator } from "./pagination.js";
9
+ export type { CryptoOps } from "./crypto.js";
10
+ export type { PublicKeyInfo } from "./verify.js";
11
+ export { issuanceBytes, hexToBytes, bytesToHex } from "./verify.js";
12
+ import type { PublicKeyInfo } from "./verify.js";
13
+ import type { VerificationResult, TransparencyResult } from "./models.js";
14
+ type Cert = Record<string, unknown>;
15
+ /** Verify all signatures on a deletion certificate offline. */
16
+ export declare function verifyCertificate(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<VerificationResult>;
17
+ /** Verify the transparency proof embedded in a certificate. */
18
+ export declare function verifyTransparency(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<TransparencyResult>;
19
+ /** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key. */
20
+ export declare function publicKeyFromHex(hexKey: string, opts?: {
21
+ revoked?: boolean;
22
+ }): Promise<PublicKeyInfo>;
23
+ /** Verify a Merkle consistency proof between two tree states (RFC 6962). */
24
+ export declare function verifyConsistency(oldSize: number, newSize: number, oldRoot: Uint8Array, newRoot: Uint8Array, proof: Uint8Array[]): Promise<boolean>;
25
+ export { verifyWebhookSignature } from "./webhooks.js";
26
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,SAAS,EACT,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,QAAQ,EACR,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GACrC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,uEAAuE;AACvE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /** BurnLedger TypeScript SDK — public API (Node.js entry point). */
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.verifyWebhookSignature = exports.bytesToHex = exports.hexToBytes = exports.issuanceBytes = exports.Paginator = exports.Transport = exports.VerificationError = exports.TimeoutError = exports.ServerError = exports.RateLimitError = exports.ValidationError = exports.ConflictError = exports.NotFoundError = exports.AuthenticationError = exports.ApiError = exports.BurnLedgerError = exports.BurnLedger = void 0;
5
+ exports.verifyCertificate = verifyCertificate;
6
+ exports.verifyTransparency = verifyTransparency;
7
+ exports.publicKeyFromHex = publicKeyFromHex;
8
+ exports.verifyConsistency = verifyConsistency;
9
+ var client_js_1 = require("./client.js");
10
+ Object.defineProperty(exports, "BurnLedger", { enumerable: true, get: function () { return client_js_1.BurnLedger; } });
11
+ var errors_js_1 = require("./errors.js");
12
+ Object.defineProperty(exports, "BurnLedgerError", { enumerable: true, get: function () { return errors_js_1.BurnLedgerError; } });
13
+ Object.defineProperty(exports, "ApiError", { enumerable: true, get: function () { return errors_js_1.ApiError; } });
14
+ Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_js_1.AuthenticationError; } });
15
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_js_1.NotFoundError; } });
16
+ Object.defineProperty(exports, "ConflictError", { enumerable: true, get: function () { return errors_js_1.ConflictError; } });
17
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_js_1.ValidationError; } });
18
+ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_js_1.RateLimitError; } });
19
+ Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
20
+ Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
21
+ Object.defineProperty(exports, "VerificationError", { enumerable: true, get: function () { return errors_js_1.VerificationError; } });
22
+ var http_js_1 = require("./http.js");
23
+ Object.defineProperty(exports, "Transport", { enumerable: true, get: function () { return http_js_1.Transport; } });
24
+ var pagination_js_1 = require("./pagination.js");
25
+ Object.defineProperty(exports, "Paginator", { enumerable: true, get: function () { return pagination_js_1.Paginator; } });
26
+ var verify_js_1 = require("./verify.js");
27
+ Object.defineProperty(exports, "issuanceBytes", { enumerable: true, get: function () { return verify_js_1.issuanceBytes; } });
28
+ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function () { return verify_js_1.hexToBytes; } });
29
+ Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return verify_js_1.bytesToHex; } });
30
+ const crypto_node_js_1 = require("./crypto-node.js");
31
+ const verify_js_2 = require("./verify.js");
32
+ /** Verify all signatures on a deletion certificate offline. */
33
+ function verifyCertificate(certificate, publicKeys) {
34
+ return (0, verify_js_2.verifyCertificate)(crypto_node_js_1.nodeCrypto, certificate, publicKeys);
35
+ }
36
+ /** Verify the transparency proof embedded in a certificate. */
37
+ function verifyTransparency(certificate, publicKeys) {
38
+ return (0, verify_js_2.verifyTransparency)(crypto_node_js_1.nodeCrypto, certificate, publicKeys);
39
+ }
40
+ /** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key. */
41
+ function publicKeyFromHex(hexKey, opts) {
42
+ return (0, verify_js_2.publicKeyFromHex)(crypto_node_js_1.nodeCrypto, hexKey, opts);
43
+ }
44
+ /** Verify a Merkle consistency proof between two tree states (RFC 6962). */
45
+ function verifyConsistency(oldSize, newSize, oldRoot, newRoot, proof) {
46
+ return (0, verify_js_2.verifyConsistency)(crypto_node_js_1.nodeCrypto, oldSize, newSize, oldRoot, newRoot, proof);
47
+ }
48
+ var webhooks_js_1 = require("./webhooks.js");
49
+ Object.defineProperty(exports, "verifyWebhookSignature", { enumerable: true, get: function () { return webhooks_js_1.verifyWebhookSignature; } });
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;;;AAiEpE,8CAKC;AAGD,gDAKC;AAGD,4CAKC;AAGD,8CAQC;AA/FD,yCAAyC;AAAhC,uGAAA,UAAU,OAAA;AAGnB,yCAWqB;AAVnB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AAGnB,qCAAsC;AAA7B,oGAAA,SAAS,OAAA;AA4BlB,iDAA4C;AAAnC,0GAAA,SAAS,OAAA;AAIlB,yCAAoE;AAA3D,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE9C,qDAA8C;AAC9C,2CAKqB;AAMrB,+DAA+D;AAC/D,SAAgB,iBAAiB,CAC/B,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,6BAAkB,EAAC,2BAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC;AAED,+DAA+D;AAC/D,SAAgB,kBAAkB,CAChC,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,8BAAmB,EAAC,2BAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC;AAED,uEAAuE;AACvE,SAAgB,gBAAgB,CAC9B,MAAc,EACd,IAA4B;IAE5B,OAAO,IAAA,4BAAiB,EAAC,2BAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,4EAA4E;AAC5E,SAAgB,iBAAiB,CAC/B,OAAe,EACf,OAAe,EACf,OAAmB,EACnB,OAAmB,EACnB,KAAmB;IAEnB,OAAO,IAAA,6BAAkB,EAAC,2BAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,6CAAuD;AAA9C,qHAAA,sBAAsB,OAAA"}