@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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=SecuritySettingsIntegration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SecuritySettingsIntegration.test.d.ts","sourceRoot":"","sources":["../../src/integration/SecuritySettingsIntegration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { SecurityComponent, SecurityComponentConfig } from '../../di/security-component';
2
+ /**
3
+ * Creates a pre-configured {@link SecurityComponent} instance for testing and Storybook preview purposes.
4
+ *
5
+ * @param config - Optional configuration overrides for the mock component
6
+ * @returns Fully initialized {@link SecurityComponent}
7
+ */
8
+ export declare const createMockSecurityComponent: (config?: Partial<SecurityComponentConfig>) => SecurityComponent;
9
+ //# sourceMappingURL=security-component-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-component-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/di/security-component-mock.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAStE;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,GACtC,SAAS,OAAO,CAAC,uBAAuB,CAAC,KACxC,iBAgBF,CAAA"}
@@ -0,0 +1,25 @@
1
+ import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ import { OpenSecuritySettingsApi } from '../../network/api/security-settings/open-security-settings-api';
4
+ /**
5
+ * Mock implementation of {@link OpenSecuritySettingsApi}.
6
+ */
7
+ export declare class OpenSecuritySettingsApiMock implements OpenSecuritySettingsApi {
8
+ private readonly mockPayload?;
9
+ private readonly shouldFail;
10
+ getSecuritySettingsCallCount: number;
11
+ /**
12
+ * Constructs a new {@link OpenSecuritySettingsApiMock}.
13
+ *
14
+ * @param mockPayload - Initial mock payload to return
15
+ * @param shouldFail - Whether requests should return an error
16
+ */
17
+ constructor(mockPayload?: OpenSecuritySettingsPayload | undefined, shouldFail?: boolean);
18
+ /**
19
+ * Simulates fetching open security settings.
20
+ *
21
+ * @returns Configured mock result or error
22
+ */
23
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
24
+ }
25
+ //# sourceMappingURL=open-security-settings-api-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-api-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/network/open-security-settings-api-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAGvF,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAA;AAEzG;;GAEG;AACH,qBAAa,2BAA4B,YAAW,uBAAuB;IAUvE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAVtB,4BAA4B,SAAI;IAEvC;;;;;OAKG;gBAEgB,WAAW,CAAC,EAAE,2BAA2B,YAAA,EACzC,UAAU,GAAE,OAAe;IAG9C;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;CAUlG"}
@@ -0,0 +1,28 @@
1
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { OpenSecuritySettingsRepository, OpenSecuritySettingsObserver } from '../../repository/open-security-settings-repository';
3
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
4
+ /**
5
+ * Configuration options for {@link OpenSecuritySettingsRepositoryMock}.
6
+ */
7
+ export interface OpenSecuritySettingsRepositoryMockConfig {
8
+ /** Initial settings payload. */
9
+ initialSettings?: OpenSecuritySettings;
10
+ /** If true, getter and refresh will return AppError. */
11
+ shouldFailGet?: boolean;
12
+ }
13
+ /**
14
+ * Mock implementation of {@link OpenSecuritySettingsRepository} for testing and Storybook.
15
+ */
16
+ export declare class OpenSecuritySettingsRepositoryMock implements OpenSecuritySettingsRepository {
17
+ refreshCallCount: number;
18
+ updateCallCount: number;
19
+ private settings;
20
+ private shouldFailGet;
21
+ private readonly observers;
22
+ constructor(config?: OpenSecuritySettingsRepositoryMockConfig);
23
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
24
+ refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
25
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
26
+ observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
27
+ }
28
+ //# sourceMappingURL=open-security-settings-repository-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-repository-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/repository/open-security-settings-repository-mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,EAA0B,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAExG;;GAEG;AACH,MAAM,WAAW,wCAAwC;IACvD,gCAAgC;IAChC,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,wDAAwD;IACxD,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,kCAAmC,YAAW,8BAA8B;IAChF,gBAAgB,SAAI;IACpB,eAAe,SAAI;IAC1B,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;gBAEjD,MAAM,CAAC,EAAE,wCAAwC;IAKvD,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAO7E,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAQjF,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvF,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;CAOvF"}
@@ -0,0 +1,31 @@
1
+ import { OpenSecuritySettingsStorage } from '../../storage/security-settings/open-security-settings-storage';
2
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
3
+ /**
4
+ * Mock in-memory implementation of {@link OpenSecuritySettingsStorage}.
5
+ */
6
+ export declare class OpenSecuritySettingsStorageMock implements OpenSecuritySettingsStorage {
7
+ private settings;
8
+ /**
9
+ * Constructs a new {@link OpenSecuritySettingsStorageMock}.
10
+ *
11
+ * @param initialSettings - Initial cached settings
12
+ */
13
+ constructor(initialSettings?: OpenSecuritySettings);
14
+ /**
15
+ * Retrieves the mock stored settings.
16
+ *
17
+ * @returns Mock settings or null
18
+ */
19
+ getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
20
+ /**
21
+ * Updates the mock stored settings.
22
+ *
23
+ * @param securitySettings - New settings
24
+ */
25
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
26
+ /**
27
+ * Clears the mock stored settings.
28
+ */
29
+ clearOpenSecuritySettings(): Promise<void>;
30
+ }
31
+ //# sourceMappingURL=open-security-settings-storage-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-storage-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/storage/open-security-settings-storage-mock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAC7G,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF;;GAEG;AACH,qBAAa,+BAAgC,YAAW,2BAA2B;IACjF,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;;;OAIG;gBACgB,eAAe,CAAC,EAAE,oBAAoB;IAMzD;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAI5E;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;OAEG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxD"}
@@ -0,0 +1,22 @@
1
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { ValidatePasswordUseCase } from '../../usecase/validate-password-use-case';
3
+ /**
4
+ * Mock implementation of {@link ValidatePasswordUseCase} for testing UI components.
5
+ */
6
+ export declare class ValidatePasswordUseCaseMock extends ValidatePasswordUseCase {
7
+ private readonly shouldFail;
8
+ /**
9
+ * Constructs a new {@link ValidatePasswordUseCaseMock}.
10
+ *
11
+ * @param shouldFail - If true, mock will always fail with passwordTooShort
12
+ */
13
+ constructor(shouldFail?: boolean);
14
+ /**
15
+ * Evaluates the candidate password synchronously.
16
+ *
17
+ * @param _password - Candidate password (ignored)
18
+ * @returns Configured mock result
19
+ */
20
+ execute(_password: string): Promise<AppResult<void, AppError>>;
21
+ }
22
+ //# sourceMappingURL=validate-password-use-case-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-password-use-case-mock.d.ts","sourceRoot":"","sources":["../../../src/mock/usecase/validate-password-use-case-mock.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAE1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAI9E;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAMnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL9C;;;;OAIG;gBACiC,UAAU,GAAE,OAAe;IAI/D;;;;;OAKG;IACU,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;CAM5E"}
@@ -0,0 +1,22 @@
1
+ import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { HttpClient, AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ import { OpenSecuritySettingsApi } from './open-security-settings-api';
4
+ /**
5
+ * Fetch HTTP client implementation of {@link OpenSecuritySettingsApi}.
6
+ */
7
+ export declare class FetchOpenSecuritySettingsApi implements OpenSecuritySettingsApi {
8
+ private readonly httpClient;
9
+ /**
10
+ * Constructs a new {@link FetchOpenSecuritySettingsApi}.
11
+ *
12
+ * @param httpClient - Configured SDK HTTP client instance
13
+ */
14
+ constructor(httpClient: HttpClient);
15
+ /**
16
+ * Executes HTTP GET request to retrieve open security settings payload.
17
+ *
18
+ * @returns AppResult wrapping {@link OpenSecuritySettingsPayload}
19
+ */
20
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
21
+ }
22
+ //# sourceMappingURL=fetch-open-security-settings-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-open-security-settings-api.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/fetch-open-security-settings-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AAEvF,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AACtG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAE3E;;GAEG;AACH,qBAAa,4BAA6B,YAAW,uBAAuB;IAMvD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAL9C;;;;OAIG;gBACiC,UAAU,EAAE,UAAU;IAE1D;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;CAQlG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fetch-open-security-settings-api.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-open-security-settings-api.test.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/fetch-open-security-settings-api.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { OpenSecuritySettingsPayload } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { AppError, AppResult } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ /**
4
+ * Direct HTTP REST API client interface for fetching open security settings.
5
+ */
6
+ export interface OpenSecuritySettingsApi {
7
+ /**
8
+ * Fetches active open security settings payload from the server.
9
+ *
10
+ * @returns AppResult containing {@link OpenSecuritySettingsPayload} on success or {@link AppError} on failure
11
+ */
12
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettingsPayload, AppError>>;
13
+ }
14
+ //# sourceMappingURL=open-security-settings-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-api.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/open-security-settings-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC,CAAA;CACrF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security-settings-dto-mapping.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-settings-dto-mapping.test.d.ts","sourceRoot":"","sources":["../../../../src/network/api/security-settings/security-settings-dto-mapping.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { SecurityWebSocketEventTypes } from '@mudrichenkoevgeny/shared-foundation';
2
+ //# sourceMappingURL=security-web-socket-event-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-web-socket-event-types.d.ts","sourceRoot":"","sources":["../../../src/network/contract/security-web-socket-event-types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { WebSocketMessageHandler, WebSocketMessageHandlerResult, SocketFrame } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ /**
3
+ * WebSocket message handler for security domain frame types.
4
+ * Note: Real-time security settings updates are processed directly by {@link OpenSecuritySettingsRepositoryImpl}.
5
+ */
6
+ export declare class SecurityWebSocketMessageHandler implements WebSocketMessageHandler {
7
+ /**
8
+ * Processes incoming security WebSocket message frame.
9
+ *
10
+ * @param frame - Incoming socket frame
11
+ * @returns {@link WebSocketMessageHandlerResult}
12
+ */
13
+ handle(_frame: SocketFrame): WebSocketMessageHandlerResult;
14
+ }
15
+ //# sourceMappingURL=security-web-socket-message-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-web-socket-message-handler.d.ts","sourceRoot":"","sources":["../../../../src/network/websocket/message-handler/security-web-socket-message-handler.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,uBAAuB,EACvB,6BAA6B,EAC7B,WAAW,EACZ,MAAM,iDAAiD,CAAA;AAExD;;;GAGG;AACH,qBAAa,+BAAgC,YAAW,uBAAuB;IAC7E;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,6BAA6B;CAGlE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=security-web-socket-message-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-web-socket-message-handler.test.d.ts","sourceRoot":"","sources":["../../../../src/network/websocket/message-handler/security-web-socket-message-handler.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ import { AppResult, AppError, WebSocketService } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
3
+ import { OpenSecuritySettingsRepository, OpenSecuritySettingsObserver } from './open-security-settings-repository';
4
+ import { OpenSecuritySettingsApi } from '../network/api/security-settings/open-security-settings-api';
5
+ import { OpenSecuritySettingsStorage } from '../storage/security-settings/open-security-settings-storage';
6
+ /**
7
+ * Implementation of {@link OpenSecuritySettingsRepository} handling API fetch, encrypted storage, and WebSocket updates.
8
+ */
9
+ export declare class OpenSecuritySettingsRepositoryImpl implements OpenSecuritySettingsRepository {
10
+ private readonly api;
11
+ private readonly storage;
12
+ private readonly webSocketService;
13
+ private readonly logger?;
14
+ private inMemorySettings;
15
+ private readonly observers;
16
+ private initializationPromise;
17
+ /**
18
+ * Constructs a new {@link OpenSecuritySettingsRepositoryImpl}.
19
+ *
20
+ * @param api - REST API client for open security settings
21
+ * @param storage - Encrypted storage backend for settings persistence
22
+ * @param webSocketService - WebSocket client for receiving real-time setting updates
23
+ * @param logger - Optional diagnostic logger
24
+ */
25
+ constructor(api: OpenSecuritySettingsApi, storage: OpenSecuritySettingsStorage, webSocketService: WebSocketService, logger?: ((msg: string) => void) | undefined);
26
+ /**
27
+ * Retrieves security settings from memory, storage, or network.
28
+ *
29
+ * @returns Resolved security settings result
30
+ */
31
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
32
+ /**
33
+ * Forces a refresh from the network and persists result.
34
+ *
35
+ * @returns Updated security settings result
36
+ */
37
+ refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
38
+ /**
39
+ * Overwrites the active security settings (e.g. from WebSocket update).
40
+ *
41
+ * @param securitySettings - New active settings
42
+ */
43
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
44
+ /**
45
+ * Subscribes to updates of the security settings.
46
+ *
47
+ * @param observer - Callback
48
+ * @returns Unsubscribe function
49
+ */
50
+ observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
51
+ private preloadCache;
52
+ private refreshOpenSecuritySettingsInternal;
53
+ private applySettingsUpdate;
54
+ private notifyObservers;
55
+ private startWebSocketObservation;
56
+ }
57
+ //# sourceMappingURL=open-security-settings-repository-impl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-repository-impl.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository-impl.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,gBAAgB,EAAe,MAAM,iDAAiD,CAAA;AACzH,OAAO,EAA6D,KAAK,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3I,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AACpG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAA;AAClG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4DAA4D,CAAA;AACzG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAG7G;;GAEG;AACH,qBAAa,kCAAmC,YAAW,8BAA8B;IAcrF,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAhB1B,OAAO,CAAC,gBAAgB,CAAoC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,qBAAqB,CAA6B;IAE1D;;;;;;;OAOG;gBAEgB,GAAG,EAAE,uBAAuB,EAC5B,OAAO,EAAE,2BAA2B,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,aAAA;IAMjD;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAe1F;;;;OAIG;IACU,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAI9F;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9F;;;;;OAKG;IACI,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;YAQxE,YAAY;YAcZ,mCAAmC;YASnC,mBAAmB;IAUjC,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,yBAAyB;CAmBlC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=open-security-settings-repository-impl.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-repository-impl.test.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository-impl.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
3
+ /** Observer callback for security settings changes. */
4
+ export type OpenSecuritySettingsObserver = (settings: OpenSecuritySettings | null) => void;
5
+ /**
6
+ * Repository interface for retrieving, updating, and observing open security settings.
7
+ */
8
+ export interface OpenSecuritySettingsRepository {
9
+ /**
10
+ * Retrieves in-memory or persisted settings. If unavailable, fetches from network.
11
+ *
12
+ * @returns AppResult containing current settings or error
13
+ */
14
+ getOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
15
+ /**
16
+ * Forces a network refresh of the open security settings and persists them.
17
+ *
18
+ * @returns AppResult containing updated settings or error
19
+ */
20
+ refreshOpenSecuritySettings(): Promise<AppResult<OpenSecuritySettings, AppError>>;
21
+ /**
22
+ * Applies an external update to the settings and persists them.
23
+ *
24
+ * @param securitySettings - New settings snapshot
25
+ */
26
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
27
+ /**
28
+ * Registers an observer for live updates to the security settings.
29
+ *
30
+ * @param observer - Callback receiving updated settings or null
31
+ * @returns Unsubscribe function
32
+ */
33
+ observeOpenSecuritySettings(observer: OpenSecuritySettingsObserver): () => void;
34
+ }
35
+ //# sourceMappingURL=open-security-settings-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-repository.d.ts","sourceRoot":"","sources":["../../src/repository/open-security-settings-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF,uDAAuD;AACvD,MAAM,MAAM,4BAA4B,GAAG,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAA;AAE1F;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE7E;;;;OAIG;IACH,2BAA2B,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC,CAAA;IAEjF;;;;OAIG;IACH,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjF;;;;;OAKG;IACH,2BAA2B,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI,CAAA;CAChF"}
@@ -0,0 +1,32 @@
1
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
2
+ import { EncryptedSettings } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
3
+ import { OpenSecuritySettingsStorage } from './open-security-settings-storage';
4
+ /**
5
+ * Storage implementation of {@link OpenSecuritySettingsStorage} backed by {@link EncryptedSettings}.
6
+ */
7
+ export declare class EncryptedOpenSecuritySettingsStorage implements OpenSecuritySettingsStorage {
8
+ private readonly encryptedSettings;
9
+ /**
10
+ * Constructs a new {@link EncryptedOpenSecuritySettingsStorage}.
11
+ *
12
+ * @param encryptedSettings - Encrypted settings key-value store instance
13
+ */
14
+ constructor(encryptedSettings: EncryptedSettings);
15
+ /**
16
+ * Retrieves and deserializes encrypted open security settings.
17
+ *
18
+ * @returns Deserialized settings or null if unreadable or absent
19
+ */
20
+ getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
21
+ /**
22
+ * Serializes and persists open security settings.
23
+ *
24
+ * @param securitySettings - Security settings snapshot to store
25
+ */
26
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
27
+ /**
28
+ * Removes persisted open security settings from storage.
29
+ */
30
+ clearOpenSecuritySettings(): Promise<void>;
31
+ }
32
+ //# sourceMappingURL=encrypted-open-security-settings-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-open-security-settings-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/encrypted-open-security-settings-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,oBAAoB,EAC1B,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAA;AACxF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4DAA4D,CAAA;AAI7G;;GAEG;AACH,qBAAa,oCAAqC,YAAW,2BAA2B;IAMnE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IALrD;;;;OAIG;gBACiC,iBAAiB,EAAE,iBAAiB;IAExE;;;;OAIG;IACU,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAoB5E;;;;OAIG;IACU,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9F;;OAEG;IACU,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAGxD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=encrypted-open-security-settings-storage.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encrypted-open-security-settings-storage.test.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/encrypted-open-security-settings-storage.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
2
+ /**
3
+ * Persistence port for {@link OpenSecuritySettings} storage implementations.
4
+ */
5
+ export interface OpenSecuritySettingsStorage {
6
+ /**
7
+ * Retrieves the stored {@link OpenSecuritySettings}, or null if none are persisted yet.
8
+ *
9
+ * @returns Promise resolving to stored settings or null
10
+ */
11
+ getOpenSecuritySettings(): Promise<OpenSecuritySettings | null>;
12
+ /**
13
+ * Persists a new snapshot of {@link OpenSecuritySettings}.
14
+ *
15
+ * @param securitySettings - Snapshot to serialize and persist
16
+ */
17
+ updateOpenSecuritySettings(securitySettings: OpenSecuritySettings): Promise<void>;
18
+ /**
19
+ * Removes persisted open security settings from storage, if present.
20
+ */
21
+ clearOpenSecuritySettings(): Promise<void>;
22
+ }
23
+ //# sourceMappingURL=open-security-settings-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-security-settings-storage.d.ts","sourceRoot":"","sources":["../../../src/storage/security-settings/open-security-settings-storage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAEhF;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;OAIG;IACH,uBAAuB,IAAI,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IAE/D;;;;OAIG;IACH,0BAA0B,CAAC,gBAAgB,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEjF;;OAEG;IACH,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3C"}
@@ -0,0 +1,19 @@
1
+ import { OpenSecuritySettingsObserver, OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
2
+ /** Subscribes an observer to live open security settings updates. */
3
+ export declare class ObserveOpenSecuritySettingsUseCase {
4
+ protected readonly repository: OpenSecuritySettingsRepository;
5
+ /**
6
+ * Constructs a new {@link ObserveOpenSecuritySettingsUseCase}.
7
+ *
8
+ * @param repository - Open security settings repository
9
+ */
10
+ constructor(repository: OpenSecuritySettingsRepository);
11
+ /**
12
+ * Executes the use case to register an observer for settings changes.
13
+ *
14
+ * @param observer - Callback invoked when open security settings are updated
15
+ * @returns Unsubscribe cleanup function
16
+ */
17
+ execute(observer: OpenSecuritySettingsObserver): () => void;
18
+ }
19
+ //# sourceMappingURL=observe-open-security-settings-use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe-open-security-settings-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/observe-open-security-settings-use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAA;AAEnI,qEAAqE;AACrE,qBAAa,kCAAkC;IAM1B,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,8BAA8B;IALhF;;;;OAIG;gBACmC,UAAU,EAAE,8BAA8B;IAEhF;;;;;OAKG;IACI,OAAO,CAAC,QAAQ,EAAE,4BAA4B,GAAG,MAAM,IAAI;CAGnE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=observe-open-security-settings-use-case.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observe-open-security-settings-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/observe-open-security-settings-use-case.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { OpenSecuritySettings } from '@mudrichenkoevgeny/shared-foundation';
3
+ import { OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
4
+ /**
5
+ * Use case that delegates to {@link OpenSecuritySettingsRepository.refreshOpenSecuritySettings}.
6
+ */
7
+ export declare class RefreshOpenSecuritySettingsUseCase {
8
+ private readonly openSecuritySettingsRepository;
9
+ /**
10
+ * Constructs a new {@link RefreshOpenSecuritySettingsUseCase}.
11
+ *
12
+ * @param openSecuritySettingsRepository - Repository performing the network refresh and persistence
13
+ */
14
+ constructor(openSecuritySettingsRepository: OpenSecuritySettingsRepository);
15
+ /**
16
+ * Executes the refresh operation.
17
+ *
18
+ * @returns Promise resolving to AppResult with refreshed settings or error
19
+ */
20
+ execute(): Promise<AppResult<OpenSecuritySettings, AppError>>;
21
+ }
22
+ //# sourceMappingURL=refresh-open-security-settings-use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-open-security-settings-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/refresh-open-security-settings-use-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAChF,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAEpG;;GAEG;AACH,qBAAa,kCAAkC;IAO3C,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IANjD;;;;OAIG;gBAEgB,8BAA8B,EAAE,8BAA8B;IAGjF;;;;OAIG;IACU,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;CAG3E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=refresh-open-security-settings-use-case.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refresh-open-security-settings-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/refresh-open-security-settings-use-case.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { AppResult, AppError } from '@mudrichenkoevgeny/web-platform-sdk-core-common';
2
+ import { PasswordPolicyValidator } from '@mudrichenkoevgeny/shared-foundation';
3
+ import { OpenSecuritySettingsRepository } from '../repository/open-security-settings-repository';
4
+ /**
5
+ * Validates a password string against the current {@link OpenPasswordPolicy} from {@link OpenSecuritySettingsRepository}.
6
+ */
7
+ export declare class ValidatePasswordUseCase {
8
+ private readonly openSecuritySettingsRepository;
9
+ private readonly passwordPolicyValidator;
10
+ /**
11
+ * Constructs a new {@link ValidatePasswordUseCase}.
12
+ *
13
+ * @param openSecuritySettingsRepository - Source of the active password policy
14
+ * @param passwordPolicyValidator - Pure domain logic validator implementation from shared foundation
15
+ */
16
+ constructor(openSecuritySettingsRepository: OpenSecuritySettingsRepository, passwordPolicyValidator: PasswordPolicyValidator);
17
+ /**
18
+ * Evaluates the candidate password.
19
+ *
20
+ * @param password - Candidate password to validate
21
+ * @returns AppResult resolving to void on success, or SecurityError on failure
22
+ */
23
+ execute(password: string): Promise<AppResult<void, AppError>>;
24
+ private toSecurityError;
25
+ }
26
+ //# sourceMappingURL=validate-password-use-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-password-use-case.d.ts","sourceRoot":"","sources":["../../src/usecase/validate-password-use-case.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAA;AAC1F,OAAO,EAEL,uBAAuB,EAExB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,gDAAgD,CAAA;AAapG;;GAEG;AACH,qBAAa,uBAAuB;IAQhC,OAAO,CAAC,QAAQ,CAAC,8BAA8B;IAC/C,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IAR1C;;;;;OAKG;gBAEgB,8BAA8B,EAAE,8BAA8B,EAC9D,uBAAuB,EAAE,uBAAuB;IAGnE;;;;;OAKG;IACU,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAiB1E,OAAO,CAAC,eAAe;CA2BxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=validate-password-use-case.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-password-use-case.test.d.ts","sourceRoot":"","sources":["../../src/usecase/validate-password-use-case.test.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,23 +1,32 @@
1
1
  {
2
2
  "name": "@mudrichenkoevgeny/web-platform-sdk-core-security",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
+ "files": [
6
+ "dist"
7
+ ],
8
+ "sideEffects": false,
5
9
  "main": "./dist/index.js",
6
10
  "module": "./dist/index.js",
7
11
  "types": "./dist/index.d.ts",
8
12
  "exports": {
9
13
  ".": {
14
+ "types": "./dist/index.d.ts",
10
15
  "import": "./dist/index.js",
11
- "types": "./dist/index.d.ts"
16
+ "default": "./dist/index.js"
12
17
  }
13
18
  },
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/mudrichenkoevgeny/web-platform-sdk.git"
22
+ },
14
23
  "peerDependencies": {
15
24
  "react": "^18.0.0 || ^19.0.0",
16
25
  "react-dom": "^18.0.0 || ^19.0.0"
17
26
  },
18
27
  "dependencies": {
19
- "@mudrichenkoevgeny/shared-foundation": "^0.0.55",
20
- "@mudrichenkoevgeny/web-platform-sdk-core-common": "0.0.1",
28
+ "@mudrichenkoevgeny/shared-foundation": "^0.1.7",
29
+ "@mudrichenkoevgeny/web-platform-sdk-core-common": "0.1.0",
21
30
  "clsx": "^2.1.1",
22
31
  "tailwind-merge": "^3.7.0"
23
32
  },
@@ -30,10 +39,10 @@
30
39
  "@typescript/typescript6": "^6.0.2",
31
40
  "jsdom": "^26.0.0",
32
41
  "typescript": "^7.0.2",
33
- "vite": "^8.3.2",
34
- "vite-plugin-dts": "^5.1.1",
42
+ "vite": "^8.3.4",
43
+ "vite-plugin-dts": "^5.1.2",
35
44
  "vite-plugin-svgr": "^5.2.0",
36
- "vitest": "^5.0.3"
45
+ "vitest": "^5.0.4"
37
46
  },
38
47
  "scripts": {
39
48
  "build": "vite build",