@keeper-security/keeper-sdk-javascript 0.1.0

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 (173) hide show
  1. package/dist/auth/ConsoleAuthUI.d.ts +10 -0
  2. package/dist/auth/ConsoleAuthUI.js +152 -0
  3. package/dist/auth/ConsoleAuthUI.js.map +1 -0
  4. package/dist/auth/ConsoleLogin.d.ts +8 -0
  5. package/dist/auth/ConsoleLogin.js +266 -0
  6. package/dist/auth/ConsoleLogin.js.map +1 -0
  7. package/dist/auth/SessionManager.d.ts +66 -0
  8. package/dist/auth/SessionManager.js +211 -0
  9. package/dist/auth/SessionManager.js.map +1 -0
  10. package/dist/index.d.ts +17 -0
  11. package/dist/index.js +61 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/records/RecordOperations.d.ts +79 -0
  14. package/dist/records/RecordOperations.js +346 -0
  15. package/dist/records/RecordOperations.js.map +1 -0
  16. package/dist/records/RecordUtils.d.ts +36 -0
  17. package/dist/records/RecordUtils.js +224 -0
  18. package/dist/records/RecordUtils.js.map +1 -0
  19. package/dist/sharing/Sharing.d.ts +27 -0
  20. package/dist/sharing/Sharing.js +125 -0
  21. package/dist/sharing/Sharing.js.map +1 -0
  22. package/dist/src/auth/ConsoleAuthUI.d.ts +10 -0
  23. package/dist/src/auth/ConsoleAuthUI.js +161 -0
  24. package/dist/src/auth/ConsoleAuthUI.js.map +1 -0
  25. package/dist/src/auth/ConsoleLogin.d.ts +8 -0
  26. package/dist/src/auth/ConsoleLogin.js +311 -0
  27. package/dist/src/auth/ConsoleLogin.js.map +1 -0
  28. package/dist/src/auth/SessionManager.d.ts +67 -0
  29. package/dist/src/auth/SessionManager.js +212 -0
  30. package/dist/src/auth/SessionManager.js.map +1 -0
  31. package/dist/src/folders/FolderManager.d.ts +57 -0
  32. package/dist/src/folders/FolderManager.js +108 -0
  33. package/dist/src/folders/FolderManager.js.map +1 -0
  34. package/dist/src/folders/addFolder.d.ts +32 -0
  35. package/dist/src/folders/addFolder.js +207 -0
  36. package/dist/src/folders/addFolder.js.map +1 -0
  37. package/dist/src/folders/changeDirectory.d.ts +19 -0
  38. package/dist/src/folders/changeDirectory.js +171 -0
  39. package/dist/src/folders/changeDirectory.js.map +1 -0
  40. package/dist/src/folders/deleteFolder.d.ts +17 -0
  41. package/dist/src/folders/deleteFolder.js +237 -0
  42. package/dist/src/folders/deleteFolder.js.map +1 -0
  43. package/dist/src/folders/folderHelpers.d.ts +48 -0
  44. package/dist/src/folders/folderHelpers.js +100 -0
  45. package/dist/src/folders/folderHelpers.js.map +1 -0
  46. package/dist/src/folders/folderTree.d.ts +29 -0
  47. package/dist/src/folders/folderTree.js +250 -0
  48. package/dist/src/folders/folderTree.js.map +1 -0
  49. package/dist/src/folders/getFolder.d.ts +56 -0
  50. package/dist/src/folders/getFolder.js +143 -0
  51. package/dist/src/folders/getFolder.js.map +1 -0
  52. package/dist/src/folders/listFolder.d.ts +48 -0
  53. package/dist/src/folders/listFolder.js +276 -0
  54. package/dist/src/folders/listFolder.js.map +1 -0
  55. package/dist/src/folders/updateFolder.d.ts +31 -0
  56. package/dist/src/folders/updateFolder.js +137 -0
  57. package/dist/src/folders/updateFolder.js.map +1 -0
  58. package/dist/src/index.d.ts +49 -0
  59. package/dist/src/index.js +151 -0
  60. package/dist/src/index.js.map +1 -0
  61. package/dist/src/records/RecordOperations.d.ts +80 -0
  62. package/dist/src/records/RecordOperations.js +356 -0
  63. package/dist/src/records/RecordOperations.js.map +1 -0
  64. package/dist/src/records/RecordUtils.d.ts +37 -0
  65. package/dist/src/records/RecordUtils.js +263 -0
  66. package/dist/src/records/RecordUtils.js.map +1 -0
  67. package/dist/src/records/Totp.d.ts +14 -0
  68. package/dist/src/records/Totp.js +111 -0
  69. package/dist/src/records/Totp.js.map +1 -0
  70. package/dist/src/sharedFolders/SharedFolderManager.d.ts +20 -0
  71. package/dist/src/sharedFolders/SharedFolderManager.js +33 -0
  72. package/dist/src/sharedFolders/SharedFolderManager.js.map +1 -0
  73. package/dist/src/sharedFolders/listSharedFolders.d.ts +29 -0
  74. package/dist/src/sharedFolders/listSharedFolders.js +127 -0
  75. package/dist/src/sharedFolders/listSharedFolders.js.map +1 -0
  76. package/dist/src/sharedFolders/shareFolder.d.ts +36 -0
  77. package/dist/src/sharedFolders/shareFolder.js +352 -0
  78. package/dist/src/sharedFolders/shareFolder.js.map +1 -0
  79. package/dist/src/sharing/Sharing.d.ts +50 -0
  80. package/dist/src/sharing/Sharing.js +195 -0
  81. package/dist/src/sharing/Sharing.js.map +1 -0
  82. package/dist/src/storage/InMemoryStorage.d.ts +24 -0
  83. package/dist/src/storage/InMemoryStorage.js +139 -0
  84. package/dist/src/storage/InMemoryStorage.js.map +1 -0
  85. package/dist/src/teams/TeamManager.d.ts +17 -0
  86. package/dist/src/teams/TeamManager.js +38 -0
  87. package/dist/src/teams/TeamManager.js.map +1 -0
  88. package/dist/src/teams/enterpriseData.d.ts +106 -0
  89. package/dist/src/teams/enterpriseData.js +319 -0
  90. package/dist/src/teams/enterpriseData.js.map +1 -0
  91. package/dist/src/teams/listTeams.d.ts +42 -0
  92. package/dist/src/teams/listTeams.js +308 -0
  93. package/dist/src/teams/listTeams.js.map +1 -0
  94. package/dist/src/teams/viewTeam.d.ts +35 -0
  95. package/dist/src/teams/viewTeam.js +177 -0
  96. package/dist/src/teams/viewTeam.js.map +1 -0
  97. package/dist/src/utils/Logger.d.ts +28 -0
  98. package/dist/src/utils/Logger.js +62 -0
  99. package/dist/src/utils/Logger.js.map +1 -0
  100. package/dist/src/utils/constants.d.ts +50 -0
  101. package/dist/src/utils/constants.js +64 -0
  102. package/dist/src/utils/constants.js.map +1 -0
  103. package/dist/src/utils/errors.d.ts +10 -0
  104. package/dist/src/utils/errors.js +117 -0
  105. package/dist/src/utils/errors.js.map +1 -0
  106. package/dist/src/utils/guards.d.ts +7 -0
  107. package/dist/src/utils/guards.js +29 -0
  108. package/dist/src/utils/guards.js.map +1 -0
  109. package/dist/src/utils/index.d.ts +7 -0
  110. package/dist/src/utils/index.js +39 -0
  111. package/dist/src/utils/index.js.map +1 -0
  112. package/dist/src/utils/patterns.d.ts +9 -0
  113. package/dist/src/utils/patterns.js +20 -0
  114. package/dist/src/utils/patterns.js.map +1 -0
  115. package/dist/src/utils/types.d.ts +12 -0
  116. package/dist/src/utils/types.js +3 -0
  117. package/dist/src/utils/types.js.map +1 -0
  118. package/dist/src/vault/KeeperVault.d.ts +116 -0
  119. package/dist/src/vault/KeeperVault.js +443 -0
  120. package/dist/src/vault/KeeperVault.js.map +1 -0
  121. package/dist/storage/InMemoryStorage.d.ts +24 -0
  122. package/dist/storage/InMemoryStorage.js +132 -0
  123. package/dist/storage/InMemoryStorage.js.map +1 -0
  124. package/dist/utils/Logger.d.ts +28 -0
  125. package/dist/utils/Logger.js +62 -0
  126. package/dist/utils/Logger.js.map +1 -0
  127. package/dist/utils/constants.d.ts +26 -0
  128. package/dist/utils/constants.js +37 -0
  129. package/dist/utils/constants.js.map +1 -0
  130. package/dist/utils/errors.d.ts +10 -0
  131. package/dist/utils/errors.js +117 -0
  132. package/dist/utils/errors.js.map +1 -0
  133. package/dist/utils/index.d.ts +4 -0
  134. package/dist/utils/index.js +22 -0
  135. package/dist/utils/index.js.map +1 -0
  136. package/dist/vault/KeeperVault.d.ts +72 -0
  137. package/dist/vault/KeeperVault.js +338 -0
  138. package/dist/vault/KeeperVault.js.map +1 -0
  139. package/package.json +32 -0
  140. package/src/auth/ConsoleAuthUI.ts +169 -0
  141. package/src/auth/ConsoleLogin.ts +351 -0
  142. package/src/auth/SessionManager.ts +293 -0
  143. package/src/folders/FolderManager.ts +174 -0
  144. package/src/folders/addFolder.ts +294 -0
  145. package/src/folders/changeDirectory.ts +217 -0
  146. package/src/folders/deleteFolder.ts +293 -0
  147. package/src/folders/folderHelpers.ts +99 -0
  148. package/src/folders/folderTree.ts +321 -0
  149. package/src/folders/getFolder.ts +234 -0
  150. package/src/folders/listFolder.ts +358 -0
  151. package/src/folders/updateFolder.ts +210 -0
  152. package/src/index.ts +242 -0
  153. package/src/records/RecordOperations.ts +549 -0
  154. package/src/records/RecordUtils.ts +282 -0
  155. package/src/records/Totp.ts +119 -0
  156. package/src/sharedFolders/SharedFolderManager.ts +57 -0
  157. package/src/sharedFolders/listSharedFolders.ts +173 -0
  158. package/src/sharedFolders/shareFolder.ts +457 -0
  159. package/src/sharing/Sharing.ts +282 -0
  160. package/src/storage/InMemoryStorage.ts +163 -0
  161. package/src/teams/TeamManager.ts +61 -0
  162. package/src/teams/enterpriseData.ts +453 -0
  163. package/src/teams/listTeams.ts +373 -0
  164. package/src/teams/viewTeam.ts +248 -0
  165. package/src/utils/Logger.ts +71 -0
  166. package/src/utils/constants.ts +63 -0
  167. package/src/utils/errors.ts +108 -0
  168. package/src/utils/guards.ts +24 -0
  169. package/src/utils/index.ts +22 -0
  170. package/src/utils/patterns.ts +20 -0
  171. package/src/utils/types.ts +11 -0
  172. package/src/vault/KeeperVault.ts +612 -0
  173. package/tsconfig.json +16 -0
@@ -0,0 +1,443 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeeperVault = void 0;
4
+ const keeperapi_1 = require("@keeper-security/keeperapi");
5
+ const InMemoryStorage_1 = require("../storage/InMemoryStorage");
6
+ const SessionManager_1 = require("../auth/SessionManager");
7
+ const ConsoleAuthUI_1 = require("../auth/ConsoleAuthUI");
8
+ const RecordUtils_1 = require("../records/RecordUtils");
9
+ const RecordOperations_1 = require("../records/RecordOperations");
10
+ const Sharing_1 = require("../sharing/Sharing");
11
+ const folderHelpers_1 = require("../folders/folderHelpers");
12
+ const FolderManager_1 = require("../folders/FolderManager");
13
+ const SharedFolderManager_1 = require("../sharedFolders/SharedFolderManager");
14
+ const TeamManager_1 = require("../teams/TeamManager");
15
+ const utils_1 = require("../utils");
16
+ var VaultStatus;
17
+ (function (VaultStatus) {
18
+ VaultStatus["RecordNotFound"] = "RECORD_NOT_FOUND";
19
+ VaultStatus["RecordKeyNotFound"] = "RECORD_KEY_NOT_FOUND";
20
+ })(VaultStatus || (VaultStatus = {}));
21
+ class KeeperVault {
22
+ constructor(config) {
23
+ var _a, _b;
24
+ this.auth = null;
25
+ this.synced = false;
26
+ this.batchDepth = 0;
27
+ this.folderSession = FolderManager_1.FolderManager.createSession();
28
+ this.config = {
29
+ host: (config === null || config === void 0 ? void 0 : config.host) || keeperapi_1.KeeperEnvironment.Prod,
30
+ clientVersion: (config === null || config === void 0 ? void 0 : config.clientVersion) || utils_1.SdkDefaults.CLIENT_VERSION,
31
+ configDir: (_a = config === null || config === void 0 ? void 0 : config.configDir) !== null && _a !== void 0 ? _a : '',
32
+ useConsoleAuth: (config === null || config === void 0 ? void 0 : config.useConsoleAuth) !== false,
33
+ logFormat: (config === null || config === void 0 ? void 0 : config.logFormat) || utils_1.SdkDefaults.LOG_FORMAT,
34
+ logLevel: (_b = config === null || config === void 0 ? void 0 : config.logLevel) !== null && _b !== void 0 ? _b : utils_1.LogLevel.INFO,
35
+ autoSync: (config === null || config === void 0 ? void 0 : config.autoSync) !== false,
36
+ };
37
+ this.log = new utils_1.ConsoleLogger(this.config.logLevel);
38
+ this.storage = (config === null || config === void 0 ? void 0 : config.storage) || new InMemoryStorage_1.InMemoryStorage();
39
+ this.sessionManager = (config === null || config === void 0 ? void 0 : config.sessionStorage) || new SessionManager_1.SessionManager(this.config.configDir || undefined);
40
+ this.authUI = (config === null || config === void 0 ? void 0 : config.authUI) || new ConsoleAuthUI_1.ConsoleAuthUI();
41
+ const authProvider = () => this.getAuthOrThrow();
42
+ this.folderManager = new FolderManager_1.FolderManager(this.storage, this.folderSession, authProvider);
43
+ this.sharedFolderManager = new SharedFolderManager_1.SharedFolderManager(this.storage, authProvider);
44
+ this.teamManager = new TeamManager_1.TeamManager(authProvider);
45
+ }
46
+ getFolderManager() {
47
+ return this.folderManager;
48
+ }
49
+ getSharedFolderManager() {
50
+ return this.sharedFolderManager;
51
+ }
52
+ getTeamManager() {
53
+ return this.teamManager;
54
+ }
55
+ async createAuth(options) {
56
+ const host = this.config.host;
57
+ const baseDeviceConfig = await this.sessionManager.getDeviceConfig(host);
58
+ const deviceConfig = {
59
+ ...baseDeviceConfig,
60
+ deviceName: baseDeviceConfig.deviceName || utils_1.SdkDefaults.DEVICE_NAME,
61
+ };
62
+ const sessionStorage = (options === null || options === void 0 ? void 0 : options.useSessionResumption) === false
63
+ ? {
64
+ getCloneCode: async () => null,
65
+ saveCloneCode: (h, u, c) => this.sessionManager.saveCloneCode(h, u, c),
66
+ getSessionParameters: () => this.sessionManager.getSessionParameters(),
67
+ saveSessionParameters: (p) => this.sessionManager.saveSessionParameters(p),
68
+ }
69
+ : this.sessionManager;
70
+ return new keeperapi_1.Auth({
71
+ host,
72
+ clientVersion: this.config.clientVersion,
73
+ deviceConfig,
74
+ authUI3: this.config.useConsoleAuth ? this.authUI : undefined,
75
+ sessionStorage,
76
+ onDeviceConfig: this.sessionManager.createOnDeviceConfig(host),
77
+ useSessionResumption: options === null || options === void 0 ? void 0 : options.useSessionResumption,
78
+ });
79
+ }
80
+ getAuthOrThrow() {
81
+ if (!this.auth || !this.auth.sessionToken) {
82
+ throw new utils_1.KeeperSdkError('Not logged in. Call login() first.', utils_1.ResultCodes.NOT_LOGGED_IN);
83
+ }
84
+ return this.auth;
85
+ }
86
+ async login(username, password) {
87
+ this.auth = await this.createAuth({ useSessionResumption: false });
88
+ this.sessionManager.setLastUsername(username);
89
+ await this.auth.loginV3({
90
+ username,
91
+ password,
92
+ loginType: keeperapi_1.Authentication.LoginType.NORMAL,
93
+ loginMethod: keeperapi_1.Authentication.LoginMethod.EXISTING_ACCOUNT,
94
+ });
95
+ this.synced = false;
96
+ this.log.info(`Logged in as ${username}`);
97
+ }
98
+ async loginWithSessionToken(username, sessionToken) {
99
+ const deviceConfig = await this.sessionManager.getDeviceConfig(this.config.host);
100
+ if (!deviceConfig.deviceToken || !deviceConfig.privateKey) {
101
+ throw new utils_1.KeeperSdkError('Device is not registered for this host. Perform a normal login first to register the device before using session token login.', utils_1.ResultCodes.DEVICE_NOT_REGISTERED);
102
+ }
103
+ this.auth = await this.createAuth();
104
+ this.sessionManager.setLastUsername(username);
105
+ await this.auth.loginV3({
106
+ username,
107
+ givenSessionToken: sessionToken,
108
+ loginType: keeperapi_1.Authentication.LoginType.NORMAL,
109
+ loginMethod: keeperapi_1.Authentication.LoginMethod.EXISTING_ACCOUNT,
110
+ });
111
+ if (!this.auth.sessionToken) {
112
+ throw new utils_1.KeeperSdkError('Session token login failed — token may be expired or invalid.', utils_1.ResultCodes.SESSION_TOKEN_EXPIRED);
113
+ }
114
+ this.synced = false;
115
+ this.log.info(`Logged in as ${username} (via session token)`);
116
+ }
117
+ getSessionToken() {
118
+ var _a;
119
+ return ((_a = this.auth) === null || _a === void 0 ? void 0 : _a.sessionToken) || undefined;
120
+ }
121
+ async resumeSession() {
122
+ const username = await this.sessionManager.getLastUsername();
123
+ if (!username) {
124
+ throw new utils_1.KeeperSdkError('No previous login found. Perform a normal login first.', utils_1.ResultCodes.NO_PREVIOUS_LOGIN);
125
+ }
126
+ this.sessionManager.setLastUsername(username);
127
+ const deviceConfig = await this.sessionManager.getDeviceConfig(this.config.host);
128
+ if (!deviceConfig.deviceToken || !deviceConfig.privateKey) {
129
+ throw new utils_1.KeeperSdkError('Device is not registered for this host. Perform a normal login first.', utils_1.ResultCodes.DEVICE_NOT_REGISTERED);
130
+ }
131
+ const cloneCode = await this.sessionManager.getCloneCode(this.config.host, username);
132
+ if (!cloneCode) {
133
+ throw new utils_1.KeeperSdkError('No clone code found. Persistent login not enabled or clone code expired. Perform a normal login.', utils_1.ResultCodes.NO_CLONE_CODE);
134
+ }
135
+ this.auth = await this.createAuth({ useSessionResumption: true });
136
+ await this.auth.loginV3({
137
+ loginType: keeperapi_1.Authentication.LoginType.NORMAL,
138
+ resumeSessionOnly: true,
139
+ });
140
+ if (!this.auth.sessionToken) {
141
+ throw new utils_1.KeeperSdkError('Persistent login failed — clone code may be expired or persistent login not enabled. Perform a normal login.', utils_1.ResultCodes.PERSISTENT_LOGIN_FAILED);
142
+ }
143
+ this.synced = false;
144
+ this.log.info(`Session resumed for ${username} (persistent login)`);
145
+ }
146
+ async sync() {
147
+ const auth = this.getAuthOrThrow();
148
+ const result = await (0, keeperapi_1.syncDown)({
149
+ auth,
150
+ storage: this.storage,
151
+ logFormat: this.config.logFormat,
152
+ });
153
+ this.synced = true;
154
+ return result;
155
+ }
156
+ async batch(fn) {
157
+ this.batchDepth++;
158
+ try {
159
+ await fn();
160
+ }
161
+ finally {
162
+ this.batchDepth--;
163
+ if (this.batchDepth === 0 && this.config.autoSync) {
164
+ await this.sync();
165
+ }
166
+ }
167
+ }
168
+ async syncIfNeeded() {
169
+ if (this.batchDepth > 0) {
170
+ this.synced = false;
171
+ return;
172
+ }
173
+ if (this.config.autoSync) {
174
+ await this.sync();
175
+ }
176
+ else {
177
+ this.synced = false;
178
+ }
179
+ }
180
+ getRecords() {
181
+ return this.storage.getRecords();
182
+ }
183
+ getRecordByUid(uid) {
184
+ return this.storage.getByUid(folderHelpers_1.VaultObjectKind.Record, uid);
185
+ }
186
+ findRecord(uidOrTitle) {
187
+ const byUid = this.getRecordByUid(uidOrTitle);
188
+ if (byUid)
189
+ return byUid;
190
+ const lowerUidOrTitle = uidOrTitle.toLowerCase();
191
+ return this.getRecords().find((record) => (0, RecordUtils_1.getRecordTitle)(record).toLowerCase() === lowerUidOrTitle);
192
+ }
193
+ findRecords(criteria) {
194
+ return (0, RecordUtils_1.searchRecords)(this.getRecords(), criteria);
195
+ }
196
+ getRecordsByVersion(version) {
197
+ return this.getRecords().filter((record) => record.version === version);
198
+ }
199
+ getRecordsByType(recordType) {
200
+ return this.getRecords().filter((record) => (0, RecordUtils_1.getRecordType)(record) === recordType);
201
+ }
202
+ getRecordMetadata() {
203
+ return this.storage.getAll(folderHelpers_1.VaultObjectKind.Metadata);
204
+ }
205
+ getRecordMetadataByUid(uid) {
206
+ return this.storage.getByUid(folderHelpers_1.VaultObjectKind.Metadata, uid);
207
+ }
208
+ getSharedFolders() {
209
+ return this.storage.getAll(folderHelpers_1.FolderKind.SharedFolder);
210
+ }
211
+ getTeams() {
212
+ return this.storage.getAll(folderHelpers_1.VaultObjectKind.Team);
213
+ }
214
+ getUserFolders() {
215
+ return this.storage.getAll(folderHelpers_1.FolderKind.UserFolder);
216
+ }
217
+ async listFolder(options) {
218
+ return this.folderManager.listFolder(options !== null && options !== void 0 ? options : {});
219
+ }
220
+ listSharedFolders(options) {
221
+ return this.sharedFolderManager.listSharedFolders(options !== null && options !== void 0 ? options : {});
222
+ }
223
+ async listTeams(options) {
224
+ return this.teamManager.listTeams(options !== null && options !== void 0 ? options : {});
225
+ }
226
+ async viewTeam(identifier) {
227
+ return this.teamManager.viewTeam(identifier);
228
+ }
229
+ async changeDirectory(path) {
230
+ return this.folderManager.changeDirectory(path);
231
+ }
232
+ getCurrentFolderUid() {
233
+ return this.folderManager.getCurrentFolderUid();
234
+ }
235
+ getWorkingFolderDisplayName() {
236
+ return this.folderManager.getWorkingFolderDisplayName();
237
+ }
238
+ async getFolder(uidOrName, options) {
239
+ return this.folderManager.getFolder(uidOrName, options !== null && options !== void 0 ? options : {});
240
+ }
241
+ async addFolder(input) {
242
+ const result = await this.folderManager.addFolder(input);
243
+ if (result.success)
244
+ await this.syncIfNeeded();
245
+ return result;
246
+ }
247
+ async mkdir(path, options) {
248
+ const result = await this.folderManager.mkdir(path, options !== null && options !== void 0 ? options : {});
249
+ if (result.success)
250
+ await this.syncIfNeeded();
251
+ return result;
252
+ }
253
+ async updateFolder(input) {
254
+ const result = await this.folderManager.updateFolder(input);
255
+ if (result.success)
256
+ await this.syncIfNeeded();
257
+ return result;
258
+ }
259
+ async renameFolder(folderPath, newName) {
260
+ const result = await this.folderManager.renameFolder(folderPath, newName);
261
+ if (result.success)
262
+ await this.syncIfNeeded();
263
+ return result;
264
+ }
265
+ async updateSharedFolderPermissions(sharedFolderUid, permissions) {
266
+ const result = await this.folderManager.updateSharedFolderPermissions(sharedFolderUid, permissions);
267
+ if (result.success)
268
+ await this.syncIfNeeded();
269
+ return result;
270
+ }
271
+ async deleteFolder(folderRefs, confirm) {
272
+ const result = await this.folderManager.deleteFolder(folderRefs, confirm);
273
+ if (result.success)
274
+ await this.syncIfNeeded();
275
+ return result;
276
+ }
277
+ async rmdir(patterns, options) {
278
+ const result = await this.folderManager.rmdir(patterns, options !== null && options !== void 0 ? options : {});
279
+ if (result.success)
280
+ await this.syncIfNeeded();
281
+ return result;
282
+ }
283
+ async tree(options) {
284
+ this.getAuthOrThrow();
285
+ return this.folderManager.folderTreeAscii(options !== null && options !== void 0 ? options : {});
286
+ }
287
+ getSummary() {
288
+ return {
289
+ recordCount: this.storage.getCount(folderHelpers_1.VaultObjectKind.Record),
290
+ sharedFolderCount: this.storage.getCount(folderHelpers_1.FolderKind.SharedFolder),
291
+ teamCount: this.storage.getCount(folderHelpers_1.VaultObjectKind.Team),
292
+ folderCount: this.storage.getCount(folderHelpers_1.FolderKind.UserFolder),
293
+ };
294
+ }
295
+ printRecords(showDetails = false) {
296
+ const records = this.getRecords();
297
+ if (records.length === 0) {
298
+ this.log.info('No records found in vault.');
299
+ return;
300
+ }
301
+ this.log.info(`\n=== Vault Records (${records.length}) ===\n`);
302
+ for (const record of records) {
303
+ this.log.info((0, RecordUtils_1.formatRecord)(record, showDetails));
304
+ }
305
+ }
306
+ async addRecord(input) {
307
+ const auth = this.getAuthOrThrow();
308
+ const result = await (0, RecordOperations_1.addRecord)(auth, input);
309
+ if (result.success)
310
+ await this.syncIfNeeded();
311
+ return result;
312
+ }
313
+ async updateRecord(recordUid, data) {
314
+ const auth = this.getAuthOrThrow();
315
+ const record = this.getRecordByUid(recordUid);
316
+ if (!record) {
317
+ return { recordUid, success: false, status: VaultStatus.RecordNotFound };
318
+ }
319
+ const keyBytes = await this.storage.getKeyBytes(recordUid);
320
+ if (!keyBytes) {
321
+ return {
322
+ recordUid,
323
+ success: false,
324
+ status: VaultStatus.RecordKeyNotFound,
325
+ };
326
+ }
327
+ const result = await (0, RecordOperations_1.updateRecord)(auth, recordUid, data, record.revision, keyBytes);
328
+ if (result.success)
329
+ await this.syncIfNeeded();
330
+ return result;
331
+ }
332
+ async deleteRecord(recordUid) {
333
+ const auth = this.getAuthOrThrow();
334
+ const result = await (0, RecordOperations_1.deleteRecord)(auth, recordUid);
335
+ if (result.success)
336
+ await this.syncIfNeeded();
337
+ return result;
338
+ }
339
+ async moveRecord(input) {
340
+ const auth = this.getAuthOrThrow();
341
+ const result = await (0, RecordOperations_1.moveRecord)(auth, this.storage, input);
342
+ if (result.success)
343
+ await this.syncIfNeeded();
344
+ return result;
345
+ }
346
+ async shareRecord(input) {
347
+ const auth = this.getAuthOrThrow();
348
+ const record = this.getRecordByUid(input.recordUid) || this.findRecord(input.recordUid);
349
+ if (!record) {
350
+ return {
351
+ recordUid: input.recordUid,
352
+ email: input.email,
353
+ success: false,
354
+ status: VaultStatus.RecordNotFound,
355
+ message: `Record "${input.recordUid}" not found`,
356
+ };
357
+ }
358
+ const keyBytes = await this.storage.getKeyBytes(record.uid);
359
+ if (!keyBytes) {
360
+ return {
361
+ recordUid: record.uid,
362
+ email: input.email,
363
+ success: false,
364
+ status: VaultStatus.RecordKeyNotFound,
365
+ message: 'Record key not available',
366
+ };
367
+ }
368
+ const result = await (0, Sharing_1.shareRecord)(auth, keyBytes, {
369
+ ...input,
370
+ recordUid: record.uid,
371
+ });
372
+ if (result.success)
373
+ await this.syncIfNeeded();
374
+ return result;
375
+ }
376
+ async removeRecordShare(input) {
377
+ const auth = this.getAuthOrThrow();
378
+ const result = await (0, Sharing_1.removeRecordShare)(auth, input);
379
+ if (result.success)
380
+ await this.syncIfNeeded();
381
+ return result;
382
+ }
383
+ async getRecordShareInfo(recordUid) {
384
+ const auth = this.getAuthOrThrow();
385
+ return (0, Sharing_1.getRecordShareInfo)(auth, recordUid);
386
+ }
387
+ async shareFolder(input) {
388
+ const result = await this.sharedFolderManager.shareFolder(input);
389
+ if (result.success)
390
+ await this.syncIfNeeded();
391
+ return result;
392
+ }
393
+ async getRecordHistory(recordUid) {
394
+ const auth = this.getAuthOrThrow();
395
+ const keyBytes = await this.storage.getKeyBytes(recordUid);
396
+ if (!keyBytes) {
397
+ return { recordUid, history: [] };
398
+ }
399
+ return (0, RecordOperations_1.getRecordHistory)(auth, recordUid, keyBytes);
400
+ }
401
+ getStorage() {
402
+ return this.storage;
403
+ }
404
+ getAuth() {
405
+ return this.getAuthOrThrow();
406
+ }
407
+ disconnect() {
408
+ if (this.auth) {
409
+ try {
410
+ this.auth.disconnect();
411
+ }
412
+ catch (err) {
413
+ this.log.debug('disconnect error:', (0, utils_1.extractErrorMessage)(err));
414
+ }
415
+ this.auth = null;
416
+ }
417
+ this.synced = false;
418
+ this.folderSession.currentFolderUid = null;
419
+ }
420
+ async logout() {
421
+ if (this.auth) {
422
+ try {
423
+ await this.auth.logout();
424
+ }
425
+ catch (err) {
426
+ this.log.debug('logout error:', (0, utils_1.extractErrorMessage)(err));
427
+ }
428
+ }
429
+ this.disconnect();
430
+ this.log.info('Logged out.');
431
+ }
432
+ get host() {
433
+ return this.config.host;
434
+ }
435
+ get isLoggedIn() {
436
+ return this.auth !== null && !!this.auth.sessionToken;
437
+ }
438
+ get isSynced() {
439
+ return this.synced;
440
+ }
441
+ }
442
+ exports.KeeperVault = KeeperVault;
443
+ //# sourceMappingURL=KeeperVault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeeperVault.js","sourceRoot":"","sources":["../../../src/vault/KeeperVault.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { VaultStorage, VaultStorageData, VaultStorageKind, VaultStorageResult, Dependency, Dependencies, RemovedDependencies, DRecord } from '@keeper-security/keeperapi';
2
+ export declare class InMemoryStorage implements VaultStorage {
3
+ private keys;
4
+ private objects;
5
+ private store;
6
+ private deps;
7
+ private arrayCache;
8
+ getKeyBytes(keyId: string): Promise<Uint8Array | undefined>;
9
+ saveKeyBytes(keyId: string, key: Uint8Array): Promise<void>;
10
+ getObject<T>(key: string): Promise<T | undefined>;
11
+ saveObject<T>(key: string, value: T): Promise<void>;
12
+ put(item: VaultStorageData): Promise<void>;
13
+ get<T extends VaultStorageKind>(kind: T, uid?: string): Promise<VaultStorageResult<T>>;
14
+ delete(kind: VaultStorageKind, uid: string | Uint8Array): Promise<void>;
15
+ clear(): Promise<void>;
16
+ getDependencies(uid: string): Promise<Dependency[] | undefined>;
17
+ addDependencies(dependencies: Dependencies): Promise<void>;
18
+ removeDependencies(dependencies: RemovedDependencies): Promise<void>;
19
+ getAll<T extends VaultStorageData>(kind: VaultStorageKind): T[];
20
+ getRecords(): DRecord[];
21
+ getByUid<T extends VaultStorageData>(kind: VaultStorageKind, uid: string): T | undefined;
22
+ getCount(kind: VaultStorageKind): number;
23
+ private extractUid;
24
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InMemoryStorage = void 0;
4
+ class InMemoryStorage {
5
+ constructor() {
6
+ this.keys = new Map();
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- KeyStorage.saveObject<T> is unconstrained
8
+ this.objects = new Map();
9
+ this.store = new Map();
10
+ this.deps = new Map();
11
+ this.arrayCache = new Map();
12
+ }
13
+ async getKeyBytes(keyId) {
14
+ return this.keys.get(keyId);
15
+ }
16
+ async saveKeyBytes(keyId, key) {
17
+ this.keys.set(keyId, key);
18
+ }
19
+ async getObject(key) {
20
+ return this.objects.get(key);
21
+ }
22
+ async saveObject(key, value) {
23
+ this.objects.set(key, value);
24
+ }
25
+ async put(item) {
26
+ const kind = item.kind;
27
+ if (!this.store.has(kind)) {
28
+ this.store.set(kind, new Map());
29
+ }
30
+ const uid = this.extractUid(item);
31
+ this.store.get(kind).set(uid, item);
32
+ this.arrayCache.delete(kind);
33
+ }
34
+ async get(kind, uid) {
35
+ const kindMap = this.store.get(kind);
36
+ if (!kindMap)
37
+ return undefined;
38
+ if (uid) {
39
+ return kindMap.get(uid);
40
+ }
41
+ const first = kindMap.values().next();
42
+ return (first.done ? undefined : first.value);
43
+ }
44
+ async delete(kind, uid) {
45
+ var _a;
46
+ const uidStr = typeof uid === 'string'
47
+ ? uid
48
+ : Buffer.from(uid).toString('base64url');
49
+ (_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.delete(uidStr);
50
+ this.arrayCache.delete(kind);
51
+ }
52
+ async clear() {
53
+ this.store.clear();
54
+ this.keys.clear();
55
+ this.objects.clear();
56
+ this.deps.clear();
57
+ this.arrayCache.clear();
58
+ }
59
+ async getDependencies(uid) {
60
+ return this.deps.get(uid);
61
+ }
62
+ async addDependencies(dependencies) {
63
+ for (const [parentUid, children] of Object.entries(dependencies)) {
64
+ if (!this.deps.has(parentUid)) {
65
+ this.deps.set(parentUid, []);
66
+ }
67
+ const existing = this.deps.get(parentUid);
68
+ const seen = new Set(existing.map(d => d.uid));
69
+ for (const child of children) {
70
+ if (!seen.has(child.uid)) {
71
+ existing.push(child);
72
+ seen.add(child.uid);
73
+ }
74
+ }
75
+ }
76
+ }
77
+ async removeDependencies(dependencies) {
78
+ for (const [parentUid, children] of Object.entries(dependencies)) {
79
+ if (children === '*') {
80
+ this.deps.delete(parentUid);
81
+ }
82
+ else {
83
+ const existing = this.deps.get(parentUid);
84
+ if (existing) {
85
+ const removeSet = children;
86
+ this.deps.set(parentUid, existing.filter((d) => !removeSet.has(d.uid)));
87
+ }
88
+ }
89
+ }
90
+ }
91
+ getAll(kind) {
92
+ const cached = this.arrayCache.get(kind);
93
+ if (cached)
94
+ return cached;
95
+ const kindMap = this.store.get(kind);
96
+ if (!kindMap)
97
+ return [];
98
+ const arr = Array.from(kindMap.values());
99
+ this.arrayCache.set(kind, arr);
100
+ return arr;
101
+ }
102
+ getRecords() {
103
+ return this.getAll('record');
104
+ }
105
+ getByUid(kind, uid) {
106
+ var _a;
107
+ return (_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.get(uid);
108
+ }
109
+ getCount(kind) {
110
+ var _a, _b;
111
+ return (_b = (_a = this.store.get(kind)) === null || _a === void 0 ? void 0 : _a.size) !== null && _b !== void 0 ? _b : 0;
112
+ }
113
+ extractUid(item) {
114
+ const record = item;
115
+ if (record.uid)
116
+ return record.uid;
117
+ if (record.token)
118
+ return record.token;
119
+ if (record.sharedFolderUid && record.recordUid) {
120
+ return `${record.sharedFolderUid}:${record.recordUid}`;
121
+ }
122
+ if (record.sharedFolderUid && record.accountUid) {
123
+ return `${record.sharedFolderUid}:${record.accountUid}`;
124
+ }
125
+ if (record.sharedFolderUid && record.teamUid) {
126
+ return `${record.sharedFolderUid}:${record.teamUid}`;
127
+ }
128
+ return '_singleton_';
129
+ }
130
+ }
131
+ exports.InMemoryStorage = InMemoryStorage;
132
+ //# sourceMappingURL=InMemoryStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryStorage.js","sourceRoot":"","sources":["../../src/storage/InMemoryStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ export declare enum LogLevel {
2
+ DEBUG = 0,
3
+ INFO = 1,
4
+ WARN = 2,
5
+ ERROR = 3,
6
+ NONE = 4
7
+ }
8
+ export interface ILogger {
9
+ debug(...args: unknown[]): void;
10
+ info(...args: unknown[]): void;
11
+ warn(...args: unknown[]): void;
12
+ error(...args: unknown[]): void;
13
+ }
14
+ export declare class ConsoleLogger implements ILogger {
15
+ private level;
16
+ constructor(level?: LogLevel);
17
+ setLevel(level: LogLevel): void;
18
+ getLevel(): LogLevel;
19
+ debug(...args: unknown[]): void;
20
+ info(...args: unknown[]): void;
21
+ warn(...args: unknown[]): void;
22
+ error(...args: unknown[]): void;
23
+ }
24
+ export declare function setLogger(newLogger: ILogger): void;
25
+ export declare function getLogger(): ILogger;
26
+ export declare function resetLogger(level?: LogLevel): ConsoleLogger;
27
+ export declare const logger: ILogger;
28
+ export { ConsoleLogger as Logger };