@naylence/advanced-security 0.3.4 → 0.3.5-test.101

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 (144) hide show
  1. package/dist/browser/index.js +4393 -6330
  2. package/dist/browser/index.js.map +1 -1
  3. package/dist/cjs/browser.js +18 -5
  4. package/dist/cjs/browser.js.map +1 -1
  5. package/dist/cjs/index.js +5 -6
  6. package/dist/cjs/index.js.map +1 -1
  7. package/dist/cjs/naylence/fame/factory-manifest.js +1 -4
  8. package/dist/cjs/naylence/fame/factory-manifest.js.map +1 -1
  9. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js +9 -15
  10. package/dist/cjs/naylence/fame/security/cert/ca-service-client.js.map +1 -1
  11. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js +7 -11
  12. package/dist/cjs/naylence/fame/security/cert/ca-service-factory.js.map +1 -1
  13. package/dist/cjs/naylence/fame/security/cert/ca-types.js +2 -7
  14. package/dist/cjs/naylence/fame/security/cert/ca-types.js.map +1 -1
  15. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js +6 -10
  16. package/dist/cjs/naylence/fame/security/cert/default-ca-service-factory.js.map +1 -1
  17. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js +29 -66
  18. package/dist/cjs/naylence/fame/security/cert/default-ca-service.js.map +1 -1
  19. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js +12 -16
  20. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
  21. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js +22 -59
  22. package/dist/cjs/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  23. package/dist/cjs/naylence/fame/security/cert/grants.js +1 -4
  24. package/dist/cjs/naylence/fame/security/cert/grants.js.map +1 -1
  25. package/dist/cjs/naylence/fame/security/cert/index.js +10 -50
  26. package/dist/cjs/naylence/fame/security/cert/index.js.map +1 -1
  27. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js +79 -122
  28. package/dist/cjs/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
  29. package/dist/cjs/naylence/fame/security/cert/util.js +485 -89
  30. package/dist/cjs/naylence/fame/security/cert/util.js.map +1 -1
  31. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js +10 -14
  32. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.js.map +1 -1
  33. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js +59 -48
  34. package/dist/cjs/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
  35. package/dist/cjs/naylence/fame/security/encryption/channel/index.js +2 -7
  36. package/dist/cjs/naylence/fame/security/encryption/channel/index.js.map +1 -1
  37. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js +10 -14
  38. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager-factory.js.map +1 -1
  39. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js +7 -11
  40. package/dist/cjs/naylence/fame/security/encryption/composite-encryption-manager.js.map +1 -1
  41. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js +7 -11
  42. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager-factory.js.map +1 -1
  43. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js +19 -23
  44. package/dist/cjs/naylence/fame/security/encryption/default-secure-channel-manager.js.map +1 -1
  45. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js +9 -15
  46. package/dist/cjs/naylence/fame/security/encryption/encryption-manager-registry.js.map +1 -1
  47. package/dist/cjs/naylence/fame/security/encryption/index.js +6 -15
  48. package/dist/cjs/naylence/fame/security/encryption/index.js.map +1 -1
  49. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js +2 -7
  50. package/dist/cjs/naylence/fame/security/encryption/sealed/index.js.map +1 -1
  51. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js +8 -12
  52. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager-factory.js.map +1 -1
  53. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js +26 -30
  54. package/dist/cjs/naylence/fame/security/encryption/sealed/x25519-encryption-manager.js.map +1 -1
  55. package/dist/cjs/naylence/fame/security/index.js +5 -10
  56. package/dist/cjs/naylence/fame/security/index.js.map +1 -1
  57. package/dist/cjs/naylence/fame/security/keys/index.js +2 -8
  58. package/dist/cjs/naylence/fame/security/keys/index.js.map +1 -1
  59. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js +9 -13
  60. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager-factory.js.map +1 -1
  61. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js +16 -52
  62. package/dist/cjs/naylence/fame/security/keys/x5c-key-manager.js.map +1 -1
  63. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js +36 -45
  64. package/dist/cjs/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
  65. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js +6 -43
  66. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-signer-factory.js.map +1 -1
  67. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js +8 -12
  68. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier-factory.js.map +1 -1
  69. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js +68 -39
  70. package/dist/cjs/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
  71. package/dist/cjs/naylence/fame/stickiness/aft-helper.js +8 -13
  72. package/dist/cjs/naylence/fame/stickiness/aft-helper.js.map +1 -1
  73. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js +12 -16
  74. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager-factory.js.map +1 -1
  75. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js +10 -14
  76. package/dist/cjs/naylence/fame/stickiness/aft-load-balancer-stickiness-manager.js.map +1 -1
  77. package/dist/cjs/naylence/fame/stickiness/aft-model.js +6 -14
  78. package/dist/cjs/naylence/fame/stickiness/aft-model.js.map +1 -1
  79. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js +12 -16
  80. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager-factory.js.map +1 -1
  81. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js +13 -18
  82. package/dist/cjs/naylence/fame/stickiness/aft-replica-stickiness-manager.js.map +1 -1
  83. package/dist/cjs/naylence/fame/stickiness/aft-signer.js +23 -30
  84. package/dist/cjs/naylence/fame/stickiness/aft-signer.js.map +1 -1
  85. package/dist/cjs/naylence/fame/stickiness/aft-utils.js +3 -8
  86. package/dist/cjs/naylence/fame/stickiness/aft-utils.js.map +1 -1
  87. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js +21 -28
  88. package/dist/cjs/naylence/fame/stickiness/aft-verifier.js.map +1 -1
  89. package/dist/cjs/naylence/fame/stickiness/index.js +10 -39
  90. package/dist/cjs/naylence/fame/stickiness/index.js.map +1 -1
  91. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js +3 -7
  92. package/dist/cjs/naylence/fame/stickiness/stickiness-mode.js.map +1 -1
  93. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js +14 -18
  94. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service-factory.js.map +1 -1
  95. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js +14 -18
  96. package/dist/cjs/naylence/fame/welcome/advanced-welcome-service.js.map +1 -1
  97. package/dist/cjs/naylence/fame/welcome/index.js +2 -8
  98. package/dist/cjs/naylence/fame/welcome/index.js.map +1 -1
  99. package/dist/cjs/plugin.js +8 -10
  100. package/dist/cjs/plugin.js.map +1 -1
  101. package/dist/cjs/version.js +8 -0
  102. package/dist/cjs/version.js.map +1 -0
  103. package/dist/esm/browser.js +18 -2
  104. package/dist/esm/browser.js.map +1 -1
  105. package/dist/esm/index.js +2 -0
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js +2 -2
  108. package/dist/esm/naylence/fame/security/cert/default-certificate-manager-factory.js.map +1 -1
  109. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js +1 -1
  110. package/dist/esm/naylence/fame/security/cert/default-certificate-manager.js.map +1 -1
  111. package/dist/esm/naylence/fame/security/cert/index.js.map +1 -1
  112. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js +1 -1
  113. package/dist/esm/naylence/fame/security/cert/internal-ca-service.js.map +1 -1
  114. package/dist/esm/naylence/fame/security/cert/util.js +482 -82
  115. package/dist/esm/naylence/fame/security/cert/util.js.map +1 -1
  116. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js +27 -12
  117. package/dist/esm/naylence/fame/security/encryption/channel/channel-encryption-manager.js.map +1 -1
  118. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js +28 -1
  119. package/dist/esm/naylence/fame/security/register-advanced-security-factories.js.map +1 -1
  120. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js +36 -3
  121. package/dist/esm/naylence/fame/security/signing/eddsa-envelope-verifier.js.map +1 -1
  122. package/dist/esm/plugin.js +2 -0
  123. package/dist/esm/plugin.js.map +1 -1
  124. package/dist/esm/version.js +8 -0
  125. package/dist/esm/version.js.map +1 -0
  126. package/dist/types/browser.d.ts +17 -1
  127. package/dist/types/browser.d.ts.map +1 -1
  128. package/dist/types/index.d.ts +1 -0
  129. package/dist/types/index.d.ts.map +1 -1
  130. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts +3 -3
  131. package/dist/types/naylence/fame/security/cert/default-certificate-manager-factory.d.ts.map +1 -1
  132. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts +1 -1
  133. package/dist/types/naylence/fame/security/cert/default-certificate-manager.d.ts.map +1 -1
  134. package/dist/types/naylence/fame/security/cert/index.d.ts +1 -1
  135. package/dist/types/naylence/fame/security/cert/index.d.ts.map +1 -1
  136. package/dist/types/naylence/fame/security/cert/util.d.ts +13 -23
  137. package/dist/types/naylence/fame/security/cert/util.d.ts.map +1 -1
  138. package/dist/types/naylence/fame/security/encryption/channel/channel-encryption-manager.d.ts.map +1 -1
  139. package/dist/types/naylence/fame/security/register-advanced-security-factories.d.ts.map +1 -1
  140. package/dist/types/naylence/fame/security/signing/eddsa-envelope-verifier.d.ts.map +1 -1
  141. package/dist/types/plugin.d.ts.map +1 -1
  142. package/dist/types/version.d.ts +6 -0
  143. package/dist/types/version.d.ts.map +1 -0
  144. package/package.json +5 -4
@@ -1,19 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChannelEncryptionManagerFactory = exports.FACTORY_META = void 0;
4
- const runtime_1 = require("@naylence/runtime");
5
- const runtime_2 = require("@naylence/runtime");
6
- const channel_encryption_manager_js_1 = require("./channel-encryption-manager.js");
7
- const logger = (0, runtime_2.getLogger)("naylence.fame.security.encryption.channel.channel_encryption_manager_factory");
1
+ import { ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, EncryptionManagerFactory, } from "@naylence/runtime";
2
+ import { getLogger } from "@naylence/runtime";
3
+ import { ChannelEncryptionManager, } from "./channel-encryption-manager.js";
4
+ const logger = getLogger("naylence.fame.security.encryption.channel.channel_encryption_manager_factory");
8
5
  const DEFAULT_SUPPORTED_ALGORITHMS = ["chacha20-poly1305-channel"];
9
- exports.FACTORY_META = {
10
- base: runtime_1.ENCRYPTION_MANAGER_FACTORY_BASE_TYPE,
6
+ export const FACTORY_META = {
7
+ base: ENCRYPTION_MANAGER_FACTORY_BASE_TYPE,
11
8
  key: "ChannelEncryptionManager",
12
9
  };
13
- class ChannelEncryptionManagerFactory extends runtime_1.EncryptionManagerFactory {
10
+ export class ChannelEncryptionManagerFactory extends EncryptionManagerFactory {
14
11
  constructor(config) {
15
12
  super();
16
- this.type = exports.FACTORY_META.key;
13
+ this.type = FACTORY_META.key;
17
14
  this.supportedAlgorithms =
18
15
  config?.supportedAlgorithms ?? DEFAULT_SUPPORTED_ALGORITHMS;
19
16
  this.encryptionType = config?.encryptionType ?? "channel";
@@ -41,7 +38,7 @@ class ChannelEncryptionManagerFactory extends runtime_1.EncryptionManagerFactory
41
38
  has_node_like: Boolean(resolvedDependencies.nodeLike),
42
39
  has_task_spawner: Boolean(resolvedDependencies.taskSpawner),
43
40
  });
44
- return new channel_encryption_manager_js_1.ChannelEncryptionManager(resolvedDependencies);
41
+ return new ChannelEncryptionManager(resolvedDependencies);
45
42
  }
46
43
  resolveDependencies(dependencies) {
47
44
  if (!dependencies) {
@@ -84,6 +81,5 @@ class ChannelEncryptionManagerFactory extends runtime_1.EncryptionManagerFactory
84
81
  return null;
85
82
  }
86
83
  }
87
- exports.ChannelEncryptionManagerFactory = ChannelEncryptionManagerFactory;
88
- exports.default = ChannelEncryptionManagerFactory;
84
+ export default ChannelEncryptionManagerFactory;
89
85
  //# sourceMappingURL=channel-encryption-manager-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager-factory.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChannelEncryptionManager = void 0;
4
- const chacha_js_1 = require("@noble/ciphers/chacha.js");
5
- const core_1 = require("@naylence/core");
6
- const runtime_1 = require("@naylence/runtime");
7
- const runtime_2 = require("@naylence/runtime");
8
- const runtime_3 = require("@naylence/runtime");
9
- const core_2 = require("@naylence/core");
10
- const runtime_4 = require("@naylence/runtime");
11
- const logger = (0, runtime_3.getLogger)("naylence.fame.security.encryption.channel.channel_encryption_manager");
1
+ import { chacha20poly1305 } from "@noble/ciphers/chacha.js";
2
+ import { FameAddress, formatAddress, localDeliveryContext, } from "@naylence/core";
3
+ import { EncryptionResult, } from "@naylence/runtime";
4
+ import { requireCryptoSupport } from "@naylence/runtime";
5
+ import { getLogger } from "@naylence/runtime";
6
+ import { generateId } from "@naylence/core";
7
+ import { urlsafeBase64Decode } from "@naylence/runtime";
8
+ const logger = getLogger("naylence.fame.security.encryption.channel.channel_encryption_manager");
12
9
  const SUPPORTED_CHANNEL_ALGORITHMS = ["chacha20-poly1305-channel"];
13
10
  const CHANNEL_ENCRYPTION_ALGORITHM = "chacha20-poly1305-channel";
14
11
  const HANDSHAKE_ALGORITHM = "CHACHA20P1305";
@@ -62,35 +59,50 @@ function decodeBase64(encoded) {
62
59
  }
63
60
  throw new Error("Base64 decoding not supported in this environment");
64
61
  }
62
+ let cachedCrypto;
63
+ function resolveCrypto() {
64
+ if (cachedCrypto !== undefined) {
65
+ return cachedCrypto;
66
+ }
67
+ cachedCrypto = null;
68
+ if (typeof globalThis !== "undefined") {
69
+ const scoped = globalThis;
70
+ const nativeCrypto = scoped.crypto;
71
+ if (nativeCrypto && typeof nativeCrypto.getRandomValues === "function") {
72
+ cachedCrypto = nativeCrypto;
73
+ return cachedCrypto;
74
+ }
75
+ const webcrypto = scoped.webcrypto;
76
+ if (webcrypto && typeof webcrypto.getRandomValues === "function") {
77
+ cachedCrypto = webcrypto;
78
+ return cachedCrypto;
79
+ }
80
+ }
81
+ return cachedCrypto;
82
+ }
65
83
  function randomBytes(length) {
66
- if (typeof crypto !== "undefined" &&
67
- typeof crypto.getRandomValues === "function") {
68
- const buffer = new Uint8Array(length);
69
- crypto.getRandomValues(buffer);
70
- return buffer;
71
- }
72
- try {
73
- const { randomBytes: nodeRandomBytes } = require("node:crypto");
74
- return nodeRandomBytes(length);
75
- }
76
- catch {
77
- throw new Error("Crypto random bytes are not available in this environment");
84
+ const cryptoApi = resolveCrypto();
85
+ if (!cryptoApi) {
86
+ throw new Error("Secure random source is not available in this environment");
78
87
  }
88
+ const buffer = new Uint8Array(length);
89
+ cryptoApi.getRandomValues(buffer);
90
+ return buffer;
79
91
  }
80
92
  function toFameAddress(value) {
81
93
  if (!value) {
82
94
  return null;
83
95
  }
84
- if (value instanceof core_1.FameAddress) {
96
+ if (value instanceof FameAddress) {
85
97
  return value;
86
98
  }
87
- return new core_1.FameAddress(String(value));
99
+ return new FameAddress(String(value));
88
100
  }
89
101
  function toDestinationString(value) {
90
102
  if (!value) {
91
103
  return null;
92
104
  }
93
- if (value instanceof core_1.FameAddress) {
105
+ if (value instanceof FameAddress) {
94
106
  return value.toString();
95
107
  }
96
108
  if (typeof value === "string") {
@@ -123,7 +135,7 @@ function makeJsonSerializable(value) {
123
135
  }
124
136
  return value;
125
137
  }
126
- class ChannelEncryptionManager {
138
+ export class ChannelEncryptionManager {
127
139
  constructor({ secureChannelManager = null, nodeLike = null, taskSpawner = null, } = {}) {
128
140
  this.pendingEnvelopes = new Map();
129
141
  this.handshakeInProgress = new Set();
@@ -136,10 +148,10 @@ class ChannelEncryptionManager {
136
148
  async encryptEnvelope(envelope, opts = null) {
137
149
  const frame = envelope.frame;
138
150
  if (!this.isDataFrame(frame)) {
139
- return runtime_1.EncryptionResult.skipped(envelope);
151
+ return EncryptionResult.skipped(envelope);
140
152
  }
141
153
  if (frame.payload === null || typeof frame.payload === "undefined") {
142
- return runtime_1.EncryptionResult.skipped(envelope);
154
+ return EncryptionResult.skipped(envelope);
143
155
  }
144
156
  const destination = opts?.destination ?? envelope.to ?? null;
145
157
  const destinationStr = toDestinationString(destination);
@@ -147,13 +159,13 @@ class ChannelEncryptionManager {
147
159
  logger.warning("no_destination_for_channel_encryption", {
148
160
  envelope_id: envelope.id,
149
161
  });
150
- return runtime_1.EncryptionResult.skipped(envelope);
162
+ return EncryptionResult.skipped(envelope);
151
163
  }
152
164
  if (!this.secureChannelManager) {
153
165
  logger.warning("no_secure_channel_manager_available", {
154
166
  envelope_id: envelope.id,
155
167
  });
156
- return runtime_1.EncryptionResult.skipped(envelope);
168
+ return EncryptionResult.skipped(envelope);
157
169
  }
158
170
  const existingChannelId = this.findExistingChannel(destinationStr);
159
171
  if (existingChannelId) {
@@ -165,15 +177,15 @@ class ChannelEncryptionManager {
165
177
  error: error instanceof Error ? error.message : String(error),
166
178
  channel_id: existingChannelId,
167
179
  });
168
- return runtime_1.EncryptionResult.skipped(envelope);
180
+ return EncryptionResult.skipped(envelope);
169
181
  }
170
182
  }
171
183
  await this.queueAndInitiateHandshake(envelope, destination, destinationStr, opts ?? null);
172
- return runtime_1.EncryptionResult.queued();
184
+ return EncryptionResult.queued();
173
185
  }
174
186
  async decryptEnvelope(envelope, opts = null) {
175
187
  void opts;
176
- (0, runtime_2.requireCryptoSupport)();
188
+ requireCryptoSupport();
177
189
  const frame = envelope.frame;
178
190
  if (!this.isDataFrame(frame) ||
179
191
  frame.payload === null ||
@@ -222,7 +234,7 @@ class ChannelEncryptionManager {
222
234
  }
223
235
  try {
224
236
  const aad = new TextEncoder().encode(channelId);
225
- const aead = (0, chacha_js_1.chacha20poly1305)(channelState.key, nonce, aad);
237
+ const aead = chacha20poly1305(channelState.key, nonce, aad);
226
238
  const plaintextBytes = aead.decrypt(ciphertext);
227
239
  const decodedPayload = this.deserializePayload(plaintextBytes);
228
240
  frame.payload = decodedPayload;
@@ -465,7 +477,7 @@ class ChannelEncryptionManager {
465
477
  to: toAddress,
466
478
  frame: openFrame,
467
479
  replyTo,
468
- corrId: (0, core_2.generateId)(),
480
+ corrId: generateId(),
469
481
  });
470
482
  await this.deliverEnvelope(envelope);
471
483
  logger.debug("delivered_secure_open_frame_async", {
@@ -481,33 +493,33 @@ class ChannelEncryptionManager {
481
493
  });
482
494
  return;
483
495
  }
484
- const context = (0, core_1.localDeliveryContext)(node.sid ?? undefined);
496
+ const context = localDeliveryContext(node.sid ?? undefined);
485
497
  await node.deliver(envelope, context);
486
498
  }
487
499
  encryptWithChannel(envelope, channelId) {
488
500
  if (!this.secureChannelManager) {
489
501
  logger.error("no_secure_channel_manager_for_encryption");
490
- return runtime_1.EncryptionResult.skipped(envelope);
502
+ return EncryptionResult.skipped(envelope);
491
503
  }
492
504
  const frame = envelope.frame;
493
505
  if (!this.isDataFrame(frame)) {
494
506
  logger.error("attempted_to_encrypt_non_dataframe", {
495
507
  frame_type: frame.type ?? typeof frame,
496
508
  });
497
- return runtime_1.EncryptionResult.skipped(envelope);
509
+ return EncryptionResult.skipped(envelope);
498
510
  }
499
511
  const channelState = this.getChannelState(channelId);
500
512
  if (!channelState) {
501
513
  logger.error("channel_not_in_channels", { channel_id: channelId });
502
- return runtime_1.EncryptionResult.skipped(envelope);
514
+ return EncryptionResult.skipped(envelope);
503
515
  }
504
516
  const payloadBytes = this.serializePayload(frame.payload);
505
517
  if (!payloadBytes) {
506
- return runtime_1.EncryptionResult.skipped(envelope);
518
+ return EncryptionResult.skipped(envelope);
507
519
  }
508
520
  const nonce = randomBytes(NONCE_LENGTH);
509
521
  const aad = new TextEncoder().encode(channelId);
510
- const aead = (0, chacha_js_1.chacha20poly1305)(channelState.key, nonce, aad);
522
+ const aead = chacha20poly1305(channelState.key, nonce, aad);
511
523
  const ciphertext = aead.encrypt(payloadBytes);
512
524
  const encryptionHeader = {
513
525
  alg: CHANNEL_ENCRYPTION_ALGORITHM,
@@ -525,7 +537,7 @@ class ChannelEncryptionManager {
525
537
  else {
526
538
  envelope.sec = { enc: encryptionHeader };
527
539
  }
528
- return runtime_1.EncryptionResult.ok(envelope);
540
+ return EncryptionResult.ok(envelope);
529
541
  }
530
542
  serializePayload(payload) {
531
543
  if (payload === null || typeof payload === "undefined") {
@@ -634,7 +646,7 @@ class ChannelEncryptionManager {
634
646
  const nackEnvelope = envelopeFactory.createEnvelope({
635
647
  to: replyTo,
636
648
  frame: nackFrame,
637
- corrId: envelope.corrId ?? (0, core_2.generateId)(),
649
+ corrId: envelope.corrId ?? generateId(),
638
650
  });
639
651
  await this.deliverEnvelope(nackEnvelope);
640
652
  logger.debug("delivered_delivery_nack", {
@@ -658,10 +670,10 @@ class ChannelEncryptionManager {
658
670
  if (!physicalPath) {
659
671
  return null;
660
672
  }
661
- return (0, core_1.formatAddress)(SYSTEM_INBOX, physicalPath);
673
+ return formatAddress(SYSTEM_INBOX, physicalPath);
662
674
  }
663
675
  generateChannelId(destinationStr) {
664
- return `auto-${destinationStr}-${(0, core_2.generateId)()}`;
676
+ return `auto-${destinationStr}-${generateId()}`;
665
677
  }
666
678
  runAsyncTask(task, name) {
667
679
  if (this.taskSpawner) {
@@ -716,7 +728,7 @@ class ChannelEncryptionManager {
716
728
  // ignore and try next
717
729
  }
718
730
  try {
719
- const decoded = (0, runtime_4.urlsafeBase64Decode)(candidate);
731
+ const decoded = urlsafeBase64Decode(candidate);
720
732
  if (decoded.length > 0) {
721
733
  return decoded;
722
734
  }
@@ -728,5 +740,4 @@ class ChannelEncryptionManager {
728
740
  return null;
729
741
  }
730
742
  }
731
- exports.ChannelEncryptionManager = ChannelEncryptionManager;
732
743
  //# sourceMappingURL=channel-encryption-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel-encryption-manager.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-encryption-manager.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/channel-encryption-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAQL,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,gBAAgB,GAGjB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,MAAM,GAAG,SAAS,CACtB,sEAAsE,CACvE,CAAC;AAEF,MAAM,4BAA4B,GAAG,CAAC,2BAA2B,CAAU,CAAC;AAC5E,MAAM,4BAA4B,GAAG,2BAA2B,CAAC;AACjE,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAC5C,MAAM,YAAY,GAAG,SAAS,CAAC;AAC/B,MAAM,YAAY,GAAG,EAAE,CAAC;AAIxB,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,CACZ,KAAK,IAAI,OAAQ,KAAyB,CAAC,KAAK,KAAK,UAAU,CAChE,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;QACvC,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,KAAwB,CAAC;YACtC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,YAAY,CAAC,IAAgB;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AACvE,CAAC;AAID,IAAI,YAA2C,CAAC;AAEhD,SAAS,aAAa;IACpB,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,YAAY,GAAG,IAAI,CAAC;IAEpB,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,UAEd,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;QACnC,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACvE,YAAY,GAAG,YAAY,CAAC;YAC5B,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACjE,YAAY,GAAG,SAAS,CAAC;YACzB,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,WAAW,CAAC,MAAc;IACjC,MAAM,SAAS,GAAG,aAAa,EAAE,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CACpB,KAA8C;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA8C;IAE9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,KAIjB,CAAC;QAEF,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;YAC/C,OAAO,SAAS,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YACzC,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAQD,MAAM,OAAO,wBAAwB;IAQnC,YAAY,EACV,oBAAoB,GAAG,IAAI,EAC3B,QAAQ,GAAG,IAAI,EACf,WAAW,GAAG,IAAI,MACsB,EAAE;QAR3B,qBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;QACrD,wBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,mBAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;QAO1D,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,IAAI,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,WAAW;YACd,WAAW,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,QAAsB,EACtB,OAAiC,IAAI;QAErC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;YACnE,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,QAAQ,CAAC,EAAE,IAAI,IAAI,CAAC;QAC7D,MAAM,cAAc,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAExD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,uCAAuC,EAAE;gBACtD,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,qCAAqC,EAAE;gBACpD,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QACnE,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAC9D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;oBACxC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC7D,UAAU,EAAE,iBAAiB;iBAC9B,CAAC,CAAC;gBACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,yBAAyB,CAClC,QAAQ,EACR,WAAW,EACX,cAAc,EACd,IAAI,IAAI,IAAI,CACb,CAAC;QACF,OAAO,gBAAgB,CAAC,MAAM,EAAE,CAAC;IACnC,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,QAAsB,EACtB,OAAiC,IAAI;QAErC,KAAK,IAAI,CAAC;QACV,oBAAoB,EAAE,CAAC;QAEvB,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IACE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YACxB,KAAK,CAAC,OAAO,KAAK,IAAI;YACtB,OAAO,KAAK,CAAC,OAAO,KAAK,WAAW,EACpC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YACvC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9D,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC;QAChC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC;aACtC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,CAAC,0CAA0C,EAAE;gBACzD,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACnD,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACzE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YAC5D,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAC/D,KAAK,CAAC,OAAO,GAAG,cAAc,CAAC;YAC/B,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAErB,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACtB,QAAQ,CAAC,GAAG,GAAG,SAAS,CAAC;gBAC3B,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;YAC/D,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE;gBACxC,UAAU,EAAE,SAAS;gBACrB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACrD,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;YAClD,UAAU,EAAE,SAAS;YACrB,YAAY,EAAE,SAAS;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,0CAA0C,EAAE;gBACzD,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE;gBAC/C,WAAW,EAAE,cAAc;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QACxE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE7C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACxD,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE;wBAClD,WAAW,EAAE,QAAQ,CAAC,EAAE;wBACxB,UAAU,EAAE,SAAS;qBACtB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC1C,IAAI,CAAC,YAAY,CACf,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAC7C,kBAAkB,QAAQ,CAAC,EAAE,EAAE,CAChC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;oBAChD,WAAW,EAAE,QAAQ,CAAC,EAAE;oBACxB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC9B,SAAiB,EACjB,SAAiB,kBAAkB;QAEnC,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;YAC1D,UAAU,EAAE,SAAS;YACrB,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,yCAAyC,EAAE;gBACxD,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC,CAAC;QACvE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,OAAO,CAAC,qDAAqD,EAAE;gBACpE,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAEhD,iFAAiF;QACjF,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE;gBACvD,WAAW,EAAE,cAAc;gBAC3B,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE;gBACtD,WAAW,EAAE,cAAc;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAE7C,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,oBAAoB,CAC7B,QAAQ,EACR,cAAc,EACd,SAAS,EACT,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,+BAA+B,CAAC,WAAmB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,WAAW;gBACX,iBAAiB,EAAE,MAAM;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,SAAiB;QAC1C,OAAO,4BAA4B,CAAC,QAAQ,CAC1C,SAA0D,CAC3D,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,KAA4B;QAC9C,OAAO,OAAO,CAAC,KAAK,IAAK,KAAmB,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAChE,CAAC;IAEO,mBAAmB,CAAC,WAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1E,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QACpD,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,IAAI,SAAS,CAAC,UAAU,CAAC,QAAQ,WAAW,GAAG,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;oBACrC,WAAW;oBACX,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,QAAsB,EACtB,WAAwC,EACxC,cAAsB,EACtB,IAA8B;QAE9B,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAEjD,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;YACpD,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,WAAW,EAAE,cAAc;SAC5B,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACjD,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE;gBAC5C,WAAW,EAAE,cAAc;aAC5B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAE7C,MAAM,QAAQ,GAAG,aAAa,cAAc,EAAE,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE;YAC3B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,6BAA6B,CACtC,WAAW,IAAI,cAAc,EAC7B,cAAc,EACd,IAAI,CACL,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,WAAiC,EACjC,cAAsB,EACtB,IAA8B;QAE9B,KAAK,IAAI,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAC3D,SAAS,EACT,mBAAmB,CACpB,CAAC;YACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CACjD,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE;oBAC3C,UAAU,EAAE,SAAS;oBACrB,WAAW,EAAE,cAAc;iBAC5B,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,OAAO,CAAC,wCAAwC,EAAE;oBACvD,UAAU,EAAE,SAAS;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2CAA2C,EAAE;gBACxD,WAAW,EAAE,cAAc;gBAC3B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,SAA0B,EAC1B,WAAiC;QAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE;gBAClD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;aACjC,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAc,CAAC;YAC9C,EAAE,EAAE,SAAS;YACb,KAAK,EAAE,SAAS;YAChB,OAAO;YACP,MAAM,EAAE,UAAU,EAAE;SACrB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE;YAChD,UAAU,EAAE,SAAS,CAAC,GAAG;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAsB;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;gBAC7C,WAAW,EAAE,QAAQ,CAAC,EAAE;aACzB,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAwB,oBAAoB,CACvD,IAAI,CAAC,GAAG,IAAI,SAAS,CACtB,CAAC;QACF,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEO,kBAAkB,CACxB,QAAsB,EACtB,SAAiB;QAEjB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;YACzD,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,UAAU,EAAG,KAA2B,CAAC,IAAI,IAAI,OAAO,KAAK;aAC9D,CAAC,CAAC;YACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;YACnE,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAE9C,MAAM,gBAAgB,GAAqB;YACzC,GAAG,EAAE,4BAA4B;YACjC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBACjD,IAAI,CAAC,EAAE,CAAC,EAAE,kCAAkC;YAC/C,GAAG,EAAE,SAAS;SACf,CAAC;QAEF,MAAM,iBAAiB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAEnD,KAAK,CAAC,OAAO,GAAG,iBAAiB,CAAC;QAClC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAEpB,IAAI,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjB,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,gBAAgB,EAAoB,CAAC;QAC7D,CAAC;QAED,OAAO,gBAAgB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,gBAAgB,CAAC,OAAgB;QACvC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,WAAW,KAAK,WAAW,EAAE,CAAC;YACvC,IAAI,OAAO,YAAY,WAAW,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClE,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,SAAS,EAAE,CAAC;YAChE,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAChE,CAAC;IAEO,iBAAiB,CAAC,OAAgB;QACxC,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;oBACjD,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBACH,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,IACE,OAAO,YAAY,WAAW;YAC9B,WAAW,CAAC,MAAM,CAAC,OAA0B,CAAC,EAC9C,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,kBAAkB,CAAC,KAAiB;QAC1C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAEO,+BAA+B,CAAC,SAAiB;QACvD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,QAAsB,EACtB,cAAsB,EACtB,SAAiB,EACjB,MAAc;QAEd,MAAM,CAAC,OAAO,CAAC,kDAAkD,EAAE;YACjE,WAAW,EAAE,QAAQ,CAAC,EAAE;YACxB,WAAW,EAAE,cAAc;YAC3B,UAAU,EAAE,SAAS;YACrB,MAAM;SACP,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE;gBAC9C,WAAW,EAAE,QAAQ,CAAC,EAAE;gBACxB,UAAU,EAAG,KAA2B,CAAC,IAAI,IAAI,OAAO,KAAK;aAC9D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,gBAAgB,CACzB,QAAQ,EACR,6BAA6B,MAAM,EAAE,CACtC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,QAAsB,EACtB,aAAqB;QAErB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,oCAAoC,EAAE;gBACjD,QAAQ,EAAE,QAAQ,CAAC,OAAO;aAC3B,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAqB;YAClC,IAAI,EAAE,aAAa;YACnB,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,0BAA0B;YAChC,MAAM,EAAE,aAAa;SACtB,CAAC;QAEF,MAAM,YAAY,GAAG,eAAe,CAAC,cAAc,CAAC;YAClD,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,UAAU,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;YACtC,oBAAoB,EAAE,QAAQ,CAAC,EAAE;YACjC,gBAAgB,EAAE,YAAY,CAAC,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,SAAiB;QACvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACnE,OAAO,YAAY,IAAI,IAAI,CAAC;IAC9B,CAAC;IAEO,kBAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAC,cAAsB;QAC9C,OAAO,QAAQ,cAAc,IAAI,UAAU,EAAE,EAAE,CAAC;IAClD,CAAC;IAEO,YAAY,CAAC,IAAyB,EAAE,IAAY;QAC1D,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,CACpB,KAAK,IAAI,EAAE;gBACT,MAAM,IAAI,EAAE,CAAC;YACf,CAAC,EACD,EAAE,IAAI,EAAE,CACT,CAAC;YACF,OAAO;QACT,CAAC;QAED,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,IAAI,EAAE,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE;oBAChC,SAAS,EAAE,IAAI;oBACf,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,oEAAoE;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,CAAC,KAAa;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG;YACvB,KAAK;YACL,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;SAC5C,CAAC;QACF,KAAK,MAAM,SAAS,IAAI,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,+DAA+D;gBAC/D,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;oBAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,OAAO,OAAO,CAAC;oBACjB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,OAAO,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,sBAAsB;YACxB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,8 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ChannelEncryptionManagerFactory = exports.ChannelEncryptionManager = void 0;
4
- var channel_encryption_manager_js_1 = require("./channel-encryption-manager.js");
5
- Object.defineProperty(exports, "ChannelEncryptionManager", { enumerable: true, get: function () { return channel_encryption_manager_js_1.ChannelEncryptionManager; } });
6
- var channel_encryption_manager_factory_js_1 = require("./channel-encryption-manager-factory.js");
7
- Object.defineProperty(exports, "ChannelEncryptionManagerFactory", { enumerable: true, get: function () { return channel_encryption_manager_factory_js_1.ChannelEncryptionManagerFactory; } });
1
+ export { ChannelEncryptionManager } from "./channel-encryption-manager.js";
2
+ export { ChannelEncryptionManagerFactory } from "./channel-encryption-manager-factory.js";
8
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/index.ts"],"names":[],"mappings":";;;AAAA,iFAA2E;AAAlE,yIAAA,wBAAwB,OAAA;AACjC,iGAA0F;AAAjF,wJAAA,+BAA+B,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/naylence/fame/security/encryption/channel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC"}
@@ -1,20 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompositeEncryptionManagerFactory = exports.FACTORY_META = void 0;
4
- const runtime_1 = require("@naylence/runtime");
5
- const runtime_2 = require("@naylence/runtime");
6
- const composite_encryption_manager_js_1 = require("./composite-encryption-manager.js");
7
- const logger = (0, runtime_2.getLogger)("naylence.fame.security.encryption.composite_encryption_manager_factory");
1
+ import { ENCRYPTION_MANAGER_FACTORY_BASE_TYPE, EncryptionManagerFactory, } from "@naylence/runtime";
2
+ import { getLogger } from "@naylence/runtime";
3
+ import { CompositeEncryptionManager } from "./composite-encryption-manager.js";
4
+ const logger = getLogger("naylence.fame.security.encryption.composite_encryption_manager_factory");
8
5
  const DEFAULT_PRIORITY = 1000;
9
6
  const DEFAULT_ENCRYPTION_TYPE = "composite";
10
- exports.FACTORY_META = {
11
- base: runtime_1.ENCRYPTION_MANAGER_FACTORY_BASE_TYPE,
7
+ export const FACTORY_META = {
8
+ base: ENCRYPTION_MANAGER_FACTORY_BASE_TYPE,
12
9
  key: "CompositeEncryptionManager",
13
10
  };
14
- class CompositeEncryptionManagerFactory extends runtime_1.EncryptionManagerFactory {
11
+ export class CompositeEncryptionManagerFactory extends EncryptionManagerFactory {
15
12
  constructor(config) {
16
13
  super();
17
- this.type = exports.FACTORY_META.key;
14
+ this.type = FACTORY_META.key;
18
15
  this.isDefault = true;
19
16
  this.priority = config?.priority ?? DEFAULT_PRIORITY;
20
17
  this.supportedAlgorithms = config?.supportedAlgorithms ?? [];
@@ -50,7 +47,7 @@ class CompositeEncryptionManagerFactory extends runtime_1.EncryptionManagerFacto
50
47
  supported_sealed_algorithms: supportedSealedAlgorithms,
51
48
  supported_channel_algorithms: supportedChannelAlgorithms,
52
49
  });
53
- return new composite_encryption_manager_js_1.CompositeEncryptionManager({
50
+ return new CompositeEncryptionManager({
54
51
  secureChannelManager: resolved.secureChannelManager,
55
52
  keyProvider: resolved.keyProvider,
56
53
  cryptoProvider: resolved.cryptoProvider,
@@ -112,6 +109,5 @@ class CompositeEncryptionManagerFactory extends runtime_1.EncryptionManagerFacto
112
109
  return direct ?? camel ?? null;
113
110
  }
114
111
  }
115
- exports.CompositeEncryptionManagerFactory = CompositeEncryptionManagerFactory;
116
- exports.default = CompositeEncryptionManagerFactory;
112
+ export default CompositeEncryptionManagerFactory;
117
113
  //# sourceMappingURL=composite-encryption-manager-factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composite-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager-factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composite-encryption-manager-factory.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager-factory.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CompositeEncryptionManager = void 0;
4
- const runtime_1 = require("@naylence/runtime");
5
- const encryption_manager_registry_js_1 = require("./encryption-manager-registry.js");
6
- const logger = (0, runtime_1.getLogger)("naylence.fame.security.encryption.composite_encryption_manager");
1
+ import { EncryptionResult, getLogger, } from "@naylence/runtime";
2
+ import { getEncryptionManagerFactoryRegistry } from "./encryption-manager-registry.js";
3
+ const logger = getLogger("naylence.fame.security.encryption.composite_encryption_manager");
7
4
  const DEFAULT_SEALED_ALGORITHMS = [
8
5
  "X25519",
9
6
  "ECDH-ES+A256GCM",
@@ -17,12 +14,12 @@ function isNodeEventListenerInstance(value) {
17
14
  "function" ||
18
15
  typeof value.onNodeStopped === "function");
19
16
  }
20
- class CompositeEncryptionManager {
17
+ export class CompositeEncryptionManager {
21
18
  constructor({ secureChannelManager = null, keyProvider, cryptoProvider = null, nodeLike = null, supportedSealedAlgorithms = DEFAULT_SEALED_ALGORITHMS, supportedChannelAlgorithms = DEFAULT_CHANNEL_ALGORITHMS, }) {
22
19
  this.priority = 1000;
23
20
  this.nodeReady = false;
24
21
  this.lastAttachInfo = null;
25
- this.factoryRegistry = (0, encryption_manager_registry_js_1.getEncryptionManagerFactoryRegistry)();
22
+ this.factoryRegistry = getEncryptionManagerFactoryRegistry();
26
23
  this.managerInstances = new Map();
27
24
  this.secureChannelManager = secureChannelManager ?? null;
28
25
  this.keyProvider = keyProvider;
@@ -36,7 +33,7 @@ class CompositeEncryptionManager {
36
33
  async encryptEnvelope(envelope, opts) {
37
34
  const manager = await this.getManagerForOptions(opts ?? null);
38
35
  if (!manager) {
39
- return runtime_1.EncryptionResult.skipped(envelope);
36
+ return EncryptionResult.skipped(envelope);
40
37
  }
41
38
  try {
42
39
  return await manager.encryptEnvelope(envelope, opts);
@@ -45,7 +42,7 @@ class CompositeEncryptionManager {
45
42
  logger.error("composite_encrypt_failed", {
46
43
  error: error instanceof Error ? error.message : String(error),
47
44
  });
48
- return runtime_1.EncryptionResult.skipped(envelope);
45
+ return EncryptionResult.skipped(envelope);
49
46
  }
50
47
  }
51
48
  async decryptEnvelope(envelope, opts) {
@@ -321,5 +318,4 @@ class CompositeEncryptionManager {
321
318
  return 0;
322
319
  }
323
320
  }
324
- exports.CompositeEncryptionManager = CompositeEncryptionManager;
325
321
  //# sourceMappingURL=composite-encryption-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composite-encryption-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composite-encryption-manager.js","sourceRoot":"","sources":["../../../../../../src/naylence/fame/security/encryption/composite-encryption-manager.ts"],"names":[],"mappings":"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"}