@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.
- package/dist/auth/ConsoleAuthUI.d.ts +10 -0
- package/dist/auth/ConsoleAuthUI.js +152 -0
- package/dist/auth/ConsoleAuthUI.js.map +1 -0
- package/dist/auth/ConsoleLogin.d.ts +8 -0
- package/dist/auth/ConsoleLogin.js +266 -0
- package/dist/auth/ConsoleLogin.js.map +1 -0
- package/dist/auth/SessionManager.d.ts +66 -0
- package/dist/auth/SessionManager.js +211 -0
- package/dist/auth/SessionManager.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/records/RecordOperations.d.ts +79 -0
- package/dist/records/RecordOperations.js +346 -0
- package/dist/records/RecordOperations.js.map +1 -0
- package/dist/records/RecordUtils.d.ts +36 -0
- package/dist/records/RecordUtils.js +224 -0
- package/dist/records/RecordUtils.js.map +1 -0
- package/dist/sharing/Sharing.d.ts +27 -0
- package/dist/sharing/Sharing.js +125 -0
- package/dist/sharing/Sharing.js.map +1 -0
- package/dist/src/auth/ConsoleAuthUI.d.ts +10 -0
- package/dist/src/auth/ConsoleAuthUI.js +161 -0
- package/dist/src/auth/ConsoleAuthUI.js.map +1 -0
- package/dist/src/auth/ConsoleLogin.d.ts +8 -0
- package/dist/src/auth/ConsoleLogin.js +311 -0
- package/dist/src/auth/ConsoleLogin.js.map +1 -0
- package/dist/src/auth/SessionManager.d.ts +67 -0
- package/dist/src/auth/SessionManager.js +212 -0
- package/dist/src/auth/SessionManager.js.map +1 -0
- package/dist/src/folders/FolderManager.d.ts +57 -0
- package/dist/src/folders/FolderManager.js +108 -0
- package/dist/src/folders/FolderManager.js.map +1 -0
- package/dist/src/folders/addFolder.d.ts +32 -0
- package/dist/src/folders/addFolder.js +207 -0
- package/dist/src/folders/addFolder.js.map +1 -0
- package/dist/src/folders/changeDirectory.d.ts +19 -0
- package/dist/src/folders/changeDirectory.js +171 -0
- package/dist/src/folders/changeDirectory.js.map +1 -0
- package/dist/src/folders/deleteFolder.d.ts +17 -0
- package/dist/src/folders/deleteFolder.js +237 -0
- package/dist/src/folders/deleteFolder.js.map +1 -0
- package/dist/src/folders/folderHelpers.d.ts +48 -0
- package/dist/src/folders/folderHelpers.js +100 -0
- package/dist/src/folders/folderHelpers.js.map +1 -0
- package/dist/src/folders/folderTree.d.ts +29 -0
- package/dist/src/folders/folderTree.js +250 -0
- package/dist/src/folders/folderTree.js.map +1 -0
- package/dist/src/folders/getFolder.d.ts +56 -0
- package/dist/src/folders/getFolder.js +143 -0
- package/dist/src/folders/getFolder.js.map +1 -0
- package/dist/src/folders/listFolder.d.ts +48 -0
- package/dist/src/folders/listFolder.js +276 -0
- package/dist/src/folders/listFolder.js.map +1 -0
- package/dist/src/folders/updateFolder.d.ts +31 -0
- package/dist/src/folders/updateFolder.js +137 -0
- package/dist/src/folders/updateFolder.js.map +1 -0
- package/dist/src/index.d.ts +49 -0
- package/dist/src/index.js +151 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/records/RecordOperations.d.ts +80 -0
- package/dist/src/records/RecordOperations.js +356 -0
- package/dist/src/records/RecordOperations.js.map +1 -0
- package/dist/src/records/RecordUtils.d.ts +37 -0
- package/dist/src/records/RecordUtils.js +263 -0
- package/dist/src/records/RecordUtils.js.map +1 -0
- package/dist/src/records/Totp.d.ts +14 -0
- package/dist/src/records/Totp.js +111 -0
- package/dist/src/records/Totp.js.map +1 -0
- package/dist/src/sharedFolders/SharedFolderManager.d.ts +20 -0
- package/dist/src/sharedFolders/SharedFolderManager.js +33 -0
- package/dist/src/sharedFolders/SharedFolderManager.js.map +1 -0
- package/dist/src/sharedFolders/listSharedFolders.d.ts +29 -0
- package/dist/src/sharedFolders/listSharedFolders.js +127 -0
- package/dist/src/sharedFolders/listSharedFolders.js.map +1 -0
- package/dist/src/sharedFolders/shareFolder.d.ts +36 -0
- package/dist/src/sharedFolders/shareFolder.js +352 -0
- package/dist/src/sharedFolders/shareFolder.js.map +1 -0
- package/dist/src/sharing/Sharing.d.ts +50 -0
- package/dist/src/sharing/Sharing.js +195 -0
- package/dist/src/sharing/Sharing.js.map +1 -0
- package/dist/src/storage/InMemoryStorage.d.ts +24 -0
- package/dist/src/storage/InMemoryStorage.js +139 -0
- package/dist/src/storage/InMemoryStorage.js.map +1 -0
- package/dist/src/teams/TeamManager.d.ts +17 -0
- package/dist/src/teams/TeamManager.js +38 -0
- package/dist/src/teams/TeamManager.js.map +1 -0
- package/dist/src/teams/enterpriseData.d.ts +106 -0
- package/dist/src/teams/enterpriseData.js +319 -0
- package/dist/src/teams/enterpriseData.js.map +1 -0
- package/dist/src/teams/listTeams.d.ts +42 -0
- package/dist/src/teams/listTeams.js +308 -0
- package/dist/src/teams/listTeams.js.map +1 -0
- package/dist/src/teams/viewTeam.d.ts +35 -0
- package/dist/src/teams/viewTeam.js +177 -0
- package/dist/src/teams/viewTeam.js.map +1 -0
- package/dist/src/utils/Logger.d.ts +28 -0
- package/dist/src/utils/Logger.js +62 -0
- package/dist/src/utils/Logger.js.map +1 -0
- package/dist/src/utils/constants.d.ts +50 -0
- package/dist/src/utils/constants.js +64 -0
- package/dist/src/utils/constants.js.map +1 -0
- package/dist/src/utils/errors.d.ts +10 -0
- package/dist/src/utils/errors.js +117 -0
- package/dist/src/utils/errors.js.map +1 -0
- package/dist/src/utils/guards.d.ts +7 -0
- package/dist/src/utils/guards.js +29 -0
- package/dist/src/utils/guards.js.map +1 -0
- package/dist/src/utils/index.d.ts +7 -0
- package/dist/src/utils/index.js +39 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/patterns.d.ts +9 -0
- package/dist/src/utils/patterns.js +20 -0
- package/dist/src/utils/patterns.js.map +1 -0
- package/dist/src/utils/types.d.ts +12 -0
- package/dist/src/utils/types.js +3 -0
- package/dist/src/utils/types.js.map +1 -0
- package/dist/src/vault/KeeperVault.d.ts +116 -0
- package/dist/src/vault/KeeperVault.js +443 -0
- package/dist/src/vault/KeeperVault.js.map +1 -0
- package/dist/storage/InMemoryStorage.d.ts +24 -0
- package/dist/storage/InMemoryStorage.js +132 -0
- package/dist/storage/InMemoryStorage.js.map +1 -0
- package/dist/utils/Logger.d.ts +28 -0
- package/dist/utils/Logger.js +62 -0
- package/dist/utils/Logger.js.map +1 -0
- package/dist/utils/constants.d.ts +26 -0
- package/dist/utils/constants.js +37 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/errors.d.ts +10 -0
- package/dist/utils/errors.js +117 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +22 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/vault/KeeperVault.d.ts +72 -0
- package/dist/vault/KeeperVault.js +338 -0
- package/dist/vault/KeeperVault.js.map +1 -0
- package/package.json +32 -0
- package/src/auth/ConsoleAuthUI.ts +169 -0
- package/src/auth/ConsoleLogin.ts +351 -0
- package/src/auth/SessionManager.ts +293 -0
- package/src/folders/FolderManager.ts +174 -0
- package/src/folders/addFolder.ts +294 -0
- package/src/folders/changeDirectory.ts +217 -0
- package/src/folders/deleteFolder.ts +293 -0
- package/src/folders/folderHelpers.ts +99 -0
- package/src/folders/folderTree.ts +321 -0
- package/src/folders/getFolder.ts +234 -0
- package/src/folders/listFolder.ts +358 -0
- package/src/folders/updateFolder.ts +210 -0
- package/src/index.ts +242 -0
- package/src/records/RecordOperations.ts +549 -0
- package/src/records/RecordUtils.ts +282 -0
- package/src/records/Totp.ts +119 -0
- package/src/sharedFolders/SharedFolderManager.ts +57 -0
- package/src/sharedFolders/listSharedFolders.ts +173 -0
- package/src/sharedFolders/shareFolder.ts +457 -0
- package/src/sharing/Sharing.ts +282 -0
- package/src/storage/InMemoryStorage.ts +163 -0
- package/src/teams/TeamManager.ts +61 -0
- package/src/teams/enterpriseData.ts +453 -0
- package/src/teams/listTeams.ts +373 -0
- package/src/teams/viewTeam.ts +248 -0
- package/src/utils/Logger.ts +71 -0
- package/src/utils/constants.ts +63 -0
- package/src/utils/errors.ts +108 -0
- package/src/utils/guards.ts +24 -0
- package/src/utils/index.ts +22 -0
- package/src/utils/patterns.ts +20 -0
- package/src/utils/types.ts +11 -0
- package/src/vault/KeeperVault.ts +612 -0
- 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,50 @@
|
|
|
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 enum AuthErrorCode {
|
|
13
|
+
InvalidCredentials = "invalid_credentials",
|
|
14
|
+
MissingUsername = "missing_username",
|
|
15
|
+
MissingPassword = "missing_password",
|
|
16
|
+
MaxAttemptsExceeded = "max_attempts_exceeded",
|
|
17
|
+
UserCancelled = "user_cancelled",
|
|
18
|
+
Unsupported2FAChannel = "unsupported_2fa_channel"
|
|
19
|
+
}
|
|
20
|
+
export declare enum SessionErrorCode {
|
|
21
|
+
NotLoggedIn = "not_logged_in",
|
|
22
|
+
DeviceNotRegistered = "device_not_registered",
|
|
23
|
+
NoPreviousLogin = "no_previous_login",
|
|
24
|
+
NoCloneCode = "no_clone_code",
|
|
25
|
+
PersistentLoginFailed = "persistent_login_failed",
|
|
26
|
+
SessionTokenExpired = "session_token_expired"
|
|
27
|
+
}
|
|
28
|
+
export declare enum TeamErrorCode {
|
|
29
|
+
TeamRequired = "team_required",
|
|
30
|
+
TeamNotFound = "team_not_found",
|
|
31
|
+
MultipleTeamMatches = "multiple_team_matches"
|
|
32
|
+
}
|
|
33
|
+
export declare const ResultCodes: {
|
|
34
|
+
readonly INVALID_CREDENTIALS: AuthErrorCode.InvalidCredentials;
|
|
35
|
+
readonly MISSING_USERNAME: AuthErrorCode.MissingUsername;
|
|
36
|
+
readonly MISSING_PASSWORD: AuthErrorCode.MissingPassword;
|
|
37
|
+
readonly MAX_ATTEMPTS_EXCEEDED: AuthErrorCode.MaxAttemptsExceeded;
|
|
38
|
+
readonly USER_CANCELLED: AuthErrorCode.UserCancelled;
|
|
39
|
+
readonly UNSUPPORTED_2FA_CHANNEL: AuthErrorCode.Unsupported2FAChannel;
|
|
40
|
+
readonly NOT_LOGGED_IN: SessionErrorCode.NotLoggedIn;
|
|
41
|
+
readonly DEVICE_NOT_REGISTERED: SessionErrorCode.DeviceNotRegistered;
|
|
42
|
+
readonly NO_PREVIOUS_LOGIN: SessionErrorCode.NoPreviousLogin;
|
|
43
|
+
readonly NO_CLONE_CODE: SessionErrorCode.NoCloneCode;
|
|
44
|
+
readonly PERSISTENT_LOGIN_FAILED: SessionErrorCode.PersistentLoginFailed;
|
|
45
|
+
readonly SESSION_TOKEN_EXPIRED: SessionErrorCode.SessionTokenExpired;
|
|
46
|
+
readonly TEAM_REQUIRED: TeamErrorCode.TeamRequired;
|
|
47
|
+
readonly TEAM_NOT_FOUND: TeamErrorCode.TeamNotFound;
|
|
48
|
+
readonly MULTIPLE_TEAM_MATCHES: TeamErrorCode.MultipleTeamMatches;
|
|
49
|
+
};
|
|
50
|
+
export declare const KEEPER_PUBLIC_HOSTS: Record<string, string>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KEEPER_PUBLIC_HOSTS = exports.ResultCodes = exports.TeamErrorCode = exports.SessionErrorCode = exports.AuthErrorCode = 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
|
+
var AuthErrorCode;
|
|
16
|
+
(function (AuthErrorCode) {
|
|
17
|
+
AuthErrorCode["InvalidCredentials"] = "invalid_credentials";
|
|
18
|
+
AuthErrorCode["MissingUsername"] = "missing_username";
|
|
19
|
+
AuthErrorCode["MissingPassword"] = "missing_password";
|
|
20
|
+
AuthErrorCode["MaxAttemptsExceeded"] = "max_attempts_exceeded";
|
|
21
|
+
AuthErrorCode["UserCancelled"] = "user_cancelled";
|
|
22
|
+
AuthErrorCode["Unsupported2FAChannel"] = "unsupported_2fa_channel";
|
|
23
|
+
})(AuthErrorCode = exports.AuthErrorCode || (exports.AuthErrorCode = {}));
|
|
24
|
+
var SessionErrorCode;
|
|
25
|
+
(function (SessionErrorCode) {
|
|
26
|
+
SessionErrorCode["NotLoggedIn"] = "not_logged_in";
|
|
27
|
+
SessionErrorCode["DeviceNotRegistered"] = "device_not_registered";
|
|
28
|
+
SessionErrorCode["NoPreviousLogin"] = "no_previous_login";
|
|
29
|
+
SessionErrorCode["NoCloneCode"] = "no_clone_code";
|
|
30
|
+
SessionErrorCode["PersistentLoginFailed"] = "persistent_login_failed";
|
|
31
|
+
SessionErrorCode["SessionTokenExpired"] = "session_token_expired";
|
|
32
|
+
})(SessionErrorCode = exports.SessionErrorCode || (exports.SessionErrorCode = {}));
|
|
33
|
+
var TeamErrorCode;
|
|
34
|
+
(function (TeamErrorCode) {
|
|
35
|
+
TeamErrorCode["TeamRequired"] = "team_required";
|
|
36
|
+
TeamErrorCode["TeamNotFound"] = "team_not_found";
|
|
37
|
+
TeamErrorCode["MultipleTeamMatches"] = "multiple_team_matches";
|
|
38
|
+
})(TeamErrorCode = exports.TeamErrorCode || (exports.TeamErrorCode = {}));
|
|
39
|
+
exports.ResultCodes = {
|
|
40
|
+
INVALID_CREDENTIALS: AuthErrorCode.InvalidCredentials,
|
|
41
|
+
MISSING_USERNAME: AuthErrorCode.MissingUsername,
|
|
42
|
+
MISSING_PASSWORD: AuthErrorCode.MissingPassword,
|
|
43
|
+
MAX_ATTEMPTS_EXCEEDED: AuthErrorCode.MaxAttemptsExceeded,
|
|
44
|
+
USER_CANCELLED: AuthErrorCode.UserCancelled,
|
|
45
|
+
UNSUPPORTED_2FA_CHANNEL: AuthErrorCode.Unsupported2FAChannel,
|
|
46
|
+
NOT_LOGGED_IN: SessionErrorCode.NotLoggedIn,
|
|
47
|
+
DEVICE_NOT_REGISTERED: SessionErrorCode.DeviceNotRegistered,
|
|
48
|
+
NO_PREVIOUS_LOGIN: SessionErrorCode.NoPreviousLogin,
|
|
49
|
+
NO_CLONE_CODE: SessionErrorCode.NoCloneCode,
|
|
50
|
+
PERSISTENT_LOGIN_FAILED: SessionErrorCode.PersistentLoginFailed,
|
|
51
|
+
SESSION_TOKEN_EXPIRED: SessionErrorCode.SessionTokenExpired,
|
|
52
|
+
TEAM_REQUIRED: TeamErrorCode.TeamRequired,
|
|
53
|
+
TEAM_NOT_FOUND: TeamErrorCode.TeamNotFound,
|
|
54
|
+
MULTIPLE_TEAM_MATCHES: TeamErrorCode.MultipleTeamMatches,
|
|
55
|
+
};
|
|
56
|
+
exports.KEEPER_PUBLIC_HOSTS = {
|
|
57
|
+
US: 'keepersecurity.com',
|
|
58
|
+
EU: 'keepersecurity.eu',
|
|
59
|
+
AU: 'keepersecurity.com.au',
|
|
60
|
+
CA: 'keepersecurity.ca',
|
|
61
|
+
JP: 'keepersecurity.jp',
|
|
62
|
+
GOV: 'govcloud.keepersecurity.us',
|
|
63
|
+
};
|
|
64
|
+
//# 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;AAEV,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,2DAA0C,CAAA;IAC1C,qDAAoC,CAAA;IACpC,qDAAoC,CAAA;IACpC,8DAA6C,CAAA;IAC7C,iDAAgC,CAAA;IAChC,kEAAiD,CAAA;AACrD,CAAC,EAPW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAOxB;AAED,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IACxB,iDAA6B,CAAA;IAC7B,iEAA6C,CAAA;IAC7C,yDAAqC,CAAA;IACrC,iDAA6B,CAAA;IAC7B,qEAAiD,CAAA;IACjD,iEAA6C,CAAA;AACjD,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AAED,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,+CAA8B,CAAA;IAC9B,gDAA+B,CAAA;IAC/B,8DAA6C,CAAA;AACjD,CAAC,EAJW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAIxB;AAEY,QAAA,WAAW,GAAG;IACvB,mBAAmB,EAAE,aAAa,CAAC,kBAAkB;IACrD,gBAAgB,EAAE,aAAa,CAAC,eAAe;IAC/C,gBAAgB,EAAE,aAAa,CAAC,eAAe;IAC/C,qBAAqB,EAAE,aAAa,CAAC,mBAAmB;IACxD,cAAc,EAAE,aAAa,CAAC,aAAa;IAC3C,uBAAuB,EAAE,aAAa,CAAC,qBAAqB;IAC5D,aAAa,EAAE,gBAAgB,CAAC,WAAW;IAC3C,qBAAqB,EAAE,gBAAgB,CAAC,mBAAmB;IAC3D,iBAAiB,EAAE,gBAAgB,CAAC,eAAe;IACnD,aAAa,EAAE,gBAAgB,CAAC,WAAW;IAC3C,uBAAuB,EAAE,gBAAgB,CAAC,qBAAqB;IAC/D,qBAAqB,EAAE,gBAAgB,CAAC,mBAAmB;IAC3D,aAAa,EAAE,aAAa,CAAC,YAAY;IACzC,cAAc,EAAE,aAAa,CAAC,YAAY;IAC1C,qBAAqB,EAAE,aAAa,CAAC,mBAAmB;CAClD,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,7 @@
|
|
|
1
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
2
|
+
export declare function isString(value: unknown): value is string;
|
|
3
|
+
export declare function isNonEmptyString(value: unknown): value is string;
|
|
4
|
+
export declare function isNumber(value: unknown): value is number;
|
|
5
|
+
export declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
6
|
+
/** True if at least one of the values is a boolean (true or false). */
|
|
7
|
+
export declare function anyIsBoolean(...values: unknown[]): boolean;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.anyIsBoolean = exports.isObject = exports.isNumber = exports.isNonEmptyString = exports.isString = exports.isBoolean = void 0;
|
|
4
|
+
function isBoolean(value) {
|
|
5
|
+
return typeof value === 'boolean';
|
|
6
|
+
}
|
|
7
|
+
exports.isBoolean = isBoolean;
|
|
8
|
+
function isString(value) {
|
|
9
|
+
return typeof value === 'string';
|
|
10
|
+
}
|
|
11
|
+
exports.isString = isString;
|
|
12
|
+
function isNonEmptyString(value) {
|
|
13
|
+
return typeof value === 'string' && value.trim().length > 0;
|
|
14
|
+
}
|
|
15
|
+
exports.isNonEmptyString = isNonEmptyString;
|
|
16
|
+
function isNumber(value) {
|
|
17
|
+
return typeof value === 'number' && Number.isFinite(value);
|
|
18
|
+
}
|
|
19
|
+
exports.isNumber = isNumber;
|
|
20
|
+
function isObject(value) {
|
|
21
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
22
|
+
}
|
|
23
|
+
exports.isObject = isObject;
|
|
24
|
+
/** True if at least one of the values is a boolean (true or false). */
|
|
25
|
+
function anyIsBoolean(...values) {
|
|
26
|
+
return values.some(isBoolean);
|
|
27
|
+
}
|
|
28
|
+
exports.anyIsBoolean = anyIsBoolean;
|
|
29
|
+
//# sourceMappingURL=guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guards.js","sourceRoot":"","sources":["../../../src/utils/guards.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAA;AACrC,CAAC;AAFD,8BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAA;AACpC,CAAC;AAFD,4BAEC;AAED,SAAgB,gBAAgB,CAAC,KAAc;IAC3C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;AAC/D,CAAC;AAFD,4CAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9D,CAAC;AAFD,4BAEC;AAED,SAAgB,QAAQ,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAC/E,CAAC;AAFD,4BAEC;AAED,uEAAuE;AACvE,SAAgB,YAAY,CAAC,GAAG,MAAiB;IAC7C,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AACjC,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { SdkDefaults, AuthDefaults, ResultCodes, AuthErrorCode, SessionErrorCode, TeamErrorCode, 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';
|
|
5
|
+
export type { Nullable, Optional, DeepPartial, Immutable } from './types';
|
|
6
|
+
export { isBoolean, isString, isNonEmptyString, isNumber, isObject, anyIsBoolean } from './guards';
|
|
7
|
+
export { EMAIL_PATTERN, EMAIL_LIST_SEPARATOR_PATTERN, TOKEN_SEPARATOR_PATTERN, REGEX_ESCAPE_PATTERN, isValidEmail, escapeRegExp, } from './patterns';
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeRegExp = exports.isValidEmail = exports.REGEX_ESCAPE_PATTERN = exports.TOKEN_SEPARATOR_PATTERN = exports.EMAIL_LIST_SEPARATOR_PATTERN = exports.EMAIL_PATTERN = exports.anyIsBoolean = exports.isObject = exports.isNumber = exports.isNonEmptyString = exports.isString = exports.isBoolean = 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.TeamErrorCode = exports.SessionErrorCode = exports.AuthErrorCode = 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, "AuthErrorCode", { enumerable: true, get: function () { return constants_1.AuthErrorCode; } });
|
|
9
|
+
Object.defineProperty(exports, "SessionErrorCode", { enumerable: true, get: function () { return constants_1.SessionErrorCode; } });
|
|
10
|
+
Object.defineProperty(exports, "TeamErrorCode", { enumerable: true, get: function () { return constants_1.TeamErrorCode; } });
|
|
11
|
+
Object.defineProperty(exports, "KEEPER_PUBLIC_HOSTS", { enumerable: true, get: function () { return constants_1.KEEPER_PUBLIC_HOSTS; } });
|
|
12
|
+
var Logger_1 = require("./Logger");
|
|
13
|
+
Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return Logger_1.Logger; } });
|
|
14
|
+
Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return Logger_1.ConsoleLogger; } });
|
|
15
|
+
Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return Logger_1.LogLevel; } });
|
|
16
|
+
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return Logger_1.logger; } });
|
|
17
|
+
Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return Logger_1.setLogger; } });
|
|
18
|
+
Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return Logger_1.getLogger; } });
|
|
19
|
+
Object.defineProperty(exports, "resetLogger", { enumerable: true, get: function () { return Logger_1.resetLogger; } });
|
|
20
|
+
var errors_1 = require("./errors");
|
|
21
|
+
Object.defineProperty(exports, "KeeperSdkError", { enumerable: true, get: function () { return errors_1.KeeperSdkError; } });
|
|
22
|
+
Object.defineProperty(exports, "isKeeperError", { enumerable: true, get: function () { return errors_1.isKeeperError; } });
|
|
23
|
+
Object.defineProperty(exports, "extractErrorMessage", { enumerable: true, get: function () { return errors_1.extractErrorMessage; } });
|
|
24
|
+
Object.defineProperty(exports, "extractResultCode", { enumerable: true, get: function () { return errors_1.extractResultCode; } });
|
|
25
|
+
var guards_1 = require("./guards");
|
|
26
|
+
Object.defineProperty(exports, "isBoolean", { enumerable: true, get: function () { return guards_1.isBoolean; } });
|
|
27
|
+
Object.defineProperty(exports, "isString", { enumerable: true, get: function () { return guards_1.isString; } });
|
|
28
|
+
Object.defineProperty(exports, "isNonEmptyString", { enumerable: true, get: function () { return guards_1.isNonEmptyString; } });
|
|
29
|
+
Object.defineProperty(exports, "isNumber", { enumerable: true, get: function () { return guards_1.isNumber; } });
|
|
30
|
+
Object.defineProperty(exports, "isObject", { enumerable: true, get: function () { return guards_1.isObject; } });
|
|
31
|
+
Object.defineProperty(exports, "anyIsBoolean", { enumerable: true, get: function () { return guards_1.anyIsBoolean; } });
|
|
32
|
+
var patterns_1 = require("./patterns");
|
|
33
|
+
Object.defineProperty(exports, "EMAIL_PATTERN", { enumerable: true, get: function () { return patterns_1.EMAIL_PATTERN; } });
|
|
34
|
+
Object.defineProperty(exports, "EMAIL_LIST_SEPARATOR_PATTERN", { enumerable: true, get: function () { return patterns_1.EMAIL_LIST_SEPARATOR_PATTERN; } });
|
|
35
|
+
Object.defineProperty(exports, "TOKEN_SEPARATOR_PATTERN", { enumerable: true, get: function () { return patterns_1.TOKEN_SEPARATOR_PATTERN; } });
|
|
36
|
+
Object.defineProperty(exports, "REGEX_ESCAPE_PATTERN", { enumerable: true, get: function () { return patterns_1.REGEX_ESCAPE_PATTERN; } });
|
|
37
|
+
Object.defineProperty(exports, "isValidEmail", { enumerable: true, get: function () { return patterns_1.isValidEmail; } });
|
|
38
|
+
Object.defineProperty(exports, "escapeRegExp", { enumerable: true, get: function () { return patterns_1.escapeRegExp; } });
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yCAQoB;AAPhB,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,6GAAA,gBAAgB,OAAA;AAChB,0GAAA,aAAa,OAAA;AACb,gHAAA,mBAAmB,OAAA;AAEvB,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;AAE9E,mCAAkG;AAAzF,mGAAA,SAAS,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,kGAAA,QAAQ,OAAA;AAAE,sGAAA,YAAY,OAAA;AAChF,uCAOmB;AANf,yGAAA,aAAa,OAAA;AACb,wHAAA,4BAA4B,OAAA;AAC5B,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,wGAAA,YAAY,OAAA;AACZ,wGAAA,YAAY,OAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const EMAIL_PATTERN: RegExp;
|
|
2
|
+
/** Splits user-entered email lists on whitespace, commas, and semicolons. */
|
|
3
|
+
export declare const EMAIL_LIST_SEPARATOR_PATTERN: RegExp;
|
|
4
|
+
/** Splits free-form text into search tokens on whitespace and common punctuation. */
|
|
5
|
+
export declare const TOKEN_SEPARATOR_PATTERN: RegExp;
|
|
6
|
+
/** Characters that must be escaped when embedding user input into a RegExp. */
|
|
7
|
+
export declare const REGEX_ESCAPE_PATTERN: RegExp;
|
|
8
|
+
export declare function isValidEmail(value: string): boolean;
|
|
9
|
+
export declare function escapeRegExp(value: string): string;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.escapeRegExp = exports.isValidEmail = exports.REGEX_ESCAPE_PATTERN = exports.TOKEN_SEPARATOR_PATTERN = exports.EMAIL_LIST_SEPARATOR_PATTERN = exports.EMAIL_PATTERN = void 0;
|
|
4
|
+
exports.EMAIL_PATTERN = /^[^\s@]+@[^\s@.]+\.[^\s@]+$/;
|
|
5
|
+
/** Splits user-entered email lists on whitespace, commas, and semicolons. */
|
|
6
|
+
exports.EMAIL_LIST_SEPARATOR_PATTERN = /[\s,;]+/;
|
|
7
|
+
/** Splits free-form text into search tokens on whitespace and common punctuation. */
|
|
8
|
+
exports.TOKEN_SEPARATOR_PATTERN = /[\s\-_.,;:!?@#$%^&*()[\]{}|\\/<>]+/;
|
|
9
|
+
/** Characters that must be escaped when embedding user input into a RegExp. */
|
|
10
|
+
exports.REGEX_ESCAPE_PATTERN = /[.+^${}()|[\]\\]/g;
|
|
11
|
+
const MAX_EMAIL_LENGTH = 254;
|
|
12
|
+
function isValidEmail(value) {
|
|
13
|
+
return value.length <= MAX_EMAIL_LENGTH && exports.EMAIL_PATTERN.test(value);
|
|
14
|
+
}
|
|
15
|
+
exports.isValidEmail = isValidEmail;
|
|
16
|
+
function escapeRegExp(value) {
|
|
17
|
+
return value.replace(exports.REGEX_ESCAPE_PATTERN, '\\$&');
|
|
18
|
+
}
|
|
19
|
+
exports.escapeRegExp = escapeRegExp;
|
|
20
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../../src/utils/patterns.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,6BAA6B,CAAA;AAE1D,6EAA6E;AAChE,QAAA,4BAA4B,GAAG,SAAS,CAAA;AAErD,qFAAqF;AACxE,QAAA,uBAAuB,GAAG,oCAAoC,CAAA;AAE3E,+EAA+E;AAClE,QAAA,oBAAoB,GAAG,mBAAmB,CAAA;AAEvD,MAAM,gBAAgB,GAAG,GAAG,CAAA;AAE5B,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,MAAM,IAAI,gBAAgB,IAAI,qBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACxE,CAAC;AAFD,oCAEC;AAED,SAAgB,YAAY,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,4BAAoB,EAAE,MAAM,CAAC,CAAA;AACtD,CAAC;AAFD,oCAEC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** A value of type T or null. Use this for caches and computed-but-empty results. */
|
|
2
|
+
export type Nullable<T> = T | null;
|
|
3
|
+
/** A value of type T or undefined. Use this for "not provided" inputs. */
|
|
4
|
+
export type Optional<T> = T | undefined;
|
|
5
|
+
/** Recursively makes every property optional. */
|
|
6
|
+
export type DeepPartial<T> = T extends object ? {
|
|
7
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
8
|
+
} : T;
|
|
9
|
+
/** Helper to mark properties as readonly. */
|
|
10
|
+
export type Immutable<T> = {
|
|
11
|
+
readonly [K in keyof T]: T[K];
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,116 @@
|
|
|
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, RecordShareInfo } from '../sharing/Sharing';
|
|
7
|
+
import type { ListFolderOptions, ListFolderResult } from '../folders/listFolder';
|
|
8
|
+
import type { ChangeDirectoryResult } from '../folders/changeDirectory';
|
|
9
|
+
import type { AddFolderInput, AddFolderResult, MkdirOptions } from '../folders/addFolder';
|
|
10
|
+
import type { UpdateFolderInput, UpdateFolderResult, RenameFolderResult } from '../folders/updateFolder';
|
|
11
|
+
import type { DeleteFolderResult, RmdirOptions } from '../folders/deleteFolder';
|
|
12
|
+
import type { FolderTreeBuildOptions } from '../folders/folderTree';
|
|
13
|
+
import type { GetFolderOptions, GetFolderResult } from '../folders/getFolder';
|
|
14
|
+
import type { ListSharedFolderRow, ListSharedFoldersOptions } from '../sharedFolders/listSharedFolders';
|
|
15
|
+
import type { ShareFolderInput, ShareFolderResult } from '../sharedFolders/shareFolder';
|
|
16
|
+
import { FolderManager } from '../folders/FolderManager';
|
|
17
|
+
import type { SharedFolderPermissionsInput } from '../folders/FolderManager';
|
|
18
|
+
import { SharedFolderManager } from '../sharedFolders/SharedFolderManager';
|
|
19
|
+
import { TeamManager } from '../teams/TeamManager';
|
|
20
|
+
import type { ListTeamRow, ListTeamsOptions } from '../teams/listTeams';
|
|
21
|
+
import type { TeamView } from '../teams/viewTeam';
|
|
22
|
+
import { LogLevel } from '../utils';
|
|
23
|
+
export type KeeperVaultConfig = {
|
|
24
|
+
host?: string;
|
|
25
|
+
clientVersion?: string;
|
|
26
|
+
configDir?: string;
|
|
27
|
+
useConsoleAuth?: boolean;
|
|
28
|
+
logFormat?: SyncLogFormat;
|
|
29
|
+
logLevel?: LogLevel;
|
|
30
|
+
autoSync?: boolean;
|
|
31
|
+
storage?: InMemoryStorage;
|
|
32
|
+
sessionStorage?: SessionManager;
|
|
33
|
+
authUI?: AuthUI3;
|
|
34
|
+
};
|
|
35
|
+
export type VaultSummary = {
|
|
36
|
+
recordCount: number;
|
|
37
|
+
sharedFolderCount: number;
|
|
38
|
+
teamCount: number;
|
|
39
|
+
folderCount: number;
|
|
40
|
+
};
|
|
41
|
+
export declare class KeeperVault {
|
|
42
|
+
private auth;
|
|
43
|
+
private readonly storage;
|
|
44
|
+
private readonly sessionManager;
|
|
45
|
+
private readonly authUI;
|
|
46
|
+
private readonly config;
|
|
47
|
+
private readonly log;
|
|
48
|
+
private synced;
|
|
49
|
+
private batchDepth;
|
|
50
|
+
private readonly folderSession;
|
|
51
|
+
private readonly folderManager;
|
|
52
|
+
private readonly sharedFolderManager;
|
|
53
|
+
private readonly teamManager;
|
|
54
|
+
constructor(config?: KeeperVaultConfig);
|
|
55
|
+
getFolderManager(): FolderManager;
|
|
56
|
+
getSharedFolderManager(): SharedFolderManager;
|
|
57
|
+
getTeamManager(): TeamManager;
|
|
58
|
+
private createAuth;
|
|
59
|
+
private getAuthOrThrow;
|
|
60
|
+
login(username: string, password: string): Promise<void>;
|
|
61
|
+
loginWithSessionToken(username: string, sessionToken: string): Promise<void>;
|
|
62
|
+
getSessionToken(): string | undefined;
|
|
63
|
+
resumeSession(): Promise<void>;
|
|
64
|
+
sync(): Promise<SyncResult>;
|
|
65
|
+
batch(fn: () => Promise<void>): Promise<void>;
|
|
66
|
+
private syncIfNeeded;
|
|
67
|
+
getRecords(): DRecord[];
|
|
68
|
+
getRecordByUid(uid: string): DRecord | undefined;
|
|
69
|
+
findRecord(uidOrTitle: string): DRecord | undefined;
|
|
70
|
+
findRecords(criteria: string): DRecord[];
|
|
71
|
+
getRecordsByVersion(version: number): DRecord[];
|
|
72
|
+
getRecordsByType(recordType: string): DRecord[];
|
|
73
|
+
getRecordMetadata(): DRecordMetadata[];
|
|
74
|
+
getRecordMetadataByUid(uid: string): DRecordMetadata | undefined;
|
|
75
|
+
getSharedFolders(): DSharedFolder[];
|
|
76
|
+
getTeams(): DTeam[];
|
|
77
|
+
getUserFolders(): DUserFolder[];
|
|
78
|
+
listFolder(options?: ListFolderOptions): Promise<ListFolderResult>;
|
|
79
|
+
listSharedFolders(options?: ListSharedFoldersOptions): ListSharedFolderRow[];
|
|
80
|
+
listTeams(options?: ListTeamsOptions): Promise<ListTeamRow[]>;
|
|
81
|
+
viewTeam(identifier: string): Promise<TeamView>;
|
|
82
|
+
changeDirectory(path: string): Promise<ChangeDirectoryResult>;
|
|
83
|
+
getCurrentFolderUid(): string | null;
|
|
84
|
+
getWorkingFolderDisplayName(): string;
|
|
85
|
+
getFolder(uidOrName: string, options?: GetFolderOptions): Promise<GetFolderResult>;
|
|
86
|
+
addFolder(input: AddFolderInput): Promise<AddFolderResult>;
|
|
87
|
+
mkdir(path: string, options?: MkdirOptions): Promise<{
|
|
88
|
+
folderUid: string;
|
|
89
|
+
success: boolean;
|
|
90
|
+
message?: string;
|
|
91
|
+
}>;
|
|
92
|
+
updateFolder(input: UpdateFolderInput): Promise<UpdateFolderResult>;
|
|
93
|
+
renameFolder(folderPath: string, newName: string): Promise<RenameFolderResult>;
|
|
94
|
+
updateSharedFolderPermissions(sharedFolderUid: string, permissions: SharedFolderPermissionsInput): Promise<UpdateFolderResult>;
|
|
95
|
+
deleteFolder(folderRefs: string[], confirm?: (summary: string) => boolean | Promise<boolean>): Promise<DeleteFolderResult>;
|
|
96
|
+
rmdir(patterns: string[], options?: RmdirOptions): Promise<DeleteFolderResult>;
|
|
97
|
+
tree(options?: FolderTreeBuildOptions): Promise<string>;
|
|
98
|
+
getSummary(): VaultSummary;
|
|
99
|
+
printRecords(showDetails?: boolean): void;
|
|
100
|
+
addRecord(input: NewRecordInput): Promise<AddRecordResult>;
|
|
101
|
+
updateRecord(recordUid: string, data: TypedRecordData): Promise<UpdateRecordResult>;
|
|
102
|
+
deleteRecord(recordUid: string): Promise<DeleteRecordResult>;
|
|
103
|
+
moveRecord(input: MoveRecordInput): Promise<MoveRecordResult>;
|
|
104
|
+
shareRecord(input: ShareRecordInput): Promise<ShareRecordResult>;
|
|
105
|
+
removeRecordShare(input: RemoveShareInput): Promise<RemoveShareResult>;
|
|
106
|
+
getRecordShareInfo(recordUid: string): Promise<RecordShareInfo | null>;
|
|
107
|
+
shareFolder(input: ShareFolderInput): Promise<ShareFolderResult>;
|
|
108
|
+
getRecordHistory(recordUid: string): Promise<RecordHistoryResult>;
|
|
109
|
+
getStorage(): VaultStorage;
|
|
110
|
+
getAuth(): Auth;
|
|
111
|
+
disconnect(): void;
|
|
112
|
+
logout(): Promise<void>;
|
|
113
|
+
get host(): string;
|
|
114
|
+
get isLoggedIn(): boolean;
|
|
115
|
+
get isSynced(): boolean;
|
|
116
|
+
}
|