@mudrichenkoevgeny/web-platform-sdk-core-security 0.0.1 → 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 (106) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +110 -110
  3. package/dist/di/security-component.d.ts +56 -0
  4. package/dist/di/security-component.d.ts.map +1 -0
  5. package/dist/di/security-component.test.d.ts +2 -0
  6. package/dist/di/security-component.test.d.ts.map +1 -0
  7. package/dist/error/model/security-error.d.ts +117 -0
  8. package/dist/error/model/security-error.d.ts.map +1 -0
  9. package/dist/error/model/security-error.test.d.ts +2 -0
  10. package/dist/error/model/security-error.test.d.ts.map +1 -0
  11. package/dist/error/parser/security-error-parser.d.ts +37 -0
  12. package/dist/error/parser/security-error-parser.d.ts.map +1 -0
  13. package/dist/error/parser/security-error-parser.test.d.ts +2 -0
  14. package/dist/error/parser/security-error-parser.test.d.ts.map +1 -0
  15. package/dist/index.d.ts +20 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +12255 -5155
  18. package/dist/integration/SecuritySettingsIntegration.test.d.ts +2 -0
  19. package/dist/integration/SecuritySettingsIntegration.test.d.ts.map +1 -0
  20. package/dist/mock/di/security-component-mock.d.ts +9 -0
  21. package/dist/mock/di/security-component-mock.d.ts.map +1 -0
  22. package/dist/mock/network/open-security-settings-api-mock.d.ts +25 -0
  23. package/dist/mock/network/open-security-settings-api-mock.d.ts.map +1 -0
  24. package/dist/mock/repository/open-security-settings-repository-mock.d.ts +28 -0
  25. package/dist/mock/repository/open-security-settings-repository-mock.d.ts.map +1 -0
  26. package/dist/mock/storage/open-security-settings-storage-mock.d.ts +31 -0
  27. package/dist/mock/storage/open-security-settings-storage-mock.d.ts.map +1 -0
  28. package/dist/mock/usecase/validate-password-use-case-mock.d.ts +22 -0
  29. package/dist/mock/usecase/validate-password-use-case-mock.d.ts.map +1 -0
  30. package/dist/network/api/security-settings/fetch-open-security-settings-api.d.ts +22 -0
  31. package/dist/network/api/security-settings/fetch-open-security-settings-api.d.ts.map +1 -0
  32. package/dist/network/api/security-settings/fetch-open-security-settings-api.test.d.ts +2 -0
  33. package/dist/network/api/security-settings/fetch-open-security-settings-api.test.d.ts.map +1 -0
  34. package/dist/network/api/security-settings/open-security-settings-api.d.ts +14 -0
  35. package/dist/network/api/security-settings/open-security-settings-api.d.ts.map +1 -0
  36. package/dist/network/api/security-settings/security-settings-dto-mapping.test.d.ts +2 -0
  37. package/dist/network/api/security-settings/security-settings-dto-mapping.test.d.ts.map +1 -0
  38. package/dist/network/contract/security-web-socket-event-types.d.ts +2 -0
  39. package/dist/network/contract/security-web-socket-event-types.d.ts.map +1 -0
  40. package/dist/network/websocket/message-handler/security-web-socket-message-handler.d.ts +15 -0
  41. package/dist/network/websocket/message-handler/security-web-socket-message-handler.d.ts.map +1 -0
  42. package/dist/network/websocket/message-handler/security-web-socket-message-handler.test.d.ts +2 -0
  43. package/dist/network/websocket/message-handler/security-web-socket-message-handler.test.d.ts.map +1 -0
  44. package/dist/repository/open-security-settings-repository-impl.d.ts +57 -0
  45. package/dist/repository/open-security-settings-repository-impl.d.ts.map +1 -0
  46. package/dist/repository/open-security-settings-repository-impl.test.d.ts +2 -0
  47. package/dist/repository/open-security-settings-repository-impl.test.d.ts.map +1 -0
  48. package/dist/repository/open-security-settings-repository.d.ts +35 -0
  49. package/dist/repository/open-security-settings-repository.d.ts.map +1 -0
  50. package/dist/storage/security-settings/encrypted-open-security-settings-storage.d.ts +32 -0
  51. package/dist/storage/security-settings/encrypted-open-security-settings-storage.d.ts.map +1 -0
  52. package/dist/storage/security-settings/encrypted-open-security-settings-storage.test.d.ts +2 -0
  53. package/dist/storage/security-settings/encrypted-open-security-settings-storage.test.d.ts.map +1 -0
  54. package/dist/storage/security-settings/open-security-settings-storage.d.ts +23 -0
  55. package/dist/storage/security-settings/open-security-settings-storage.d.ts.map +1 -0
  56. package/dist/usecase/observe-open-security-settings-use-case.d.ts +19 -0
  57. package/dist/usecase/observe-open-security-settings-use-case.d.ts.map +1 -0
  58. package/dist/usecase/observe-open-security-settings-use-case.test.d.ts +2 -0
  59. package/dist/usecase/observe-open-security-settings-use-case.test.d.ts.map +1 -0
  60. package/dist/usecase/refresh-open-security-settings-use-case.d.ts +22 -0
  61. package/dist/usecase/refresh-open-security-settings-use-case.d.ts.map +1 -0
  62. package/dist/usecase/refresh-open-security-settings-use-case.test.d.ts +2 -0
  63. package/dist/usecase/refresh-open-security-settings-use-case.test.d.ts.map +1 -0
  64. package/dist/usecase/validate-password-use-case.d.ts +26 -0
  65. package/dist/usecase/validate-password-use-case.d.ts.map +1 -0
  66. package/dist/usecase/validate-password-use-case.test.d.ts +2 -0
  67. package/dist/usecase/validate-password-use-case.test.d.ts.map +1 -0
  68. package/package.json +16 -7
  69. package/src/di/security-component.test.ts +0 -33
  70. package/src/di/security-component.ts +0 -86
  71. package/src/domain/model/open-security-settings.ts +0 -79
  72. package/src/domain/model/password-policy-validator.test.ts +0 -96
  73. package/src/domain/model/password-policy-validator.ts +0 -63
  74. package/src/error/model/security-error.test.ts +0 -65
  75. package/src/error/model/security-error.ts +0 -182
  76. package/src/error/naming/client-security-error-codes.ts +0 -21
  77. package/src/error/parser/security-error-parser.test.ts +0 -87
  78. package/src/error/parser/security-error-parser.ts +0 -138
  79. package/src/index.ts +0 -24
  80. package/src/locales/en/strings.ts +0 -67
  81. package/src/locales/index.ts +0 -2
  82. package/src/locales/ru/strings.ts +0 -35
  83. package/src/mock/di/security-component-mock.ts +0 -35
  84. package/src/mock/domain/model/open-security-settings-mock.ts +0 -52
  85. package/src/mock/network/model/open-security-settings-payload-mock.ts +0 -28
  86. package/src/mock/network/open-security-settings-api-mock.ts +0 -38
  87. package/src/mock/repository/open-security-settings-repository-mock.ts +0 -62
  88. package/src/mock/storage/open-security-settings-storage-mock.ts +0 -45
  89. package/src/mock/usecase/validate-password-use-case-mock.ts +0 -31
  90. package/src/network/contract/security-web-socket-event-types.ts +0 -7
  91. package/src/network/security-settings/fetch-open-security-settings-api.test.ts +0 -51
  92. package/src/network/security-settings/fetch-open-security-settings-api.ts +0 -30
  93. package/src/network/security-settings/open-security-settings-api.ts +0 -15
  94. package/src/network/websocket/message-handler/security-web-socket-message-handler.test.ts +0 -19
  95. package/src/network/websocket/message-handler/security-web-socket-message-handler.ts +0 -19
  96. package/src/repository/open-security-settings-repository-impl.test.ts +0 -112
  97. package/src/repository/open-security-settings-repository-impl.ts +0 -151
  98. package/src/repository/open-security-settings-repository.ts +0 -39
  99. package/src/storage/security-settings/encrypted-open-security-settings-storage.test.ts +0 -71
  100. package/src/storage/security-settings/encrypted-open-security-settings-storage.ts +0 -65
  101. package/src/storage/security-settings/open-security-settings-storage.ts +0 -25
  102. package/src/usecase/refresh-open-security-settings-use-case.ts +0 -26
  103. package/src/usecase/security-use-cases.test.ts +0 -67
  104. package/src/usecase/validate-password-use-case.ts +0 -76
  105. package/tsconfig.json +0 -16
  106. package/vite.config.ts +0 -50
@@ -0,0 +1,56 @@
1
+ import { EncryptedSettings, HttpClient, WebSocketService } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { PasswordPolicyValidator } from '@mudrichenkoevgeny/shared-foundation';
3
+ import { OpenSecuritySettingsStorage } from '../storage/security-settings/open-security-settings-storage';
4
+ import { OpenSecuritySettingsApi } from '../network/api/security-settings/open-security-settings-api';
5
+ import { OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
6
+ import { RefreshOpenSecuritySettingsUseCase } from '../usecase/refresh-open-security-settings-use-case';
7
+ import { ObserveOpenSecuritySettingsUseCase } from '../usecase/observe-open-security-settings-use-case';
8
+ import { ValidatePasswordUseCase } from '../usecase/validate-password-use-case';
9
+ import { SecurityWebSocketMessageHandler } from '../network/websocket/message-handler/security-web-socket-message-handler';
10
+ /**
11
+ * Configuration options required to instantiate {@link SecurityComponent}.
12
+ */
13
+ export interface SecurityComponentConfig {
14
+ /** Global WebSocket service. */
15
+ webSocketService: WebSocketService;
16
+ /** Pre-configured HTTP client for REST calls. */
17
+ httpClient: HttpClient;
18
+ /** Encrypted storage backend. */
19
+ encryptedSettings: EncryptedSettings;
20
+ /** Optional mock overrides for tests. */
21
+ openSecuritySettingsApi?: OpenSecuritySettingsApi;
22
+ /** Optional mock overrides for tests. */
23
+ openSecuritySettingsStorage?: OpenSecuritySettingsStorage;
24
+ /** Optional mock overrides for tests. */
25
+ passwordPolicyValidator?: PasswordPolicyValidator;
26
+ }
27
+ /**
28
+ * Root dependency injection container for `core-security` module.
29
+ *
30
+ * Assembles storage, networking, repositories, and password policy validation.
31
+ */
32
+ export declare class SecurityComponent {
33
+ /** Core persistence interface for open security settings. */
34
+ readonly securitySettingsStorage: OpenSecuritySettingsStorage;
35
+ /** HTTP REST client API for open security settings. */
36
+ readonly openSecuritySettingsApi: OpenSecuritySettingsApi;
37
+ /** Central repository for open security settings. */
38
+ readonly securitySettingsRepository: OpenSecuritySettingsRepository;
39
+ /** Pure domain logic password policy validator from shared foundation. */
40
+ readonly passwordPolicyValidator: PasswordPolicyValidator;
41
+ /** Use case for forcing a network refresh of settings. */
42
+ readonly refreshSecuritySettingsUseCase: RefreshOpenSecuritySettingsUseCase;
43
+ /** Use case for observing live open security settings changes. */
44
+ readonly observeOpenSecuritySettingsUseCase: ObserveOpenSecuritySettingsUseCase;
45
+ /** Use case for validating password candidate strings against active policy. */
46
+ readonly validatePasswordUseCase: ValidatePasswordUseCase;
47
+ /** Handler offered to the shared WebSocket pipeline. */
48
+ readonly securityWebSocketMessageHandler: SecurityWebSocketMessageHandler;
49
+ /**
50
+ * Constructs a new {@link SecurityComponent}.
51
+ *
52
+ * @param config - Container configuration holding global SDK dependencies
53
+ */
54
+ constructor(config: SecurityComponentConfig);
55
+ }
56
+ //# sourceMappingURL=security-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-component.d.ts","sourceRoot":"","sources":["../../src/di/security-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AACtH,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAC9E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,6DAA6D,CAAA;AAE9G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6DAA6D,CAAA;AAE1G,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAA;AAErG,OAAO,EAAE,kCAAkC,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,EAAE,kCAAkC,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAA;AAC/E,OAAO,EAAE,+BAA+B,EAAE,MAAM,0EAA0E,CAAA;AAE1H;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,gCAAgC;IAChC,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,iDAAiD;IACjD,UAAU,EAAE,UAAU,CAAA;IACtB,iCAAiC;IACjC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;IACjD,yCAAyC;IACzC,2BAA2B,CAAC,EAAE,2BAA2B,CAAA;IACzD,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,uBAAuB,CAAA;CAClD;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,6DAA6D;IAC7D,SAAgB,uBAAuB,EAAE,2BAA2B,CAAA;IACpE,uDAAuD;IACvD,SAAgB,uBAAuB,EAAE,uBAAuB,CAAA;IAChE,qDAAqD;IACrD,SAAgB,0BAA0B,EAAE,8BAA8B,CAAA;IAC1E,0EAA0E;IAC1E,SAAgB,uBAAuB,EAAE,uBAAuB,CAAA;IAChE,0DAA0D;IAC1D,SAAgB,8BAA8B,EAAE,kCAAkC,CAAA;IAClF,kEAAkE;IAClE,SAAgB,kCAAkC,EAAE,kCAAkC,CAAA;IACtF,gFAAgF;IAChF,SAAgB,uBAAuB,EAAE,uBAAuB,CAAA;IAChE,wDAAwD;IACxD,SAAgB,+BAA+B,EAAE,+BAA+B,CAAA;IAEhF;;;;OAIG;gBACgB,MAAM,EAAE,uBAAuB;CAiCnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security-component.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-component.test.d.ts","sourceRoot":"","sources":["../../src/di/security-component.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,117 @@
1
+ import { ClientSecurityErrorCodes, PasswordPolicyFailReason } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { ErrorId } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ /** Error indicating security/password policy settings could not be fetched. */
4
+ export type SecurityErrorPasswordPolicyUnavailable = {
5
+ readonly id: ErrorId;
6
+ readonly code: typeof ClientSecurityErrorCodes.PASSWORD_POLICY_UNAVAILABLE;
7
+ readonly args: null;
8
+ readonly isRetryable: true;
9
+ };
10
+ /** Error indicating candidate password is shorter than minimum required length. */
11
+ export type SecurityErrorPasswordTooShort = {
12
+ readonly id: ErrorId;
13
+ readonly code: typeof PasswordPolicyFailReason.TOO_SHORT;
14
+ readonly args: Record<string, string> | null;
15
+ readonly isRetryable: false;
16
+ };
17
+ /** Error indicating candidate password contains no letter character. */
18
+ export type SecurityErrorPasswordNoLetter = {
19
+ readonly id: ErrorId;
20
+ readonly code: typeof PasswordPolicyFailReason.NO_LETTER;
21
+ readonly args: null;
22
+ readonly isRetryable: false;
23
+ };
24
+ /** Error indicating candidate password contains no uppercase letter. */
25
+ export type SecurityErrorPasswordNoUpperCase = {
26
+ readonly id: ErrorId;
27
+ readonly code: typeof PasswordPolicyFailReason.NO_UPPERCASE;
28
+ readonly args: null;
29
+ readonly isRetryable: false;
30
+ };
31
+ /** Error indicating candidate password contains no lowercase letter. */
32
+ export type SecurityErrorPasswordNoLowerCase = {
33
+ readonly id: ErrorId;
34
+ readonly code: typeof PasswordPolicyFailReason.NO_LOWERCASE;
35
+ readonly args: null;
36
+ readonly isRetryable: false;
37
+ };
38
+ /** Error indicating candidate password contains no digit character. */
39
+ export type SecurityErrorPasswordNoDigit = {
40
+ readonly id: ErrorId;
41
+ readonly code: typeof PasswordPolicyFailReason.NO_DIGIT;
42
+ readonly args: null;
43
+ readonly isRetryable: false;
44
+ };
45
+ /** Error indicating candidate password contains no special character. */
46
+ export type SecurityErrorPasswordNoSpecialChar = {
47
+ readonly id: ErrorId;
48
+ readonly code: typeof PasswordPolicyFailReason.NO_SPECIAL_CHAR;
49
+ readonly args: null;
50
+ readonly isRetryable: false;
51
+ };
52
+ /** Error indicating candidate password is on the forbidden common passwords list. */
53
+ export type SecurityErrorPasswordTooCommon = {
54
+ readonly id: ErrorId;
55
+ readonly code: typeof PasswordPolicyFailReason.TOO_COMMON;
56
+ readonly args: null;
57
+ readonly isRetryable: false;
58
+ };
59
+ /**
60
+ * Discriminated union type representing security domain errors.
61
+ */
62
+ export type SecurityError = SecurityErrorPasswordPolicyUnavailable | SecurityErrorPasswordTooShort | SecurityErrorPasswordNoLetter | SecurityErrorPasswordNoUpperCase | SecurityErrorPasswordNoLowerCase | SecurityErrorPasswordNoDigit | SecurityErrorPasswordNoSpecialChar | SecurityErrorPasswordTooCommon;
63
+ /**
64
+ * Factory helper object for constructing {@link SecurityError} plain objects.
65
+ */
66
+ export declare const SecurityError: {
67
+ /**
68
+ * Creates a password policy unavailable error.
69
+ *
70
+ * @returns {@link SecurityErrorPasswordPolicyUnavailable}
71
+ */
72
+ passwordPolicyUnavailable: () => SecurityErrorPasswordPolicyUnavailable;
73
+ /**
74
+ * Creates a password too short validation error.
75
+ *
76
+ * @param minLength - Optional minimum length requirement
77
+ * @returns {@link SecurityErrorPasswordTooShort}
78
+ */
79
+ passwordTooShort: (minLength?: number | null) => SecurityErrorPasswordTooShort;
80
+ /**
81
+ * Creates a password missing letter validation error.
82
+ *
83
+ * @returns {@link SecurityErrorPasswordNoLetter}
84
+ */
85
+ passwordNoLetter: () => SecurityErrorPasswordNoLetter;
86
+ /**
87
+ * Creates a password missing uppercase letter validation error.
88
+ *
89
+ * @returns {@link SecurityErrorPasswordNoUpperCase}
90
+ */
91
+ passwordNoUpperCase: () => SecurityErrorPasswordNoUpperCase;
92
+ /**
93
+ * Creates a password missing lowercase letter validation error.
94
+ *
95
+ * @returns {@link SecurityErrorPasswordNoLowerCase}
96
+ */
97
+ passwordNoLowerCase: () => SecurityErrorPasswordNoLowerCase;
98
+ /**
99
+ * Creates a password missing digit validation error.
100
+ *
101
+ * @returns {@link SecurityErrorPasswordNoDigit}
102
+ */
103
+ passwordNoDigit: () => SecurityErrorPasswordNoDigit;
104
+ /**
105
+ * Creates a password missing special character validation error.
106
+ *
107
+ * @returns {@link SecurityErrorPasswordNoSpecialChar}
108
+ */
109
+ passwordNoSpecialChar: () => SecurityErrorPasswordNoSpecialChar;
110
+ /**
111
+ * Creates a password too common validation error.
112
+ *
113
+ * @returns {@link SecurityErrorPasswordTooCommon}
114
+ */
115
+ passwordTooCommon: () => SecurityErrorPasswordTooCommon;
116
+ };
117
+ //# sourceMappingURL=security-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-error.d.ts","sourceRoot":"","sources":["../../../src/error/model/security-error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security-error.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-error.test.d.ts","sourceRoot":"","sources":["../../../src/error/model/security-error.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,37 @@
1
+ import { SecurityModuleStrings } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { AppError, AppErrorParser } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ /**
4
+ * AppErrorParser implementation for security-domain error codes.
5
+ */
6
+ export declare class SecurityErrorParser implements AppErrorParser {
7
+ /**
8
+ * Getter function returning the localized strings for the security module.
9
+ *
10
+ * @returns The localized string dictionary for the security module.
11
+ */
12
+ private readonly getStrings;
13
+ /**
14
+ * Constructs a new {@link SecurityErrorParser}.
15
+ *
16
+ * @param stringsOrGetter - Core security strings dictionary or dynamic getter function returning current strings
17
+ */
18
+ constructor(stringsOrGetter?: SecurityModuleStrings | (() => SecurityModuleStrings));
19
+ /**
20
+ * Parses security domain errors into localized string messages.
21
+ *
22
+ * @param appError - Application error instance
23
+ * @returns Localized string message or null if code is unhandled by this parser
24
+ */
25
+ parse(appError: AppError): string | null;
26
+ /**
27
+ * Resolves a localized string using error arguments, falling back to a message without arguments if the required argument is missing.
28
+ *
29
+ * @param args - The arguments record from the AppError.
30
+ * @param key - The key of the argument to extract.
31
+ * @param withArgsFormatter - Formatting function to generate the localized string when the argument is present.
32
+ * @param fallback - The fallback localized string to return if the argument is missing.
33
+ * @returns The resolved localized string.
34
+ */
35
+ private resolveLocalizedString;
36
+ }
37
+ //# sourceMappingURL=security-error-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-error-parser.d.ts","sourceRoot":"","sources":["../../../src/error/parser/security-error-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,qBAAqB,EAEtB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAA;AAG/F;;GAEG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACxD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAExD;;;;OAIG;gBAED,eAAe,GAAE,qBAAqB,GAAG,CAAC,MAAM,qBAAqB,CAAmB;IAK1F;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI;IA6E/C;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;CAY/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security-error-parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-error-parser.test.d.ts","sourceRoot":"","sources":["../../../src/error/parser/security-error-parser.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ export * from './error/model/security-error.js';
2
+ export * from './error/parser/security-error-parser.js';
3
+ export * from './storage/security-settings/open-security-settings-storage.js';
4
+ export * from './storage/security-settings/encrypted-open-security-settings-storage.js';
5
+ export * from './network/api/security-settings/open-security-settings-api.js';
6
+ export * from './network/api/security-settings/fetch-open-security-settings-api.js';
7
+ export * from './network/contract/security-web-socket-event-types.js';
8
+ export * from './network/websocket/message-handler/security-web-socket-message-handler.js';
9
+ export * from './repository/open-security-settings-repository.js';
10
+ export * from './repository/open-security-settings-repository-impl.js';
11
+ export * from './usecase/refresh-open-security-settings-use-case.js';
12
+ export * from './usecase/observe-open-security-settings-use-case.js';
13
+ export * from './usecase/validate-password-use-case.js';
14
+ export * from './di/security-component.js';
15
+ export * from './mock/network/open-security-settings-api-mock.js';
16
+ export * from './mock/repository/open-security-settings-repository-mock.js';
17
+ export * from './mock/storage/open-security-settings-storage-mock.js';
18
+ export * from './mock/usecase/validate-password-use-case-mock.js';
19
+ export * from './mock/di/security-component-mock.js';
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yCAAyC,CAAA;AACvD,cAAc,+DAA+D,CAAA;AAC7E,cAAc,yEAAyE,CAAA;AACvF,cAAc,+DAA+D,CAAA;AAC7E,cAAc,qEAAqE,CAAA;AACnF,cAAc,uDAAuD,CAAA;AACrE,cAAc,4EAA4E,CAAA;AAC1F,cAAc,mDAAmD,CAAA;AACjE,cAAc,wDAAwD,CAAA;AACtE,cAAc,sDAAsD,CAAA;AACpE,cAAc,sDAAsD,CAAA;AACpE,cAAc,yCAAyC,CAAA;AACvD,cAAc,4BAA4B,CAAA;AAC1C,cAAc,mDAAmD,CAAA;AACjE,cAAc,6DAA6D,CAAA;AAC3E,cAAc,uDAAuD,CAAA;AACrE,cAAc,mDAAmD,CAAA;AACjE,cAAc,sCAAsC,CAAA"}