burnledger 0.8.1 → 0.9.1

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 (142) hide show
  1. package/README.md +144 -2
  2. package/dist/cjs/anchor.d.ts +5 -3
  3. package/dist/cjs/anchor.d.ts.map +1 -1
  4. package/dist/cjs/anchor.js +10 -4
  5. package/dist/cjs/anchor.js.map +1 -1
  6. package/dist/cjs/client.d.ts +95 -0
  7. package/dist/cjs/client.d.ts.map +1 -1
  8. package/dist/cjs/client.js +175 -54
  9. package/dist/cjs/client.js.map +1 -1
  10. package/dist/cjs/customer-keys.d.ts +73 -1
  11. package/dist/cjs/customer-keys.d.ts.map +1 -1
  12. package/dist/cjs/customer-keys.js +329 -3
  13. package/dist/cjs/customer-keys.js.map +1 -1
  14. package/dist/cjs/enclave-registration.d.ts +165 -0
  15. package/dist/cjs/enclave-registration.d.ts.map +1 -0
  16. package/dist/cjs/enclave-registration.js +287 -0
  17. package/dist/cjs/enclave-registration.js.map +1 -0
  18. package/dist/cjs/enclave-seal.d.ts +43 -0
  19. package/dist/cjs/enclave-seal.d.ts.map +1 -1
  20. package/dist/cjs/enclave-seal.js +62 -1
  21. package/dist/cjs/enclave-seal.js.map +1 -1
  22. package/dist/cjs/errors.d.ts +10 -0
  23. package/dist/cjs/errors.d.ts.map +1 -1
  24. package/dist/cjs/errors.js +11 -1
  25. package/dist/cjs/errors.js.map +1 -1
  26. package/dist/cjs/index.browser.d.ts +7 -3
  27. package/dist/cjs/index.browser.d.ts.map +1 -1
  28. package/dist/cjs/index.browser.js +6 -3
  29. package/dist/cjs/index.browser.js.map +1 -1
  30. package/dist/cjs/index.d.ts +22 -10
  31. package/dist/cjs/index.d.ts.map +1 -1
  32. package/dist/cjs/index.js +75 -6
  33. package/dist/cjs/index.js.map +1 -1
  34. package/dist/cjs/key-group.d.ts +80 -0
  35. package/dist/cjs/key-group.d.ts.map +1 -0
  36. package/dist/cjs/key-group.js +136 -0
  37. package/dist/cjs/key-group.js.map +1 -0
  38. package/dist/cjs/models.d.ts +60 -0
  39. package/dist/cjs/models.d.ts.map +1 -1
  40. package/dist/cjs/models.js +63 -0
  41. package/dist/cjs/models.js.map +1 -1
  42. package/dist/cjs/node-runtime.d.ts +40 -0
  43. package/dist/cjs/node-runtime.d.ts.map +1 -0
  44. package/dist/cjs/node-runtime.js +42 -0
  45. package/dist/cjs/node-runtime.js.map +1 -0
  46. package/dist/cjs/status-document.d.ts +25 -0
  47. package/dist/cjs/status-document.d.ts.map +1 -0
  48. package/dist/cjs/status-document.js +62 -0
  49. package/dist/cjs/status-document.js.map +1 -0
  50. package/dist/cjs/verify.d.ts +108 -3
  51. package/dist/cjs/verify.d.ts.map +1 -1
  52. package/dist/cjs/verify.js +451 -171
  53. package/dist/cjs/verify.js.map +1 -1
  54. package/dist/cjs/web-verifier.d.ts +23 -3
  55. package/dist/cjs/web-verifier.d.ts.map +1 -1
  56. package/dist/cjs/web-verifier.js +31 -5
  57. package/dist/cjs/web-verifier.js.map +1 -1
  58. package/dist/cjs/webhooks.d.ts +9 -2
  59. package/dist/cjs/webhooks.d.ts.map +1 -1
  60. package/dist/cjs/webhooks.js +29 -11
  61. package/dist/cjs/webhooks.js.map +1 -1
  62. package/dist/esm/anchor.d.ts +5 -3
  63. package/dist/esm/anchor.d.ts.map +1 -1
  64. package/dist/esm/anchor.js +10 -4
  65. package/dist/esm/anchor.js.map +1 -1
  66. package/dist/esm/cli.d.ts +30 -17
  67. package/dist/esm/cli.d.ts.map +1 -1
  68. package/dist/esm/cli.js +142 -83
  69. package/dist/esm/cli.js.map +1 -1
  70. package/dist/esm/client.d.ts +95 -0
  71. package/dist/esm/client.d.ts.map +1 -1
  72. package/dist/esm/client.js +175 -21
  73. package/dist/esm/client.js.map +1 -1
  74. package/dist/esm/customer-keys.d.ts +73 -1
  75. package/dist/esm/customer-keys.d.ts.map +1 -1
  76. package/dist/esm/customer-keys.js +323 -3
  77. package/dist/esm/customer-keys.js.map +1 -1
  78. package/dist/esm/enclave-registration.d.ts +165 -0
  79. package/dist/esm/enclave-registration.d.ts.map +1 -0
  80. package/dist/esm/enclave-registration.js +277 -0
  81. package/dist/esm/enclave-registration.js.map +1 -0
  82. package/dist/esm/enclave-seal.d.ts +43 -0
  83. package/dist/esm/enclave-seal.d.ts.map +1 -1
  84. package/dist/esm/enclave-seal.js +61 -1
  85. package/dist/esm/enclave-seal.js.map +1 -1
  86. package/dist/esm/errors.d.ts +10 -0
  87. package/dist/esm/errors.d.ts.map +1 -1
  88. package/dist/esm/errors.js +10 -0
  89. package/dist/esm/errors.js.map +1 -1
  90. package/dist/esm/index.browser.d.ts +7 -3
  91. package/dist/esm/index.browser.d.ts.map +1 -1
  92. package/dist/esm/index.browser.js +6 -3
  93. package/dist/esm/index.browser.js.map +1 -1
  94. package/dist/esm/index.d.ts +22 -10
  95. package/dist/esm/index.d.ts.map +1 -1
  96. package/dist/esm/index.js +30 -8
  97. package/dist/esm/index.js.map +1 -1
  98. package/dist/esm/key-group.d.ts +80 -0
  99. package/dist/esm/key-group.d.ts.map +1 -0
  100. package/dist/esm/key-group.js +130 -0
  101. package/dist/esm/key-group.js.map +1 -0
  102. package/dist/esm/models.d.ts +60 -0
  103. package/dist/esm/models.d.ts.map +1 -1
  104. package/dist/esm/models.js +59 -0
  105. package/dist/esm/models.js.map +1 -1
  106. package/dist/esm/node-runtime.d.ts +40 -0
  107. package/dist/esm/node-runtime.d.ts.map +1 -0
  108. package/dist/esm/node-runtime.js +38 -0
  109. package/dist/esm/node-runtime.js.map +1 -0
  110. package/dist/esm/status-document.d.ts +25 -0
  111. package/dist/esm/status-document.d.ts.map +1 -0
  112. package/dist/esm/status-document.js +59 -0
  113. package/dist/esm/status-document.js.map +1 -0
  114. package/dist/esm/verify.d.ts +108 -3
  115. package/dist/esm/verify.d.ts.map +1 -1
  116. package/dist/esm/verify.js +448 -171
  117. package/dist/esm/verify.js.map +1 -1
  118. package/dist/esm/web-verifier.d.ts +23 -3
  119. package/dist/esm/web-verifier.d.ts.map +1 -1
  120. package/dist/esm/web-verifier.js +27 -5
  121. package/dist/esm/web-verifier.js.map +1 -1
  122. package/dist/esm/webhooks.d.ts +9 -2
  123. package/dist/esm/webhooks.d.ts.map +1 -1
  124. package/dist/esm/webhooks.js +29 -11
  125. package/dist/esm/webhooks.js.map +1 -1
  126. package/package.json +1 -1
  127. package/src/anchor.ts +10 -4
  128. package/src/cli.ts +145 -78
  129. package/src/client.ts +241 -25
  130. package/src/customer-keys.ts +373 -3
  131. package/src/enclave-registration.ts +402 -0
  132. package/src/enclave-seal.ts +108 -1
  133. package/src/errors.ts +11 -0
  134. package/src/index.browser.ts +9 -3
  135. package/src/index.ts +48 -6
  136. package/src/key-group.ts +181 -0
  137. package/src/models.ts +131 -0
  138. package/src/node-runtime.ts +57 -0
  139. package/src/status-document.ts +59 -0
  140. package/src/verify.ts +565 -177
  141. package/src/web-verifier.ts +36 -3
  142. package/src/webhooks.ts +28 -11
@@ -1 +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,iBAAiB,EACjB,mBAAmB,EACnB,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;AAIrB,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,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,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACnE,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,gBAAgB,GACtB,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"}
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,iBAAiB,EACjB,mBAAmB,EACnB,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;AAIrB,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAElF,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,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE1E,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpC;;;+CAG+C;AAC/C,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACtC,OAAO,CAAC,EAAE,aAAa,GACtB,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,gBAAgB,GACtB,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"}
@@ -41,9 +41,12 @@ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function (
41
41
  Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return verify_js_1.bytesToHex; } });
42
42
  const crypto_browser_js_1 = require("./crypto-browser.js");
43
43
  const verify_js_2 = require("./verify.js");
44
- /** Verify all signatures on a deletion certificate offline. */
45
- function verifyCertificate(certificate, publicKeys) {
46
- return (0, verify_js_2.verifyCertificate)(crypto_browser_js_1.browserCrypto, certificate, publicKeys);
44
+ /** Verify all signatures on a deletion certificate offline. Pass
45
+ * `{ requireAuthorization }` to refuse a record unless its systems are certified
46
+ * under a key id you name, by an enclave image that requires that key group's
47
+ * signature to register a system (ADR-025). */
48
+ function verifyCertificate(certificate, publicKeys, options) {
49
+ return (0, verify_js_2.verifyCertificate)(crypto_browser_js_1.browserCrypto, certificate, publicKeys, options);
47
50
  }
48
51
  /** Verify the transparency proof embedded in a certificate. */
49
52
  function verifyTransparency(certificate, publicKeys) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;AAEH,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;AA8BlB,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAkF;AAAzE,wGAAA,WAAW,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE5D,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,2BACE,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,6BAAkB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACpE,CAAC;AAED,+DAA+D;AAC/D,4BACE,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,8BAAmB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,0BACE,MAAc,EACd,IAAuB;IAEvB,OAAO,IAAA,4BAAiB,EAAC,iCAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,2BACE,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"}
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../../src/index.browser.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;AAEH,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;AA8BlB,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAkF;AAAzE,wGAAA,WAAW,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE5D,iDAA4C;AAAnC,0GAAA,SAAS,OAAA;AAIlB,yCAAoE;AAA3D,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE9C,2DAAoD;AACpD,2CAKqB;AAQrB;;;+CAG+C;AAC/C,2BACE,WAAiB,EACjB,UAAsC,EACtC,OAAuB;IAEvB,OAAO,IAAA,6BAAkB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED,+DAA+D;AAC/D,4BACE,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,8BAAmB,EAAC,iCAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACrE,CAAC;AAED,uEAAuE;AACvE,0BACE,MAAc,EACd,IAAuB;IAEvB,OAAO,IAAA,4BAAiB,EAAC,iCAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,2BACE,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"}
@@ -1,28 +1,31 @@
1
1
  /** BurnLedger TypeScript SDK — public API (Node.js entry point). */
2
2
  export { BurnLedger, MAX_BATCH_REVOKE } from "./client.js";
3
3
  export type { BurnLedgerOptions } from "./client.js";
4
- export { BurnLedgerError, ApiError, AuthenticationError, NotFoundError, ConflictError, ValidationError, RateLimitError, ServerError, TimeoutError, VerificationError, CERTIFICATE_REVOKED, UNSUPPORTED_FORMAT_VERSION, } from "./errors.js";
4
+ export { BurnLedgerError, ApiError, AuthenticationError, NotFoundError, ConflictError, ValidationError, RateLimitError, ServerError, TimeoutError, VerificationError, AUTHORIZATION_POLICY_FAILED, CERTIFICATE_REVOKED, UNSUPPORTED_FORMAT_VERSION, } from "./errors.js";
5
5
  export { Transport } from "./http.js";
6
6
  export type { TransportOptions } from "./http.js";
7
- export type { PublicKeyOptions } from "./verify.js";
8
- export type { ProofMode, AttestationStatus, CertificateStatus, TransparencyStatus, HealthStatus, TransportSecurity, ReadOnlyEnforcement, ConnectorType, HashScope, LogEntryType, VerificationResult, TransparencyResult, ApiKeyRole, System, SystemAttestation, Attestation, VerificationSystem, VerifyResult, CertificateResponse, RevocationStatus, Webhook, SignedTreeHead, LogEntry, InclusionProof, ConsistencyProof, BatchAttestationResponse, BatchAttestationError, BatchRevokeResponse, BatchRevokeError, MonthlyCount, CertificateStats, WebhookRotateResponse, WebhookDelivery, ApiKeyListItem, ApiKeyResponse, PlanUsage, Profile, SystemHealth, } from "./models.js";
7
+ export type { AuthorizationPolicy, PublicKeyOptions, VerifyOptions } from "./verify.js";
8
+ export type { ProofMode, AttestationStatus, CertificateStatus, TransparencyStatus, HealthStatus, TransportSecurity, ReadOnlyEnforcement, ConnectorType, HashScope, LogEntryType, VerificationResult, TransparencyResult, ApiKeyRole, System, SystemAttestation, Attestation, VerificationSystem, VerifyResult, CertificateResponse, RevocationStatus, Webhook, SignedTreeHead, LogEntry, InclusionProof, ConsistencyProof, BatchAttestationResponse, BatchAttestationError, BatchRevokeResponse, BatchRevokeError, MonthlyCount, CertificateStats, WebhookRotateResponse, WebhookDelivery, ApiKeyListItem, ApiKeyResponse, PlanUsage, Profile, SystemHealth, KeyEnrollmentStatement, TeamAuthorizationCertificate, SystemRegistrationCertificate, KeyEnrollmentResult, } from "./models.js";
9
9
  export { parseSystem, parseCertificateResponse, parseWebhook } from "./models.js";
10
10
  export { Paginator } from "./pagination.js";
11
11
  export type { CryptoOps } from "./crypto.js";
12
12
  export type { PublicKeyInfo } from "./verify.js";
13
13
  export { issuanceBytes, hexToBytes, bytesToHex } from "./verify.js";
14
- import type { PublicKeyInfo, PublicKeyOptions } from "./verify.js";
14
+ import type { PublicKeyInfo, PublicKeyOptions, VerifyOptions } from "./verify.js";
15
15
  import type { VerificationResult, TransparencyResult } from "./models.js";
16
16
  type Cert = Record<string, unknown>;
17
- /** Verify all signatures on a deletion certificate offline. */
18
- export declare function verifyCertificate(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<VerificationResult>;
17
+ /** Verify all signatures on a deletion certificate offline. Pass
18
+ * `{ requireAuthorization }` to refuse a record unless its systems are certified
19
+ * under a key id you name, by an enclave image that requires that key group's
20
+ * signature to register a system (ADR-025). */
21
+ export declare function verifyCertificate(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>, options?: VerifyOptions): Promise<VerificationResult>;
19
22
  /**
20
23
  * Verify a certificate and, separately, what a signed statement says about its
21
24
  * revocation. Returns "VALID_REVOCATION_UNKNOWN" when no fresh statement is
22
25
  * supplied — never "VALID", because "not revoked" is not something an offline
23
26
  * check can establish on its own.
24
27
  */
25
- export declare function verifyCertificateWithStatus(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>, status?: Record<string, unknown> | null, now?: Date): Promise<string>;
28
+ export declare function verifyCertificateWithStatus(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>, status?: Record<string, unknown> | null, now?: Date, options?: VerifyOptions): Promise<string>;
26
29
  /** Verify the transparency proof embedded in a certificate. */
27
30
  export declare function verifyTransparency(certificate: Cert, publicKeys: Map<string, PublicKeyInfo>): Promise<TransparencyResult>;
28
31
  /** Construct a PublicKeyInfo from a hex-encoded Ed25519 public key.
@@ -46,8 +49,17 @@ export { verifyWebhookSignature, isTimestampFresh } from "./webhooks.js";
46
49
  * expose, and sealing a datastore credential is not something a browser should
47
50
  * be doing.
48
51
  */
49
- export { EnclaveAttestationError, ENVELOPE_MAGIC, HEADER_SIZE, NITRO_ROOT_G1_PEM, sealConnectionConfig, sealToKey, verifyEnclaveConfigSealKey, } from "./enclave-seal.js";
50
- export type { SealOptions } from "./enclave-seal.js";
51
- export { CUSTOMER_KEY_ID_PREFIX, InvalidKeyGroupError, MAX_CUSTOMER_KEY_GROUP_MEMBERS, PAYLOAD_TYPE_KEY_ROTATION_REQUEST, buildKeyRotationRequestPayload, customerKeyId, memberFingerprint, memberFingerprints, validateKeyGroup, } from "./customer-keys.js";
52
+ export { EnclaveAttestationError, ENVELOPE_MAGIC, HEADER_SIZE, IDENTITY_NONCE_SIZE, NITRO_ROOT_G1_PEM, sealConnectionConfig, sealToKey, verifyEnclaveConfigSealKey, verifyEnclaveIdentity, } from "./enclave-seal.js";
53
+ export type { EnclaveIdentity, IdentityOptions, SealOptions } from "./enclave-seal.js";
54
+ export { CUSTOMER_KEY_ID_PREFIX, InvalidKeyGroupError, MAX_CUSTOMER_KEY_GROUP_MEMBERS, PAYLOAD_TYPE_KEY_ENROLLMENT_REQUEST, PAYLOAD_TYPE_KEY_ROTATION_REQUEST, PAYLOAD_TYPE_SYSTEM_REGISTRATION_REQUEST, buildKeyEnrollmentRequestPayload, buildKeyRotationRequestPayload, buildSystemRegistrationRequestPayload, customerKeyId, memberFingerprint, memberFingerprints, validateKeyGroup, verifyKeyEnrollmentStatement, verifySystemRegistration, verifyTeamAuthorization, } from "./customer-keys.js";
52
55
  export type { CustomerKeyGroup } from "./customer-keys.js";
56
+ /**
57
+ * Customer key group members as signers (ADR-025). Node only. The SDK never
58
+ * holds a private key: every signature comes from a KeyGroupSigner, and
59
+ * InMemorySigner is the convenience for keys kept on this machine. Read the
60
+ * custody note in key-group.ts before generating a group.
61
+ */
62
+ export { InMemorySigner, generateKeyGroup, signWithGroup } from "./key-group.js";
63
+ export type { GeneratedKeyGroup, KeyGroupSigner } from "./key-group.js";
64
+ export type { EnclavePinOptions, RegisteredSystem } from "./enclave-registration.js";
53
65
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -1,12 +1,58 @@
1
1
  "use strict";
2
2
  /** BurnLedger TypeScript SDK — public API (Node.js entry point). */
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
3
36
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.validateKeyGroup = exports.memberFingerprints = exports.memberFingerprint = exports.customerKeyId = exports.buildKeyRotationRequestPayload = exports.PAYLOAD_TYPE_KEY_ROTATION_REQUEST = exports.MAX_CUSTOMER_KEY_GROUP_MEMBERS = exports.InvalidKeyGroupError = exports.CUSTOMER_KEY_ID_PREFIX = exports.verifyEnclaveConfigSealKey = exports.sealToKey = exports.sealConnectionConfig = exports.NITRO_ROOT_G1_PEM = exports.HEADER_SIZE = exports.ENVELOPE_MAGIC = exports.EnclaveAttestationError = exports.isTimestampFresh = exports.verifyWebhookSignature = exports.bytesToHex = exports.hexToBytes = exports.issuanceBytes = exports.Paginator = exports.parseWebhook = exports.parseCertificateResponse = exports.parseSystem = exports.Transport = exports.UNSUPPORTED_FORMAT_VERSION = exports.CERTIFICATE_REVOKED = exports.VerificationError = exports.TimeoutError = exports.ServerError = exports.RateLimitError = exports.ValidationError = exports.ConflictError = exports.NotFoundError = exports.AuthenticationError = exports.ApiError = exports.BurnLedgerError = exports.MAX_BATCH_REVOKE = exports.BurnLedger = void 0;
37
+ exports.verifyTeamAuthorization = exports.verifySystemRegistration = exports.verifyKeyEnrollmentStatement = exports.validateKeyGroup = exports.memberFingerprints = exports.memberFingerprint = exports.customerKeyId = exports.buildSystemRegistrationRequestPayload = exports.buildKeyRotationRequestPayload = exports.buildKeyEnrollmentRequestPayload = exports.PAYLOAD_TYPE_SYSTEM_REGISTRATION_REQUEST = exports.PAYLOAD_TYPE_KEY_ROTATION_REQUEST = exports.PAYLOAD_TYPE_KEY_ENROLLMENT_REQUEST = exports.MAX_CUSTOMER_KEY_GROUP_MEMBERS = exports.InvalidKeyGroupError = exports.CUSTOMER_KEY_ID_PREFIX = exports.verifyEnclaveIdentity = exports.verifyEnclaveConfigSealKey = exports.sealToKey = exports.sealConnectionConfig = exports.NITRO_ROOT_G1_PEM = exports.IDENTITY_NONCE_SIZE = exports.HEADER_SIZE = exports.ENVELOPE_MAGIC = exports.EnclaveAttestationError = exports.isTimestampFresh = exports.verifyWebhookSignature = exports.bytesToHex = exports.hexToBytes = exports.issuanceBytes = exports.Paginator = exports.parseWebhook = exports.parseCertificateResponse = exports.parseSystem = exports.Transport = exports.UNSUPPORTED_FORMAT_VERSION = exports.CERTIFICATE_REVOKED = exports.AUTHORIZATION_POLICY_FAILED = exports.VerificationError = exports.TimeoutError = exports.ServerError = exports.RateLimitError = exports.ValidationError = exports.ConflictError = exports.NotFoundError = exports.AuthenticationError = exports.ApiError = exports.BurnLedgerError = exports.MAX_BATCH_REVOKE = exports.BurnLedger = void 0;
38
+ exports.signWithGroup = exports.generateKeyGroup = exports.InMemorySigner = void 0;
5
39
  exports.verifyCertificate = verifyCertificate;
6
40
  exports.verifyCertificateWithStatus = verifyCertificateWithStatus;
7
41
  exports.verifyTransparency = verifyTransparency;
8
42
  exports.publicKeyFromHex = publicKeyFromHex;
9
43
  exports.verifyConsistency = verifyConsistency;
44
+ // Wire the Node-only client capabilities (enrolment, registration, savePdf). The
45
+ // browser entry never does this, so those modules — and node:crypto/node:fs with
46
+ // them — stay out of any browser bundle. See node-runtime.ts.
47
+ const node_runtime_js_1 = require("./node-runtime.js");
48
+ (0, node_runtime_js_1.setNodeRuntimeLoader)(async () => {
49
+ const [registration, seal, fs] = await Promise.all([
50
+ Promise.resolve().then(() => __importStar(require("./enclave-registration.js"))),
51
+ Promise.resolve().then(() => __importStar(require("./enclave-seal.js"))),
52
+ Promise.resolve().then(() => __importStar(require("node:fs/promises"))),
53
+ ]);
54
+ return { registration, seal, writeFile: (path, data) => fs.writeFile(path, data) };
55
+ });
10
56
  var client_js_1 = require("./client.js");
11
57
  Object.defineProperty(exports, "BurnLedger", { enumerable: true, get: function () { return client_js_1.BurnLedger; } });
12
58
  Object.defineProperty(exports, "MAX_BATCH_REVOKE", { enumerable: true, get: function () { return client_js_1.MAX_BATCH_REVOKE; } });
@@ -21,6 +67,7 @@ Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: functi
21
67
  Object.defineProperty(exports, "ServerError", { enumerable: true, get: function () { return errors_js_1.ServerError; } });
22
68
  Object.defineProperty(exports, "TimeoutError", { enumerable: true, get: function () { return errors_js_1.TimeoutError; } });
23
69
  Object.defineProperty(exports, "VerificationError", { enumerable: true, get: function () { return errors_js_1.VerificationError; } });
70
+ Object.defineProperty(exports, "AUTHORIZATION_POLICY_FAILED", { enumerable: true, get: function () { return errors_js_1.AUTHORIZATION_POLICY_FAILED; } });
24
71
  Object.defineProperty(exports, "CERTIFICATE_REVOKED", { enumerable: true, get: function () { return errors_js_1.CERTIFICATE_REVOKED; } });
25
72
  Object.defineProperty(exports, "UNSUPPORTED_FORMAT_VERSION", { enumerable: true, get: function () { return errors_js_1.UNSUPPORTED_FORMAT_VERSION; } });
26
73
  var http_js_1 = require("./http.js");
@@ -39,9 +86,12 @@ Object.defineProperty(exports, "hexToBytes", { enumerable: true, get: function (
39
86
  Object.defineProperty(exports, "bytesToHex", { enumerable: true, get: function () { return verify_js_1.bytesToHex; } });
40
87
  const crypto_node_js_1 = require("./crypto-node.js");
41
88
  const verify_js_2 = require("./verify.js");
42
- /** Verify all signatures on a deletion certificate offline. */
43
- function verifyCertificate(certificate, publicKeys) {
44
- return (0, verify_js_2.verifyCertificate)(crypto_node_js_1.nodeCrypto, certificate, publicKeys);
89
+ /** Verify all signatures on a deletion certificate offline. Pass
90
+ * `{ requireAuthorization }` to refuse a record unless its systems are certified
91
+ * under a key id you name, by an enclave image that requires that key group's
92
+ * signature to register a system (ADR-025). */
93
+ function verifyCertificate(certificate, publicKeys, options) {
94
+ return (0, verify_js_2.verifyCertificate)(crypto_node_js_1.nodeCrypto, certificate, publicKeys, options);
45
95
  }
46
96
  /**
47
97
  * Verify a certificate and, separately, what a signed statement says about its
@@ -49,8 +99,8 @@ function verifyCertificate(certificate, publicKeys) {
49
99
  * supplied — never "VALID", because "not revoked" is not something an offline
50
100
  * check can establish on its own.
51
101
  */
52
- function verifyCertificateWithStatus(certificate, publicKeys, status, now) {
53
- return (0, verify_js_2.verifyCertificateWithStatus)(crypto_node_js_1.nodeCrypto, certificate, publicKeys, status, now);
102
+ function verifyCertificateWithStatus(certificate, publicKeys, status, now, options) {
103
+ return (0, verify_js_2.verifyCertificateWithStatus)(crypto_node_js_1.nodeCrypto, certificate, publicKeys, status, now, options);
54
104
  }
55
105
  /** Verify the transparency proof embedded in a certificate. */
56
106
  function verifyTransparency(certificate, publicKeys) {
@@ -87,18 +137,37 @@ var enclave_seal_js_1 = require("./enclave-seal.js");
87
137
  Object.defineProperty(exports, "EnclaveAttestationError", { enumerable: true, get: function () { return enclave_seal_js_1.EnclaveAttestationError; } });
88
138
  Object.defineProperty(exports, "ENVELOPE_MAGIC", { enumerable: true, get: function () { return enclave_seal_js_1.ENVELOPE_MAGIC; } });
89
139
  Object.defineProperty(exports, "HEADER_SIZE", { enumerable: true, get: function () { return enclave_seal_js_1.HEADER_SIZE; } });
140
+ Object.defineProperty(exports, "IDENTITY_NONCE_SIZE", { enumerable: true, get: function () { return enclave_seal_js_1.IDENTITY_NONCE_SIZE; } });
90
141
  Object.defineProperty(exports, "NITRO_ROOT_G1_PEM", { enumerable: true, get: function () { return enclave_seal_js_1.NITRO_ROOT_G1_PEM; } });
91
142
  Object.defineProperty(exports, "sealConnectionConfig", { enumerable: true, get: function () { return enclave_seal_js_1.sealConnectionConfig; } });
92
143
  Object.defineProperty(exports, "sealToKey", { enumerable: true, get: function () { return enclave_seal_js_1.sealToKey; } });
93
144
  Object.defineProperty(exports, "verifyEnclaveConfigSealKey", { enumerable: true, get: function () { return enclave_seal_js_1.verifyEnclaveConfigSealKey; } });
145
+ Object.defineProperty(exports, "verifyEnclaveIdentity", { enumerable: true, get: function () { return enclave_seal_js_1.verifyEnclaveIdentity; } });
94
146
  var customer_keys_js_1 = require("./customer-keys.js");
95
147
  Object.defineProperty(exports, "CUSTOMER_KEY_ID_PREFIX", { enumerable: true, get: function () { return customer_keys_js_1.CUSTOMER_KEY_ID_PREFIX; } });
96
148
  Object.defineProperty(exports, "InvalidKeyGroupError", { enumerable: true, get: function () { return customer_keys_js_1.InvalidKeyGroupError; } });
97
149
  Object.defineProperty(exports, "MAX_CUSTOMER_KEY_GROUP_MEMBERS", { enumerable: true, get: function () { return customer_keys_js_1.MAX_CUSTOMER_KEY_GROUP_MEMBERS; } });
150
+ Object.defineProperty(exports, "PAYLOAD_TYPE_KEY_ENROLLMENT_REQUEST", { enumerable: true, get: function () { return customer_keys_js_1.PAYLOAD_TYPE_KEY_ENROLLMENT_REQUEST; } });
98
151
  Object.defineProperty(exports, "PAYLOAD_TYPE_KEY_ROTATION_REQUEST", { enumerable: true, get: function () { return customer_keys_js_1.PAYLOAD_TYPE_KEY_ROTATION_REQUEST; } });
152
+ Object.defineProperty(exports, "PAYLOAD_TYPE_SYSTEM_REGISTRATION_REQUEST", { enumerable: true, get: function () { return customer_keys_js_1.PAYLOAD_TYPE_SYSTEM_REGISTRATION_REQUEST; } });
153
+ Object.defineProperty(exports, "buildKeyEnrollmentRequestPayload", { enumerable: true, get: function () { return customer_keys_js_1.buildKeyEnrollmentRequestPayload; } });
99
154
  Object.defineProperty(exports, "buildKeyRotationRequestPayload", { enumerable: true, get: function () { return customer_keys_js_1.buildKeyRotationRequestPayload; } });
155
+ Object.defineProperty(exports, "buildSystemRegistrationRequestPayload", { enumerable: true, get: function () { return customer_keys_js_1.buildSystemRegistrationRequestPayload; } });
100
156
  Object.defineProperty(exports, "customerKeyId", { enumerable: true, get: function () { return customer_keys_js_1.customerKeyId; } });
101
157
  Object.defineProperty(exports, "memberFingerprint", { enumerable: true, get: function () { return customer_keys_js_1.memberFingerprint; } });
102
158
  Object.defineProperty(exports, "memberFingerprints", { enumerable: true, get: function () { return customer_keys_js_1.memberFingerprints; } });
103
159
  Object.defineProperty(exports, "validateKeyGroup", { enumerable: true, get: function () { return customer_keys_js_1.validateKeyGroup; } });
160
+ Object.defineProperty(exports, "verifyKeyEnrollmentStatement", { enumerable: true, get: function () { return customer_keys_js_1.verifyKeyEnrollmentStatement; } });
161
+ Object.defineProperty(exports, "verifySystemRegistration", { enumerable: true, get: function () { return customer_keys_js_1.verifySystemRegistration; } });
162
+ Object.defineProperty(exports, "verifyTeamAuthorization", { enumerable: true, get: function () { return customer_keys_js_1.verifyTeamAuthorization; } });
163
+ /**
164
+ * Customer key group members as signers (ADR-025). Node only. The SDK never
165
+ * holds a private key: every signature comes from a KeyGroupSigner, and
166
+ * InMemorySigner is the convenience for keys kept on this machine. Read the
167
+ * custody note in key-group.ts before generating a group.
168
+ */
169
+ var key_group_js_1 = require("./key-group.js");
170
+ Object.defineProperty(exports, "InMemorySigner", { enumerable: true, get: function () { return key_group_js_1.InMemorySigner; } });
171
+ Object.defineProperty(exports, "generateKeyGroup", { enumerable: true, get: function () { return key_group_js_1.generateKeyGroup; } });
172
+ Object.defineProperty(exports, "signWithGroup", { enumerable: true, get: function () { return key_group_js_1.signWithGroup; } });
104
173
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,oEAAoE;;;;;;;;AAEpE,yCAA2D;AAAlD,uGAAA,UAAU,OAAA;AAAE,6GAAA,gBAAgB,OAAA;AAGrC,yCAaqB;AAZnB,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;AACjB,gHAAA,mBAAmB,OAAA;AACnB,uHAAA,0BAA0B,OAAA;AAG5B,qCAAsC;AAA7B,oGAAA,SAAS,OAAA;AA8ClB,2EAA2E;AAC3E,0EAA0E;AAC1E,yCAAkF;AAAzE,wGAAA,WAAW,OAAA;AAAE,qHAAA,wBAAwB,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE5D,iDAA4C;AAAnC,0GAAA,SAAS,OAAA;AAIlB,yCAAoE;AAA3D,0GAAA,aAAa,OAAA;AAAE,uGAAA,UAAU,OAAA;AAAE,uGAAA,UAAU,OAAA;AAE9C,qDAA8C;AAC9C,2CAMqB;AAMrB,+DAA+D;AAC/D,2BACE,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,6BAAkB,EAAC,2BAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AACjE,CAAC;AAED;;;;;GAKG;AACH,qCACE,WAAiB,EACjB,UAAsC,EACtC,MAAuC,EACvC,GAAU;IAEV,OAAO,IAAA,uCAA4B,EAAC,2BAAU,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,+DAA+D;AAC/D,4BACE,WAAiB,EACjB,UAAsC;IAEtC,OAAO,IAAA,8BAAmB,EAAC,2BAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;GAQG;AACH,0BACE,MAAc,EACd,IAAuB;IAEvB,OAAO,IAAA,4BAAiB,EAAC,2BAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,4EAA4E;AAC5E,2BACE,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,6CAAyE;AAAhE,qHAAA,sBAAsB,OAAA;AAAE,+GAAA,gBAAgB,OAAA;AAEjD;;;;;;;GAOG;AACH,qDAQ2B;AAPzB,0HAAA,uBAAuB,OAAA;AACvB,iHAAA,cAAc,OAAA;AACd,8GAAA,WAAW,OAAA;AACX,oHAAA,iBAAiB,OAAA;AACjB,uHAAA,oBAAoB,OAAA;AACpB,4GAAA,SAAS,OAAA;AACT,6HAAA,0BAA0B,OAAA;AAI5B,uDAU4B;AAT1B,0HAAA,sBAAsB,OAAA;AACtB,wHAAA,oBAAoB,OAAA;AACpB,kIAAA,8BAA8B,OAAA;AAC9B,qIAAA,iCAAiC,OAAA;AACjC,kIAAA,8BAA8B,OAAA;AAC9B,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,sHAAA,kBAAkB,OAAA;AAClB,oHAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * The members of a customer key group as signers (ADR-025 §2–3).
3
+ *
4
+ * Node only, like enclave-seal.ts: ADR-025 §2 makes a client the customer runs
5
+ * locally the only place enrolment can happen, because whoever serves a page
6
+ * controls the check the page would make.
7
+ *
8
+ * WHY A SIGNER AND NOT A PRIVATE KEY. Everything in this SDK that needs a
9
+ * member's signature takes a {@link KeyGroupSigner} — a public key and a
10
+ * function that signs bytes. The SDK never needs, holds or transmits a private
11
+ * key, so a member can live in an HSM, a cloud KMS, a hardware token or another
12
+ * process, and the SDK's only job is to hand it the exact canonical bytes and
13
+ * check what comes back. {@link InMemorySigner} is the convenience for tests and
14
+ * for customers who keep keys on the machine running the SDK.
15
+ *
16
+ * CUSTODY, stated plainly because nothing recovers from getting it wrong. The
17
+ * private halves are the customer's alone; BurnLedger never sees them and cannot
18
+ * reissue them. Lose enough members that the group can no longer meet its
19
+ * threshold and it can neither sign a registration nor authorise its own
20
+ * rotation — and an operator who could re-enrol on the customer's behalf is an
21
+ * operator who could mint, so there is no recovery path (ADR-025 §3 "Key loss").
22
+ * The only way back is to enrol a NEW group and re-register every system, and
23
+ * records issued before and after will name different `customer_key_id`s,
24
+ * visibly. Hedge before it happens: enrol more members than the threshold and
25
+ * keep at least one offline (the simplest is two members, threshold one).
26
+ */
27
+ import { type CustomerKeyGroup } from "./customer-keys.js";
28
+ /** One member of a key group, able to sign. */
29
+ export interface KeyGroupSigner {
30
+ /** The member's raw 32-byte Ed25519 public key. */
31
+ readonly publicKey: Uint8Array;
32
+ /** Sign exactly `payload` with the member's Ed25519 key; return the 64-byte signature. */
33
+ sign(payload: Uint8Array): Promise<Uint8Array>;
34
+ }
35
+ /**
36
+ * A member whose private key is held in this process.
37
+ *
38
+ * Convenient, and exactly as safe as the memory and disk of the machine running
39
+ * it. `exportSeed()` is the one way the key leaves: store the seed as you would
40
+ * any credential that cannot be reissued.
41
+ */
42
+ export declare class InMemorySigner implements KeyGroupSigner {
43
+ #private;
44
+ readonly publicKey: Uint8Array;
45
+ private constructor();
46
+ /** A fresh member, from the operating system's CSPRNG. */
47
+ static generate(): InMemorySigner;
48
+ /** The member a 32-byte seed (as returned by `exportSeed`) describes. */
49
+ static fromSeed(seed: Uint8Array): InMemorySigner;
50
+ /** The 32-byte seed. Whoever holds it IS this member. */
51
+ exportSeed(): Uint8Array;
52
+ sign(payload: Uint8Array): Promise<Uint8Array>;
53
+ }
54
+ /** A freshly generated group and the signers that hold its members. */
55
+ export interface GeneratedKeyGroup {
56
+ readonly group: CustomerKeyGroup;
57
+ readonly signers: readonly InMemorySigner[];
58
+ }
59
+ /**
60
+ * Generate `members` Ed25519 keys and the group requiring `threshold` of them.
61
+ *
62
+ * The private halves are returned to the caller and go nowhere else. Read the
63
+ * custody note at the top of this module before choosing `members` and
64
+ * `threshold`: a group whose members fall below its threshold is unrecoverable.
65
+ */
66
+ export declare function generateKeyGroup(opts: {
67
+ members: number;
68
+ threshold: number;
69
+ }): Promise<GeneratedKeyGroup>;
70
+ /**
71
+ * Collect member signatures over `payload`, keyed by member fingerprint — the
72
+ * wire form every ADR-025 request carries.
73
+ *
74
+ * Refuses before anything is sent, with a reason, where the enclave would refuse
75
+ * after with a bare 401: a signer that is not a member of `group`, the same
76
+ * member twice, a signature that does not verify under the signer's own public
77
+ * key, or fewer distinct members than `required`.
78
+ */
79
+ export declare function signWithGroup(payload: Uint8Array, group: CustomerKeyGroup, signers: readonly KeyGroupSigner[], required: number): Promise<Record<string, string>>;
80
+ //# sourceMappingURL=key-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-group.d.ts","sourceRoot":"","sources":["../../src/key-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAUH,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAC/B,0FAA0F;IAC1F,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChD;AAMD;;;;;;GAMG;AACH,qBAAa,cAAe,YAAW,cAAc;;IACnD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;IAG/B,OAAO,eAIN;IAED,0DAA0D;IAC1D,MAAM,CAAC,QAAQ,IAAI,cAAc,CAEhC;IAED,yEAAyE;IACzE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,CAWhD;IAED,yDAAyD;IACzD,UAAU,IAAI,UAAU,CAGvB;IAEK,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAEnD;CACF;AAED,uEAAuE;AACvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CAC7C;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAW7B;AAMD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAgCjC"}
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ /**
3
+ * The members of a customer key group as signers (ADR-025 §2–3).
4
+ *
5
+ * Node only, like enclave-seal.ts: ADR-025 §2 makes a client the customer runs
6
+ * locally the only place enrolment can happen, because whoever serves a page
7
+ * controls the check the page would make.
8
+ *
9
+ * WHY A SIGNER AND NOT A PRIVATE KEY. Everything in this SDK that needs a
10
+ * member's signature takes a {@link KeyGroupSigner} — a public key and a
11
+ * function that signs bytes. The SDK never needs, holds or transmits a private
12
+ * key, so a member can live in an HSM, a cloud KMS, a hardware token or another
13
+ * process, and the SDK's only job is to hand it the exact canonical bytes and
14
+ * check what comes back. {@link InMemorySigner} is the convenience for tests and
15
+ * for customers who keep keys on the machine running the SDK.
16
+ *
17
+ * CUSTODY, stated plainly because nothing recovers from getting it wrong. The
18
+ * private halves are the customer's alone; BurnLedger never sees them and cannot
19
+ * reissue them. Lose enough members that the group can no longer meet its
20
+ * threshold and it can neither sign a registration nor authorise its own
21
+ * rotation — and an operator who could re-enrol on the customer's behalf is an
22
+ * operator who could mint, so there is no recovery path (ADR-025 §3 "Key loss").
23
+ * The only way back is to enrol a NEW group and re-register every system, and
24
+ * records issued before and after will name different `customer_key_id`s,
25
+ * visibly. Hedge before it happens: enrol more members than the threshold and
26
+ * keep at least one offline (the simplest is two members, threshold one).
27
+ */
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InMemorySigner = void 0;
30
+ exports.generateKeyGroup = generateKeyGroup;
31
+ exports.signWithGroup = signWithGroup;
32
+ const node_crypto_1 = require("node:crypto");
33
+ const crypto_node_js_1 = require("./crypto-node.js");
34
+ const customer_keys_js_1 = require("./customer-keys.js");
35
+ // RFC 8410: an Ed25519 private key as PKCS#8 is this fixed prefix and the seed.
36
+ const PKCS8_ED25519_PREFIX = Buffer.from("302e020100300506032b657004220420", "hex");
37
+ const SEED_SIZE = 32;
38
+ /**
39
+ * A member whose private key is held in this process.
40
+ *
41
+ * Convenient, and exactly as safe as the memory and disk of the machine running
42
+ * it. `exportSeed()` is the one way the key leaves: store the seed as you would
43
+ * any credential that cannot be reissued.
44
+ */
45
+ class InMemorySigner {
46
+ publicKey;
47
+ #privateKey;
48
+ constructor(privateKey) {
49
+ this.#privateKey = privateKey;
50
+ const spki = (0, node_crypto_1.createPublicKey)(privateKey).export({ format: "der", type: "spki" });
51
+ this.publicKey = new Uint8Array(spki.subarray(spki.length - 32));
52
+ }
53
+ /** A fresh member, from the operating system's CSPRNG. */
54
+ static generate() {
55
+ return new InMemorySigner((0, node_crypto_1.generateKeyPairSync)("ed25519").privateKey);
56
+ }
57
+ /** The member a 32-byte seed (as returned by `exportSeed`) describes. */
58
+ static fromSeed(seed) {
59
+ if (!(seed instanceof Uint8Array) || seed.length !== SEED_SIZE) {
60
+ throw new Error(`an Ed25519 seed is ${SEED_SIZE} bytes`);
61
+ }
62
+ return new InMemorySigner((0, node_crypto_1.createPrivateKey)({
63
+ key: Buffer.concat([PKCS8_ED25519_PREFIX, Buffer.from(seed)]),
64
+ format: "der",
65
+ type: "pkcs8",
66
+ }));
67
+ }
68
+ /** The 32-byte seed. Whoever holds it IS this member. */
69
+ exportSeed() {
70
+ const der = this.#privateKey.export({ format: "der", type: "pkcs8" });
71
+ return new Uint8Array(der.subarray(der.length - SEED_SIZE));
72
+ }
73
+ async sign(payload) {
74
+ return new Uint8Array((0, node_crypto_1.sign)(null, payload, this.#privateKey));
75
+ }
76
+ }
77
+ exports.InMemorySigner = InMemorySigner;
78
+ /**
79
+ * Generate `members` Ed25519 keys and the group requiring `threshold` of them.
80
+ *
81
+ * The private halves are returned to the caller and go nowhere else. Read the
82
+ * custody note at the top of this module before choosing `members` and
83
+ * `threshold`: a group whose members fall below its threshold is unrecoverable.
84
+ */
85
+ async function generateKeyGroup(opts) {
86
+ if (!Number.isInteger(opts.members) || opts.members < 1) {
87
+ throw new customer_keys_js_1.InvalidKeyGroupError(`a key group needs at least one member, got ${opts.members}`);
88
+ }
89
+ const signers = Array.from({ length: opts.members }, () => InMemorySigner.generate());
90
+ const group = {
91
+ threshold: opts.threshold,
92
+ members: signers.map((s) => s.publicKey),
93
+ };
94
+ await (0, customer_keys_js_1.validateKeyGroup)(crypto_node_js_1.nodeCrypto, group);
95
+ return { group, signers };
96
+ }
97
+ function toHex(bytes) {
98
+ return Buffer.from(bytes).toString("hex");
99
+ }
100
+ /**
101
+ * Collect member signatures over `payload`, keyed by member fingerprint — the
102
+ * wire form every ADR-025 request carries.
103
+ *
104
+ * Refuses before anything is sent, with a reason, where the enclave would refuse
105
+ * after with a bare 401: a signer that is not a member of `group`, the same
106
+ * member twice, a signature that does not verify under the signer's own public
107
+ * key, or fewer distinct members than `required`.
108
+ */
109
+ async function signWithGroup(payload, group, signers, required) {
110
+ const members = new Set();
111
+ for (const member of group.members)
112
+ members.add(await (0, customer_keys_js_1.memberFingerprint)(crypto_node_js_1.nodeCrypto, member));
113
+ const signatures = {};
114
+ for (const signer of signers) {
115
+ const fingerprint = await (0, customer_keys_js_1.memberFingerprint)(crypto_node_js_1.nodeCrypto, signer.publicKey);
116
+ if (!members.has(fingerprint)) {
117
+ throw new customer_keys_js_1.InvalidKeyGroupError(`signer ${fingerprint} is not a member of this key group`);
118
+ }
119
+ if (fingerprint in signatures) {
120
+ throw new customer_keys_js_1.InvalidKeyGroupError(`member ${fingerprint} is listed twice among the signers`);
121
+ }
122
+ const signature = await signer.sign(payload);
123
+ if (!(signature instanceof Uint8Array) ||
124
+ signature.length !== 64 ||
125
+ !(await crypto_node_js_1.nodeCrypto.ed25519Verify(signer.publicKey, payload, signature))) {
126
+ throw new Error(`the signer for member ${fingerprint} returned a signature that does not verify over the request`);
127
+ }
128
+ signatures[fingerprint] = toHex(signature);
129
+ }
130
+ const count = Object.keys(signatures).length;
131
+ if (count < required) {
132
+ throw new customer_keys_js_1.InvalidKeyGroupError(`this request needs signatures from ${required} distinct members, got ${count}`);
133
+ }
134
+ return signatures;
135
+ }
136
+ //# sourceMappingURL=key-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"key-group.js","sourceRoot":"","sources":["../../src/key-group.ts"],"names":[],"mappings":"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"}
@@ -101,6 +101,17 @@ export interface CertificateResponse {
101
101
  * it can be handed straight to verifyCertificateWithStatus().
102
102
  */
103
103
  readonly statusStatement: Record<string, unknown> | undefined;
104
+ /**
105
+ * Base64 AWS Nitro NSM attestation document produced while this record was
106
+ * signed, exactly as the server sent it. Its PCRs identify the enclave image
107
+ * that held the signing key and its user_data binds this record's canonical
108
+ * payload. Carried so it can be archived beside the record; this SDK does NOT
109
+ * verify it (that needs COSE ES384 and an x509 chain to the Nitro root, which
110
+ * only the Go verifier implements). undefined for records issued before it
111
+ * was recorded and for dev-mode issuance; absence is not a verification
112
+ * result.
113
+ */
114
+ readonly nsmAttestation: string | undefined;
104
115
  }
105
116
  export interface RevocationStatus {
106
117
  readonly certificateId: string;
@@ -260,5 +271,54 @@ export declare function parseApiKeyListItem(d: Raw): ApiKeyListItem;
260
271
  export declare function parseApiKeyResponse(d: Raw): ApiKeyResponse;
261
272
  export declare function parseProfile(d: Raw): Profile;
262
273
  export declare function parseSystemHealth(d: Raw): SystemHealth;
274
+ /** The enclave's statement of which key group it was told to trust for a team
275
+ * (core.KeyEnrollmentStatement). Trust on first use: compare `customerKeyId` —
276
+ * a hash over the members and threshold — against the group you hold. The SDK's
277
+ * enrol and rotate calls do, after verifying the enclave's signature. */
278
+ export interface KeyEnrollmentStatement {
279
+ readonly assertedTeamId: string;
280
+ readonly customerKeyId: string;
281
+ readonly threshold: number;
282
+ readonly members: readonly Uint8Array[];
283
+ readonly enrolledAt: Date;
284
+ readonly enclavePcr0: string;
285
+ readonly signature: Uint8Array;
286
+ }
287
+ /** The bounded authority that makes an enrolled group usable
288
+ * (core.TeamAuthorizationCertificate). It expires rather than being revoked;
289
+ * renew it by enrolling the same group again before `notAfter`. */
290
+ export interface TeamAuthorizationCertificate {
291
+ readonly assertedTeamId: string;
292
+ readonly customerKeyId: string;
293
+ readonly notBefore: Date;
294
+ readonly notAfter: Date;
295
+ /** The key this one replaced; undefined on a first enrolment. */
296
+ readonly prevKeyId: string | undefined;
297
+ readonly signature: Uint8Array;
298
+ }
299
+ /** Binds one system to the config and query it may be measured with, under a
300
+ * customer key (core.SystemRegistrationCertificate). No expiry: it states a
301
+ * fact about bytes. */
302
+ export interface SystemRegistrationCertificate {
303
+ readonly systemId: string;
304
+ /** SHA-256 of the exact config plaintext submitted for the system. */
305
+ readonly configDigest: Uint8Array;
306
+ /** HashQuery over the NORMALIZED subject query — not the raw-template hash
307
+ * the registration request signs. */
308
+ readonly queryTemplateHash: Uint8Array;
309
+ readonly connectorType: string;
310
+ readonly customerKeyId: string;
311
+ readonly registeredAt: Date;
312
+ readonly signature: Uint8Array;
313
+ }
314
+ /** What enrolling or rotating a key group returns. */
315
+ export interface KeyEnrollmentResult {
316
+ readonly enrollment: KeyEnrollmentStatement;
317
+ readonly authorization: TeamAuthorizationCertificate;
318
+ }
319
+ export declare function parseKeyEnrollmentStatement(d: Raw): KeyEnrollmentStatement;
320
+ export declare function parseTeamAuthorizationCertificate(d: Raw): TeamAuthorizationCertificate;
321
+ export declare function parseSystemRegistrationCertificate(d: Raw): SystemRegistrationCertificate;
322
+ export declare function parseKeyEnrollmentResult(d: Raw): KeyEnrollmentResult;
263
323
  export {};
264
324
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,iBAAiB,GACzB,sBAAsB,GACtB,qBAAqB,GACrB,WAAW,CAAC;AAChB,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AACrD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;AACnE,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;AAC/D;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,WAAW,GACX,UAAU,CAAC;AACf;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,mBAAmB,GAC3B,SAAS,GACT,2BAA2B,GAC3B,mBAAmB,GACnB,uBAAuB,CAAC;AAK5B,MAAM,MAAM,aAAa,GACrB,YAAY,GACZ,OAAO,GACP,WAAW,GACX,QAAQ,GACR,UAAU,GACV,UAAU,GACV,WAAW,GACX,YAAY,GACZ,SAAS,GACT,OAAO,GACP,OAAO,GACP,WAAW,GACX,OAAO,GACP,WAAW,GACX,eAAe,GACf,IAAI,GACJ,UAAU,GACV,KAAK,GACL,UAAU,GACV,YAAY,CAAC;AACjB,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;AAC7C,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,YAAY,CAAC;AAExD,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AAErD,iDAAiD;AACjD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,CAAC;AAM1E,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;CACnD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,mBAAmB,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IAChD,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC9D;;;;;;;;;OASG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;CACzC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAMD,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;uEACmE;IACnE,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CAC3C;AAMD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1C;AAMD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;uCAImC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAMD;;;8DAG8D;AAC9D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,YAAY,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACtD,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAC9C;AAED,MAAM,WAAW,gBAAgB;IAC/B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAMD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,iFAAiF;IACjF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,SAAS,YAAY,EAAE,CAAC;CACnD;AAMD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,iBAAiB,EAAE,IAAI,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,IAAI,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAMD,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,YAAY,CAAC;AAEpD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAoBD,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAuB1C;AAYD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,GAAG,WAAW,CAWpD;AAUD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,CAStD;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAcpE;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAO9D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAO5C;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAO1D;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,QAAQ,CAQ9C;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAO1D;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAM9D;AAUD,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,GAAG,GAAG,wBAAwB,CAK9E;AAUD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAKpE;AASD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,GAAG,GAAG,gBAAgB,CAW9D;AAED,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,GAAG,GAAG,qBAAqB,CAOxE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,GAAG,GAAG,eAAe,CAU5D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAS1D;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,GAAG,cAAc,CAQ1D;AAgBD,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAW5C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,GAAG,GAAG,YAAY,CAOtD;AAMD;;;yEAGyE;AACzE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED;;mEAEmE;AACnE,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED;;uBAEuB;AACvB,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sEAAsE;IACtE,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC;IAClC;yCACqC;IACrC,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;CAChC;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,4BAA4B,CAAC;CACtD;AAuBD,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,GAAG,GAAG,sBAAsB,CAa1E;AAED,wBAAgB,iCAAiC,CAAC,CAAC,EAAE,GAAG,GAAG,4BAA4B,CAStF;AAED,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,GAAG,GAAG,6BAA6B,CAUxF;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,GAAG,GAAG,mBAAmB,CAKpE"}