@passlock/client 0.9.22 → 0.9.23

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 (151) hide show
  1. package/dist/authentication/authenticate.d.ts +15 -15
  2. package/dist/authentication/authenticate.fixture.d.ts +20 -6
  3. package/dist/authentication/authenticate.fixture.js +7 -5
  4. package/dist/authentication/authenticate.fixture.js.map +1 -1
  5. package/dist/authentication/authenticate.js +19 -8
  6. package/dist/authentication/authenticate.js.map +1 -1
  7. package/dist/capabilities/capabilities.d.ts +8 -4
  8. package/dist/capabilities/capabilities.js +10 -1
  9. package/dist/capabilities/capabilities.js.map +1 -1
  10. package/dist/connection/connection.d.ts +11 -7
  11. package/dist/connection/connection.fixture.d.ts +2 -2
  12. package/dist/connection/connection.fixture.js +2 -1
  13. package/dist/connection/connection.fixture.js.map +1 -1
  14. package/dist/connection/connection.js +12 -3
  15. package/dist/connection/connection.js.map +1 -1
  16. package/dist/effect.d.ts +22 -45
  17. package/dist/effect.js +55 -51
  18. package/dist/effect.js.map +1 -1
  19. package/dist/email/email.d.ts +38 -11
  20. package/dist/email/email.fixture.d.ts +19 -5
  21. package/dist/email/email.fixture.js +4 -3
  22. package/dist/email/email.fixture.js.map +1 -1
  23. package/dist/email/email.js +43 -7
  24. package/dist/email/email.js.map +1 -1
  25. package/dist/event/event.d.ts +3 -1
  26. package/dist/event/event.js +3 -0
  27. package/dist/event/event.js.map +1 -1
  28. package/dist/index.d.ts +105 -27
  29. package/dist/index.js +101 -50
  30. package/dist/index.js.map +1 -1
  31. package/dist/logging/eventLogger.d.ts +13 -1
  32. package/dist/logging/eventLogger.js +13 -0
  33. package/dist/logging/eventLogger.js.map +1 -1
  34. package/dist/registration/register.d.ts +18 -21
  35. package/dist/registration/register.fixture.d.ts +19 -5
  36. package/dist/registration/register.fixture.js +14 -7
  37. package/dist/registration/register.fixture.js.map +1 -1
  38. package/dist/registration/register.js +18 -9
  39. package/dist/registration/register.js.map +1 -1
  40. package/dist/rpc/authentication.d.ts +0 -1
  41. package/dist/rpc/authentication.js +1 -0
  42. package/dist/rpc/authentication.js.map +1 -1
  43. package/dist/rpc/client.d.ts +4 -1
  44. package/dist/rpc/client.js +12 -2
  45. package/dist/rpc/client.js.map +1 -1
  46. package/dist/rpc/config.d.ts +0 -1
  47. package/dist/rpc/connection.d.ts +0 -1
  48. package/dist/rpc/connection.js +1 -0
  49. package/dist/rpc/connection.js.map +1 -1
  50. package/dist/rpc/registration.d.ts +0 -1
  51. package/dist/rpc/registration.js +1 -0
  52. package/dist/rpc/registration.js.map +1 -1
  53. package/dist/rpc/social.d.ts +0 -1
  54. package/dist/rpc/social.js +1 -0
  55. package/dist/rpc/social.js.map +1 -1
  56. package/dist/rpc/user.d.ts +0 -1
  57. package/dist/rpc/user.js +1 -0
  58. package/dist/rpc/user.js.map +1 -1
  59. package/dist/social/social.d.ts +16 -23
  60. package/dist/social/social.fixture.d.ts +21 -9
  61. package/dist/social/social.fixture.js +8 -14
  62. package/dist/social/social.fixture.js.map +1 -1
  63. package/dist/social/social.js +14 -10
  64. package/dist/social/social.js.map +1 -1
  65. package/dist/storage/storage.d.ts +40 -12
  66. package/dist/storage/storage.fixture.d.ts +2 -2
  67. package/dist/storage/storage.fixture.js +2 -2
  68. package/dist/storage/storage.fixture.js.map +1 -1
  69. package/dist/storage/storage.js +48 -15
  70. package/dist/storage/storage.js.map +1 -1
  71. package/dist/test/fixtures.d.ts +1 -2
  72. package/dist/test/fixtures.js +20 -5
  73. package/dist/test/fixtures.js.map +1 -1
  74. package/dist/user/user.d.ts +8 -5
  75. package/dist/user/user.fixture.d.ts +2 -2
  76. package/dist/user/user.fixture.js +9 -5
  77. package/dist/user/user.fixture.js.map +1 -1
  78. package/dist/user/user.js +9 -3
  79. package/dist/user/user.js.map +1 -1
  80. package/dist/version.d.ts +1 -2
  81. package/dist/version.js +1 -1
  82. package/dist/version.js.map +1 -1
  83. package/package.json +30 -26
  84. package/src/authentication/authenticate.fixture.ts +8 -7
  85. package/src/authentication/authenticate.test.ts +59 -17
  86. package/src/authentication/authenticate.ts +34 -32
  87. package/src/capabilities/capabilities.ts +9 -8
  88. package/src/connection/connection.fixture.ts +2 -1
  89. package/src/connection/connection.test.ts +3 -3
  90. package/src/connection/connection.ts +9 -8
  91. package/src/effect.ts +129 -128
  92. package/src/email/email.fixture.ts +4 -3
  93. package/src/email/email.test.ts +4 -4
  94. package/src/email/email.ts +24 -16
  95. package/src/index.ts +225 -169
  96. package/src/logging/eventLogger.test.ts +1 -1
  97. package/src/logging/eventLogger.ts +2 -2
  98. package/src/registration/register.fixture.ts +14 -8
  99. package/src/registration/register.test.ts +13 -9
  100. package/src/registration/register.ts +37 -34
  101. package/src/rpc/authentication.ts +31 -0
  102. package/src/rpc/client.ts +173 -0
  103. package/src/rpc/config.ts +18 -0
  104. package/src/rpc/connection.ts +24 -0
  105. package/src/rpc/registration.ts +31 -0
  106. package/src/rpc/social.ts +36 -0
  107. package/src/rpc/user.ts +42 -0
  108. package/src/social/social.fixture.ts +10 -18
  109. package/src/social/social.test.ts +13 -29
  110. package/src/social/social.ts +20 -47
  111. package/src/storage/storage.fixture.ts +3 -4
  112. package/src/storage/storage.test.ts +28 -19
  113. package/src/storage/storage.ts +36 -36
  114. package/src/test/fixtures.ts +21 -6
  115. package/src/user/user.fixture.ts +17 -7
  116. package/src/user/user.test.ts +2 -5
  117. package/src/user/user.ts +13 -9
  118. package/src/version.ts +1 -0
  119. package/dist/authentication/authenticate.d.ts.map +0 -1
  120. package/dist/authentication/authenticate.fixture.d.ts.map +0 -1
  121. package/dist/capabilities/capabilities.d.ts.map +0 -1
  122. package/dist/config.d.ts +0 -18
  123. package/dist/config.d.ts.map +0 -1
  124. package/dist/config.js +0 -20
  125. package/dist/config.js.map +0 -1
  126. package/dist/connection/connection.d.ts.map +0 -1
  127. package/dist/connection/connection.fixture.d.ts.map +0 -1
  128. package/dist/effect.d.ts.map +0 -1
  129. package/dist/email/email.d.ts.map +0 -1
  130. package/dist/email/email.fixture.d.ts.map +0 -1
  131. package/dist/event/event.d.ts.map +0 -1
  132. package/dist/index.d.ts.map +0 -1
  133. package/dist/logging/eventLogger.d.ts.map +0 -1
  134. package/dist/registration/register.d.ts.map +0 -1
  135. package/dist/registration/register.fixture.d.ts.map +0 -1
  136. package/dist/rpc/authentication.d.ts.map +0 -1
  137. package/dist/rpc/client.d.ts.map +0 -1
  138. package/dist/rpc/config.d.ts.map +0 -1
  139. package/dist/rpc/connection.d.ts.map +0 -1
  140. package/dist/rpc/registration.d.ts.map +0 -1
  141. package/dist/rpc/social.d.ts.map +0 -1
  142. package/dist/rpc/user.d.ts.map +0 -1
  143. package/dist/social/social.d.ts.map +0 -1
  144. package/dist/social/social.fixture.d.ts.map +0 -1
  145. package/dist/storage/storage.d.ts.map +0 -1
  146. package/dist/storage/storage.fixture.d.ts.map +0 -1
  147. package/dist/test/fixtures.d.ts.map +0 -1
  148. package/dist/user/user.d.ts.map +0 -1
  149. package/dist/user/user.fixture.d.ts.map +0 -1
  150. package/dist/version.d.ts.map +0 -1
  151. package/src/config.ts +0 -42
@@ -1 +1 @@
1
- {"version":3,"file":"effect.js","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect.js","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,67 @@
1
1
  import type { VerifyEmailErrors as RpcErrors } from '@passlock/shared/dist/rpc/user.js';
2
- import { UserClient } from '@passlock/shared/dist/rpc/user.js';
3
2
  import type { Principal } from '@passlock/shared/dist/schema/principal.js';
4
3
  import { Context, Effect as E, Layer } from 'effect';
5
- import { AuthenticationService, type AuthenticationErrors } from '../authentication/authenticate.js';
4
+ import { type AuthenticationErrors, AuthenticationService } from '../authentication/authenticate.js';
5
+ import { UserClient } from '../rpc/user.js';
6
6
  import { StorageService } from '../storage/storage.js';
7
7
  export type VerifyRequest = {
8
8
  code: string;
9
9
  };
10
10
  export type VerifyEmailErrors = RpcErrors | AuthenticationErrors;
11
- declare const URLQueryString_base: Context.TagClass<URLQueryString, "URLQueryString", E.Effect<string, never, never>>;
11
+ declare const URLQueryString_base: Context.TagClass<URLQueryString, "@utils/URLQueryString", E.Effect<string, never, never>>;
12
12
  export declare class URLQueryString extends URLQueryString_base {
13
13
  }
14
- export type EmailService = {
14
+ declare const EmailService_base: Context.TagClass<EmailService, "@services/EmailService", {
15
15
  verifyEmailCode: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors>;
16
16
  verifyEmailLink: () => E.Effect<Principal, VerifyEmailErrors>;
17
- };
18
- export declare const EmailService: Context.Tag<EmailService, EmailService>;
17
+ }>;
18
+ export declare class EmailService extends EmailService_base {
19
+ }
19
20
  export type Dependencies = StorageService | AuthenticationService | UserClient;
21
+ /**
22
+ * Look for ?code=<code> in the url
23
+ * @returns
24
+ */
20
25
  export declare const extractCodeFromHref: () => E.Effect<string, import("effect/Cause").NoSuchElementException, URLQueryString>;
26
+ /**
27
+ * Verify the mailbox using the given code
28
+ * @param request
29
+ * @returns
30
+ */
21
31
  export declare const verifyEmail: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors, Dependencies>;
32
+ /**
33
+ * Look for a code in the current url and verify it
34
+ * @returns
35
+ */
22
36
  export declare const verifyEmailLink: () => E.Effect<{
37
+ readonly email?: string;
38
+ readonly givenName?: string;
39
+ readonly familyName?: string;
40
+ readonly emailVerified?: boolean;
41
+ readonly iss: string;
42
+ readonly aud: string;
43
+ readonly sub: string;
44
+ readonly iat: Date;
45
+ readonly nbf: Date;
46
+ readonly exp: Date;
47
+ readonly jti: string;
23
48
  readonly token: string;
24
- readonly user: {
25
- readonly email: string;
49
+ readonly userVerified: boolean;
50
+ readonly authType: "email" | "apple" | "google" | "passkey";
51
+ readonly authId: string;
52
+ readonly user?: {
26
53
  readonly id: string;
54
+ readonly email: string;
27
55
  readonly givenName: string;
28
56
  readonly familyName: string;
29
57
  readonly emailVerified: boolean;
30
58
  };
31
59
  readonly authStatement: {
32
- readonly authType: "email" | "passkey" | "apple" | "google";
33
60
  readonly userVerified: boolean;
61
+ readonly authType: "email" | "apple" | "google" | "passkey";
34
62
  readonly authTimestamp: Date;
35
63
  };
36
64
  readonly expireAt: Date;
37
65
  }, VerifyEmailErrors, URLQueryString | Dependencies>;
38
- export declare const EmailServiceLive: Layer.Layer<EmailService, never, StorageService | AuthenticationService | URLQueryString | UserClient>;
66
+ export declare const EmailServiceLive: Layer.Layer<EmailService, never, UserClient | StorageService | AuthenticationService | URLQueryString>;
39
67
  export {};
40
- //# sourceMappingURL=email.d.ts.map
@@ -1,6 +1,7 @@
1
- import { UserClient, VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
1
+ import { VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
2
2
  import { Layer as L } from 'effect';
3
3
  import { AuthenticationService } from '../authentication/authenticate.js';
4
+ import { UserClient } from '../rpc/user.js';
4
5
  import { URLQueryString } from './email.js';
5
6
  export declare const token = "token";
6
7
  export declare const code = "code";
@@ -12,21 +13,34 @@ export declare const rpcVerifyEmailReq: VerifyEmailReq;
12
13
  export declare const rpcVerifyEmailRes: VerifyEmailRes;
13
14
  export declare const rpcClientTest: L.Layer<UserClient, never, never>;
14
15
  export declare const principal: {
16
+ readonly email?: string;
17
+ readonly givenName?: string;
18
+ readonly familyName?: string;
19
+ readonly emailVerified?: boolean;
20
+ readonly iss: string;
21
+ readonly aud: string;
22
+ readonly sub: string;
23
+ readonly iat: Date;
24
+ readonly nbf: Date;
25
+ readonly exp: Date;
26
+ readonly jti: string;
15
27
  readonly token: string;
16
- readonly user: {
17
- readonly email: string;
28
+ readonly userVerified: boolean;
29
+ readonly authType: "email" | "apple" | "google" | "passkey";
30
+ readonly authId: string;
31
+ readonly user?: {
18
32
  readonly id: string;
33
+ readonly email: string;
19
34
  readonly givenName: string;
20
35
  readonly familyName: string;
21
36
  readonly emailVerified: boolean;
22
37
  };
23
38
  readonly authStatement: {
24
- readonly authType: "email" | "passkey" | "apple" | "google";
25
39
  readonly userVerified: boolean;
40
+ readonly authType: "email" | "apple" | "google" | "passkey";
26
41
  readonly authTimestamp: Date;
27
42
  };
28
43
  readonly expireAt: Date;
29
44
  };
30
45
  export declare const storedToken: import("../index.js").StoredToken;
31
46
  export declare const storageServiceTest: L.Layer<import("../storage/storage.js").StorageService, never, never>;
32
- //# sourceMappingURL=email.fixture.d.ts.map
@@ -1,6 +1,7 @@
1
- import { UserClient, VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
2
- import { Effect as E, Layer as L } from 'effect';
1
+ import { VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
2
+ import { Effect as E, Layer as L, Option as O } from 'effect';
3
3
  import { AuthenticationService } from '../authentication/authenticate.js';
4
+ import { UserClient } from '../rpc/user.js';
4
5
  import * as Fixtures from '../test/fixtures.js';
5
6
  import { URLQueryString } from './email.js';
6
7
  export const token = 'token';
@@ -14,7 +15,7 @@ export const authenticationServiceTest = L.succeed(AuthenticationService, Authen
14
15
  export const rpcVerifyEmailReq = new VerifyEmailReq({ token, code });
15
16
  export const rpcVerifyEmailRes = new VerifyEmailRes({ principal: Fixtures.principal });
16
17
  export const rpcClientTest = L.succeed(UserClient, UserClient.of({
17
- isExistingUser: () => E.succeed({ existingUser: true }),
18
+ isExistingUser: () => E.succeed({ existingUser: true, detail: O.none() }),
18
19
  verifyEmail: () => E.succeed(rpcVerifyEmailRes),
19
20
  resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
20
21
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"email.fixture.js","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAC9F,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAA;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CACzC,cAAc,EACd,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,OAAO,CAChD,qBAAqB,EACrB,qBAAqB,CAAC,EAAE,CAAC;IACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CACzD,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,UAAU,EACV,UAAU,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACvD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/D,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA"}
1
+ {"version":3,"file":"email.fixture.js","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAE3C,MAAM,CAAC,MAAM,KAAK,GAAG,OAAO,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAA;AAC1B,MAAM,CAAC,MAAM,QAAQ,GAAG,SAAS,CAAA;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAA;AAE1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,OAAO,CACzC,cAAc,EACd,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,OAAO,CAChD,qBAAqB,EACrB,qBAAqB,CAAC,EAAE,CAAC;IACvB,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;CACzD,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;AAEpE,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAEtF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,UAAU,EACV,UAAU,CAAC,EAAE,CAAC;IACZ,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACzE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC/C,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/D,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;AAE/C,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA"}
@@ -1,22 +1,40 @@
1
+ /**
2
+ * Email verification effects
3
+ */
1
4
  import { BadRequest } from '@passlock/shared/dist/error/error.js';
2
- import { UserClient, VerifyEmailReq } from '@passlock/shared/dist/rpc/user.js';
5
+ import { VerifyEmailReq } from '@passlock/shared/dist/rpc/user.js';
3
6
  import { Context, Effect as E, Layer, Option as O, flow, identity, pipe } from 'effect';
4
7
  import { AuthenticationService } from '../authentication/authenticate.js';
8
+ import { UserClient } from '../rpc/user.js';
5
9
  import { StorageService } from '../storage/storage.js';
6
- export class URLQueryString extends Context.Tag('URLQueryString')() {
10
+ /* Dependencies */
11
+ export class URLQueryString extends Context.Tag('@utils/URLQueryString')() {
7
12
  }
8
- export const EmailService = Context.GenericTag('@services/EmailService');
13
+ /* Service */
14
+ export class EmailService extends Context.Tag('@services/EmailService')() {
15
+ }
16
+ /**
17
+ * Check for existing token in sessionStorage,
18
+ * otherwise force passkey re-authentication
19
+ * @returns
20
+ */
9
21
  const getToken = () => {
10
22
  return E.gen(function* (_) {
23
+ // Check for existing token
11
24
  const storageService = yield* _(StorageService);
12
25
  const existingTokenE = storageService.getToken('passkey');
13
26
  const authenticationService = yield* _(AuthenticationService);
14
27
  const tokenE = E.matchEffect(existingTokenE, {
15
28
  onSuccess: token => E.succeed(token),
16
- onFailure: () => pipe(authenticationService.authenticatePasskey({ userVerification: 'preferred' }), E.map(principal => ({
17
- token: principal.token,
18
- authType: principal.authStatement.authType,
19
- expiresAt: principal.expireAt.getTime(),
29
+ onFailure: () =>
30
+ // No token, need to authenticate the user
31
+ pipe(authenticationService.authenticatePasskey({
32
+ userVerification: O.some('preferred'),
33
+ email: O.none(),
34
+ }), E.map(principal => ({
35
+ token: principal.jti,
36
+ authType: principal.authType,
37
+ expiry: principal.exp.getTime(),
20
38
  }))),
21
39
  });
22
40
  const token = yield* _(tokenE);
@@ -24,11 +42,22 @@ const getToken = () => {
24
42
  return token;
25
43
  });
26
44
  };
45
+ /**
46
+ * Look for ?code=<code> in the url
47
+ * @returns
48
+ */
27
49
  export const extractCodeFromHref = () => {
28
50
  return pipe(URLQueryString, E.flatMap(identity), E.map(search => new URLSearchParams(search)), E.flatMap(params => O.fromNullable(params.get('code'))));
29
51
  };
52
+ /* Effects */
53
+ /**
54
+ * Verify the mailbox using the given code
55
+ * @param request
56
+ * @returns
57
+ */
30
58
  export const verifyEmail = (request) => {
31
59
  return E.gen(function* (_) {
60
+ // Re-authenticate the user if required
32
61
  const { token } = yield* _(getToken());
33
62
  yield* _(E.logDebug('Making request'));
34
63
  const client = yield* _(UserClient);
@@ -36,7 +65,13 @@ export const verifyEmail = (request) => {
36
65
  return principal;
37
66
  });
38
67
  };
68
+ /**
69
+ * Look for a code in the current url and verify it
70
+ * @returns
71
+ */
39
72
  export const verifyEmailLink = () => pipe(extractCodeFromHref(), E.mapError(() => new BadRequest({ message: 'Expected ?code=xxx in window.location' })), E.flatMap(code => verifyEmail({ code })));
73
+ /* Live */
74
+ /* v8 ignore start */
40
75
  export const EmailServiceLive = Layer.effect(EmailService, E.gen(function* (_) {
41
76
  const context = yield* _(E.context());
42
77
  return EmailService.of({
@@ -44,4 +79,5 @@ export const EmailServiceLive = Layer.effect(EmailService, E.gen(function* (_) {
44
79
  verifyEmailLink: flow(verifyEmailLink, E.provide(context)),
45
80
  });
46
81
  }));
82
+ /* v8 ignore stop */
47
83
  //# sourceMappingURL=email.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ /**
2
+ * Fire DOM events
3
+ */
1
4
  import { InternalBrowserError } from '@passlock/shared/dist/error/error.js';
2
5
  import { Effect } from 'effect';
3
6
  export declare const DebugMessage = "PasslogDebugMessage";
4
7
  export declare const fireEvent: (message: string) => Effect.Effect<void, InternalBrowserError, never>;
5
8
  export declare function isPasslockEvent(event: Event): event is CustomEvent;
6
- //# sourceMappingURL=event.d.ts.map
@@ -1,3 +1,6 @@
1
+ /**
2
+ * Fire DOM events
3
+ */
1
4
  import { InternalBrowserError } from '@passlock/shared/dist/error/error.js';
2
5
  import { Effect } from 'effect';
3
6
  export const DebugMessage = 'PasslogDebugMessage';
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/event/event.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;IAC3C,OAAO,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC9D,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAC7E,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAA;IAC7C,OAAO,QAAQ,IAAI,KAAK,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/event/event.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAE,EAAE;IAC3C,OAAO,MAAM,CAAC,GAAG,CAAC;QAChB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;YAC9D,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QAC/B,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACV,OAAO,IAAI,oBAAoB,CAAC,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,CAAA;QAC7E,CAAC;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,UAAU,eAAe,CAAC,KAAY;IAC1C,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;QAAE,OAAO,KAAK,CAAA;IAC7C,OAAO,QAAQ,IAAI,KAAK,CAAA;AAC1B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,20 +1,18 @@
1
1
  import { ErrorCode } from '@passlock/shared/dist/error/error.js';
2
- import type { Principal } from '@passlock/shared/dist/schema/principal.js';
3
- import { type AuthenticationRequest } from './authentication/authenticate.js';
4
- import { type VerifyRequest } from './email/email.js';
5
- import { type RegistrationRequest } from './registration/register.js';
6
- import { type AuthenticateOidcReq, type RegisterOidcReq } from './social/social.js';
2
+ import type { VerifyEmail } from '@passlock/shared/dist/schema/email.js';
3
+ import type { UserVerification } from '@passlock/shared/dist/schema/passkey.js';
4
+ import type { Principal, UserPrincipal } from '@passlock/shared/dist/schema/principal.js';
5
+ import type { VerifyRequest } from './email/email.js';
6
+ import type { Provider } from './social/social.js';
7
7
  import { type AuthType, type StoredToken } from './storage/storage.js';
8
- import { type Email, type ResendEmail } from './user/user.js';
8
+ import type { Email, ResendEmail } from './user/user.js';
9
9
  export type Options = {
10
10
  signal?: AbortSignal;
11
11
  };
12
12
  export type { VerifyEmail } from '@passlock/shared/dist/schema/email.js';
13
13
  export type { UserVerification } from '@passlock/shared/dist/schema/passkey.js';
14
- export type { Principal } from '@passlock/shared/dist/schema/principal.js';
15
- export type { AuthenticationRequest } from './authentication/authenticate.js';
14
+ export type { Principal, UserPrincipal } from '@passlock/shared/dist/schema/principal.js';
16
15
  export type { VerifyRequest } from './email/email.js';
17
- export type { RegistrationRequest } from './registration/register.js';
18
16
  export type { AuthType, StoredToken } from './storage/storage.js';
19
17
  export type { Email } from './user/user.js';
20
18
  export type PasslockProps = {
@@ -22,6 +20,29 @@ export type PasslockProps = {
22
20
  clientId: string;
23
21
  endpoint?: string;
24
22
  };
23
+ export type RegistrationRequest = {
24
+ email: string;
25
+ givenName?: string;
26
+ familyName?: string;
27
+ userVerification?: UserVerification;
28
+ verifyEmail?: VerifyEmail;
29
+ };
30
+ export type AuthenticationRequest = {
31
+ email?: string;
32
+ userVerification?: UserVerification;
33
+ };
34
+ export type RegisterOidcReq = {
35
+ provider: Provider;
36
+ idToken: string;
37
+ givenName?: string;
38
+ familyName?: string;
39
+ nonce: string;
40
+ };
41
+ export type AuthenticateOidcReq = {
42
+ provider: Provider;
43
+ idToken: string;
44
+ nonce: string;
45
+ };
25
46
  export { ErrorCode } from '@passlock/shared/dist/error/error.js';
26
47
  export declare class PasslockError extends Error {
27
48
  readonly code: ErrorCode;
@@ -31,7 +52,8 @@ export declare class PasslockError extends Error {
31
52
  }
32
53
  export declare class PasslockUnsafe {
33
54
  private readonly runtime;
34
- constructor(config: PasslockProps);
55
+ constructor(props: PasslockProps);
56
+ static isUserPrincipal: (principal: Principal) => principal is UserPrincipal;
35
57
  private readonly runPromise;
36
58
  preConnect: (options?: Options) => Promise<void>;
37
59
  isPasskeySupport: () => Promise<boolean>;
@@ -39,33 +61,61 @@ export declare class PasslockUnsafe {
39
61
  registerPasskey: (request: RegistrationRequest, options?: Options) => Promise<Principal>;
40
62
  authenticatePasskey: (request: AuthenticationRequest, options?: Options) => Promise<Principal>;
41
63
  registerOidc: (request: RegisterOidcReq, options?: Options) => Promise<{
64
+ readonly email?: string;
65
+ readonly givenName?: string;
66
+ readonly familyName?: string;
67
+ readonly emailVerified?: boolean;
68
+ readonly iss: string;
69
+ readonly aud: string;
70
+ readonly sub: string;
71
+ readonly iat: Date;
72
+ readonly nbf: Date;
73
+ readonly exp: Date;
74
+ readonly jti: string;
42
75
  readonly token: string;
43
- readonly user: {
44
- readonly email: string;
76
+ readonly userVerified: boolean;
77
+ readonly authType: "email" | "apple" | "google" | "passkey";
78
+ readonly authId: string;
79
+ readonly user?: {
45
80
  readonly id: string;
81
+ readonly email: string;
46
82
  readonly givenName: string;
47
83
  readonly familyName: string;
48
84
  readonly emailVerified: boolean;
49
85
  };
50
86
  readonly authStatement: {
51
- readonly authType: "email" | "passkey" | "apple" | "google";
52
87
  readonly userVerified: boolean;
88
+ readonly authType: "email" | "apple" | "google" | "passkey";
53
89
  readonly authTimestamp: Date;
54
90
  };
55
91
  readonly expireAt: Date;
56
92
  }>;
57
93
  authenticateOidc: (request: AuthenticateOidcReq, options?: Options) => Promise<{
94
+ readonly email?: string;
95
+ readonly givenName?: string;
96
+ readonly familyName?: string;
97
+ readonly emailVerified?: boolean;
98
+ readonly iss: string;
99
+ readonly aud: string;
100
+ readonly sub: string;
101
+ readonly iat: Date;
102
+ readonly nbf: Date;
103
+ readonly exp: Date;
104
+ readonly jti: string;
58
105
  readonly token: string;
59
- readonly user: {
60
- readonly email: string;
106
+ readonly userVerified: boolean;
107
+ readonly authType: "email" | "apple" | "google" | "passkey";
108
+ readonly authId: string;
109
+ readonly user?: {
61
110
  readonly id: string;
111
+ readonly email: string;
62
112
  readonly givenName: string;
63
113
  readonly familyName: string;
64
114
  readonly emailVerified: boolean;
65
115
  };
66
116
  readonly authStatement: {
67
- readonly authType: "email" | "passkey" | "apple" | "google";
68
117
  readonly userVerified: boolean;
118
+ readonly authType: "email" | "apple" | "google" | "passkey";
69
119
  readonly authTimestamp: Date;
70
120
  };
71
121
  readonly expireAt: Date;
@@ -78,49 +128,77 @@ export declare class PasslockUnsafe {
78
128
  }
79
129
  export declare class Passlock {
80
130
  private readonly runtime;
81
- constructor(config: PasslockProps);
131
+ constructor(props: PasslockProps);
132
+ static isUserPrincipal: (principal: Principal) => principal is UserPrincipal;
82
133
  private readonly runPromise;
83
- preConnect: (options?: Options) => Promise<void | PasslockError>;
134
+ preConnect: (options?: Options) => Promise<boolean | PasslockError>;
84
135
  isPasskeySupport: () => Promise<boolean>;
85
136
  isExistingUser: (email: Email, options?: Options) => Promise<boolean | PasslockError>;
86
137
  registerPasskey: (request: RegistrationRequest, options?: Options) => Promise<Principal | PasslockError>;
87
138
  authenticatePasskey: (request?: AuthenticationRequest, options?: Options) => Promise<Principal | PasslockError>;
88
139
  registerOidc: (request: RegisterOidcReq, options?: Options) => Promise<{
140
+ readonly email?: string;
141
+ readonly givenName?: string;
142
+ readonly familyName?: string;
143
+ readonly emailVerified?: boolean;
144
+ readonly iss: string;
145
+ readonly aud: string;
146
+ readonly sub: string;
147
+ readonly iat: Date;
148
+ readonly nbf: Date;
149
+ readonly exp: Date;
150
+ readonly jti: string;
89
151
  readonly token: string;
90
- readonly user: {
91
- readonly email: string;
152
+ readonly userVerified: boolean;
153
+ readonly authType: "email" | "apple" | "google" | "passkey";
154
+ readonly authId: string;
155
+ readonly user?: {
92
156
  readonly id: string;
157
+ readonly email: string;
93
158
  readonly givenName: string;
94
159
  readonly familyName: string;
95
160
  readonly emailVerified: boolean;
96
161
  };
97
162
  readonly authStatement: {
98
- readonly authType: "email" | "passkey" | "apple" | "google";
99
163
  readonly userVerified: boolean;
164
+ readonly authType: "email" | "apple" | "google" | "passkey";
100
165
  readonly authTimestamp: Date;
101
166
  };
102
167
  readonly expireAt: Date;
103
168
  } | PasslockError>;
104
169
  authenticateOidc: (request: AuthenticateOidcReq, options?: Options) => Promise<{
170
+ readonly email?: string;
171
+ readonly givenName?: string;
172
+ readonly familyName?: string;
173
+ readonly emailVerified?: boolean;
174
+ readonly iss: string;
175
+ readonly aud: string;
176
+ readonly sub: string;
177
+ readonly iat: Date;
178
+ readonly nbf: Date;
179
+ readonly exp: Date;
180
+ readonly jti: string;
105
181
  readonly token: string;
106
- readonly user: {
107
- readonly email: string;
182
+ readonly userVerified: boolean;
183
+ readonly authType: "email" | "apple" | "google" | "passkey";
184
+ readonly authId: string;
185
+ readonly user?: {
108
186
  readonly id: string;
187
+ readonly email: string;
109
188
  readonly givenName: string;
110
189
  readonly familyName: string;
111
190
  readonly emailVerified: boolean;
112
191
  };
113
192
  readonly authStatement: {
114
- readonly authType: "email" | "passkey" | "apple" | "google";
115
193
  readonly userVerified: boolean;
194
+ readonly authType: "email" | "apple" | "google" | "passkey";
116
195
  readonly authTimestamp: Date;
117
196
  };
118
197
  readonly expireAt: Date;
119
198
  } | PasslockError>;
120
199
  verifyEmailCode: (request: VerifyRequest, options?: Options) => Promise<Principal | PasslockError>;
121
200
  verifyEmailLink: (options?: Options) => Promise<Principal | PasslockError>;
122
- resendVerificationEmail: (request: ResendEmail, options?: Options) => Promise<void | PasslockError>;
123
- getSessionToken: (authType: AuthType) => StoredToken | undefined;
201
+ resendVerificationEmail: (request: ResendEmail, options?: Options) => Promise<boolean | PasslockError>;
202
+ getSessionToken: (authType: AuthType) => Promise<StoredToken | undefined>;
124
203
  clearExpiredTokens: () => void;
125
204
  }
126
- //# sourceMappingURL=index.d.ts.map