@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
@@ -1,81 +1,26 @@
1
1
  "use strict";
2
- var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
- function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
- var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
- var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
- var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
- var _, done = false;
8
- for (var i = decorators.length - 1; i >= 0; i--) {
9
- var context = {};
10
- for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
- for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
- context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
- var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
- if (kind === "accessor") {
15
- if (result === void 0) continue;
16
- if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
- if (_ = accept(result.get)) descriptor.get = _;
18
- if (_ = accept(result.set)) descriptor.set = _;
19
- if (_ = accept(result.init)) initializers.unshift(_);
20
- }
21
- else if (_ = accept(result)) {
22
- if (kind === "field") initializers.unshift(_);
23
- else descriptor[key] = _;
24
- }
25
- }
26
- if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
- done = true;
28
- };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
35
7
  };
36
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
37
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
38
- return new (P || (P = Promise))(function (resolve, reject) {
39
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
40
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
41
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
42
- step((generator = generator.apply(thisArg, _arguments || [])).next());
43
- });
44
- };
45
- var __generator = (this && this.__generator) || function (thisArg, body) {
46
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
47
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
48
- function verb(n) { return function (v) { return step([n, v]); }; }
49
- function step(op) {
50
- if (f) throw new TypeError("Generator is already executing.");
51
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
52
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
53
- if (y = 0, t) op = [op[0] & 2, t.value];
54
- switch (op[0]) {
55
- case 0: case 1: t = op; break;
56
- case 4: _.label++; return { value: op[1], done: false };
57
- case 5: _.label++; y = op[1]; op = [0]; continue;
58
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
59
- default:
60
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
61
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
62
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
63
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
64
- if (t[2]) _.ops.pop();
65
- _.trys.pop(); continue;
66
- }
67
- op = body.call(thisArg, _);
68
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
69
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
70
- }
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
71
10
  };
72
- var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
73
- if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
74
- return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
75
13
  };
76
14
  Object.defineProperty(exports, "__esModule", { value: true });
77
15
  exports.VaultsApi = void 0;
78
- var core_1 = require("@credo-ts/core");
16
+ const core_1 = require("@credo-ts/core");
17
+ const VaultService_1 = require("./services/VaultService");
18
+ const KemKeyExchangeService_1 = require("./services/KemKeyExchangeService");
19
+ const VaultSigningService_1 = require("./services/VaultSigningService");
20
+ const VaultStorageService_1 = require("./storage/VaultStorageService");
21
+ const VaultRepository_1 = require("./repository/VaultRepository");
22
+ const ThresholdSessionRepository_1 = require("./repository/ThresholdSessionRepository");
23
+ const handlers_1 = require("./handlers");
79
24
  /**
80
25
  * Vaults API
81
26
  *
@@ -84,180 +29,437 @@ var core_1 = require("@credo-ts/core");
84
29
  *
85
30
  * All encryption and decryption happens client-side.
86
31
  */
87
- var VaultsApi = function () {
88
- var _classDecorators = [(0, core_1.injectable)()];
89
- var _classDescriptor;
90
- var _classExtraInitializers = [];
91
- var _classThis;
92
- var VaultsApi = _classThis = /** @class */ (function () {
93
- function VaultsApi_1(agentContext, vaultService) {
94
- this.vaultService = vaultService;
95
- this.agentContext = agentContext;
96
- }
97
- /**
98
- * Create a new encrypted vault
99
- *
100
- * @param data - Raw data to encrypt (e.g., PDF bytes)
101
- * @param options - Creation options including passphrase
102
- * @returns Created vault identifiers
103
- *
104
- * @example
105
- * ```typescript
106
- * const pdfBytes = await fs.readFile('contract.pdf')
107
- * const { vaultId } = await agent.modules.vaults.create(pdfBytes, {
108
- * passphrase: 'my-secure-passphrase',
109
- * metadata: { description: 'Employment Contract' }
110
- * })
111
- * ```
112
- */
113
- VaultsApi_1.prototype.create = function (data, options) {
114
- return __awaiter(this, void 0, void 0, function () {
115
- return __generator(this, function (_a) {
116
- return [2 /*return*/, this.vaultService.createVault(this.agentContext, data, options)];
117
- });
118
- });
119
- };
120
- /**
121
- * Open (decrypt) a vault
122
- *
123
- * @param vaultId - Vault identifier
124
- * @param options - Open options including passphrase
125
- * @returns Decrypted data
126
- *
127
- * @example
128
- * ```typescript
129
- * const decrypted = await agent.modules.vaults.open(vaultId, {
130
- * passphrase: 'my-secure-passphrase'
131
- * })
132
- * await fs.writeFile('contract-decrypted.pdf', decrypted)
133
- * ```
134
- */
135
- VaultsApi_1.prototype.open = function (vaultId, options) {
136
- return __awaiter(this, void 0, void 0, function () {
137
- return __generator(this, function (_a) {
138
- return [2 /*return*/, this.vaultService.openVault(this.agentContext, vaultId, options)];
139
- });
140
- });
141
- };
142
- /**
143
- * Update vault with new data
144
- *
145
- * @param vaultId - Vault identifier
146
- * @param data - New data to encrypt
147
- * @param options - Update options including passphrase
148
- *
149
- * @example
150
- * ```typescript
151
- * const newPdfBytes = await fs.readFile('contract-v2.pdf')
152
- * await agent.modules.vaults.update(vaultId, newPdfBytes, {
153
- * passphrase: 'my-secure-passphrase'
154
- * })
155
- * ```
156
- */
157
- VaultsApi_1.prototype.update = function (vaultId, data, options) {
158
- return __awaiter(this, void 0, void 0, function () {
159
- return __generator(this, function (_a) {
160
- return [2 /*return*/, this.vaultService.updateVault(this.agentContext, vaultId, data, options)];
161
- });
162
- });
163
- };
164
- /**
165
- * Delete a vault
166
- *
167
- * @param vaultId - Vault identifier
168
- *
169
- * @example
170
- * ```typescript
171
- * await agent.modules.vaults.delete(vaultId)
172
- * ```
173
- */
174
- VaultsApi_1.prototype.delete = function (vaultId) {
175
- return __awaiter(this, void 0, void 0, function () {
176
- return __generator(this, function (_a) {
177
- return [2 /*return*/, this.vaultService.deleteVault(this.agentContext, vaultId)];
178
- });
179
- });
180
- };
181
- /**
182
- * List all vaults
183
- *
184
- * @returns Array of vault records
185
- *
186
- * @example
187
- * ```typescript
188
- * const vaults = await agent.modules.vaults.list()
189
- * console.log(`Total vaults: ${vaults.length}`)
190
- * ```
191
- */
192
- VaultsApi_1.prototype.list = function () {
193
- return __awaiter(this, void 0, void 0, function () {
194
- return __generator(this, function (_a) {
195
- return [2 /*return*/, this.vaultService.listVaults(this.agentContext)];
196
- });
197
- });
198
- };
199
- /**
200
- * Get vault info (metadata without decrypting)
201
- *
202
- * @param vaultId - Vault identifier
203
- * @returns Vault information
204
- *
205
- * @example
206
- * ```typescript
207
- * const info = await agent.modules.vaults.getInfo(vaultId)
208
- * console.log(`Vault: ${info.vaultId}, Epoch: ${info.header.epoch}`)
209
- * ```
210
- */
211
- VaultsApi_1.prototype.getInfo = function (vaultId) {
212
- return __awaiter(this, void 0, void 0, function () {
213
- return __generator(this, function (_a) {
214
- return [2 /*return*/, this.vaultService.getVaultInfo(this.agentContext, vaultId)];
215
- });
216
- });
217
- };
218
- /**
219
- * Check if a vault exists
220
- *
221
- * @param vaultId - Vault identifier
222
- * @returns True if vault exists
223
- *
224
- * @example
225
- * ```typescript
226
- * if (await agent.modules.vaults.exists(vaultId)) {
227
- * console.log('Vault found!')
228
- * }
229
- * ```
230
- */
231
- VaultsApi_1.prototype.exists = function (vaultId) {
232
- return __awaiter(this, void 0, void 0, function () {
233
- return __generator(this, function (_a) {
234
- return [2 /*return*/, this.vaultService.vaultExists(this.agentContext, vaultId)];
235
- });
236
- });
237
- };
238
- /**
239
- * Get the raw vault record (for advanced operations)
240
- *
241
- * @param vaultId - Vault identifier
242
- * @returns Vault record or null
243
- */
244
- VaultsApi_1.prototype.getRecord = function (vaultId) {
245
- return __awaiter(this, void 0, void 0, function () {
246
- return __generator(this, function (_a) {
247
- return [2 /*return*/, this.vaultService.getVaultRecord(this.agentContext, vaultId)];
248
- });
249
- });
250
- };
251
- return VaultsApi_1;
252
- }());
253
- __setFunctionName(_classThis, "VaultsApi");
254
- (function () {
255
- var _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
256
- __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
257
- VaultsApi = _classThis = _classDescriptor.value;
258
- if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
259
- __runInitializers(_classThis, _classExtraInitializers);
260
- })();
261
- return VaultsApi = _classThis;
262
- }();
32
+ let VaultsApi = class VaultsApi {
33
+ constructor(agentContext, messageHandlerRegistry, eventEmitter, logger, vaultService, kemKeyExchangeService, vaultSigningService, storageService, vaultRepository, thresholdSessionRepository) {
34
+ this.vaultService = vaultService;
35
+ this.agentContext = agentContext;
36
+ this.logger = logger;
37
+ this.kemKeyExchangeService = kemKeyExchangeService;
38
+ this.vaultSigningService = vaultSigningService;
39
+ this.storageService = storageService;
40
+ // Register message handlers
41
+ this.registerMessageHandlers(messageHandlerRegistry, eventEmitter, logger, vaultRepository, thresholdSessionRepository, storageService);
42
+ }
43
+ registerMessageHandlers(messageHandlerRegistry, eventEmitter, logger, vaultRepository, sessionRepository, storageService) {
44
+ // Storage/retrieval handlers (inline)
45
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.StoreVaultHandler(vaultRepository, eventEmitter));
46
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.VaultStoredAckHandler(logger, eventEmitter));
47
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.RetrieveVaultHandler(this.vaultService));
48
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.VaultDataHandler(vaultRepository, eventEmitter));
49
+ // Storage/retrieval handlers (external storage)
50
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.VaultReferenceHandler(logger, vaultRepository, storageService, eventEmitter));
51
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.RequestStorageHandler(logger, storageService, eventEmitter));
52
+ // Lifecycle handlers
53
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.CreateVaultHandler(logger, vaultRepository, eventEmitter));
54
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.VaultCreatedAckHandler(logger, eventEmitter));
55
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.UpdateVaultHandler(logger, vaultRepository, eventEmitter));
56
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.DeleteVaultHandler(logger, vaultRepository, eventEmitter));
57
+ // Access control handlers
58
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.RequestAccessHandler(logger, vaultRepository, eventEmitter));
59
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.GrantAccessHandler(logger, vaultRepository, eventEmitter));
60
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.DenyAccessHandler(logger, eventEmitter));
61
+ // Threshold handlers
62
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.RequestShareHandler(logger, vaultRepository, sessionRepository, eventEmitter));
63
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.ProvideShareHandler(logger, sessionRepository, eventEmitter));
64
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.DenyShareHandler(logger, sessionRepository, eventEmitter));
65
+ // Error handler
66
+ messageHandlerRegistry.registerMessageHandler(new handlers_1.VaultProblemReportHandler(logger, eventEmitter));
67
+ }
68
+ // ═══════════════════════════════════════════════════════════════════════════
69
+ // Storage Configuration
70
+ // ═══════════════════════════════════════════════════════════════════════════
71
+ /**
72
+ * Configure external storage (S3) for large file support
73
+ *
74
+ * @param config - S3 storage configuration
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * await agent.modules.vaults.configureStorage({
79
+ * type: 's3',
80
+ * bucket: 'my-vault-bucket',
81
+ * region: 'us-east-1',
82
+ * accessKeyId: process.env.AWS_ACCESS_KEY_ID,
83
+ * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
84
+ * })
85
+ * ```
86
+ */
87
+ async configureStorage(config) {
88
+ await this.storageService.configure(config);
89
+ // Connect storage service to signing service for large file support
90
+ this.vaultSigningService.setStorageService(this.storageService);
91
+ this.logger.info(`Storage configured: bucket=${config.bucket}, region=${config.region}`);
92
+ }
93
+ /**
94
+ * Check if external storage is configured
95
+ */
96
+ isStorageConfigured() {
97
+ return this.storageService.isConfigured();
98
+ }
99
+ /**
100
+ * Get the storage service for direct operations
101
+ */
102
+ getStorageService() {
103
+ return this.storageService;
104
+ }
105
+ /**
106
+ * Create a new encrypted vault
107
+ *
108
+ * @param data - Raw data to encrypt (e.g., PDF bytes)
109
+ * @param options - Creation options including passphrase
110
+ * @returns Created vault identifiers
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const pdfBytes = await fs.readFile('contract.pdf')
115
+ * const { vaultId } = await agent.modules.vaults.create(pdfBytes, {
116
+ * passphrase: 'my-secure-passphrase',
117
+ * metadata: { description: 'Employment Contract' }
118
+ * })
119
+ * ```
120
+ */
121
+ async create(data, options) {
122
+ return this.vaultService.createVault(this.agentContext, data, options);
123
+ }
124
+ /**
125
+ * Open (decrypt) a vault
126
+ *
127
+ * @param vaultId - Vault identifier
128
+ * @param options - Open options including passphrase
129
+ * @returns Decrypted data
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * const decrypted = await agent.modules.vaults.open(vaultId, {
134
+ * passphrase: 'my-secure-passphrase'
135
+ * })
136
+ * await fs.writeFile('contract-decrypted.pdf', decrypted)
137
+ * ```
138
+ */
139
+ async open(vaultId, options) {
140
+ return this.vaultService.openVault(this.agentContext, vaultId, options);
141
+ }
142
+ /**
143
+ * Update vault with new data
144
+ *
145
+ * @param vaultId - Vault identifier
146
+ * @param data - New data to encrypt
147
+ * @param options - Update options including passphrase
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * const newPdfBytes = await fs.readFile('contract-v2.pdf')
152
+ * await agent.modules.vaults.update(vaultId, newPdfBytes, {
153
+ * passphrase: 'my-secure-passphrase'
154
+ * })
155
+ * ```
156
+ */
157
+ async update(vaultId, data, options) {
158
+ return this.vaultService.updateVault(this.agentContext, vaultId, data, options);
159
+ }
160
+ /**
161
+ * Delete a vault
162
+ *
163
+ * @param vaultId - Vault identifier
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * await agent.modules.vaults.delete(vaultId)
168
+ * ```
169
+ */
170
+ async delete(vaultId) {
171
+ return this.vaultService.deleteVault(this.agentContext, vaultId);
172
+ }
173
+ /**
174
+ * List all vaults
175
+ *
176
+ * @returns Array of vault records
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const vaults = await agent.modules.vaults.list()
181
+ * console.log(`Total vaults: ${vaults.length}`)
182
+ * ```
183
+ */
184
+ async list() {
185
+ return this.vaultService.listVaults(this.agentContext);
186
+ }
187
+ /**
188
+ * Get vault info (metadata without decrypting)
189
+ *
190
+ * @param vaultId - Vault identifier
191
+ * @returns Vault information
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * const info = await agent.modules.vaults.getInfo(vaultId)
196
+ * console.log(`Vault: ${info.vaultId}, Epoch: ${info.header.epoch}`)
197
+ * ```
198
+ */
199
+ async getInfo(vaultId) {
200
+ return this.vaultService.getVaultInfo(this.agentContext, vaultId);
201
+ }
202
+ /**
203
+ * Check if a vault exists
204
+ *
205
+ * @param vaultId - Vault identifier
206
+ * @returns True if vault exists
207
+ *
208
+ * @example
209
+ * ```typescript
210
+ * if (await agent.modules.vaults.exists(vaultId)) {
211
+ * console.log('Vault found!')
212
+ * }
213
+ * ```
214
+ */
215
+ async exists(vaultId) {
216
+ return this.vaultService.vaultExists(this.agentContext, vaultId);
217
+ }
218
+ /**
219
+ * Get the raw vault record (for advanced operations)
220
+ *
221
+ * @param vaultId - Vault identifier
222
+ * @returns Vault record or null
223
+ */
224
+ async getRecord(vaultId) {
225
+ return this.vaultService.getVaultRecord(this.agentContext, vaultId);
226
+ }
227
+ // ═══════════════════════════════════════════════════════════════════════════
228
+ // KEM Key Exchange (for P2P vault sharing)
229
+ // ═══════════════════════════════════════════════════════════════════════════
230
+ /**
231
+ * Generate a new ML-KEM keypair for vault sharing
232
+ *
233
+ * @returns Keypair with key ID
234
+ *
235
+ * @example
236
+ * ```typescript
237
+ * const keypair = agent.modules.vaults.generateKemKeypair()
238
+ * console.log(`Generated KEM key: ${keypair.kid}`)
239
+ * ```
240
+ */
241
+ generateKemKeypair() {
242
+ return this.kemKeyExchangeService.generateKemKeypair();
243
+ }
244
+ /**
245
+ * Store peer's ML-KEM public key for vault encryption
246
+ *
247
+ * @param connectionId - Connection to associate the key with
248
+ * @param kid - Key identifier
249
+ * @param publicKey - ML-KEM public key
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * await agent.modules.vaults.storePeerKemKey(connectionId, {
254
+ * kid: 'peer-key-id',
255
+ * publicKey: peerPublicKey
256
+ * })
257
+ * ```
258
+ */
259
+ async storePeerKemKey(connectionId, keyInfo) {
260
+ return this.kemKeyExchangeService.storePeerKemKey(this.agentContext, connectionId, keyInfo);
261
+ }
262
+ /**
263
+ * Get peer's ML-KEM public key
264
+ *
265
+ * @param connectionId - Connection ID
266
+ * @returns Peer's key info or null
267
+ *
268
+ * @example
269
+ * ```typescript
270
+ * const peerKey = await agent.modules.vaults.getPeerKemKey(connectionId)
271
+ * if (peerKey) {
272
+ * // Can now create vault encrypted to peer
273
+ * }
274
+ * ```
275
+ */
276
+ async getPeerKemKey(connectionId) {
277
+ return this.kemKeyExchangeService.getPeerKemKey(this.agentContext, connectionId);
278
+ }
279
+ /**
280
+ * Check if peer has a KEM key stored
281
+ *
282
+ * @param connectionId - Connection ID
283
+ * @returns True if peer has KEM key
284
+ */
285
+ async hasPeerKemKey(connectionId) {
286
+ return this.kemKeyExchangeService.hasPeerKemKey(this.agentContext, connectionId);
287
+ }
288
+ // ═══════════════════════════════════════════════════════════════════════════
289
+ // Local KEM Keypair Storage
290
+ // ═══════════════════════════════════════════════════════════════════════════
291
+ /**
292
+ * Store a local KEM keypair for a connection
293
+ *
294
+ * Call this after generateKemKeypair() to persist the keypair locally
295
+ * for later vault decryption.
296
+ *
297
+ * @param connectionId - Connection to associate the keypair with
298
+ * @param keypair - Full keypair including secret key
299
+ */
300
+ async storeLocalKeypair(connectionId, keypair) {
301
+ return this.kemKeyExchangeService.storeLocalKeypair(this.agentContext, connectionId, keypair);
302
+ }
303
+ /**
304
+ * Get the local KEM keypair for a connection
305
+ *
306
+ * @param connectionId - Connection ID
307
+ * @returns Full keypair or null
308
+ */
309
+ async getLocalKeypair(connectionId) {
310
+ return this.kemKeyExchangeService.getLocalKeypair(this.agentContext, connectionId);
311
+ }
312
+ /**
313
+ * Check if a local keypair exists for a connection
314
+ *
315
+ * @param connectionId - Connection ID
316
+ * @returns True if local keypair exists
317
+ */
318
+ async hasLocalKeypair(connectionId) {
319
+ return this.kemKeyExchangeService.hasLocalKeypair(this.agentContext, connectionId);
320
+ }
321
+ /**
322
+ * Find a local keypair by key identifier (kid)
323
+ *
324
+ * @param kid - Key identifier to search for
325
+ * @returns Keypair and associated connectionId, or null
326
+ */
327
+ async findKeypairByKid(kid) {
328
+ return this.kemKeyExchangeService.findKeypairByKid(this.agentContext, kid);
329
+ }
330
+ /**
331
+ * Delete the local keypair for a connection
332
+ *
333
+ * @param connectionId - Connection ID
334
+ */
335
+ async deleteLocalKeypair(connectionId) {
336
+ return this.kemKeyExchangeService.deleteLocalKeypair(this.agentContext, connectionId);
337
+ }
338
+ // ═══════════════════════════════════════════════════════════════════════════
339
+ // Signing Vault Operations (for document signing workflows)
340
+ // ═══════════════════════════════════════════════════════════════════════════
341
+ /**
342
+ * Create a signing vault encrypted to a signer's ML-KEM key
343
+ *
344
+ * Use this to send a document to someone for signing.
345
+ * The document is encrypted so only the intended signer can decrypt it.
346
+ *
347
+ * @param options - Creation options
348
+ * @returns Created vault identifiers
349
+ *
350
+ * @example
351
+ * ```typescript
352
+ * // Create vault for Bob to sign
353
+ * const { vaultId } = await agent.modules.vaults.createSigningVault({
354
+ * document: pdfBytes,
355
+ * signerConnectionId: bobConnectionId,
356
+ * documentType: 'pdf',
357
+ * metadata: { description: 'Contract for signing' }
358
+ * })
359
+ *
360
+ * // Share with Bob
361
+ * await agent.modules.vaults.shareSigningVault(vaultId, bobConnectionId)
362
+ * ```
363
+ */
364
+ async createSigningVault(options) {
365
+ return this.vaultSigningService.createSigningVault(this.agentContext, options);
366
+ }
367
+ /**
368
+ * Open (decrypt) a vault received for signing
369
+ *
370
+ * @param vaultData - Received vault data (message or record)
371
+ * @param secretKey - Your ML-KEM secret key
372
+ * @param kid - Your key identifier
373
+ * @returns Decrypted document and metadata
374
+ *
375
+ * @example
376
+ * ```typescript
377
+ * // Decrypt vault received for signing
378
+ * const { document, header } = await agent.modules.vaults.openSigningVault(
379
+ * vaultRecord,
380
+ * myKemKeypair.secretKey,
381
+ * myKemKeypair.kid
382
+ * )
383
+ *
384
+ * // Sign the document
385
+ * const signedPdf = await signPdf(document)
386
+ * ```
387
+ */
388
+ async openSigningVault(vaultData, secretKey, kid) {
389
+ return this.vaultSigningService.openSigningVault(this.agentContext, vaultData, secretKey, kid);
390
+ }
391
+ /**
392
+ * Share a signing vault with a connection
393
+ *
394
+ * Sends the encrypted vault to the specified connection via DIDComm
395
+ *
396
+ * @param vaultId - Vault to share
397
+ * @param connectionId - Connection to send to
398
+ *
399
+ * @example
400
+ * ```typescript
401
+ * await agent.modules.vaults.shareSigningVault(vaultId, bobConnectionId)
402
+ * ```
403
+ */
404
+ async shareSigningVault(vaultId, connectionId) {
405
+ return this.vaultSigningService.shareSigningVault(this.agentContext, vaultId, connectionId);
406
+ }
407
+ /**
408
+ * Return a signed document to the vault owner
409
+ *
410
+ * Creates a new vault with the signed document encrypted to the owner's key
411
+ *
412
+ * @param options - Return options
413
+ * @returns New vault containing the signed document
414
+ *
415
+ * @example
416
+ * ```typescript
417
+ * await agent.modules.vaults.returnSignedDocument({
418
+ * signedDocument: signedPdfBytes,
419
+ * originalVaultId: receivedVaultId,
420
+ * ownerConnectionId: aliceConnectionId,
421
+ * documentType: 'pdf',
422
+ * metadata: { signatureType: 'pades-b-lta' }
423
+ * })
424
+ * ```
425
+ */
426
+ async returnSignedDocument(options) {
427
+ return this.vaultSigningService.returnSignedDocument(this.agentContext, options);
428
+ }
429
+ /**
430
+ * Resolve the decryption key for a vault
431
+ *
432
+ * Automatically finds the correct local KEM keypair that can decrypt
433
+ * the specified vault by matching recipient kids in the vault header.
434
+ *
435
+ * @param vaultId - Vault to find decryption key for
436
+ * @returns Secret key, kid, and connectionId; or null if no matching key found
437
+ *
438
+ * @example
439
+ * ```typescript
440
+ * const key = await agent.modules.vaults.resolveVaultDecryptionKey(vaultId)
441
+ * if (key) {
442
+ * const { document } = await agent.modules.vaults.openSigningVault(
443
+ * vaultRecord, key.secretKey, key.kid
444
+ * )
445
+ * }
446
+ * ```
447
+ */
448
+ async resolveVaultDecryptionKey(vaultId) {
449
+ return this.vaultSigningService.resolveVaultDecryptionKey(this.agentContext, vaultId);
450
+ }
451
+ };
263
452
  exports.VaultsApi = VaultsApi;
453
+ exports.VaultsApi = VaultsApi = __decorate([
454
+ (0, core_1.injectable)(),
455
+ __param(3, (0, core_1.inject)(core_1.InjectionSymbols.Logger)),
456
+ __metadata("design:paramtypes", [core_1.AgentContext,
457
+ core_1.MessageHandlerRegistry,
458
+ core_1.EventEmitter, Object, VaultService_1.VaultService,
459
+ KemKeyExchangeService_1.KemKeyExchangeService,
460
+ VaultSigningService_1.VaultSigningService,
461
+ VaultStorageService_1.VaultStorageService,
462
+ VaultRepository_1.VaultRepository,
463
+ ThresholdSessionRepository_1.ThresholdSessionRepository])
464
+ ], VaultsApi);
465
+ //# sourceMappingURL=VaultsApi.js.map