@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,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Logger = exports.logger = exports.resetLogger = exports.getLogger = exports.setLogger = exports.ConsoleLogger = exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
7
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
8
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
9
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
10
+ LogLevel[LogLevel["NONE"] = 4] = "NONE";
11
+ })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
12
+ class ConsoleLogger {
13
+ constructor(level = LogLevel.INFO) {
14
+ this.level = level;
15
+ }
16
+ setLevel(level) {
17
+ this.level = level;
18
+ }
19
+ getLevel() {
20
+ return this.level;
21
+ }
22
+ debug(...args) {
23
+ if (this.level <= LogLevel.DEBUG)
24
+ console.debug(...args);
25
+ }
26
+ info(...args) {
27
+ if (this.level <= LogLevel.INFO)
28
+ console.log(...args);
29
+ }
30
+ warn(...args) {
31
+ if (this.level <= LogLevel.WARN)
32
+ console.warn(...args);
33
+ }
34
+ error(...args) {
35
+ if (this.level <= LogLevel.ERROR)
36
+ console.error(...args);
37
+ }
38
+ }
39
+ exports.ConsoleLogger = ConsoleLogger;
40
+ exports.Logger = ConsoleLogger;
41
+ let globalLogger = new ConsoleLogger();
42
+ function setLogger(newLogger) {
43
+ globalLogger = newLogger;
44
+ }
45
+ exports.setLogger = setLogger;
46
+ function getLogger() {
47
+ return globalLogger;
48
+ }
49
+ exports.getLogger = getLogger;
50
+ function resetLogger(level = LogLevel.INFO) {
51
+ const c = new ConsoleLogger(level);
52
+ globalLogger = c;
53
+ return c;
54
+ }
55
+ exports.resetLogger = resetLogger;
56
+ exports.logger = {
57
+ debug: (...args) => globalLogger.debug(...args),
58
+ info: (...args) => globalLogger.info(...args),
59
+ warn: (...args) => globalLogger.warn(...args),
60
+ error: (...args) => globalLogger.error(...args),
61
+ };
62
+ //# sourceMappingURL=Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../../src/utils/Logger.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAChB,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACZ,CAAC,EANW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAMnB;AASD,MAAa,aAAa;IAGtB,YAAY,QAAkB,QAAQ,CAAC,IAAI;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,QAAQ,CAAC,KAAe;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACtB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAA;IACrB,CAAC;IAEM,KAAK,CAAC,GAAG,IAAe;QAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5D,CAAC;IAEM,IAAI,CAAC,GAAG,IAAe;QAC1B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACzD,CAAC;IAEM,IAAI,CAAC,GAAG,IAAe;QAC1B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;IAC1D,CAAC;IAEM,KAAK,CAAC,GAAG,IAAe;QAC3B,IAAI,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;IAC5D,CAAC;CACJ;AA9BD,sCA8BC;AAyByB,+BAAM;AAvBhC,IAAI,YAAY,GAAY,IAAI,aAAa,EAAE,CAAA;AAE/C,SAAgB,SAAS,CAAC,SAAkB;IACxC,YAAY,GAAG,SAAS,CAAA;AAC5B,CAAC;AAFD,8BAEC;AAED,SAAgB,SAAS;IACrB,OAAO,YAAY,CAAA;AACvB,CAAC;AAFD,8BAEC;AAED,SAAgB,WAAW,CAAC,QAAkB,QAAQ,CAAC,IAAI;IACvD,MAAM,CAAC,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAA;IAClC,YAAY,GAAG,CAAC,CAAA;IAChB,OAAO,CAAC,CAAA;AACZ,CAAC;AAJD,kCAIC;AAEY,QAAA,MAAM,GAAY;IAC3B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC/C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAClD,CAAA"}
@@ -0,0 +1,26 @@
1
+ export declare const SdkDefaults: {
2
+ readonly CLIENT_VERSION: "c17.0.0";
3
+ readonly DEVICE_NAME: "JavaScript Keeper SDK";
4
+ readonly CONFIG_DIR: ".keeper";
5
+ readonly LOG_FORMAT: "!";
6
+ };
7
+ export declare const AuthDefaults: {
8
+ readonly MAX_LOGIN_ATTEMPTS: 5;
9
+ readonly APPROVAL_TIMEOUT_MS: 60000;
10
+ readonly CODE_VALIDATION_DELAY_MS: 2000;
11
+ };
12
+ export declare const ResultCodes: {
13
+ readonly INVALID_CREDENTIALS: "invalid_credentials";
14
+ readonly MISSING_USERNAME: "missing_username";
15
+ readonly MISSING_PASSWORD: "missing_password";
16
+ readonly MAX_ATTEMPTS_EXCEEDED: "max_attempts_exceeded";
17
+ readonly USER_CANCELLED: "user_cancelled";
18
+ readonly NOT_LOGGED_IN: "not_logged_in";
19
+ readonly DEVICE_NOT_REGISTERED: "device_not_registered";
20
+ readonly NO_PREVIOUS_LOGIN: "no_previous_login";
21
+ readonly NO_CLONE_CODE: "no_clone_code";
22
+ readonly PERSISTENT_LOGIN_FAILED: "persistent_login_failed";
23
+ readonly SESSION_TOKEN_EXPIRED: "session_token_expired";
24
+ readonly UNSUPPORTED_2FA_CHANNEL: "unsupported_2fa_channel";
25
+ };
26
+ export declare const KEEPER_PUBLIC_HOSTS: Record<string, string>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KEEPER_PUBLIC_HOSTS = exports.ResultCodes = exports.AuthDefaults = exports.SdkDefaults = void 0;
4
+ exports.SdkDefaults = {
5
+ CLIENT_VERSION: 'c17.0.0',
6
+ DEVICE_NAME: 'JavaScript Keeper SDK',
7
+ CONFIG_DIR: '.keeper',
8
+ LOG_FORMAT: '!',
9
+ };
10
+ exports.AuthDefaults = {
11
+ MAX_LOGIN_ATTEMPTS: 5,
12
+ APPROVAL_TIMEOUT_MS: 60000,
13
+ CODE_VALIDATION_DELAY_MS: 2000,
14
+ };
15
+ exports.ResultCodes = {
16
+ INVALID_CREDENTIALS: 'invalid_credentials',
17
+ MISSING_USERNAME: 'missing_username',
18
+ MISSING_PASSWORD: 'missing_password',
19
+ MAX_ATTEMPTS_EXCEEDED: 'max_attempts_exceeded',
20
+ USER_CANCELLED: 'user_cancelled',
21
+ NOT_LOGGED_IN: 'not_logged_in',
22
+ DEVICE_NOT_REGISTERED: 'device_not_registered',
23
+ NO_PREVIOUS_LOGIN: 'no_previous_login',
24
+ NO_CLONE_CODE: 'no_clone_code',
25
+ PERSISTENT_LOGIN_FAILED: 'persistent_login_failed',
26
+ SESSION_TOKEN_EXPIRED: 'session_token_expired',
27
+ UNSUPPORTED_2FA_CHANNEL: 'unsupported_2fa_channel',
28
+ };
29
+ exports.KEEPER_PUBLIC_HOSTS = {
30
+ US: 'keepersecurity.com',
31
+ EU: 'keepersecurity.eu',
32
+ AU: 'keepersecurity.com.au',
33
+ CA: 'keepersecurity.ca',
34
+ JP: 'keepersecurity.jp',
35
+ GOV: 'govcloud.keepersecurity.us',
36
+ };
37
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IACvB,cAAc,EAAE,SAAS;IACzB,WAAW,EAAE,uBAAuB;IACpC,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,GAAG;CACT,CAAA;AAEG,QAAA,YAAY,GAAG;IACxB,kBAAkB,EAAE,CAAC;IACrB,mBAAmB,EAAE,KAAM;IAC3B,wBAAwB,EAAE,IAAK;CACzB,CAAA;AAEG,QAAA,WAAW,GAAG;IACvB,mBAAmB,EAAE,qBAAqB;IAC1C,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,qBAAqB,EAAE,uBAAuB;IAC9C,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,uBAAuB;IAC9C,iBAAiB,EAAE,mBAAmB;IACtC,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,uBAAuB,EAAE,yBAAyB;CAC5C,CAAA;AAEG,QAAA,mBAAmB,GAA2B;IACvD,EAAE,EAAE,oBAAoB;IACxB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,GAAG,EAAE,4BAA4B;CACpC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { KeeperError } from '@keeper-security/keeperapi';
2
+ export declare function isKeeperError(err: unknown): err is KeeperError;
3
+ export declare function extractResultCode(err: unknown): string | undefined;
4
+ export declare function extractErrorMessage(err: unknown): string;
5
+ export declare class KeeperSdkError extends Error {
6
+ readonly resultCode?: string;
7
+ readonly keeperError?: KeeperError;
8
+ constructor(message: string, resultCode?: string, keeperError?: KeeperError);
9
+ static from(err: unknown): KeeperSdkError;
10
+ }
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeeperSdkError = exports.extractErrorMessage = exports.extractResultCode = exports.isKeeperError = void 0;
4
+ function parseJsonObjectIfPresent(s) {
5
+ const t = s.trim();
6
+ if (t.length === 0 || (t[0] !== '{' && t[0] !== '['))
7
+ return null;
8
+ try {
9
+ const parsed = JSON.parse(s);
10
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed)) {
11
+ return parsed;
12
+ }
13
+ }
14
+ catch (_a) {
15
+ /* not JSON */
16
+ }
17
+ return null;
18
+ }
19
+ function isKeeperError(err) {
20
+ return (err != null &&
21
+ typeof err === 'object' &&
22
+ !(err instanceof Error) &&
23
+ ('result_code' in err || 'error' in err || 'response_code' in err));
24
+ }
25
+ exports.isKeeperError = isKeeperError;
26
+ function extractResultCode(err) {
27
+ if (isKeeperError(err)) {
28
+ return err.result_code || err.error;
29
+ }
30
+ if (err instanceof Error) {
31
+ const msg = err.message;
32
+ if (msg.length > 0 && (msg[0] === '{' || msg[0] === '[')) {
33
+ try {
34
+ const parsed = JSON.parse(msg);
35
+ return parsed.result_code || parsed.error;
36
+ }
37
+ catch (_a) { }
38
+ }
39
+ }
40
+ if (typeof err === 'string') {
41
+ const parsed = parseJsonObjectIfPresent(err);
42
+ if (parsed) {
43
+ if (typeof parsed.result_code === 'string')
44
+ return parsed.result_code;
45
+ if (typeof parsed.error === 'string')
46
+ return parsed.error;
47
+ }
48
+ return err;
49
+ }
50
+ if (typeof err === 'object' && err !== null) {
51
+ const obj = err;
52
+ if (typeof obj.result_code === 'string')
53
+ return obj.result_code;
54
+ if (typeof obj.error === 'string')
55
+ return obj.error;
56
+ }
57
+ return undefined;
58
+ }
59
+ exports.extractResultCode = extractResultCode;
60
+ function extractErrorMessage(err) {
61
+ if (isKeeperError(err)) {
62
+ return err.message || err.result_code || err.error || 'Unknown Keeper error';
63
+ }
64
+ if (err instanceof Error) {
65
+ const parsed = parseJsonObjectIfPresent(err.message);
66
+ if (parsed) {
67
+ if (typeof parsed.message === 'string')
68
+ return parsed.message;
69
+ if (typeof parsed.result_code === 'string')
70
+ return parsed.result_code;
71
+ if (typeof parsed.error === 'string')
72
+ return parsed.error;
73
+ }
74
+ return err.message;
75
+ }
76
+ if (typeof err === 'string') {
77
+ const parsed = parseJsonObjectIfPresent(err);
78
+ if (parsed) {
79
+ if (typeof parsed.message === 'string')
80
+ return parsed.message;
81
+ if (typeof parsed.result_code === 'string')
82
+ return parsed.result_code;
83
+ if (typeof parsed.error === 'string')
84
+ return parsed.error;
85
+ }
86
+ return err;
87
+ }
88
+ if (typeof err === 'object' && err !== null) {
89
+ const obj = err;
90
+ if (typeof obj.message === 'string')
91
+ return obj.message;
92
+ if (typeof obj.result_code === 'string')
93
+ return obj.result_code;
94
+ }
95
+ return String(err);
96
+ }
97
+ exports.extractErrorMessage = extractErrorMessage;
98
+ class KeeperSdkError extends Error {
99
+ constructor(message, resultCode, keeperError) {
100
+ super(message);
101
+ this.name = 'KeeperSdkError';
102
+ this.resultCode = resultCode;
103
+ this.keeperError = keeperError;
104
+ }
105
+ static from(err) {
106
+ if (err instanceof KeeperSdkError)
107
+ return err;
108
+ if (isKeeperError(err)) {
109
+ return new KeeperSdkError(err.message || err.result_code || err.error || 'Unknown Keeper error', err.result_code || err.error, err);
110
+ }
111
+ if (err instanceof Error)
112
+ return new KeeperSdkError(err.message);
113
+ return new KeeperSdkError(extractErrorMessage(err));
114
+ }
115
+ }
116
+ exports.KeeperSdkError = KeeperSdkError;
117
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export { SdkDefaults, AuthDefaults, ResultCodes, KEEPER_PUBLIC_HOSTS } from './constants';
2
+ export { Logger, ConsoleLogger, LogLevel, logger, setLogger, getLogger, resetLogger } from './Logger';
3
+ export type { ILogger } from './Logger';
4
+ export { KeeperSdkError, isKeeperError, extractErrorMessage, extractResultCode } from './errors';
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractResultCode = exports.extractErrorMessage = exports.isKeeperError = exports.KeeperSdkError = exports.resetLogger = exports.getLogger = exports.setLogger = exports.logger = exports.LogLevel = exports.ConsoleLogger = exports.Logger = exports.KEEPER_PUBLIC_HOSTS = exports.ResultCodes = exports.AuthDefaults = exports.SdkDefaults = void 0;
4
+ var constants_1 = require("./constants");
5
+ Object.defineProperty(exports, "SdkDefaults", { enumerable: true, get: function () { return constants_1.SdkDefaults; } });
6
+ Object.defineProperty(exports, "AuthDefaults", { enumerable: true, get: function () { return constants_1.AuthDefaults; } });
7
+ Object.defineProperty(exports, "ResultCodes", { enumerable: true, get: function () { return constants_1.ResultCodes; } });
8
+ Object.defineProperty(exports, "KEEPER_PUBLIC_HOSTS", { enumerable: true, get: function () { return constants_1.KEEPER_PUBLIC_HOSTS; } });
9
+ var Logger_1 = require("./Logger");
10
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
11
+ Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return Logger_1.ConsoleLogger; } });
12
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return Logger_1.LogLevel; } });
13
+ Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return Logger_1.logger; } });
14
+ Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return Logger_1.setLogger; } });
15
+ Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return Logger_1.getLogger; } });
16
+ Object.defineProperty(exports, "resetLogger", { enumerable: true, get: function () { return Logger_1.resetLogger; } });
17
+ var errors_1 = require("./errors");
18
+ Object.defineProperty(exports, "KeeperSdkError", { enumerable: true, get: function () { return errors_1.KeeperSdkError; } });
19
+ Object.defineProperty(exports, "isKeeperError", { enumerable: true, get: function () { return errors_1.isKeeperError; } });
20
+ Object.defineProperty(exports, "extractErrorMessage", { enumerable: true, get: function () { return errors_1.extractErrorMessage; } });
21
+ Object.defineProperty(exports, "extractResultCode", { enumerable: true, get: function () { return errors_1.extractResultCode; } });
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yCAAyF;AAAhF,wGAAA,WAAW,OAAA;AAAE,yGAAA,YAAY,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,gHAAA,mBAAmB,OAAA;AACpE,mCAAqG;AAA5F,gGAAA,MAAM,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,gGAAA,MAAM,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAEnF,mCAAgG;AAAvF,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,2GAAA,iBAAiB,OAAA"}
@@ -0,0 +1,72 @@
1
+ import { Auth, DRecord, DRecordMetadata, DSharedFolder, DTeam, DUserFolder } from '@keeper-security/keeperapi';
2
+ import type { SyncResult, SyncLogFormat, VaultStorage, AuthUI3 } from '@keeper-security/keeperapi';
3
+ import { InMemoryStorage } from '../storage/InMemoryStorage';
4
+ import { SessionManager } from '../auth/SessionManager';
5
+ import type { NewRecordInput, TypedRecordData, AddRecordResult, UpdateRecordResult, DeleteRecordResult, RecordHistoryResult, MoveRecordInput, MoveRecordResult } from '../records/RecordOperations';
6
+ import type { ShareRecordInput, ShareRecordResult, RemoveShareInput, RemoveShareResult } from '../sharing/Sharing';
7
+ import { LogLevel } from '../utils';
8
+ export type KeeperVaultConfig = {
9
+ host?: string;
10
+ clientVersion?: string;
11
+ configDir?: string;
12
+ useConsoleAuth?: boolean;
13
+ logFormat?: SyncLogFormat;
14
+ logLevel?: LogLevel;
15
+ autoSync?: boolean;
16
+ storage?: InMemoryStorage;
17
+ sessionStorage?: SessionManager;
18
+ authUI?: AuthUI3;
19
+ };
20
+ export type VaultSummary = {
21
+ recordCount: number;
22
+ sharedFolderCount: number;
23
+ teamCount: number;
24
+ folderCount: number;
25
+ };
26
+ export declare class KeeperVault {
27
+ private auth;
28
+ private readonly storage;
29
+ private readonly sessionManager;
30
+ private readonly authUI;
31
+ private readonly config;
32
+ private readonly log;
33
+ private synced;
34
+ private batchDepth;
35
+ constructor(config?: KeeperVaultConfig);
36
+ private createAuth;
37
+ private getAuthOrThrow;
38
+ login(username: string, password: string): Promise<void>;
39
+ loginWithSessionToken(username: string, sessionToken: string): Promise<void>;
40
+ getSessionToken(): string | undefined;
41
+ resumeSession(): Promise<void>;
42
+ sync(): Promise<SyncResult>;
43
+ batch(fn: () => Promise<void>): Promise<void>;
44
+ private syncIfNeeded;
45
+ getRecords(): DRecord[];
46
+ getRecordByUid(uid: string): DRecord | undefined;
47
+ findRecord(uidOrTitle: string): DRecord | undefined;
48
+ findRecords(criteria: string): DRecord[];
49
+ getRecordsByVersion(version: number): DRecord[];
50
+ getRecordsByType(recordType: string): DRecord[];
51
+ getRecordMetadata(): DRecordMetadata[];
52
+ getRecordMetadataByUid(uid: string): DRecordMetadata | undefined;
53
+ getSharedFolders(): DSharedFolder[];
54
+ getTeams(): DTeam[];
55
+ getUserFolders(): DUserFolder[];
56
+ getSummary(): VaultSummary;
57
+ printRecords(showDetails?: boolean): void;
58
+ addRecord(input: NewRecordInput): Promise<AddRecordResult>;
59
+ updateRecord(recordUid: string, data: TypedRecordData): Promise<UpdateRecordResult>;
60
+ deleteRecord(recordUid: string): Promise<DeleteRecordResult>;
61
+ moveRecord(input: MoveRecordInput): Promise<MoveRecordResult>;
62
+ shareRecord(input: ShareRecordInput): Promise<ShareRecordResult>;
63
+ removeRecordShare(input: RemoveShareInput): Promise<RemoveShareResult>;
64
+ getRecordHistory(recordUid: string): Promise<RecordHistoryResult>;
65
+ getStorage(): VaultStorage;
66
+ getAuth(): Auth;
67
+ disconnect(): void;
68
+ logout(): Promise<void>;
69
+ get host(): string;
70
+ get isLoggedIn(): boolean;
71
+ get isSynced(): boolean;
72
+ }