@ajna-inc/vaults 0.1.0 → 0.1.2

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 (208) hide show
  1. package/build/VaultsApi.d.ts +363 -0
  2. package/build/VaultsApi.js +450 -248
  3. package/build/VaultsApi.js.map +1 -0
  4. package/build/VaultsEvents.d.ts +227 -0
  5. package/build/VaultsEvents.js +8 -0
  6. package/build/VaultsEvents.js.map +1 -0
  7. package/build/VaultsModule.d.ts +64 -0
  8. package/build/VaultsModule.js +43 -18
  9. package/build/VaultsModule.js.map +1 -0
  10. package/build/crypto/wasm/VaultCrypto.d.ts +19 -0
  11. package/build/crypto/wasm/VaultCrypto.js +29 -42
  12. package/build/crypto/wasm/VaultCrypto.js.map +1 -0
  13. package/build/errors/BadSuiteError.d.ts +8 -0
  14. package/build/errors/BadSuiteError.js +8 -25
  15. package/build/errors/BadSuiteError.js.map +1 -0
  16. package/build/errors/DecryptAeadError.d.ts +8 -0
  17. package/build/errors/DecryptAeadError.js +8 -25
  18. package/build/errors/DecryptAeadError.js.map +1 -0
  19. package/build/errors/DecryptKemError.d.ts +8 -0
  20. package/build/errors/DecryptKemError.js +8 -25
  21. package/build/errors/DecryptKemError.js.map +1 -0
  22. package/build/errors/PolicyError.d.ts +8 -0
  23. package/build/errors/PolicyError.js +8 -25
  24. package/build/errors/PolicyError.js.map +1 -0
  25. package/build/errors/VaultError.d.ts +52 -0
  26. package/build/errors/VaultError.js +19 -30
  27. package/build/errors/VaultError.js.map +1 -0
  28. package/build/errors/index.d.ts +5 -0
  29. package/build/errors/index.js +1 -0
  30. package/build/errors/index.js.map +1 -0
  31. package/build/handlers/CreateVaultHandler.d.ts +18 -0
  32. package/build/handlers/CreateVaultHandler.js +75 -0
  33. package/build/handlers/CreateVaultHandler.js.map +1 -0
  34. package/build/handlers/DeleteVaultHandler.d.ts +17 -0
  35. package/build/handlers/DeleteVaultHandler.js +48 -0
  36. package/build/handlers/DeleteVaultHandler.js.map +1 -0
  37. package/build/handlers/DenyAccessHandler.d.ts +15 -0
  38. package/build/handlers/DenyAccessHandler.js +39 -0
  39. package/build/handlers/DenyAccessHandler.js.map +1 -0
  40. package/build/handlers/DenyShareHandler.d.ts +17 -0
  41. package/build/handlers/DenyShareHandler.js +49 -0
  42. package/build/handlers/DenyShareHandler.js.map +1 -0
  43. package/build/handlers/GrantAccessHandler.d.ts +17 -0
  44. package/build/handlers/GrantAccessHandler.js +59 -0
  45. package/build/handlers/GrantAccessHandler.js.map +1 -0
  46. package/build/handlers/ProvideShareHandler.d.ts +17 -0
  47. package/build/handlers/ProvideShareHandler.js +77 -0
  48. package/build/handlers/ProvideShareHandler.js.map +1 -0
  49. package/build/handlers/RequestAccessHandler.d.ts +18 -0
  50. package/build/handlers/RequestAccessHandler.js +60 -0
  51. package/build/handlers/RequestAccessHandler.js.map +1 -0
  52. package/build/handlers/RequestShareHandler.d.ts +19 -0
  53. package/build/handlers/RequestShareHandler.js +70 -0
  54. package/build/handlers/RequestShareHandler.js.map +1 -0
  55. package/build/handlers/RequestStorageHandler.d.ts +53 -0
  56. package/build/handlers/RequestStorageHandler.js +158 -0
  57. package/build/handlers/RequestStorageHandler.js.map +1 -0
  58. package/build/handlers/RetrieveVaultHandler.d.ts +18 -0
  59. package/build/handlers/RetrieveVaultHandler.js +65 -0
  60. package/build/handlers/RetrieveVaultHandler.js.map +1 -0
  61. package/build/handlers/StoreVaultHandler.d.ts +17 -0
  62. package/build/handlers/StoreVaultHandler.js +77 -0
  63. package/build/handlers/StoreVaultHandler.js.map +1 -0
  64. package/build/handlers/UpdateVaultHandler.d.ts +18 -0
  65. package/build/handlers/UpdateVaultHandler.js +77 -0
  66. package/build/handlers/UpdateVaultHandler.js.map +1 -0
  67. package/build/handlers/VaultCreatedAckHandler.d.ts +15 -0
  68. package/build/handlers/VaultCreatedAckHandler.js +39 -0
  69. package/build/handlers/VaultCreatedAckHandler.js.map +1 -0
  70. package/build/handlers/VaultDataHandler.d.ts +19 -0
  71. package/build/handlers/VaultDataHandler.js +68 -0
  72. package/build/handlers/VaultDataHandler.js.map +1 -0
  73. package/build/handlers/VaultProblemReportHandler.d.ts +17 -0
  74. package/build/handlers/VaultProblemReportHandler.js +40 -0
  75. package/build/handlers/VaultProblemReportHandler.js.map +1 -0
  76. package/build/handlers/VaultReferenceHandler.d.ts +33 -0
  77. package/build/handlers/VaultReferenceHandler.js +169 -0
  78. package/build/handlers/VaultReferenceHandler.js.map +1 -0
  79. package/build/handlers/VaultStoredAckHandler.d.ts +15 -0
  80. package/build/handlers/VaultStoredAckHandler.js +38 -0
  81. package/build/handlers/VaultStoredAckHandler.js.map +1 -0
  82. package/build/handlers/index.d.ts +17 -0
  83. package/build/handlers/index.js +44 -0
  84. package/build/handlers/index.js.map +1 -0
  85. package/build/index.d.ts +42 -0
  86. package/build/index.js +13 -1
  87. package/build/index.js.map +1 -0
  88. package/build/messages/CreateVaultMessage.d.ts +39 -0
  89. package/build/messages/CreateVaultMessage.js +65 -115
  90. package/build/messages/CreateVaultMessage.js.map +1 -0
  91. package/build/messages/DeleteVaultMessage.d.ts +22 -0
  92. package/build/messages/DeleteVaultMessage.js +51 -103
  93. package/build/messages/DeleteVaultMessage.js.map +1 -0
  94. package/build/messages/DenyAccessMessage.d.ts +22 -0
  95. package/build/messages/DenyAccessMessage.js +50 -103
  96. package/build/messages/DenyAccessMessage.js.map +1 -0
  97. package/build/messages/DenyShareMessage.d.ts +24 -0
  98. package/build/messages/DenyShareMessage.js +56 -109
  99. package/build/messages/DenyShareMessage.js.map +1 -0
  100. package/build/messages/GrantAccessMessage.d.ts +32 -0
  101. package/build/messages/GrantAccessMessage.js +63 -115
  102. package/build/messages/GrantAccessMessage.js.map +1 -0
  103. package/build/messages/ProvideShareMessage.d.ts +26 -0
  104. package/build/messages/ProvideShareMessage.js +62 -115
  105. package/build/messages/ProvideShareMessage.js.map +1 -0
  106. package/build/messages/ProvideStorageMessage.d.ts +90 -0
  107. package/build/messages/ProvideStorageMessage.js +193 -0
  108. package/build/messages/ProvideStorageMessage.js.map +1 -0
  109. package/build/messages/RequestAccessMessage.d.ts +30 -0
  110. package/build/messages/RequestAccessMessage.js +57 -109
  111. package/build/messages/RequestAccessMessage.js.map +1 -0
  112. package/build/messages/RequestShareMessage.d.ts +24 -0
  113. package/build/messages/RequestShareMessage.js +56 -109
  114. package/build/messages/RequestShareMessage.js.map +1 -0
  115. package/build/messages/RequestStorageMessage.d.ts +50 -0
  116. package/build/messages/RequestStorageMessage.js +98 -0
  117. package/build/messages/RequestStorageMessage.js.map +1 -0
  118. package/build/messages/RetrieveVaultMessage.d.ts +20 -0
  119. package/build/messages/RetrieveVaultMessage.js +44 -97
  120. package/build/messages/RetrieveVaultMessage.js.map +1 -0
  121. package/build/messages/StoreVaultMessage.d.ts +23 -0
  122. package/build/messages/StoreVaultMessage.js +51 -103
  123. package/build/messages/StoreVaultMessage.js.map +1 -0
  124. package/build/messages/UpdateVaultMessage.d.ts +25 -0
  125. package/build/messages/UpdateVaultMessage.js +58 -109
  126. package/build/messages/UpdateVaultMessage.js.map +1 -0
  127. package/build/messages/VaultCreatedAckMessage.d.ts +20 -0
  128. package/build/messages/VaultCreatedAckMessage.js +44 -97
  129. package/build/messages/VaultCreatedAckMessage.js.map +1 -0
  130. package/build/messages/VaultDataMessage.d.ts +34 -0
  131. package/build/messages/VaultDataMessage.js +59 -110
  132. package/build/messages/VaultDataMessage.js.map +1 -0
  133. package/build/messages/VaultProblemReportMessage.d.ts +35 -0
  134. package/build/messages/VaultProblemReportMessage.js +56 -102
  135. package/build/messages/VaultProblemReportMessage.js.map +1 -0
  136. package/build/messages/VaultReferenceMessage.d.ts +66 -0
  137. package/build/messages/VaultReferenceMessage.js +138 -0
  138. package/build/messages/VaultReferenceMessage.js.map +1 -0
  139. package/build/messages/VaultStoredAckMessage.d.ts +33 -0
  140. package/build/messages/VaultStoredAckMessage.js +51 -104
  141. package/build/messages/VaultStoredAckMessage.js.map +1 -0
  142. package/build/messages/index.d.ts +18 -0
  143. package/build/messages/index.js +6 -1
  144. package/build/messages/index.js.map +1 -0
  145. package/build/models/ThresholdSession.d.ts +37 -0
  146. package/build/models/ThresholdSession.js +1 -0
  147. package/build/models/ThresholdSession.js.map +1 -0
  148. package/build/models/VaultDocument.d.ts +22 -0
  149. package/build/models/VaultDocument.js +1 -0
  150. package/build/models/VaultDocument.js.map +1 -0
  151. package/build/models/VaultHeader.d.ts +92 -0
  152. package/build/models/VaultHeader.js +4 -6
  153. package/build/models/VaultHeader.js.map +1 -0
  154. package/build/models/VaultPolicy.d.ts +24 -0
  155. package/build/models/VaultPolicy.js +1 -0
  156. package/build/models/VaultPolicy.js.map +1 -0
  157. package/build/models/index.d.ts +4 -0
  158. package/build/models/index.js +1 -0
  159. package/build/models/index.js.map +1 -0
  160. package/build/repository/KemKeypairRecord.d.ts +37 -0
  161. package/build/repository/KemKeypairRecord.js +35 -0
  162. package/build/repository/KemKeypairRecord.js.map +1 -0
  163. package/build/repository/KemKeypairRepository.d.ts +18 -0
  164. package/build/repository/KemKeypairRepository.js +50 -0
  165. package/build/repository/KemKeypairRepository.js.map +1 -0
  166. package/build/repository/ThresholdSessionRecord.d.ts +93 -0
  167. package/build/repository/ThresholdSessionRecord.js +58 -92
  168. package/build/repository/ThresholdSessionRecord.js.map +1 -0
  169. package/build/repository/ThresholdSessionRepository.d.ts +35 -0
  170. package/build/repository/ThresholdSessionRepository.js +72 -208
  171. package/build/repository/ThresholdSessionRepository.js.map +1 -0
  172. package/build/repository/VaultRecord.d.ts +105 -0
  173. package/build/repository/VaultRecord.js +94 -115
  174. package/build/repository/VaultRecord.js.map +1 -0
  175. package/build/repository/VaultRepository.d.ts +35 -0
  176. package/build/repository/VaultRepository.js +66 -192
  177. package/build/repository/VaultRepository.js.map +1 -0
  178. package/build/repository/index.d.ts +9 -0
  179. package/build/repository/index.js +7 -1
  180. package/build/repository/index.js.map +1 -0
  181. package/build/services/HPKEService.d.ts +67 -0
  182. package/build/services/HPKEService.js +106 -0
  183. package/build/services/HPKEService.js.map +1 -0
  184. package/build/services/KemKeyExchangeService.d.ts +207 -0
  185. package/build/services/KemKeyExchangeService.js +323 -0
  186. package/build/services/KemKeyExchangeService.js.map +1 -0
  187. package/build/services/VaultEncryptionService.d.ts +120 -0
  188. package/build/services/VaultEncryptionService.js +469 -588
  189. package/build/services/VaultEncryptionService.js.map +1 -0
  190. package/build/services/VaultService.d.ts +127 -0
  191. package/build/services/VaultService.js +224 -376
  192. package/build/services/VaultService.js.map +1 -0
  193. package/build/services/VaultSigningService.d.ts +216 -0
  194. package/build/services/VaultSigningService.js +498 -0
  195. package/build/services/VaultSigningService.js.map +1 -0
  196. package/build/services/index.d.ts +9 -0
  197. package/build/services/index.js +10 -1
  198. package/build/services/index.js.map +1 -0
  199. package/build/storage/VaultStorageConfig.d.ts +97 -0
  200. package/build/storage/VaultStorageConfig.js +22 -0
  201. package/build/storage/VaultStorageConfig.js.map +1 -0
  202. package/build/storage/VaultStorageService.d.ts +118 -0
  203. package/build/storage/VaultStorageService.js +381 -0
  204. package/build/storage/VaultStorageService.js.map +1 -0
  205. package/build/storage/index.d.ts +2 -0
  206. package/build/storage/index.js +21 -0
  207. package/build/storage/index.js.map +1 -0
  208. package/package.json +5 -2
@@ -0,0 +1,8 @@
1
+ import { VaultError } from './VaultError';
2
+ /**
3
+ * Error thrown when KEM decapsulation fails
4
+ * Spec §11: ERR_DECRYPT_KEM - no recipient wrap decapsulated
5
+ */
6
+ export declare class DecryptKemError extends VaultError {
7
+ constructor(message: string);
8
+ }
@@ -1,34 +1,17 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.DecryptKemError = void 0;
19
- var VaultError_1 = require("./VaultError");
4
+ const VaultError_1 = require("./VaultError");
20
5
  /**
21
6
  * Error thrown when KEM decapsulation fails
22
7
  * Spec §11: ERR_DECRYPT_KEM - no recipient wrap decapsulated
23
8
  */
24
- var DecryptKemError = /** @class */ (function (_super) {
25
- __extends(DecryptKemError, _super);
26
- function DecryptKemError(message) {
27
- var _this = _super.call(this, VaultError_1.VaultErrorCode.DECRYPT_KEM, message) || this;
28
- _this.name = 'DecryptKemError';
29
- Object.setPrototypeOf(_this, DecryptKemError.prototype);
30
- return _this;
9
+ class DecryptKemError extends VaultError_1.VaultError {
10
+ constructor(message) {
11
+ super(VaultError_1.VaultErrorCode.DECRYPT_KEM, message);
12
+ this.name = 'DecryptKemError';
13
+ Object.setPrototypeOf(this, DecryptKemError.prototype);
31
14
  }
32
- return DecryptKemError;
33
- }(VaultError_1.VaultError));
15
+ }
34
16
  exports.DecryptKemError = DecryptKemError;
17
+ //# sourceMappingURL=DecryptKemError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecryptKemError.js","sourceRoot":"","sources":["../../src/errors/DecryptKemError.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAEzD;;;GAGG;AACH,MAAa,eAAgB,SAAQ,uBAAU;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,2BAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;QAC7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;CACF;AAND,0CAMC"}
@@ -0,0 +1,8 @@
1
+ import { VaultError } from './VaultError';
2
+ /**
3
+ * Error thrown when policy is malformed or inconsistent
4
+ * Spec §11: ERR_POLICY - header policy malformed or inconsistent
5
+ */
6
+ export declare class PolicyError extends VaultError {
7
+ constructor(message: string);
8
+ }
@@ -1,34 +1,17 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.PolicyError = void 0;
19
- var VaultError_1 = require("./VaultError");
4
+ const VaultError_1 = require("./VaultError");
20
5
  /**
21
6
  * Error thrown when policy is malformed or inconsistent
22
7
  * Spec §11: ERR_POLICY - header policy malformed or inconsistent
23
8
  */
24
- var PolicyError = /** @class */ (function (_super) {
25
- __extends(PolicyError, _super);
26
- function PolicyError(message) {
27
- var _this = _super.call(this, VaultError_1.VaultErrorCode.POLICY, message) || this;
28
- _this.name = 'PolicyError';
29
- Object.setPrototypeOf(_this, PolicyError.prototype);
30
- return _this;
9
+ class PolicyError extends VaultError_1.VaultError {
10
+ constructor(message) {
11
+ super(VaultError_1.VaultErrorCode.POLICY, message);
12
+ this.name = 'PolicyError';
13
+ Object.setPrototypeOf(this, PolicyError.prototype);
31
14
  }
32
- return PolicyError;
33
- }(VaultError_1.VaultError));
15
+ }
34
16
  exports.PolicyError = PolicyError;
17
+ //# sourceMappingURL=PolicyError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PolicyError.js","sourceRoot":"","sources":["../../src/errors/PolicyError.ts"],"names":[],"mappings":";;;AAAA,6CAAyD;AAEzD;;;GAGG;AACH,MAAa,WAAY,SAAQ,uBAAU;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,2BAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACrC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QACzB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IACpD,CAAC;CACF;AAND,kCAMC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Vault Error Codes per ZK-Vault Specification §11
3
+ */
4
+ export declare enum VaultErrorCode {
5
+ /** Unknown or unsupported suite */
6
+ BAD_SUITE = "ERR_BAD_SUITE",
7
+ /** STARK verification failed */
8
+ BAD_PROOF = "ERR_BAD_PROOF",
9
+ /** Nonce reused (replay attack detected) */
10
+ REPLAY = "ERR_REPLAY",
11
+ /** Proof exceeds maxProofBytes */
12
+ SIZE = "ERR_SIZE",
13
+ /** Unknown or stale context */
14
+ CTX = "ERR_CTX",
15
+ /** No recipient wrap decapsulated */
16
+ DECRYPT_KEM = "ERR_DECRYPT_KEM",
17
+ /** AEAD tag failure (AAD tamper or wrong CEK) */
18
+ DECRYPT_AEAD = "ERR_DECRYPT_AEAD",
19
+ /** Header policy malformed or inconsistent */
20
+ POLICY = "ERR_POLICY",
21
+ /** Vault not found */
22
+ NOT_FOUND = "ERR_NOT_FOUND",
23
+ /** Threshold not met for reconstruction */
24
+ THRESHOLD_NOT_MET = "ERR_THRESHOLD_NOT_MET",
25
+ /** Session expired */
26
+ SESSION_EXPIRED = "ERR_SESSION_EXPIRED",
27
+ /** Storage operation failed */
28
+ STORAGE = "ERR_STORAGE",
29
+ /** Storage operation failed (alias for STORAGE) */
30
+ STORAGE_ERROR = "ERR_STORAGE",
31
+ /** Data integrity check failed (checksum mismatch) */
32
+ INTEGRITY_CHECK_FAILED = "ERR_INTEGRITY",
33
+ /** Invalid key commitment */
34
+ KEY_COMMITMENT = "ERR_KEY_COMMITMENT",
35
+ /** Invalid or missing key for operation */
36
+ INVALID_KEY = "ERR_INVALID_KEY"
37
+ }
38
+ /**
39
+ * Base error class for all vault-related errors
40
+ */
41
+ export declare class VaultError extends Error {
42
+ readonly code: VaultErrorCode;
43
+ constructor(code: VaultErrorCode, message: string);
44
+ /**
45
+ * Check if error matches a specific code
46
+ */
47
+ is(code: VaultErrorCode): boolean;
48
+ /**
49
+ * Create a human-readable error message
50
+ */
51
+ toString(): string;
52
+ }
@@ -1,19 +1,4 @@
1
1
  "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
2
  Object.defineProperty(exports, "__esModule", { value: true });
18
3
  exports.VaultError = exports.VaultErrorCode = void 0;
19
4
  /**
@@ -45,33 +30,37 @@ var VaultErrorCode;
45
30
  VaultErrorCode["SESSION_EXPIRED"] = "ERR_SESSION_EXPIRED";
46
31
  /** Storage operation failed */
47
32
  VaultErrorCode["STORAGE"] = "ERR_STORAGE";
33
+ /** Storage operation failed (alias for STORAGE) */
34
+ VaultErrorCode["STORAGE_ERROR"] = "ERR_STORAGE";
35
+ /** Data integrity check failed (checksum mismatch) */
36
+ VaultErrorCode["INTEGRITY_CHECK_FAILED"] = "ERR_INTEGRITY";
48
37
  /** Invalid key commitment */
49
38
  VaultErrorCode["KEY_COMMITMENT"] = "ERR_KEY_COMMITMENT";
39
+ /** Invalid or missing key for operation */
40
+ VaultErrorCode["INVALID_KEY"] = "ERR_INVALID_KEY";
50
41
  })(VaultErrorCode || (exports.VaultErrorCode = VaultErrorCode = {}));
51
42
  /**
52
43
  * Base error class for all vault-related errors
53
44
  */
54
- var VaultError = /** @class */ (function (_super) {
55
- __extends(VaultError, _super);
56
- function VaultError(code, message) {
57
- var _this = _super.call(this, message) || this;
58
- _this.code = code;
59
- _this.name = 'VaultError';
60
- Object.setPrototypeOf(_this, VaultError.prototype);
61
- return _this;
45
+ class VaultError extends Error {
46
+ constructor(code, message) {
47
+ super(message);
48
+ this.code = code;
49
+ this.name = 'VaultError';
50
+ Object.setPrototypeOf(this, VaultError.prototype);
62
51
  }
63
52
  /**
64
53
  * Check if error matches a specific code
65
54
  */
66
- VaultError.prototype.is = function (code) {
55
+ is(code) {
67
56
  return this.code === code;
68
- };
57
+ }
69
58
  /**
70
59
  * Create a human-readable error message
71
60
  */
72
- VaultError.prototype.toString = function () {
73
- return "[".concat(this.code, "] ").concat(this.message);
74
- };
75
- return VaultError;
76
- }(Error));
61
+ toString() {
62
+ return `[${this.code}] ${this.message}`;
63
+ }
64
+ }
77
65
  exports.VaultError = VaultError;
66
+ //# sourceMappingURL=VaultError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VaultError.js","sourceRoot":"","sources":["../../src/errors/VaultError.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,cAgDX;AAhDD,WAAY,cAAc;IACxB,mCAAmC;IACnC,6CAA2B,CAAA;IAE3B,gCAAgC;IAChC,6CAA2B,CAAA;IAE3B,4CAA4C;IAC5C,uCAAqB,CAAA;IAErB,kCAAkC;IAClC,mCAAiB,CAAA;IAEjB,+BAA+B;IAC/B,iCAAe,CAAA;IAEf,qCAAqC;IACrC,iDAA+B,CAAA;IAE/B,iDAAiD;IACjD,mDAAiC,CAAA;IAEjC,8CAA8C;IAC9C,uCAAqB,CAAA;IAErB,sBAAsB;IACtB,6CAA2B,CAAA;IAE3B,2CAA2C;IAC3C,6DAA2C,CAAA;IAE3C,sBAAsB;IACtB,yDAAuC,CAAA;IAEvC,+BAA+B;IAC/B,yCAAuB,CAAA;IAEvB,mDAAmD;IACnD,+CAA6B,CAAA;IAE7B,sDAAsD;IACtD,0DAAwC,CAAA;IAExC,6BAA6B;IAC7B,uDAAqC,CAAA;IAErC,2CAA2C;IAC3C,iDAA+B,CAAA;AACjC,CAAC,EAhDW,cAAc,8BAAd,cAAc,QAgDzB;AAED;;GAEG;AACH,MAAa,UAAW,SAAQ,KAAK;IAGnC,YAAY,IAAoB,EAAE,OAAe;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;QACxB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;IAED;;OAEG;IACI,EAAE,CAAC,IAAoB;QAC5B,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAA;IAC3B,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAA;IACzC,CAAC;CACF;AAvBD,gCAuBC"}
@@ -0,0 +1,5 @@
1
+ export { VaultError, VaultErrorCode } from './VaultError';
2
+ export { BadSuiteError } from './BadSuiteError';
3
+ export { DecryptKemError } from './DecryptKemError';
4
+ export { DecryptAeadError } from './DecryptAeadError';
5
+ export { PolicyError } from './PolicyError';
@@ -14,3 +14,4 @@ var DecryptAeadError_1 = require("./DecryptAeadError");
14
14
  Object.defineProperty(exports, "DecryptAeadError", { enumerable: true, get: function () { return DecryptAeadError_1.DecryptAeadError; } });
15
15
  var PolicyError_1 = require("./PolicyError");
16
16
  Object.defineProperty(exports, "PolicyError", { enumerable: true, get: function () { return PolicyError_1.PolicyError; } });
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;;AAAA,uBAAuB;AACvB,2CAAyD;AAAhD,wGAAA,UAAU,OAAA;AAAE,4GAAA,cAAc,OAAA;AAEnC,uBAAuB;AACvB,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,qDAAmD;AAA1C,kHAAA,eAAe,OAAA;AACxB,uDAAqD;AAA5C,oHAAA,gBAAgB,OAAA;AACzB,6CAA2C;AAAlC,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Handler for create-vault messages
3
+ *
4
+ * Receives notification about a new vault creation.
5
+ * Used for multi-party vaults where participants need to be notified.
6
+ */
7
+ import type { MessageHandler, MessageHandlerInboundMessage, Logger } from '@credo-ts/core';
8
+ import { EventEmitter, OutboundMessageContext } from '@credo-ts/core';
9
+ import { CreateVaultMessage, VaultCreatedAckMessage } from '../messages';
10
+ import { VaultRepository } from '../repository/VaultRepository';
11
+ export declare class CreateVaultHandler implements MessageHandler {
12
+ private logger;
13
+ private vaultRepository;
14
+ private eventEmitter;
15
+ supportedMessages: (typeof CreateVaultMessage)[];
16
+ constructor(logger: Logger, vaultRepository: VaultRepository, eventEmitter: EventEmitter);
17
+ handle(messageContext: MessageHandlerInboundMessage<CreateVaultHandler>): Promise<OutboundMessageContext<VaultCreatedAckMessage>>;
18
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ /**
3
+ * Handler for create-vault messages
4
+ *
5
+ * Receives notification about a new vault creation.
6
+ * Used for multi-party vaults where participants need to be notified.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.CreateVaultHandler = void 0;
10
+ const core_1 = require("@credo-ts/core");
11
+ const messages_1 = require("../messages");
12
+ const VaultRecord_1 = require("../repository/VaultRecord");
13
+ const VaultsEvents_1 = require("../VaultsEvents");
14
+ class CreateVaultHandler {
15
+ constructor(logger, vaultRepository, eventEmitter) {
16
+ this.supportedMessages = [messages_1.CreateVaultMessage];
17
+ this.logger = logger;
18
+ this.vaultRepository = vaultRepository;
19
+ this.eventEmitter = eventEmitter;
20
+ }
21
+ async handle(messageContext) {
22
+ const { agentContext, connection, message } = messageContext;
23
+ this.logger.debug(`Received create-vault notification for ${message.vaultId}`, {
24
+ vaultId: message.vaultId,
25
+ docId: message.docId,
26
+ policy: message.policy,
27
+ connectionId: connection?.id,
28
+ });
29
+ // Check if we're already tracking this vault
30
+ const existing = await this.vaultRepository.findByVaultId(agentContext, message.vaultId);
31
+ if (existing) {
32
+ this.logger.debug(`Vault ${message.vaultId} already exists, acknowledging`);
33
+ const ackMessage = new messages_1.VaultCreatedAckMessage({
34
+ vaultId: message.vaultId,
35
+ status: 'accepted',
36
+ });
37
+ return new core_1.OutboundMessageContext(ackMessage, { agentContext, connection });
38
+ }
39
+ // Create a record to track this vault (without ciphertext - that comes later)
40
+ const record = new VaultRecord_1.VaultRecord({
41
+ vaultId: message.vaultId,
42
+ docId: message.docId,
43
+ header: message.header,
44
+ ciphertext: '', // Will be populated when we receive the actual data
45
+ ownerDid: agentContext.contextCorrelationId,
46
+ });
47
+ // Add metadata about the creation notification
48
+ record.header.metadata = {
49
+ ...record.header.metadata,
50
+ createdBy: connection?.id,
51
+ notifiedAt: new Date().toISOString(),
52
+ storageLocation: message.storageLocation,
53
+ invitation: message.invitation,
54
+ };
55
+ await this.vaultRepository.save(agentContext, record);
56
+ // Emit event
57
+ this.eventEmitter.emit(agentContext, {
58
+ type: VaultsEvents_1.VaultEventTypes.VaultCreated,
59
+ payload: {
60
+ vaultId: message.vaultId,
61
+ docId: message.docId,
62
+ policyMode: message.policy.mode,
63
+ createdBy: connection?.id,
64
+ },
65
+ });
66
+ // Send acceptance
67
+ const ackMessage = new messages_1.VaultCreatedAckMessage({
68
+ vaultId: message.vaultId,
69
+ status: 'accepted',
70
+ });
71
+ return new core_1.OutboundMessageContext(ackMessage, { agentContext, connection });
72
+ }
73
+ }
74
+ exports.CreateVaultHandler = CreateVaultHandler;
75
+ //# sourceMappingURL=CreateVaultHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateVaultHandler.js","sourceRoot":"","sources":["../../src/handlers/CreateVaultHandler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,yCAAqE;AAErE,0CAAwE;AAExE,2DAAuD;AACvD,kDAAiD;AAEjD,MAAa,kBAAkB;IAM7B,YAAmB,MAAc,EAAE,eAAgC,EAAE,YAA0B;QAFxF,sBAAiB,GAAG,CAAC,6BAAkB,CAAC,CAAA;QAG7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,cAAgE;QAClF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAA;QAE5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,OAAO,CAAC,OAAO,EAAE,EAAE;YAC7E,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,UAAU,EAAE,EAAE;SAC7B,CAAC,CAAA;QAEF,6CAA6C;QAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAExF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,OAAO,gCAAgC,CAAC,CAAA;YAC3E,MAAM,UAAU,GAAG,IAAI,iCAAsB,CAAC;gBAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;YACF,OAAO,IAAI,6BAAsB,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7E,CAAC;QAED,8EAA8E;QAC9E,MAAM,MAAM,GAAG,IAAI,yBAAW,CAAC;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,EAAE,EAAE,oDAAoD;YACpE,QAAQ,EAAE,YAAY,CAAC,oBAAoB;SAC5C,CAAC,CAAA;QAEF,+CAA+C;QAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG;YACvB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ;YACzB,SAAS,EAAE,UAAU,EAAE,EAAE;YACzB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,CAAA;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QAErD,aAAa;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,EAAE,8BAAe,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;gBAC/B,SAAS,EAAE,UAAU,EAAE,EAAE;aAC1B;SACF,CAAC,CAAA;QAEF,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,iCAAsB,CAAC;YAC5C,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;QAEF,OAAO,IAAI,6BAAsB,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAA;IAC7E,CAAC;CACF;AAzED,gDAyEC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Handler for delete-vault messages
3
+ *
4
+ * Receives vault deletion notifications and removes local copy.
5
+ */
6
+ import type { MessageHandler, MessageHandlerInboundMessage, Logger } from '@credo-ts/core';
7
+ import { EventEmitter } from '@credo-ts/core';
8
+ import { DeleteVaultMessage } from '../messages';
9
+ import { VaultRepository } from '../repository/VaultRepository';
10
+ export declare class DeleteVaultHandler implements MessageHandler {
11
+ private logger;
12
+ private vaultRepository;
13
+ private eventEmitter;
14
+ supportedMessages: (typeof DeleteVaultMessage)[];
15
+ constructor(logger: Logger, vaultRepository: VaultRepository, eventEmitter: EventEmitter);
16
+ handle(messageContext: MessageHandlerInboundMessage<DeleteVaultHandler>): Promise<void>;
17
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /**
3
+ * Handler for delete-vault messages
4
+ *
5
+ * Receives vault deletion notifications and removes local copy.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DeleteVaultHandler = void 0;
9
+ const messages_1 = require("../messages");
10
+ const VaultsEvents_1 = require("../VaultsEvents");
11
+ class DeleteVaultHandler {
12
+ constructor(logger, vaultRepository, eventEmitter) {
13
+ this.supportedMessages = [messages_1.DeleteVaultMessage];
14
+ this.logger = logger;
15
+ this.vaultRepository = vaultRepository;
16
+ this.eventEmitter = eventEmitter;
17
+ }
18
+ async handle(messageContext) {
19
+ const { agentContext, connection, message } = messageContext;
20
+ this.logger.debug(`Received delete-vault for ${message.vaultId}`, {
21
+ vaultId: message.vaultId,
22
+ reason: message.reason,
23
+ connectionId: connection?.id,
24
+ });
25
+ // Find existing vault
26
+ const existing = await this.vaultRepository.findByVaultId(agentContext, message.vaultId);
27
+ if (!existing) {
28
+ this.logger.debug(`Vault ${message.vaultId} not found locally, ignoring delete`);
29
+ return;
30
+ }
31
+ // Delete vault
32
+ await this.vaultRepository.delete(agentContext, existing);
33
+ // Emit event
34
+ this.eventEmitter.emit(agentContext, {
35
+ type: VaultsEvents_1.VaultEventTypes.VaultDeleted,
36
+ payload: {
37
+ vaultId: message.vaultId,
38
+ docId: message.docId,
39
+ deletedBy: connection?.id,
40
+ reason: message.reason,
41
+ message: message.message,
42
+ },
43
+ });
44
+ this.logger.info(`Vault ${message.vaultId} deleted (reason: ${message.reason})`);
45
+ }
46
+ }
47
+ exports.DeleteVaultHandler = DeleteVaultHandler;
48
+ //# sourceMappingURL=DeleteVaultHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeleteVaultHandler.js","sourceRoot":"","sources":["../../src/handlers/DeleteVaultHandler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH,0CAAgD;AAEhD,kDAAiD;AAEjD,MAAa,kBAAkB;IAM7B,YAAmB,MAAc,EAAE,eAAgC,EAAE,YAA0B;QAFxF,sBAAiB,GAAG,CAAC,6BAAkB,CAAC,CAAA;QAG7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,cAAgE;QAClF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAA;QAE5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,EAAE;YAChE,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,UAAU,EAAE,EAAE;SAC7B,CAAC,CAAA;QAEF,sBAAsB;QACtB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;QAExF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,OAAO,CAAC,OAAO,qCAAqC,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QAED,eAAe;QACf,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;QAEzD,aAAa;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,EAAE,8BAAe,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,UAAU,EAAE,EAAE;gBACzB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,OAAO,qBAAqB,OAAO,CAAC,MAAM,GAAG,CAAC,CAAA;IAClF,CAAC;CACF;AA9CD,gDA8CC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Handler for deny-access messages
3
+ *
4
+ * Receives notification that access request was denied.
5
+ */
6
+ import type { MessageHandler, MessageHandlerInboundMessage, Logger } from '@credo-ts/core';
7
+ import { EventEmitter } from '@credo-ts/core';
8
+ import { DenyAccessMessage } from '../messages';
9
+ export declare class DenyAccessHandler implements MessageHandler {
10
+ private logger;
11
+ private eventEmitter;
12
+ supportedMessages: (typeof DenyAccessMessage)[];
13
+ constructor(logger: Logger, eventEmitter: EventEmitter);
14
+ handle(messageContext: MessageHandlerInboundMessage<DenyAccessHandler>): Promise<void>;
15
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ /**
3
+ * Handler for deny-access messages
4
+ *
5
+ * Receives notification that access request was denied.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DenyAccessHandler = void 0;
9
+ const messages_1 = require("../messages");
10
+ const VaultsEvents_1 = require("../VaultsEvents");
11
+ class DenyAccessHandler {
12
+ constructor(logger, eventEmitter) {
13
+ this.supportedMessages = [messages_1.DenyAccessMessage];
14
+ this.logger = logger;
15
+ this.eventEmitter = eventEmitter;
16
+ }
17
+ async handle(messageContext) {
18
+ const { agentContext, connection, message } = messageContext;
19
+ this.logger.warn(`Access denied for vault ${message.vaultId}: ${message.reason}`, {
20
+ vaultId: message.vaultId,
21
+ reason: message.reason,
22
+ message: message.message,
23
+ connectionId: connection?.id,
24
+ });
25
+ // Emit event for application
26
+ this.eventEmitter.emit(agentContext, {
27
+ type: VaultsEvents_1.VaultEventTypes.AccessDenied,
28
+ payload: {
29
+ vaultId: message.vaultId,
30
+ docId: message.docId,
31
+ reason: message.reason,
32
+ message: message.message,
33
+ deniedBy: connection?.id,
34
+ },
35
+ });
36
+ }
37
+ }
38
+ exports.DenyAccessHandler = DenyAccessHandler;
39
+ //# sourceMappingURL=DenyAccessHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DenyAccessHandler.js","sourceRoot":"","sources":["../../src/handlers/DenyAccessHandler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH,0CAA+C;AAC/C,kDAAiD;AAEjD,MAAa,iBAAiB;IAK5B,YAAmB,MAAc,EAAE,YAA0B;QAFtD,sBAAiB,GAAG,CAAC,4BAAiB,CAAC,CAAA;QAG5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,cAA+D;QACjF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAA;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE;YAChF,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,UAAU,EAAE,EAAE;SAC7B,CAAC,CAAA;QAEF,6BAA6B;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,EAAE,8BAAe,CAAC,YAAY;YAClC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,UAAU,EAAE,EAAE;aACzB;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAhCD,8CAgCC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Handler for deny-share messages
3
+ *
4
+ * Receives notification that a share request was denied.
5
+ */
6
+ import type { MessageHandler, MessageHandlerInboundMessage, Logger } from '@credo-ts/core';
7
+ import { EventEmitter } from '@credo-ts/core';
8
+ import { DenyShareMessage } from '../messages';
9
+ import { ThresholdSessionRepository } from '../repository/ThresholdSessionRepository';
10
+ export declare class DenyShareHandler implements MessageHandler {
11
+ private logger;
12
+ private sessionRepository;
13
+ private eventEmitter;
14
+ supportedMessages: (typeof DenyShareMessage)[];
15
+ constructor(logger: Logger, sessionRepository: ThresholdSessionRepository, eventEmitter: EventEmitter);
16
+ handle(messageContext: MessageHandlerInboundMessage<DenyShareHandler>): Promise<void>;
17
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ /**
3
+ * Handler for deny-share messages
4
+ *
5
+ * Receives notification that a share request was denied.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.DenyShareHandler = void 0;
9
+ const messages_1 = require("../messages");
10
+ const VaultsEvents_1 = require("../VaultsEvents");
11
+ class DenyShareHandler {
12
+ constructor(logger, sessionRepository, eventEmitter) {
13
+ this.supportedMessages = [messages_1.DenyShareMessage];
14
+ this.logger = logger;
15
+ this.sessionRepository = sessionRepository;
16
+ this.eventEmitter = eventEmitter;
17
+ }
18
+ async handle(messageContext) {
19
+ const { agentContext, connection, message } = messageContext;
20
+ this.logger.warn(`Share request denied for session ${message.sessionId}: ${message.reason}`, {
21
+ vaultId: message.vaultId,
22
+ sessionId: message.sessionId,
23
+ reason: message.reason,
24
+ message: message.message,
25
+ connectionId: connection?.id,
26
+ });
27
+ // Update session if it exists - mark as failed if too many denials
28
+ const session = await this.sessionRepository.findBySessionId(agentContext, message.sessionId);
29
+ if (session) {
30
+ // For now, just log the denial. Could track denials and fail session
31
+ // if too many participants deny.
32
+ this.logger.debug(`Share denied for session ${message.sessionId} by ${connection?.id}`);
33
+ }
34
+ // Emit event for application
35
+ this.eventEmitter.emit(agentContext, {
36
+ type: VaultsEvents_1.VaultEventTypes.ShareDenied,
37
+ payload: {
38
+ vaultId: message.vaultId,
39
+ docId: message.docId,
40
+ sessionId: message.sessionId,
41
+ reason: message.reason,
42
+ message: message.message,
43
+ deniedBy: connection?.id,
44
+ },
45
+ });
46
+ }
47
+ }
48
+ exports.DenyShareHandler = DenyShareHandler;
49
+ //# sourceMappingURL=DenyShareHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DenyShareHandler.js","sourceRoot":"","sources":["../../src/handlers/DenyShareHandler.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAMH,0CAA8C;AAE9C,kDAAiD;AAEjD,MAAa,gBAAgB;IAM3B,YACE,MAAc,EACd,iBAA6C,EAC7C,YAA0B;QALrB,sBAAiB,GAAG,CAAC,2BAAgB,CAAC,CAAA;QAO3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAA;QAC1C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;IAClC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,cAA8D;QAChF,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,cAAc,CAAA;QAE5D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE;YAC3F,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,YAAY,EAAE,UAAU,EAAE,EAAE;SAC7B,CAAC,CAAA;QAEF,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QAC7F,IAAI,OAAO,EAAE,CAAC;YACZ,qEAAqE;YACrE,iCAAiC;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,OAAO,CAAC,SAAS,OAAO,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACzF,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE;YACnC,IAAI,EAAE,8BAAe,CAAC,WAAW;YACjC,OAAO,EAAE;gBACP,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,UAAU,EAAE,EAAE;aACzB;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAhDD,4CAgDC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Handler for grant-access messages
3
+ *
4
+ * Receives CEK wrap granting us access to decrypt a vault.
5
+ */
6
+ import type { MessageHandler, MessageHandlerInboundMessage, Logger } from '@credo-ts/core';
7
+ import { EventEmitter } from '@credo-ts/core';
8
+ import { GrantAccessMessage } from '../messages';
9
+ import { VaultRepository } from '../repository/VaultRepository';
10
+ export declare class GrantAccessHandler implements MessageHandler {
11
+ private logger;
12
+ private vaultRepository;
13
+ private eventEmitter;
14
+ supportedMessages: (typeof GrantAccessMessage)[];
15
+ constructor(logger: Logger, vaultRepository: VaultRepository, eventEmitter: EventEmitter);
16
+ handle(messageContext: MessageHandlerInboundMessage<GrantAccessHandler>): Promise<void>;
17
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * Handler for grant-access messages
4
+ *
5
+ * Receives CEK wrap granting us access to decrypt a vault.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.GrantAccessHandler = void 0;
9
+ const messages_1 = require("../messages");
10
+ const VaultsEvents_1 = require("../VaultsEvents");
11
+ class GrantAccessHandler {
12
+ constructor(logger, vaultRepository, eventEmitter) {
13
+ this.supportedMessages = [messages_1.GrantAccessMessage];
14
+ this.logger = logger;
15
+ this.vaultRepository = vaultRepository;
16
+ this.eventEmitter = eventEmitter;
17
+ }
18
+ async handle(messageContext) {
19
+ const { agentContext, connection, message } = messageContext;
20
+ this.logger.info(`Access granted for vault ${message.vaultId}`, {
21
+ vaultId: message.vaultId,
22
+ wrapMethod: message.wrapMethod,
23
+ expiresAt: message.expiresAt,
24
+ connectionId: connection?.id,
25
+ });
26
+ // Find the vault record
27
+ const vault = await this.vaultRepository.findByVaultId(agentContext, message.vaultId);
28
+ if (vault) {
29
+ // Store the CEK wrap in metadata for later decryption
30
+ vault.header.metadata = {
31
+ ...vault.header.metadata,
32
+ accessGranted: {
33
+ cekWrap: message.cekWrap,
34
+ wrapMethod: message.wrapMethod,
35
+ grantedBy: connection?.id,
36
+ grantedAt: new Date().toISOString(),
37
+ expiresAt: message.expiresAt,
38
+ permissions: message.metadata?.permissions,
39
+ },
40
+ };
41
+ await this.vaultRepository.update(agentContext, vault);
42
+ }
43
+ // Emit event for application
44
+ this.eventEmitter.emit(agentContext, {
45
+ type: VaultsEvents_1.VaultEventTypes.AccessGranted,
46
+ payload: {
47
+ vaultId: message.vaultId,
48
+ docId: message.docId,
49
+ cekWrap: message.cekWrap,
50
+ wrapMethod: message.wrapMethod,
51
+ grantedBy: connection?.id,
52
+ expiresAt: message.expiresAt,
53
+ permissions: message.metadata?.permissions,
54
+ },
55
+ });
56
+ }
57
+ }
58
+ exports.GrantAccessHandler = GrantAccessHandler;
59
+ //# sourceMappingURL=GrantAccessHandler.js.map