@cubist-labs/cubesigner-sdk 0.4.263 → 0.4.266

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 (106) hide show
  1. package/dist/package.json +12 -4
  2. package/dist/src/acl.js +1 -2
  3. package/dist/src/audit_log.d.ts +4 -4
  4. package/dist/src/audit_log.js +116 -119
  5. package/dist/src/bucket.d.ts +2 -2
  6. package/dist/src/bucket.d.ts.map +1 -1
  7. package/dist/src/bucket.js +2 -5
  8. package/dist/src/client/api_client.d.ts +16 -12
  9. package/dist/src/client/api_client.d.ts.map +1 -1
  10. package/dist/src/client/api_client.js +288 -292
  11. package/dist/src/client/base_client.d.ts +6 -6
  12. package/dist/src/client/base_client.d.ts.map +1 -1
  13. package/dist/src/client/base_client.js +27 -38
  14. package/dist/src/client/session.d.ts +2 -2
  15. package/dist/src/client/session.d.ts.map +1 -1
  16. package/dist/src/client/session.js +20 -35
  17. package/dist/src/client.d.ts +18 -18
  18. package/dist/src/client.d.ts.map +1 -1
  19. package/dist/src/client.js +14 -18
  20. package/dist/src/contact.d.ts +3 -3
  21. package/dist/src/contact.d.ts.map +1 -1
  22. package/dist/src/contact.js +4 -8
  23. package/dist/src/diffie_hellman.d.ts +1 -1
  24. package/dist/src/diffie_hellman.d.ts.map +1 -1
  25. package/dist/src/diffie_hellman.js +9 -12
  26. package/dist/src/env.js +13 -20
  27. package/dist/src/error.d.ts +2 -2
  28. package/dist/src/error.d.ts.map +1 -1
  29. package/dist/src/error.js +3 -8
  30. package/dist/src/events.js +2 -6
  31. package/dist/src/evm/index.d.ts +1 -1
  32. package/dist/src/evm/index.d.ts.map +1 -1
  33. package/dist/src/evm/index.js +5 -9
  34. package/dist/src/fetch.d.ts +1 -1
  35. package/dist/src/fetch.d.ts.map +1 -1
  36. package/dist/src/fetch.js +10 -15
  37. package/dist/src/index.d.ts +24 -24
  38. package/dist/src/index.d.ts.map +1 -1
  39. package/dist/src/index.js +25 -48
  40. package/dist/src/key.d.ts +10 -8
  41. package/dist/src/key.d.ts.map +1 -1
  42. package/dist/src/key.js +35 -34
  43. package/dist/src/mfa.d.ts +2 -2
  44. package/dist/src/mfa.d.ts.map +1 -1
  45. package/dist/src/mfa.js +14 -25
  46. package/dist/src/org.d.ts +197 -197
  47. package/dist/src/org.d.ts.map +1 -1
  48. package/dist/src/org.js +28 -32
  49. package/dist/src/paginator.js +3 -8
  50. package/dist/src/passkey.d.ts +1 -1
  51. package/dist/src/passkey.d.ts.map +1 -1
  52. package/dist/src/passkey.js +16 -23
  53. package/dist/src/policy.d.ts +1 -1
  54. package/dist/src/policy.d.ts.map +1 -1
  55. package/dist/src/policy.js +17 -27
  56. package/dist/src/response.d.ts +16 -7
  57. package/dist/src/response.d.ts.map +1 -1
  58. package/dist/src/response.js +42 -21
  59. package/dist/src/retry.d.ts.map +1 -1
  60. package/dist/src/retry.js +5 -11
  61. package/dist/src/role.d.ts +3 -3
  62. package/dist/src/role.d.ts.map +1 -1
  63. package/dist/src/role.js +13 -18
  64. package/dist/src/schema.d.ts +117 -40
  65. package/dist/src/schema.d.ts.map +1 -1
  66. package/dist/src/schema.js +2 -3
  67. package/dist/src/schema_types.d.ts +6 -3
  68. package/dist/src/schema_types.d.ts.map +1 -1
  69. package/dist/src/schema_types.js +11 -7
  70. package/dist/src/scopes.d.ts +1 -1
  71. package/dist/src/scopes.d.ts.map +1 -1
  72. package/dist/src/scopes.js +19 -21
  73. package/dist/src/signer_session.d.ts +1 -1
  74. package/dist/src/signer_session.d.ts.map +1 -1
  75. package/dist/src/signer_session.js +2 -6
  76. package/dist/src/user_export.d.ts +1 -1
  77. package/dist/src/user_export.d.ts.map +1 -1
  78. package/dist/src/user_export.js +10 -18
  79. package/dist/src/util.js +9 -19
  80. package/package.json +12 -4
  81. package/src/audit_log.ts +1 -1
  82. package/src/bucket.ts +2 -2
  83. package/src/client/api_client.ts +25 -19
  84. package/src/client/base_client.ts +10 -10
  85. package/src/client/session.ts +4 -4
  86. package/src/client.ts +12 -6
  87. package/src/contact.ts +3 -3
  88. package/src/diffie_hellman.ts +3 -3
  89. package/src/env.ts +3 -3
  90. package/src/error.ts +2 -2
  91. package/src/evm/index.ts +1 -1
  92. package/src/fetch.ts +3 -3
  93. package/src/index.ts +29 -24
  94. package/src/key.ts +16 -12
  95. package/src/mfa.ts +3 -3
  96. package/src/org.ts +4 -4
  97. package/src/passkey.ts +1 -1
  98. package/src/policy.ts +2 -2
  99. package/src/response.ts +57 -12
  100. package/src/role.ts +3 -3
  101. package/src/schema.ts +110 -23
  102. package/src/schema_types.ts +14 -3
  103. package/src/scopes.ts +2 -1
  104. package/src/signer_session.ts +1 -1
  105. package/src/user_export.ts +2 -2
  106. package/tsconfig.json +12 -0
package/dist/src/util.js CHANGED
@@ -1,13 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pathJoin = pathJoin;
4
- exports.decodeBase64 = decodeBase64;
5
- exports.decodeBase64Url = decodeBase64Url;
6
- exports.encodeToBase64 = encodeToBase64;
7
- exports.encodeToBase64Url = encodeToBase64Url;
8
- exports.delay = delay;
9
- exports.encodeToHex = encodeToHex;
10
- exports.decodeFromHex = decodeFromHex;
11
1
  /**
12
2
  * Path join
13
3
  *
@@ -15,7 +5,7 @@ exports.decodeFromHex = decodeFromHex;
15
5
  * @param file Pathname
16
6
  * @returns New pathname
17
7
  */
18
- function pathJoin(dir, file) {
8
+ export function pathJoin(dir, file) {
19
9
  const sep = globalThis?.process?.platform === "win32" ? "\\" : "/";
20
10
  return `${dir}${sep}${file}`;
21
11
  }
@@ -27,7 +17,7 @@ const nodeBuffer = typeof Buffer === "function" ? Buffer : undefined;
27
17
  * @param b64 The 'base64'-encoded string to decode
28
18
  * @returns Decoded byte array
29
19
  */
30
- function decodeBase64(b64) {
20
+ export function decodeBase64(b64) {
31
21
  return nodeBuffer
32
22
  ? nodeBuffer.from(b64, "base64")
33
23
  : Uint8Array.from(atob(b64), (c) => c.charCodeAt(0));
@@ -38,7 +28,7 @@ function decodeBase64(b64) {
38
28
  * @param b64url The 'base64url'-encoded string to decode
39
29
  * @returns Decoded byte array
40
30
  */
41
- function decodeBase64Url(b64url) {
31
+ export function decodeBase64Url(b64url) {
42
32
  // NOTE: there is no "base64url" encoding in the "buffer" module for the browser (unlike in node.js)
43
33
  const b64 = b64url.replace(/-/g, "+").replace(/_/g, "/").replace(/=*$/g, "");
44
34
  return decodeBase64(b64);
@@ -50,7 +40,7 @@ function decodeBase64Url(b64url) {
50
40
  * @param buffer The byte array to encode
51
41
  * @returns The 'base64' encoding of the byte array.
52
42
  */
53
- function encodeToBase64(buffer) {
43
+ export function encodeToBase64(buffer) {
54
44
  const bytes = buffer instanceof ArrayBuffer ? new Uint8Array(buffer) : new Uint8Array(buffer);
55
45
  const b64 = nodeBuffer
56
46
  ? nodeBuffer.from(bytes).toString("base64")
@@ -63,7 +53,7 @@ function encodeToBase64(buffer) {
63
53
  * @param buffer The byte array to encode
64
54
  * @returns The 'base64url' encoding of the byte array.
65
55
  */
66
- function encodeToBase64Url(buffer) {
56
+ export function encodeToBase64Url(buffer) {
67
57
  const b64 = encodeToBase64(buffer);
68
58
  // NOTE: there is no "base64url" encoding in the "buffer" module for the browser (unlike in node.js)
69
59
  return b64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=*$/g, "");
@@ -74,7 +64,7 @@ function encodeToBase64Url(buffer) {
74
64
  * @param ms Milliseconds to sleep
75
65
  * @returns A promise that is resolved after `ms` milliseconds.
76
66
  */
77
- function delay(ms) {
67
+ export function delay(ms) {
78
68
  return new Promise((resolve) => setTimeout(resolve, ms));
79
69
  }
80
70
  /**
@@ -84,7 +74,7 @@ function delay(ms) {
84
74
  * @param message The input
85
75
  * @returns Hex string prefixed with "0x"
86
76
  */
87
- function encodeToHex(message) {
77
+ export function encodeToHex(message) {
88
78
  const bytes = typeof message === "string" ? new TextEncoder().encode(message) : message;
89
79
  return "0x" + Array.from(bytes, (b) => b.toString(16).padStart(2, "0")).join("");
90
80
  }
@@ -94,7 +84,7 @@ function encodeToHex(message) {
94
84
  * @param hex The hex string to decode, with or without a "0x" prefix
95
85
  * @returns Decoded byte array
96
86
  */
97
- function decodeFromHex(hex) {
87
+ export function decodeFromHex(hex) {
98
88
  const clean = hex.startsWith("0x") ? hex.slice(2) : hex;
99
89
  if (clean.length % 2 !== 0) {
100
90
  throw new Error(`Invalid hexadecimal string length, must be even: ${clean.length}`);
@@ -108,4 +98,4 @@ function decodeFromHex(hex) {
108
98
  }
109
99
  return bytes;
110
100
  }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBd0JBLDRCQUdDO0FBV0Qsb0NBSUM7QUFRRCwwQ0FJQztBQVNELHdDQU1DO0FBUUQsOENBSUM7QUFRRCxzQkFFQztBQVNELGtDQUdDO0FBUUQsc0NBZ0JDO0FBOUdEOzs7Ozs7R0FNRztBQUNILFNBQWdCLFFBQVEsQ0FBQyxHQUFXLEVBQUUsSUFBWTtJQUNoRCxNQUFNLEdBQUcsR0FBRyxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ25FLE9BQU8sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFFRCxzR0FBc0c7QUFDdEcsTUFBTSxVQUFVLEdBQUcsT0FBTyxNQUFNLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUVyRTs7Ozs7R0FLRztBQUNILFNBQWdCLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLE9BQU8sVUFBVTtRQUNmLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7UUFDaEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsZUFBZSxDQUFDLE1BQWM7SUFDNUMsb0dBQW9HO0lBQ3BHLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxD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TSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEpTT04gbWFwIHR5cGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk1hcCB7XG4gIFttZW1iZXI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgSnNvbkFycmF5IHwgSnNvbk1hcDtcbn1cblxuLyoqIEpTT04gYXJyYXkgdHlwZSAqL1xuZXhwb3J0IHR5cGUgSnNvbkFycmF5ID0gQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBKc29uQXJyYXkgfCBKc29uTWFwPjtcblxuLyoqIEFueSBKU09OIHZhbHVlICovXG5leHBvcnQgdHlwZSBKc29uVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IEpzb25BcnJheSB8IEpzb25NYXA7XG5cbi8qKiBUaGUgYWRkcmVzcyBvZiBhIGNvbnRyYWN0LiAqL1xuZXhwb3J0IHR5cGUgQ29udHJhY3RBZGRyZXNzID0ge1xuICBjaGFpbl9pZDogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFBhdGggam9pblxuICpcbiAqIEBwYXJhbSBkaXIgUGFyZW50IGRpcmVjdG9yeVxuICogQHBhcmFtIGZpbGUgUGF0aG5hbWVcbiAqIEByZXR1cm5zIE5ldyBwYXRobmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGF0aEpvaW4oZGlyOiBzdHJpbmcsIGZpbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNlcCA9IGdsb2JhbFRoaXM/LnByb2Nlc3M/LnBsYXRmb3JtID09PSBcIndpbjMyXCIgPyBcIlxcXFxcIiA6IFwiL1wiO1xuICByZXR1cm4gYCR7ZGlyfSR7c2VwfSR7ZmlsZX1gO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzIC0tIGludGVudGlvbmFsbHkgY2hlY2tpbmcgZm9yIEJ1ZmZlciBiZWZvcmUgdXNpbmcgaXRcbmNvbnN0IG5vZGVCdWZmZXIgPSB0eXBlb2YgQnVmZmVyID09PSBcImZ1bmN0aW9uXCIgPyBCdWZmZXIgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQnJvd3Nlci1mcmllbmRseSBoZWxwZXIgZm9yIGRlY29kaW5nIGEgJ2Jhc2U2NCctZW5jb2RlZCBzdHJpbmcgaW50byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogQHBhcmFtIGI2NCBUaGUgJ2Jhc2U2NCctZW5jb2RlZCBzdHJpbmcgdG8gZGVjb2RlXG4gKiBAcmV0dXJucyBEZWNvZGVkIGJ5dGUgYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUJhc2U2NChiNjQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICByZXR1cm4gbm9kZUJ1ZmZlclxuICAgID8gbm9kZUJ1ZmZlci5mcm9tKGI2NCwgXCJiYXNlNjRcIilcbiAgICA6IFVpbnQ4QXJyYXkuZnJvbShhdG9iKGI2NCksIChjKSA9PiBjLmNoYXJDb2RlQXQoMCkpO1xufVxuXG4vKipcbiAqIEJyb3dzZXItZnJpZW5kbHkgaGVscGVyIGZvciBkZWNvZGluZyBhICdiYXNlNjR1cmwnLWVuY29kZWQgc3RyaW5nIGludG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEBwYXJhbSBiNjR1cmwgVGhlICdiYXNlNjR1cmwnLWVuY29kZWQgc3RyaW5nIHRvIGRlY29kZVxuICogQHJldHVybnMgRGVjb2RlZCBieXRlIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCYXNlNjRVcmwoYjY0dXJsOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgLy8gTk9URTogdGhlcmUgaXMgbm8gXCJiYXNlNjR1cmxcIiBlbmNvZGluZyBpbiB0aGUgXCJidWZmZXJcIiBtb2R1bGUgZm9yIHRoZSBicm93c2VyICh1bmxpa2UgaW4gbm9kZS5qcylcbiAgY29uc3QgYjY0ID0gYjY0dXJsLnJlcGxhY2UoLy0vZywgXCIrXCIpLnJlcGxhY2UoL18vZywgXCIvXCIpLnJlcGxhY2UoLz0qJC9nLCBcIlwiKTtcbiAgcmV0dXJuIGRlY29kZUJhc2U2NChiNjQpO1xufVxuXG4vKipcbiAqXG4gKiBCcm93c2VyLWZyaWVuZGx5IGhlbHBlciBmb3IgZW5jb2RpbmcgYSBieXRlIGFycmF5IGludG8gYSBwYWRkZWQgYGJhc2U2NGAtZW5jb2RlZCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGJ1ZmZlciBUaGUgYnl0ZSBhcnJheSB0byBlbmNvZGVcbiAqIEByZXR1cm5zIFRoZSAnYmFzZTY0JyBlbmNvZGluZyBvZiB0aGUgYnl0ZSBhcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRvQmFzZTY0KGJ1ZmZlcjogSXRlcmFibGU8bnVtYmVyPiB8IEFycmF5QnVmZmVyKTogc3RyaW5nIHtcbiAgY29uc3QgYnl0ZXMgPSBidWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciA/IG5ldyBVaW50OEFycmF5KGJ1ZmZlcikgOiBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICBjb25zdCBiNjQgPSBub2RlQnVmZmVyXG4gICAgPyBub2RlQnVmZmVyLmZyb20oYnl0ZXMpLnRvU3RyaW5nKFwiYmFzZTY0XCIpXG4gICAgOiBidG9hKGJ5dGVzLnJlZHVjZSgocywgYikgPT4gcyArIFN0cmluZy5mcm9tQ2hhckNvZGUoYiksIFwiXCIpKTtcbiAgcmV0dXJuIGI2NDtcbn1cblxuLyoqXG4gKiBCcm93c2VyLWZyaWVuZGx5IGhlbHBlciBmb3IgZW5jb2RpbmcgYSBieXRlIGFycmF5IGludG8gYSAnYmFzZTY0dXJsYC1lbmNvZGVkIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyIFRoZSBieXRlIGFycmF5IHRvIGVuY29kZVxuICogQHJldHVybnMgVGhlICdiYXNlNjR1cmwnIGVuY29kaW5nIG9mIHRoZSBieXRlIGFycmF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlVG9CYXNlNjRVcmwoYnVmZmVyOiBJdGVyYWJsZTxudW1iZXI+IHwgQXJyYXlCdWZmZXIpOiBzdHJpbmcge1xuICBjb25zdCBiNjQgPSBlbmNvZGVUb0Jhc2U2NChidWZmZXIpO1xuICAvLyBOT1RFOiB0aGVyZSBpcyBubyBcImJhc2U2NHVybFwiIGVuY29kaW5nIGluIHRoZSBcImJ1ZmZlclwiIG1vZHVsZSBmb3IgdGhlIGJyb3dzZXIgKHVubGlrZSBpbiBub2RlLmpzKVxuICByZXR1cm4gYjY0LnJlcGxhY2UoL1xcKy9nLCBcIi1cIikucmVwbGFjZSgvXFwvL2csIFwiX1wiKS5yZXBsYWNlKC89KiQvZywgXCJcIik7XG59XG5cbi8qKlxuICogU2xlZXBzIGZvciBgbXNgIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gbXMgTWlsbGlzZWNvbmRzIHRvIHNsZWVwXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciBgbXNgIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgb3IgYSB1aW50OCBhcnJheSBpbnRvIGEgaGV4IHN0cmluZy4gU3RyaW5ncyBhcmUgZW5jb2RlZCBpbiBVVEYtOCBiZWZvcmVcbiAqIGJlaW5nIGNvbnZlcnRlZCB0byBoZXguXG4gKlxuICogQHBhcmFtIG1lc3NhZ2UgVGhlIGlucHV0XG4gKiBAcmV0dXJucyBIZXggc3RyaW5nIHByZWZpeGVkIHdpdGggXCIweFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVUb0hleChtZXNzYWdlOiBzdHJpbmcgfCBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgY29uc3QgYnl0ZXMgPSB0eXBlb2YgbWVzc2FnZSA9PT0gXCJzdHJpbmdcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShtZXNzYWdlKSA6IG1lc3NhZ2U7XG4gIHJldHVybiBcIjB4XCIgKyBBcnJheS5mcm9tKGJ5dGVzLCAoYikgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpKS5qb2luKFwiXCIpO1xufVxuXG4vKipcbiAqIERlY29kZXMgYSBoZXggc3RyaW5nIGludG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEBwYXJhbSBoZXggVGhlIGhleCBzdHJpbmcgdG8gZGVjb2RlLCB3aXRoIG9yIHdpdGhvdXQgYSBcIjB4XCIgcHJlZml4XG4gKiBAcmV0dXJucyBEZWNvZGVkIGJ5dGUgYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUZyb21IZXgoaGV4OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgY2xlYW4gPSBoZXguc3RhcnRzV2l0aChcIjB4XCIpID8gaGV4LnNsaWNlKDIpIDogaGV4O1xuXG4gIGlmIChjbGVhbi5sZW5ndGggJSAyICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGhleGFkZWNpbWFsIHN0cmluZyBsZW5ndGgsIG11c3QgYmUgZXZlbjogJHtjbGVhbi5sZW5ndGh9YCk7XG4gIH1cblxuICBpZiAoIS9eWzAtOWEtZkEtRl0qJC8udGVzdChjbGVhbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGV4YWRlY2ltYWwgY2hhcmFjdGVyIGluOiAnJHtjbGVhbn0nYCk7XG4gIH1cblxuICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGNsZWFuLmxlbmd0aCAvIDIpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYnl0ZXNbaV0gPSBwYXJzZUludChjbGVhbi5zbGljZShpICogMiwgaSAqIDIgKyAyKSwgMTYpO1xuICB9XG4gIHJldHVybiBieXRlcztcbn1cbiJdfQ==
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVcsRUFBRSxJQUFZO0lBQ2hELE1BQU0sR0FBRyxHQUFHLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbkUsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELHNHQUFzRztBQUN0RyxNQUFNLFVBQVUsR0FBRyxPQUFPLE1BQU0sS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBRXJFOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXO0lBQ3RDLE9BQU8sVUFBVTtRQUNmLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUM7UUFDaEMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFjO0lBQzVDLG9HQUFvRztJQUNwRyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDN0UsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxjQUFjLENBQUMsTUFBc0M7SUFDbkUsTUFBTSxLQUFLLEdBQUcsTUFBTSxZQUFZLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlGLE1BQU0sR0FBRyxHQUFHLFVBQVU7UUFDcEIsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUMzQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLE1BQXNDO0lBQ3RFLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxvR0FBb0c7SUFDcEcsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxFQUFVO0lBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUE0QjtJQUN0RCxNQUFNLEtBQUssR0FBRyxPQUFPLE9BQU8sS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDeEYsT0FBTyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFDLEdBQVc7SUFDdkMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBRXhELElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxvREFBb0QsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEpTT04gbWFwIHR5cGUgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSnNvbk1hcCB7XG4gIFttZW1iZXI6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBudWxsIHwgSnNvbkFycmF5IHwgSnNvbk1hcDtcbn1cblxuLyoqIEpTT04gYXJyYXkgdHlwZSAqL1xuZXhwb3J0IHR5cGUgSnNvbkFycmF5ID0gQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IG51bGwgfCBKc29uQXJyYXkgfCBKc29uTWFwPjtcblxuLyoqIEFueSBKU09OIHZhbHVlICovXG5leHBvcnQgdHlwZSBKc29uVmFsdWUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgbnVsbCB8IEpzb25BcnJheSB8IEpzb25NYXA7XG5cbi8qKiBUaGUgYWRkcmVzcyBvZiBhIGNvbnRyYWN0LiAqL1xuZXhwb3J0IHR5cGUgQ29udHJhY3RBZGRyZXNzID0ge1xuICBjaGFpbl9pZDogc3RyaW5nO1xuICBhZGRyZXNzOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIFBhdGggam9pblxuICpcbiAqIEBwYXJhbSBkaXIgUGFyZW50IGRpcmVjdG9yeVxuICogQHBhcmFtIGZpbGUgUGF0aG5hbWVcbiAqIEByZXR1cm5zIE5ldyBwYXRobmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGF0aEpvaW4oZGlyOiBzdHJpbmcsIGZpbGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHNlcCA9IGdsb2JhbFRoaXM/LnByb2Nlc3M/LnBsYXRmb3JtID09PSBcIndpbjMyXCIgPyBcIlxcXFxcIiA6IFwiL1wiO1xuICByZXR1cm4gYCR7ZGlyfSR7c2VwfSR7ZmlsZX1gO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1nbG9iYWxzIC0tIGludGVudGlvbmFsbHkgY2hlY2tpbmcgZm9yIEJ1ZmZlciBiZWZvcmUgdXNpbmcgaXRcbmNvbnN0IG5vZGVCdWZmZXIgPSB0eXBlb2YgQnVmZmVyID09PSBcImZ1bmN0aW9uXCIgPyBCdWZmZXIgOiB1bmRlZmluZWQ7XG5cbi8qKlxuICogQnJvd3Nlci1mcmllbmRseSBoZWxwZXIgZm9yIGRlY29kaW5nIGEgJ2Jhc2U2NCctZW5jb2RlZCBzdHJpbmcgaW50byBhIGJ5dGUgYXJyYXkuXG4gKlxuICogQHBhcmFtIGI2NCBUaGUgJ2Jhc2U2NCctZW5jb2RlZCBzdHJpbmcgdG8gZGVjb2RlXG4gKiBAcmV0dXJucyBEZWNvZGVkIGJ5dGUgYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUJhc2U2NChiNjQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICByZXR1cm4gbm9kZUJ1ZmZlclxuICAgID8gbm9kZUJ1ZmZlci5mcm9tKGI2NCwgXCJiYXNlNjRcIilcbiAgICA6IFVpbnQ4QXJyYXkuZnJvbShhdG9iKGI2NCksIChjKSA9PiBjLmNoYXJDb2RlQXQoMCkpO1xufVxuXG4vKipcbiAqIEJyb3dzZXItZnJpZW5kbHkgaGVscGVyIGZvciBkZWNvZGluZyBhICdiYXNlNjR1cmwnLWVuY29kZWQgc3RyaW5nIGludG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEBwYXJhbSBiNjR1cmwgVGhlICdiYXNlNjR1cmwnLWVuY29kZWQgc3RyaW5nIHRvIGRlY29kZVxuICogQHJldHVybnMgRGVjb2RlZCBieXRlIGFycmF5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWNvZGVCYXNlNjRVcmwoYjY0dXJsOiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgLy8gTk9URTogdGhlcmUgaXMgbm8gXCJiYXNlNjR1cmxcIiBlbmNvZGluZyBpbiB0aGUgXCJidWZmZXJcIiBtb2R1bGUgZm9yIHRoZSBicm93c2VyICh1bmxpa2UgaW4gbm9kZS5qcylcbiAgY29uc3QgYjY0ID0gYjY0dXJsLnJlcGxhY2UoLy0vZywgXCIrXCIpLnJlcGxhY2UoL18vZywgXCIvXCIpLnJlcGxhY2UoLz0qJC9nLCBcIlwiKTtcbiAgcmV0dXJuIGRlY29kZUJhc2U2NChiNjQpO1xufVxuXG4vKipcbiAqXG4gKiBCcm93c2VyLWZyaWVuZGx5IGhlbHBlciBmb3IgZW5jb2RpbmcgYSBieXRlIGFycmF5IGludG8gYSBwYWRkZWQgYGJhc2U2NGAtZW5jb2RlZCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGJ1ZmZlciBUaGUgYnl0ZSBhcnJheSB0byBlbmNvZGVcbiAqIEByZXR1cm5zIFRoZSAnYmFzZTY0JyBlbmNvZGluZyBvZiB0aGUgYnl0ZSBhcnJheS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZVRvQmFzZTY0KGJ1ZmZlcjogSXRlcmFibGU8bnVtYmVyPiB8IEFycmF5QnVmZmVyKTogc3RyaW5nIHtcbiAgY29uc3QgYnl0ZXMgPSBidWZmZXIgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciA/IG5ldyBVaW50OEFycmF5KGJ1ZmZlcikgOiBuZXcgVWludDhBcnJheShidWZmZXIpO1xuICBjb25zdCBiNjQgPSBub2RlQnVmZmVyXG4gICAgPyBub2RlQnVmZmVyLmZyb20oYnl0ZXMpLnRvU3RyaW5nKFwiYmFzZTY0XCIpXG4gICAgOiBidG9hKGJ5dGVzLnJlZHVjZSgocywgYikgPT4gcyArIFN0cmluZy5mcm9tQ2hhckNvZGUoYiksIFwiXCIpKTtcbiAgcmV0dXJuIGI2NDtcbn1cblxuLyoqXG4gKiBCcm93c2VyLWZyaWVuZGx5IGhlbHBlciBmb3IgZW5jb2RpbmcgYSBieXRlIGFycmF5IGludG8gYSAnYmFzZTY0dXJsYC1lbmNvZGVkIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyIFRoZSBieXRlIGFycmF5IHRvIGVuY29kZVxuICogQHJldHVybnMgVGhlICdiYXNlNjR1cmwnIGVuY29kaW5nIG9mIHRoZSBieXRlIGFycmF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW5jb2RlVG9CYXNlNjRVcmwoYnVmZmVyOiBJdGVyYWJsZTxudW1iZXI+IHwgQXJyYXlCdWZmZXIpOiBzdHJpbmcge1xuICBjb25zdCBiNjQgPSBlbmNvZGVUb0Jhc2U2NChidWZmZXIpO1xuICAvLyBOT1RFOiB0aGVyZSBpcyBubyBcImJhc2U2NHVybFwiIGVuY29kaW5nIGluIHRoZSBcImJ1ZmZlclwiIG1vZHVsZSBmb3IgdGhlIGJyb3dzZXIgKHVubGlrZSBpbiBub2RlLmpzKVxuICByZXR1cm4gYjY0LnJlcGxhY2UoL1xcKy9nLCBcIi1cIikucmVwbGFjZSgvXFwvL2csIFwiX1wiKS5yZXBsYWNlKC89KiQvZywgXCJcIik7XG59XG5cbi8qKlxuICogU2xlZXBzIGZvciBgbXNgIG1pbGxpc2Vjb25kcy5cbiAqXG4gKiBAcGFyYW0gbXMgTWlsbGlzZWNvbmRzIHRvIHNsZWVwXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCBpcyByZXNvbHZlZCBhZnRlciBgbXNgIG1pbGxpc2Vjb25kcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5KG1zOiBudW1iZXIpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIG1zKSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBzdHJpbmcgb3IgYSB1aW50OCBhcnJheSBpbnRvIGEgaGV4IHN0cmluZy4gU3RyaW5ncyBhcmUgZW5jb2RlZCBpbiBVVEYtOCBiZWZvcmVcbiAqIGJlaW5nIGNvbnZlcnRlZCB0byBoZXguXG4gKlxuICogQHBhcmFtIG1lc3NhZ2UgVGhlIGlucHV0XG4gKiBAcmV0dXJucyBIZXggc3RyaW5nIHByZWZpeGVkIHdpdGggXCIweFwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVUb0hleChtZXNzYWdlOiBzdHJpbmcgfCBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgY29uc3QgYnl0ZXMgPSB0eXBlb2YgbWVzc2FnZSA9PT0gXCJzdHJpbmdcIiA/IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShtZXNzYWdlKSA6IG1lc3NhZ2U7XG4gIHJldHVybiBcIjB4XCIgKyBBcnJheS5mcm9tKGJ5dGVzLCAoYikgPT4gYi50b1N0cmluZygxNikucGFkU3RhcnQoMiwgXCIwXCIpKS5qb2luKFwiXCIpO1xufVxuXG4vKipcbiAqIERlY29kZXMgYSBoZXggc3RyaW5nIGludG8gYSBieXRlIGFycmF5LlxuICpcbiAqIEBwYXJhbSBoZXggVGhlIGhleCBzdHJpbmcgdG8gZGVjb2RlLCB3aXRoIG9yIHdpdGhvdXQgYSBcIjB4XCIgcHJlZml4XG4gKiBAcmV0dXJucyBEZWNvZGVkIGJ5dGUgYXJyYXlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZUZyb21IZXgoaGV4OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgY29uc3QgY2xlYW4gPSBoZXguc3RhcnRzV2l0aChcIjB4XCIpID8gaGV4LnNsaWNlKDIpIDogaGV4O1xuXG4gIGlmIChjbGVhbi5sZW5ndGggJSAyICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGhleGFkZWNpbWFsIHN0cmluZyBsZW5ndGgsIG11c3QgYmUgZXZlbjogJHtjbGVhbi5sZW5ndGh9YCk7XG4gIH1cblxuICBpZiAoIS9eWzAtOWEtZkEtRl0qJC8udGVzdChjbGVhbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgaGV4YWRlY2ltYWwgY2hhcmFjdGVyIGluOiAnJHtjbGVhbn0nYCk7XG4gIH1cblxuICBjb25zdCBieXRlcyA9IG5ldyBVaW50OEFycmF5KGNsZWFuLmxlbmd0aCAvIDIpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgYnl0ZXNbaV0gPSBwYXJzZUludChjbGVhbi5zbGljZShpICogMiwgaSAqIDIgKyAyKSwgMTYpO1xuICB9XG4gIHJldHVybiBieXRlcztcbn1cbiJdfQ==
package/package.json CHANGED
@@ -5,11 +5,19 @@
5
5
  "url": "git+https://github.com/cubist-labs/CubeSigner-TypeScript-SDK.git",
6
6
  "directory": "packages/sdk"
7
7
  },
8
- "version": "0.4.263",
8
+ "version": "0.4.266",
9
+ "type": "module",
9
10
  "description": "CubeSigner TypeScript SDK",
10
11
  "license": "MIT OR Apache-2.0",
11
12
  "author": "Cubist, Inc.",
12
13
  "main": "dist/src/index.js",
14
+ "types": "dist/src/index.d.ts",
15
+ "exports": {
16
+ ".": {
17
+ "types": "./dist/src/index.d.ts",
18
+ "default": "./dist/src/index.js"
19
+ }
20
+ },
13
21
  "files": [
14
22
  "tsconfig.json",
15
23
  "src/**",
@@ -22,7 +30,7 @@
22
30
  "build": "tsc",
23
31
  "prepack": "npm run build",
24
32
  "gen-schema": "openapi-typescript ./spec/openapi.json --output ./src/schema.ts",
25
- "test": "jest --maxWorkers=1",
33
+ "test": "vitest run",
26
34
  "typedoc": "typedoc"
27
35
  },
28
36
  "dependencies": {
@@ -33,13 +41,13 @@
33
41
  "@hpke/core": "^1.2.7"
34
42
  },
35
43
  "engines": {
36
- "node": ">=18.0.0"
44
+ "node": ">=20.19.0"
37
45
  },
38
46
  "directories": {
39
47
  "test": "test"
40
48
  },
41
49
  "devDependencies": {
42
50
  "openapi-typescript-helpers": "^0.0.7",
43
- "typescript": "^5.5"
51
+ "typescript": "~5.8.3"
44
52
  }
45
53
  }
package/src/audit_log.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod/mini";
2
- import type { components } from "./schema";
2
+ import type { components } from "./schema.ts";
3
3
 
4
4
  type OrgEventDiscriminants = components["schemas"]["OrgEventDiscriminants"];
5
5
  type BillingEvent = components["schemas"]["BillingEvent"];
package/src/bucket.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { Ace, AceAttribute } from "./acl";
2
- import type { BucketAction, schemas } from "./schema_types";
1
+ import type { Ace, AceAttribute } from "./acl.ts";
2
+ import type { BucketAction, schemas } from "./schema_types.ts";
3
3
 
4
4
  /** Access control entry for policy buckets */
5
5
  export type BucketAce = Ace<
@@ -72,23 +72,24 @@ import type {
72
72
  UpdateBucketRequest,
73
73
  PolicyInfo,
74
74
  JsonRpcRequest,
75
- } from "../schema_types";
76
- import { encodeToBase64 } from "../util";
77
- import { auditLogEntrySchema } from "../audit_log";
75
+ JsonRpcResult,
76
+ } from "../schema_types.ts";
77
+ import { encodeToBase64 } from "../util.ts";
78
+ import { auditLogEntrySchema } from "../audit_log.ts";
78
79
  import {
79
80
  AddFidoChallenge,
80
81
  MfaFidoChallenge,
81
82
  MfaEmailChallenge,
82
83
  TotpChallenge,
83
84
  ResetEmailChallenge,
84
- } from "../mfa";
85
- import { CubeSignerResponse, mapResponse } from "../response";
86
- import type { Key, KeyType } from "../key";
87
- import type { PageOpts } from "../paginator";
88
- import { Page, Paginator } from "../paginator";
89
- import type { KeyPolicy } from "../role";
90
- import { loadSubtleCrypto } from "../user_export";
91
- import type * as policy from "../policy";
85
+ } from "../mfa.ts";
86
+ import { CubeSignerResponse, mapResponse } from "../response.ts";
87
+ import type { Key, KeyType } from "../key.ts";
88
+ import type { PageOpts } from "../paginator.ts";
89
+ import { Page, Paginator } from "../paginator.ts";
90
+ import type { KeyPolicy } from "../role.ts";
91
+ import { loadSubtleCrypto } from "../user_export.ts";
92
+ import type * as policy from "../policy.ts";
92
93
  import {
93
94
  type AddIdentityRequest,
94
95
  type AvaChain,
@@ -165,20 +166,20 @@ import {
165
166
  coercePolicyInfo,
166
167
  type BucketInfo,
167
168
  MultiRegionEnv,
168
- } from "../index";
169
- import { assertOk, op, type Op, type Operation, apiFetch } from "../fetch";
169
+ } from "../index.ts";
170
+ import { assertOk, op, type Op, type Operation, apiFetch } from "../fetch.ts";
170
171
  import {
171
172
  authHeader,
172
173
  BaseClient,
173
174
  type ClientConfig,
174
175
  signerSessionFromSessionInfo,
175
- } from "./base_client";
176
- import { retryOn5XX } from "../retry";
177
- import { PasskeyLoginChallenge } from "../passkey";
176
+ } from "./base_client.ts";
177
+ import { retryOn5XX } from "../retry.ts";
178
+ import { PasskeyLoginChallenge } from "../passkey.ts";
178
179
 
179
180
  // these types are used in doc comments only
180
181
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
181
- import type { RoleAttestationClaims, KeyAttestationClaims } from "../schema_types";
182
+ import type { RoleAttestationClaims, KeyAttestationClaims } from "../schema_types.ts";
182
183
  import { mergeHeaders } from "openapi-fetch";
183
184
 
184
185
  /**
@@ -211,6 +212,11 @@ export type SessionSelector =
211
212
  * they are still a member of.
212
213
  */
213
214
  role_created_by: string;
215
+
216
+ /**
217
+ * Optionally restrict to the sessions of this concrete role
218
+ */
219
+ role?: string;
214
220
  };
215
221
 
216
222
  /**
@@ -3038,7 +3044,7 @@ export class ApiClient extends BaseClient {
3038
3044
  async rpc(
3039
3045
  body: JsonRpcRequest,
3040
3046
  mfaReceipt?: MfaReceipts,
3041
- ): Promise<CubeSignerResponse<schemas["JsonRpcResponse"]>> {
3047
+ ): Promise<CubeSignerResponse<JsonRpcResult>> {
3042
3048
  const o = op("/v0/org/{org_id}/rpc", "post");
3043
3049
  const reqFn = (headers?: HeadersInit) =>
3044
3050
  this.exec(o, {
@@ -3048,7 +3054,7 @@ export class ApiClient extends BaseClient {
3048
3054
  ...body,
3049
3055
  },
3050
3056
  });
3051
- return await CubeSignerResponse.create(this.env, reqFn, mfaReceipt);
3057
+ return await CubeSignerResponse.createForJsonRpc(this.env, reqFn, mfaReceipt);
3052
3058
  }
3053
3059
 
3054
3060
  // #endregion
@@ -1,14 +1,14 @@
1
1
  // NOTE: add '// @ts-nocheck' at the top of this file to speed up type checking
2
- import pkg from "../../package.json";
3
- import type { FetchResponseSuccessData, Op, Operation, SimpleOptions } from "../fetch";
4
- import { assertOk } from "../fetch";
5
- import { retry } from "../retry";
6
- import { EventEmitter } from "../events";
7
- import { ErrResponse } from "../error";
8
- import type { SessionData, SessionManager, SessionMetadata } from "./session";
9
- import { MemorySessionManager, metadata, parseBase64SessionData } from "./session";
10
- import type { NewSessionResponse, ErrorResponse } from "../schema_types";
11
- import type { EnvInterface } from "../env";
2
+ import pkg from "../../package.json" with { type: "json" };
3
+ import type { FetchResponseSuccessData, Op, Operation, SimpleOptions } from "../fetch.ts";
4
+ import { assertOk } from "../fetch.ts";
5
+ import { retry } from "../retry.ts";
6
+ import { EventEmitter } from "../events.ts";
7
+ import { ErrResponse } from "../error.ts";
8
+ import type { SessionData, SessionManager, SessionMetadata } from "./session.ts";
9
+ import { MemorySessionManager, metadata, parseBase64SessionData } from "./session.ts";
10
+ import type { NewSessionResponse, ErrorResponse } from "../schema_types.ts";
11
+ import type { EnvInterface } from "../env.ts";
12
12
  import { mergeHeaders } from "openapi-fetch";
13
13
 
14
14
  /** CubeSigner SDK package name */
@@ -1,7 +1,7 @@
1
- import type { EnvInterface, Region, StackName } from "../env";
2
- import { apiFetch, assertOk } from "../fetch";
3
- import { retryOn5XX } from "../retry";
4
- import type { ClientSessionInfo } from "../schema_types";
1
+ import type { EnvInterface, Region, StackName } from "../env.ts";
2
+ import { apiFetch, assertOk } from "../fetch.ts";
3
+ import { retryOn5XX } from "../retry.ts";
4
+ import type { ClientSessionInfo } from "../schema_types.ts";
5
5
 
6
6
  /** Prefix used for CubeSigner OAuth tokens */
7
7
  const CUBESIGNER_PREFIX = "3d6fd7397:";
package/src/client.ts CHANGED
@@ -1,12 +1,18 @@
1
- import { ApiClient } from "./client/api_client";
2
- import type { EmailOtpResponse, IdentityProof, RatchetConfig } from "./schema_types";
1
+ import { ApiClient } from "./client/api_client.ts";
2
+ import type { EmailOtpResponse, IdentityProof, RatchetConfig } from "./schema_types.ts";
3
3
 
4
4
  // used in doc comments
5
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
- import { AddFidoChallenge, TotpChallenge } from "./mfa";
7
- import { Org } from "./org";
8
- import type { EnvInterface, MfaReceipts, SessionData, SessionInfo, SessionManager } from ".";
9
- import { Key } from ".";
6
+ import { AddFidoChallenge, TotpChallenge } from "./mfa.ts";
7
+ import { Org } from "./org.ts";
8
+ import type {
9
+ EnvInterface,
10
+ MfaReceipts,
11
+ SessionData,
12
+ SessionInfo,
13
+ SessionManager,
14
+ } from "./index.ts";
15
+ import { Key } from "./index.ts";
10
16
 
11
17
  /** Options for logging in with OIDC token */
12
18
  export interface OidcAuthOptions {
package/src/contact.ts CHANGED
@@ -7,9 +7,9 @@ import type {
7
7
  JsonValue,
8
8
  MfaReceipts,
9
9
  UpdateContactRequest,
10
- } from ".";
11
- import { CubeSignerClient } from ".";
12
- import type { ContactInfo, ContactLabel } from "./schema_types";
10
+ } from "./index.ts";
11
+ import { CubeSignerClient } from "./index.ts";
12
+ import type { ContactInfo, ContactLabel } from "./schema_types.ts";
13
13
 
14
14
  /**
15
15
  * A representation of a contact within an org.
@@ -1,6 +1,6 @@
1
- import type { DiffieHellmanResponse } from "./schema_types";
2
- import { toArrayBuffer, userExportCipherSuite } from "./user_export";
3
- import { decodeBase64 } from "./util";
1
+ import type { DiffieHellmanResponse } from "./schema_types.ts";
2
+ import { toArrayBuffer, userExportCipherSuite } from "./user_export.ts";
3
+ import { decodeBase64 } from "./util.ts";
4
4
 
5
5
  /**
6
6
  * Decrypt a set of Diffie-Hellman exchange responses.
package/src/env.ts CHANGED
@@ -1,6 +1,6 @@
1
- import prodSpec from "../spec/env/prod.json";
2
- import gammaSpec from "../spec/env/gamma.json";
3
- import betaSpec from "../spec/env/beta.json";
1
+ import prodSpec from "../spec/env/prod.json" with { type: "json" };
2
+ import gammaSpec from "../spec/env/gamma.json" with { type: "json" };
3
+ import betaSpec from "../spec/env/beta.json" with { type: "json" };
4
4
 
5
5
  /**
6
6
  * Available CubeSigner deployment environments.
package/src/error.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { CsErrCode } from "./schema_types";
2
- import type { operations } from "./schema";
1
+ import type { CsErrCode } from "./schema_types.ts";
2
+ import type { operations } from "./schema.ts";
3
3
 
4
4
  /**
5
5
  * Error codes corresponding to all different "MFA failed" error responses
package/src/evm/index.ts CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  type CubeSignerClient,
10
10
  type MfaRequest,
11
11
  Secp256k1,
12
- } from "../index";
12
+ } from "../index.ts";
13
13
 
14
14
  /** Options for the signer */
15
15
  export interface EvmSignerOptions {
package/src/fetch.ts CHANGED
@@ -12,9 +12,9 @@ import {
12
12
  defaultQuerySerializer,
13
13
  mergeHeaders,
14
14
  } from "openapi-fetch";
15
- import type { operations, paths as gen_paths } from "./schema";
16
- import type { ErrorResponse } from ".";
17
- import { ErrResponse } from ".";
15
+ import type { operations, paths as gen_paths } from "./schema.ts";
16
+ import type { ErrorResponse } from "./index.ts";
17
+ import { ErrResponse } from "./index.ts";
18
18
 
19
19
  type HttpMethod = "get" | "post" | "delete" | "put" | "head" | "option" | "patch";
20
20
  export type Operation = operations[keyof operations];
package/src/index.ts CHANGED
@@ -1,48 +1,53 @@
1
1
  /** Errors */
2
- export * from "./error";
2
+ export * from "./error.ts";
3
3
  /** API */
4
- export * from "./client/api_client";
4
+ export * from "./client/api_client.ts";
5
5
  /** Client */
6
- export * from "./client";
6
+ export * from "./client.ts";
7
7
  /** Callbacks */
8
- export { ErrorEvent, SessionExpiredEvent } from "./client/base_client";
8
+ export { ErrorEvent, SessionExpiredEvent } from "./client/base_client.ts";
9
9
  /** Organizations */
10
- export * from "./org";
10
+ export * from "./org.ts";
11
11
  /** Keys */
12
- export * from "./key";
12
+ export * from "./key.ts";
13
13
  /** Events */
14
- export * from "./events";
14
+ export * from "./events.ts";
15
15
  /** Roles */
16
- export * from "./role";
16
+ export * from "./role.ts";
17
17
  /** Env */
18
- export * from "./env";
18
+ export * from "./env.ts";
19
19
  /** Fido */
20
- export * from "./mfa";
20
+ export * from "./mfa.ts";
21
21
  /** Pagination */
22
- export * from "./paginator";
22
+ export * from "./paginator.ts";
23
23
  /** Response */
24
- export * from "./response";
24
+ export * from "./response.ts";
25
25
  /** Types */
26
- export * from "./schema_types";
26
+ export * from "./schema_types.ts";
27
27
  /** Sessions */
28
- export * from "./signer_session";
28
+ export * from "./signer_session.ts";
29
29
  /** Session storage */
30
- export * from "./client/session";
30
+ export * from "./client/session.ts";
31
31
  /** Contacts */
32
- export * from "./contact";
32
+ export * from "./contact.ts";
33
33
  /** Scopes */
34
- export * from "./scopes";
34
+ export * from "./scopes.ts";
35
35
  /** Policies */
36
- export * from "./policy";
36
+ export * from "./policy.ts";
37
37
  /** Buckets */
38
- export * from "./bucket";
38
+ export * from "./bucket.ts";
39
39
  /** Access control */
40
- export * from "./acl";
40
+ export * from "./acl.ts";
41
41
  /** Utils */
42
- export * from "./util";
42
+ export * from "./util.ts";
43
43
  /** User-export decryption helper */
44
- export { loadCrypto, loadSubtleCrypto, userExportDecrypt, userExportKeygen } from "./user_export";
44
+ export {
45
+ loadCrypto,
46
+ loadSubtleCrypto,
47
+ userExportDecrypt,
48
+ userExportKeygen,
49
+ } from "./user_export.ts";
45
50
  /** Diffie-Hellman decryption helper */
46
- export { diffieHellmanDecrypt } from "./diffie_hellman";
51
+ export { diffieHellmanDecrypt } from "./diffie_hellman.ts";
47
52
  /** Ethers.js helpers */
48
- export * from "./evm";
53
+ export * from "./evm/index.ts";
package/src/key.ts CHANGED
@@ -1,5 +1,5 @@
1
- import type { KeyPolicy } from "./role";
2
- import type { PageOpts } from "./paginator";
1
+ import type { KeyPolicy } from "./role.ts";
2
+ import type { PageOpts } from "./paginator.ts";
3
3
  import type {
4
4
  KeyInfo,
5
5
  UpdateKeyRequest,
@@ -30,7 +30,7 @@ import type {
30
30
  KeyInfoJwt,
31
31
  KeyAttestationQuery,
32
32
  KeyPropertiesPatch,
33
- } from "./schema_types";
33
+ } from "./schema_types.ts";
34
34
  import type {
35
35
  ApiClient,
36
36
  AvaChain,
@@ -48,14 +48,14 @@ import type {
48
48
  MfaReceipts,
49
49
  SuiSignRequest,
50
50
  SuiSignResponse,
51
- } from ".";
52
- import { CubeSignerClient, delay } from ".";
53
- import { loadSubtleCrypto } from "./user_export";
54
- import { encodeToHex, encodeToBase64 } from "./util";
51
+ } from "./index.ts";
52
+ import { CubeSignerClient, delay } from "./index.ts";
53
+ import { loadSubtleCrypto } from "./user_export.ts";
54
+ import { encodeToHex, encodeToBase64 } from "./util.ts";
55
55
 
56
56
  // these types are used in doc comments only
57
57
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
58
- import type { KeyAttestationClaims } from "./schema_types";
58
+ import type { KeyAttestationClaims } from "./schema_types.ts";
59
59
 
60
60
  /** Secp256k1 key type */
61
61
  export enum Secp256k1 {
@@ -117,9 +117,11 @@ export enum P256 {
117
117
  export const Mnemonic = "Mnemonic" as const;
118
118
  export type Mnemonic = typeof Mnemonic;
119
119
 
120
- /** HmacSha256 key type */
121
- export const HmacSha256 = "HmacSha256" as const;
122
- export type HmacSha256 = typeof HmacSha256;
120
+ /** HmacSha256 key types */
121
+ export enum HmacSha256 {
122
+ Generic = "HmacSha256",
123
+ Bybit = "HmacSha256Bybit",
124
+ }
123
125
 
124
126
  /** Stark key type */
125
127
  export const Stark = "Stark" as const;
@@ -851,7 +853,9 @@ export function fromSchemaKeyType(ty: SchemaKeyType): KeyType {
851
853
  case "Stark":
852
854
  return Stark;
853
855
  case "HmacSha256":
854
- return HmacSha256;
856
+ return HmacSha256.Generic;
857
+ case "HmacSha256Bybit":
858
+ return HmacSha256.Bybit;
855
859
  case "Mnemonic":
856
860
  return Mnemonic;
857
861
  case "P256CosmosAddr":
package/src/mfa.ts CHANGED
@@ -7,9 +7,9 @@ import type {
7
7
  MfaRequestInfo,
8
8
  MfaVote,
9
9
  TotpInfo,
10
- } from "./schema_types";
11
- import type { ApiClient } from "./client/api_client";
12
- import { credentialToJSON, parseCreationOptions, parseRequestOptions } from "./passkey";
10
+ } from "./schema_types.ts";
11
+ import type { ApiClient } from "./client/api_client.ts";
12
+ import { credentialToJSON, parseCreationOptions, parseRequestOptions } from "./passkey.ts";
13
13
 
14
14
  /** MFA receipt */
15
15
  export interface MfaReceipt {
package/src/org.ts CHANGED
@@ -31,16 +31,16 @@ import type {
31
31
  AuditLogEntry,
32
32
  AuditLogRequest,
33
33
  MfaReceipts,
34
- } from ".";
35
- import { Contact } from "./contact";
36
- import { C2FFunction, Key, MfaRequest, Role } from ".";
34
+ } from "./index.ts";
35
+ import { Contact } from "./contact.ts";
36
+ import { C2FFunction, Key, MfaRequest, Role } from "./index.ts";
37
37
  import {
38
38
  type NamedKeyPolicy,
39
39
  NamedPolicy,
40
40
  type NamedRolePolicy,
41
41
  uploadWasmFunction,
42
42
  type C2FInfo,
43
- } from "./policy";
43
+ } from "./policy.ts";
44
44
 
45
45
  /** Options pased to createKey and deriveKey */
46
46
  export type CreateKeyProperties = Omit<KeyProperties, "policy"> & {
package/src/passkey.ts CHANGED
@@ -7,7 +7,7 @@ import {
7
7
  type PasskeyAssertChallenge,
8
8
  type schemas,
9
9
  type SessionData,
10
- } from ".";
10
+ } from "./index.ts";
11
11
 
12
12
  /**
13
13
  * @param val The value to check
package/src/policy.ts CHANGED
@@ -19,9 +19,9 @@ import type {
19
19
  PolicyAction,
20
20
  Ace,
21
21
  PolicyInfo,
22
- } from ".";
22
+ } from "./index.ts";
23
23
 
24
- import { loadSubtleCrypto, encodeToHex, decodeFromHex } from ".";
24
+ import { loadSubtleCrypto, encodeToHex, decodeFromHex } from "./index.ts";
25
25
 
26
26
  /**
27
27
  * Named policy rule type.