@passlock/client 0.9.6 → 0.9.8

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 (91) hide show
  1. package/README.md +3 -3
  2. package/dist/authentication/authenticate.d.ts +6 -5
  3. package/dist/authentication/authenticate.d.ts.map +1 -1
  4. package/dist/authentication/authenticate.fixture.d.ts +8 -5
  5. package/dist/authentication/authenticate.fixture.d.ts.map +1 -1
  6. package/dist/authentication/authenticate.fixture.js +12 -7
  7. package/dist/authentication/authenticate.fixture.js.map +1 -1
  8. package/dist/authentication/authenticate.js +6 -6
  9. package/dist/authentication/authenticate.js.map +1 -1
  10. package/dist/authentication/authenticate.test.js +4 -4
  11. package/dist/capabilities/capabilities.js +3 -3
  12. package/dist/connection/connection.fixture.d.ts +1 -1
  13. package/dist/connection/connection.fixture.d.ts.map +1 -1
  14. package/dist/connection/connection.fixture.js +13 -10
  15. package/dist/connection/connection.fixture.js.map +1 -1
  16. package/dist/connection/connection.js +3 -3
  17. package/dist/effect.d.ts +21 -5
  18. package/dist/effect.d.ts.map +1 -1
  19. package/dist/effect.js +12 -9
  20. package/dist/effect.js.map +1 -1
  21. package/dist/email/email.d.ts +24 -8
  22. package/dist/email/email.d.ts.map +1 -1
  23. package/dist/email/email.fixture.d.ts +8 -8
  24. package/dist/email/email.fixture.d.ts.map +1 -1
  25. package/dist/email/email.fixture.js +12 -10
  26. package/dist/email/email.fixture.js.map +1 -1
  27. package/dist/email/email.js +5 -5
  28. package/dist/email/email.js.map +1 -1
  29. package/dist/email/email.test.js +4 -4
  30. package/dist/email/email.test.js.map +1 -1
  31. package/dist/index.d.ts +52 -37
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +21 -14
  34. package/dist/index.js.map +1 -1
  35. package/dist/registration/register.d.ts +3 -4
  36. package/dist/registration/register.d.ts.map +1 -1
  37. package/dist/registration/register.fixture.d.ts +4 -4
  38. package/dist/registration/register.fixture.d.ts.map +1 -1
  39. package/dist/registration/register.fixture.js +12 -8
  40. package/dist/registration/register.fixture.js.map +1 -1
  41. package/dist/registration/register.js +4 -13
  42. package/dist/registration/register.js.map +1 -1
  43. package/dist/social/social.d.ts +22 -0
  44. package/dist/social/social.d.ts.map +1 -0
  45. package/dist/social/social.js +29 -0
  46. package/dist/social/social.js.map +1 -0
  47. package/dist/storage/storage.d.ts +1 -1
  48. package/dist/storage/storage.d.ts.map +1 -1
  49. package/dist/storage/storage.fixture.d.ts +1 -2
  50. package/dist/storage/storage.fixture.d.ts.map +1 -1
  51. package/dist/storage/storage.fixture.js +1 -16
  52. package/dist/storage/storage.fixture.js.map +1 -1
  53. package/dist/storage/storage.js +4 -3
  54. package/dist/storage/storage.js.map +1 -1
  55. package/dist/test/fixtures.d.ts +4 -0
  56. package/dist/test/fixtures.d.ts.map +1 -1
  57. package/dist/test/fixtures.js +13 -9
  58. package/dist/test/fixtures.js.map +1 -1
  59. package/dist/user/user.d.ts +9 -2
  60. package/dist/user/user.d.ts.map +1 -1
  61. package/dist/user/user.fixture.d.ts +3 -2
  62. package/dist/user/user.fixture.d.ts.map +1 -1
  63. package/dist/user/user.fixture.js +13 -9
  64. package/dist/user/user.fixture.js.map +1 -1
  65. package/dist/user/user.js +11 -1
  66. package/dist/user/user.js.map +1 -1
  67. package/package.json +14 -13
  68. package/src/authentication/authenticate.fixture.ts +14 -7
  69. package/src/authentication/authenticate.test.ts +4 -4
  70. package/src/authentication/authenticate.ts +15 -12
  71. package/src/capabilities/capabilities.ts +3 -3
  72. package/src/connection/connection.fixture.ts +14 -11
  73. package/src/connection/connection.ts +4 -4
  74. package/src/effect.ts +28 -26
  75. package/src/email/email.fixture.ts +15 -13
  76. package/src/email/email.test.ts +4 -4
  77. package/src/email/email.ts +13 -12
  78. package/src/index.ts +91 -34
  79. package/src/registration/register.fixture.ts +12 -8
  80. package/src/registration/register.test.ts +8 -43
  81. package/src/registration/register.ts +8 -24
  82. package/src/social/social.ts +86 -0
  83. package/src/storage/storage.fixture.ts +2 -19
  84. package/src/storage/storage.ts +5 -4
  85. package/src/test/fixtures.ts +15 -10
  86. package/src/user/user.fixture.ts +14 -11
  87. package/src/user/user.ts +22 -3
  88. package/dist/exit.d.ts +0 -64
  89. package/dist/exit.d.ts.map +0 -1
  90. package/dist/exit.js +0 -106
  91. package/dist/exit.js.map +0 -1
package/README.md CHANGED
@@ -58,10 +58,10 @@ const passlock = new Passlock({ tenancyId, clientId })
58
58
 
59
59
  // to register a new passkey, call registerPasskey(). We're using placeholders for
60
60
  // the user data. You should grab this from an HTML form, React store, Redux etc.
61
- const [email, firstName, lastName] = ["jdoe@gmail.com", "John", "Doe"]
61
+ const [email, givenName, familyName] = ["jdoe@gmail.com", "John", "Doe"]
62
62
 
63
63
  // Passlock doesn't throw but instead returns a union: result | error
64
- const result = await passlock.registerPasskey({ email, firstName, lastName })
64
+ const result = await passlock.registerPasskey({ email, givenName, familyName })
65
65
 
66
66
  // ensure Passlock didn't return an error
67
67
  if (!PasslockError.isError(result)) {
@@ -101,7 +101,7 @@ const passlock = new Passlock({ tenancyId, apiKey })
101
101
  const principal = await passlock.fetchPrincipal({ token })
102
102
 
103
103
  // get the user id
104
- console.log(principal.subject.id)
104
+ console.log(principal.user.id)
105
105
  ```
106
106
 
107
107
  ## More information
@@ -1,18 +1,19 @@
1
- import { type BadRequest, InternalBrowserError, type NotSupported } from '@passlock/shared/dist/error/error.js';
2
- import type { VerificationErrors } from '@passlock/shared/dist/rpc/authentication.js';
1
+ import { InternalBrowserError, type NotSupported } from '@passlock/shared/dist/error/error.js';
2
+ import type { OptionsErrors, VerificationErrors } from '@passlock/shared/dist/rpc/authentication.js';
3
3
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
4
4
  import type { AuthenticationCredential, Principal, UserVerification } from '@passlock/shared/dist/schema/schema.js';
5
5
  import { Context, Effect as E, Layer } from 'effect';
6
6
  import { Capabilities } from '../capabilities/capabilities.js';
7
7
  import { StorageService } from '../storage/storage.js';
8
8
  export type AuthenticationRequest = {
9
+ email?: string;
9
10
  userVerification?: UserVerification;
10
11
  };
11
- export type AuthenticationErrors = NotSupported | BadRequest | VerificationErrors;
12
- export type GetCredential = (options: CredentialRequestOptions) => E.Effect<AuthenticationCredential, InternalBrowserError>;
12
+ export type AuthenticationErrors = NotSupported | OptionsErrors | VerificationErrors;
13
+ export type GetCredential = (request: CredentialRequestOptions) => E.Effect<AuthenticationCredential, InternalBrowserError>;
13
14
  export declare const GetCredential: Context.Tag<GetCredential, GetCredential>;
14
15
  export type AuthenticationService = {
15
- authenticatePasskey: (data: AuthenticationRequest) => E.Effect<Principal, AuthenticationErrors>;
16
+ authenticatePasskey: (request: AuthenticationRequest) => E.Effect<Principal, AuthenticationErrors>;
16
17
  };
17
18
  export declare const AuthenticationService: Context.Tag<AuthenticationService, AuthenticationService>;
18
19
  type Dependencies = GetCredential | Capabilities | StorageService | RpcClient;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,UAAU,EACf,oBAAoB,EACpB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EACV,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAc,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,MAAM,qBAAqB,GAAG;IAAE,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAI3E,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,UAAU,GAAG,kBAAkB,CAAA;AAIjF,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,wBAAwB,KAC9B,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA;AAC7D,eAAO,MAAM,aAAa,2CAAqD,CAAA;AAI/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;CAChG,CAAA;AAED,eAAO,MAAM,qBAAqB,2DAEjC,CAAA;AA4CD,KAAK,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;AAE7E,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAgCxD,CAAA;AAKD,eAAO,MAAM,uBAAuB,sGASnC,CAAA"}
1
+ {"version":3,"file":"authenticate.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,oBAAoB,EACpB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAA;AAEpG,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EACV,wBAAwB,EACxB,SAAS,EACT,gBAAgB,EACjB,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAc,MAAM,QAAQ,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;CACpC,CAAA;AAID,MAAM,MAAM,oBAAoB,GAAG,YAAY,GAAG,aAAa,GAAG,kBAAkB,CAAA;AAIpF,MAAM,MAAM,aAAa,GAAG,CAC1B,OAAO,EAAE,wBAAwB,KAC9B,CAAC,CAAC,MAAM,CAAC,wBAAwB,EAAE,oBAAoB,CAAC,CAAA;AAE7D,eAAO,MAAM,aAAa,2CAAqD,CAAA;AAI/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,mBAAmB,EAAE,CAAC,OAAO,EAAE,qBAAqB,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAA;CACnG,CAAA;AAED,eAAO,MAAM,qBAAqB,2DAEjC,CAAA;AA4CD,KAAK,YAAY,GAAG,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;AAE7E,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,YAAY,CAgCxD,CAAA;AAKD,eAAO,MAAM,uBAAuB,sGASnC,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { OptionsRes, VerificationReq, VerificationRes } from '@passlock/shared/dist/rpc/authentication.js';
2
2
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
3
+ import { IsExistingUserRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
3
4
  import type { AuthenticationCredential } from '@passlock/shared/dist/schema/schema.js';
4
5
  import { Layer as L } from 'effect';
5
- import { type AuthenticationRequest, GetCredential } from './authenticate.js';
6
+ import { GetCredential, type AuthenticationRequest } from './authenticate.js';
6
7
  export declare const session = "session";
7
8
  export declare const token = "token";
8
9
  export declare const code = "code";
@@ -13,19 +14,21 @@ export declare const optionsRes: OptionsRes;
13
14
  export declare const credential: AuthenticationCredential;
14
15
  export declare const verificationReq: VerificationReq;
15
16
  export declare const verificationRes: VerificationRes;
17
+ export declare const isExistingUserRes: IsExistingUserRes;
18
+ export declare const verifyEmailRes: VerifyEmailRes;
16
19
  export declare const getCredentialTest: L.Layer<GetCredential, never, never>;
17
20
  export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
18
21
  export declare const principal: {
19
22
  readonly token: string;
20
- readonly subject: {
23
+ readonly user: {
21
24
  readonly email: string;
22
25
  readonly id: string;
23
- readonly firstName: string;
24
- readonly lastName: string;
26
+ readonly givenName: string;
27
+ readonly familyName: string;
25
28
  readonly emailVerified: boolean;
26
29
  };
27
30
  readonly authStatement: {
28
- readonly authType: "email" | "passkey";
31
+ readonly authType: "email" | "passkey" | "google";
29
32
  readonly userVerified: boolean;
30
33
  readonly authTimestamp: Date;
31
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.fixture.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,KAAK,qBAAqB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAG7E,eAAO,MAAM,OAAO,YAAY,CAAA;AAChC,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,OAAO,EAAE,qBAErB,CAAA;AAED,eAAO,MAAM,UAAU,YAQrB,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,wBAYxB,CAAA;AAED,eAAO,MAAM,eAAe,iBAA+C,CAAA;AAE3E,eAAO,MAAM,eAAe,iBAAyD,CAAA;AAErF,eAAO,MAAM,iBAAiB,sCAG7B,CAAA;AAED,eAAO,MAAM,aAAa,kCAWzB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAC3C,eAAO,MAAM,gBAAgB,+EAA4B,CAAA;AACzD,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
1
+ {"version":3,"file":"authenticate.fixture.d.ts","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,EAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAA;AACtF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,eAAO,MAAM,OAAO,YAAY,CAAA;AAChC,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,OAAO,EAAE,qBAErB,CAAA;AAED,eAAO,MAAM,UAAU,YAQrB,CAAA;AAEF,eAAO,MAAM,UAAU,EAAE,wBAYxB,CAAA;AAED,eAAO,MAAM,eAAe,iBAA+C,CAAA;AAE3E,eAAO,MAAM,eAAe,iBAAyD,CAAA;AAErF,eAAO,MAAM,iBAAiB,mBAAgD,CAAA;AAE9E,eAAO,MAAM,cAAc,gBAAwD,CAAA;AAEnF,eAAO,MAAM,iBAAiB,sCAG7B,CAAA;AAED,eAAO,MAAM,aAAa,kCAczB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAC3C,eAAO,MAAM,gBAAgB,+EAA4B,CAAA;AACzD,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
@@ -1,9 +1,9 @@
1
- import { BadRequest } from '@passlock/shared/dist/error/error.js';
2
1
  import { OptionsRes, VerificationReq, VerificationRes, } from '@passlock/shared/dist/rpc/authentication.js';
3
2
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
3
+ import { IsExistingUserRes, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
4
4
  import { Effect as E, Layer as L } from 'effect';
5
- import { GetCredential } from './authenticate.js';
6
5
  import * as Fixtures from '../test/fixtures.js';
6
+ import { GetCredential } from './authenticate.js';
7
7
  export const session = 'session';
8
8
  export const token = 'token';
9
9
  export const code = 'code';
@@ -36,15 +36,20 @@ export const credential = {
36
36
  };
37
37
  export const verificationReq = new VerificationReq({ session, credential });
38
38
  export const verificationRes = new VerificationRes({ principal: Fixtures.principal });
39
+ export const isExistingUserRes = new IsExistingUserRes({ existingUser: true });
40
+ export const verifyEmailRes = new VerifyEmailRes({ principal: Fixtures.principal });
39
41
  export const getCredentialTest = L.succeed(GetCredential, GetCredential.of(() => E.succeed(credential)));
40
42
  export const rpcClientTest = L.succeed(RpcClient, RpcClient.of({
41
- preConnect: () => E.succeed({ warmed: true }),
42
- isExistingUser: () => E.succeed({ existingUser: true }),
43
- verifyEmail: () => E.succeed({ verified: true }),
44
- getRegistrationOptions: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
45
- verifyRegistrationCredential: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
43
+ preConnect: () => E.succeed(Fixtures.preConnectRes),
44
+ isExistingUser: () => E.succeed(isExistingUserRes),
45
+ verifyEmail: () => E.succeed(verifyEmailRes),
46
+ getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
47
+ verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
46
48
  getAuthenticationOptions: () => E.succeed(optionsRes),
47
49
  verifyAuthenticationCredential: () => E.succeed(verificationRes),
50
+ registerOidc: () => E.fail(Fixtures.notImplemented),
51
+ authenticateOidc: () => E.fail(Fixtures.notImplemented),
52
+ resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
48
53
  }));
49
54
  export const principal = Fixtures.principal;
50
55
  export const capabilitiesTest = Fixtures.capabilitiesTest;
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.fixture.js","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authenticate.fixture.js","sourceRoot":"","sources":["../../src/authentication/authenticate.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAErF,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAA8B,MAAM,mBAAmB,CAAA;AAE7E,MAAM,CAAC,MAAM,OAAO,GAAG,SAAS,CAAA;AAChC,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,OAAO,GAA0B;IAC5C,gBAAgB,EAAE,WAAW;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;IACvC,OAAO;IACP,SAAS,EAAE;QACT,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,6CAA6C;QACxD,OAAO,EAAE,KAAK;QACd,gBAAgB,EAAE,WAAW;KAC9B;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,UAAU,GAA6B;IAClD,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,IAAI;IACX,QAAQ,EAAE;QACR,cAAc,EAAE,EAAE;QAClB,iBAAiB,EAAE,EAAE;QACrB,SAAS,EAAE,EAAE;QACb,UAAU,EAAE,IAAI;KACjB;IACD,sBAAsB,EAAE,EAAE;IAC1B,uBAAuB,EAAE,IAAI;CAC9B,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAErF,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;AAEnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,OAAO,CACxC,aAAa,EACb,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAC9C,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,SAAS,EACT,SAAS,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IACnD,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAClD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC5C,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC7D,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACnE,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACrD,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACvD,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;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAA;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,kBAAkB,CAAA"}
@@ -7,27 +7,27 @@ import { Capabilities } from '../capabilities/capabilities.js';
7
7
  import { StorageService } from '../storage/storage.js';
8
8
  export const GetCredential = Context.GenericTag('@services/Get');
9
9
  export const AuthenticationService = Context.GenericTag('@services/AuthenticationService');
10
- const fetchOptions = (req) => {
10
+ const fetchOptions = (request) => {
11
11
  return E.gen(function* (_) {
12
12
  yield* _(E.logDebug('Making request'));
13
13
  const rpcClient = yield* _(RpcClient);
14
- const { publicKey, session } = yield* _(rpcClient.getAuthenticationOptions(req));
14
+ const { publicKey, session } = yield* _(rpcClient.getAuthenticationOptions(request));
15
15
  yield* _(E.logDebug('Converting Passlock options to CredentialRequestOptions'));
16
16
  const options = yield* _(toRequestOptions({ publicKey }));
17
17
  return { options, session };
18
18
  });
19
19
  };
20
- const toRequestOptions = (options) => {
21
- return pipe(E.try(() => parseRequestOptionsFromJSON(options)), E.mapError(error => new InternalBrowserError({
20
+ const toRequestOptions = (request) => {
21
+ return pipe(E.try(() => parseRequestOptionsFromJSON(request)), E.mapError(error => new InternalBrowserError({
22
22
  message: 'Browser was unable to create credential request options',
23
23
  detail: String(error.error),
24
24
  })));
25
25
  };
26
- const verifyCredential = (req) => {
26
+ const verifyCredential = (request) => {
27
27
  return E.gen(function* (_) {
28
28
  yield* _(E.logDebug('Making request'));
29
29
  const rpcClient = yield* _(RpcClient);
30
- const { principal } = yield* _(rpcClient.verifyAuthenticationCredential(req));
30
+ const { principal } = yield* _(rpcClient.verifyAuthenticationCredential(request));
31
31
  return principal;
32
32
  });
33
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authenticate.js","sourceRoot":"","sources":["../../src/authentication/authenticate.ts"],"names":[],"mappings":"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"}
@@ -63,8 +63,8 @@ describe('authenticate should', () => {
63
63
  });
64
64
  const storageServiceTest = L.effect(StorageService, E.sync(() => {
65
65
  const storageMock = mock();
66
- storageMock.storeToken.mockReturnValue(E.unit);
67
- storageMock.clearExpiredToken.mockReturnValue(E.unit);
66
+ storageMock.storeToken.mockReturnValue(E.void);
67
+ storageMock.clearExpiredToken.mockReturnValue(E.void);
68
68
  return storageMock;
69
69
  }));
70
70
  const service = pipe(AuthenticateServiceLive, L.provide(Fixture.getCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.rpcClientTest), L.provide(storageServiceTest));
@@ -81,8 +81,8 @@ describe('authenticate should', () => {
81
81
  });
82
82
  const storageServiceTest = L.effect(StorageService, E.sync(() => {
83
83
  const storageMock = mock();
84
- storageMock.storeToken.mockReturnValue(E.unit);
85
- storageMock.clearExpiredToken.mockReturnValue(E.unit);
84
+ storageMock.storeToken.mockReturnValue(E.void);
85
+ storageMock.clearExpiredToken.mockReturnValue(E.void);
86
86
  return storageMock;
87
87
  }));
88
88
  const service = pipe(AuthenticateServiceLive, L.provide(Fixture.getCredentialTest), L.provide(Fixture.capabilitiesTest), L.provide(Fixture.rpcClientTest), L.provide(storageServiceTest));
@@ -2,13 +2,13 @@ import { NotSupported } from '@passlock/shared/dist/error/error.js';
2
2
  import { Context, Effect as E, Layer, identity, pipe } from 'effect';
3
3
  export const Capabilities = Context.GenericTag('@services/Capabilities');
4
4
  const hasWebAuthn = E.suspend(() => typeof window.PublicKeyCredential === 'function'
5
- ? E.unit
5
+ ? E.void
6
6
  : new NotSupported({ message: 'WebAuthn API is not supported on this device' }));
7
- const hasPlatformAuth = pipe(E.tryPromise(() => window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()), E.filterOrFail(identity, () => new NotSupported({ message: 'No platform authenticator available on this device' })), E.asUnit);
7
+ const hasPlatformAuth = pipe(E.tryPromise(() => window.PublicKeyCredential.isUserVerifyingPlatformAuthenticatorAvailable()), E.filterOrFail(identity, () => new NotSupported({ message: 'No platform authenticator available on this device' })), E.asVoid);
8
8
  const hasConditionalUi = pipe(E.tryPromise({
9
9
  try: () => window.PublicKeyCredential.isConditionalMediationAvailable(),
10
10
  catch: () => new NotSupported({ message: 'Conditional mediation not available on this device' }),
11
- }), E.filterOrFail(identity, () => new NotSupported({ message: 'Conditional mediation not available on this device' })), E.asUnit);
11
+ }), E.filterOrFail(identity, () => new NotSupported({ message: 'Conditional mediation not available on this device' })), E.asVoid);
12
12
  export const passkeySupport = pipe(hasWebAuthn, E.andThen(hasPlatformAuth), E.catchTag('UnknownException', e => E.die(e)));
13
13
  export const isPasskeySupport = pipe(passkeySupport, E.match({
14
14
  onFailure: () => false,
@@ -1,9 +1,9 @@
1
1
  import { PreConnectReq, PreConnectRes } from '@passlock/shared/dist/rpc/connection.js';
2
2
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
3
3
  import { Layer as L } from 'effect';
4
- export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
5
4
  export declare const preConnectReq: PreConnectReq;
6
5
  export declare const preConnectRes: PreConnectRes;
6
+ export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
7
7
  export declare const rpcConfig: {
8
8
  endpoint: string;
9
9
  tenancyId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"connection.fixture.d.ts","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,eAAO,MAAM,aAAa,kCAWzB,CAAA;AAED,eAAO,MAAM,aAAa,eAAwB,CAAA;AAClD,eAAO,MAAM,aAAa,eAAsC,CAAA;AAEhE,eAAO,MAAM,SAAS;;;;CAIrB,CAAA"}
1
+ {"version":3,"file":"connection.fixture.d.ts","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAGhD,eAAO,MAAM,aAAa,eAAwB,CAAA;AAClD,eAAO,MAAM,aAAa,eAAsC,CAAA;AAEhE,eAAO,MAAM,aAAa,kCAczB,CAAA;AAED,eAAO,MAAM,SAAS;;;;CAIrB,CAAA"}
@@ -1,18 +1,21 @@
1
- import { BadRequest } from '@passlock/shared/dist/error/error.js';
2
1
  import { PreConnectReq, PreConnectRes } from '@passlock/shared/dist/rpc/connection.js';
3
2
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
4
3
  import { Effect as E, Layer as L } from 'effect';
5
- export const rpcClientTest = L.succeed(RpcClient, RpcClient.of({
6
- preConnect: () => E.succeed({ warmed: true }),
7
- isExistingUser: () => E.succeed({ existingUser: true }),
8
- verifyEmail: () => E.succeed({ verified: true }),
9
- getRegistrationOptions: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
10
- verifyRegistrationCredential: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
11
- getAuthenticationOptions: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
12
- verifyAuthenticationCredential: () => E.fail(new BadRequest({ message: 'Not implemeneted' })),
13
- }));
4
+ import * as Fixtures from '../test/fixtures.js';
14
5
  export const preConnectReq = new PreConnectReq({});
15
6
  export const preConnectRes = new PreConnectRes({ warmed: true });
7
+ export const rpcClientTest = L.succeed(RpcClient, RpcClient.of({
8
+ preConnect: () => E.succeed(preConnectRes),
9
+ isExistingUser: () => E.fail(Fixtures.notImplemented),
10
+ verifyEmail: () => E.fail(Fixtures.notImplemented),
11
+ getRegistrationOptions: () => E.fail(Fixtures.notImplemented),
12
+ verifyRegistrationCredential: () => E.fail(Fixtures.notImplemented),
13
+ getAuthenticationOptions: () => E.fail(Fixtures.notImplemented),
14
+ verifyAuthenticationCredential: () => E.fail(Fixtures.notImplemented),
15
+ registerOidc: () => E.fail(Fixtures.notImplemented),
16
+ authenticateOidc: () => E.fail(Fixtures.notImplemented),
17
+ resendVerificationEmail: () => E.fail(Fixtures.notImplemented),
18
+ }));
16
19
  export const rpcConfig = {
17
20
  endpoint: 'https://example.com',
18
21
  tenancyId: 'tenancyId',
@@ -1 +1 @@
1
- {"version":3,"file":"connection.fixture.js","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,SAAS,EACT,SAAS,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,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,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAChD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrF,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC3F,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACvF,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;CAC9F,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAA"}
1
+ {"version":3,"file":"connection.fixture.js","sourceRoot":"","sources":["../../src/connection/connection.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAA;AACtF,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,CAAC,CAAA;AAClD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,CACpC,SAAS,EACT,SAAS,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC1C,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACrD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IAClD,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC7D,4BAA4B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACnE,wBAAwB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC/D,8BAA8B,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACrE,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACnD,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;IACvD,uBAAuB,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;CAC/D,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;CACrB,CAAA"}
@@ -2,9 +2,9 @@ import { PreConnectReq } from '@passlock/shared/dist/rpc/connection.js';
2
2
  import { Dispatcher, RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
3
3
  import { Context, Effect as E, Layer, flow, pipe } from 'effect';
4
4
  export const ConnectionService = Context.GenericTag('@services/ConnectService');
5
- const hitPrincipal = pipe(E.logInfo('Pre-connecting to Principal endpoint'), E.zipRight(Dispatcher), E.flatMap(dispatcher => dispatcher.get('/token/token?warm=true')), E.asUnit, E.catchAll(() => E.unit));
6
- const hitRpc = pipe(E.logInfo('Pre-connecting to RPC endpoint'), E.zipRight(RpcClient), E.flatMap(rpcClient => rpcClient.preConnect(new PreConnectReq({}))), E.asUnit);
7
- export const preConnect = () => pipe(E.all([hitPrincipal, hitRpc], { concurrency: 2 }), E.asUnit);
5
+ const hitPrincipal = pipe(E.logInfo('Pre-connecting to Principal endpoint'), E.zipRight(Dispatcher), E.flatMap(dispatcher => dispatcher.get('/token/token?warm=true')), E.asVoid, E.catchAll(() => E.void));
6
+ const hitRpc = pipe(E.logInfo('Pre-connecting to RPC endpoint'), E.zipRight(RpcClient), E.flatMap(rpcClient => rpcClient.preConnect(new PreConnectReq({}))), E.asVoid);
7
+ export const preConnect = () => pipe(E.all([hitPrincipal, hitRpc], { concurrency: 2 }), E.asVoid);
8
8
  export const ConnectionServiceLive = Layer.effect(ConnectionService, E.gen(function* (_) {
9
9
  const context = yield* _(E.context());
10
10
  return ConnectionService.of({
package/dist/effect.d.ts CHANGED
@@ -1,5 +1,3 @@
1
- export type { BadRequest, Disabled, Duplicate, Forbidden, InternalBrowserError, NotFound, NotSupported, Unauthorized, } from '@passlock/shared/dist/error/error.js';
2
- export type { Principal } from '@passlock/shared/dist/schema/schema.js';
3
1
  import { type BadRequest, type Disabled, Duplicate, type Forbidden, type NotFound, type NotSupported, type Unauthorized } from '@passlock/shared/dist/error/error.js';
4
2
  import { RpcConfig } from '@passlock/shared/dist/rpc/rpc.js';
5
3
  import type { Principal } from '@passlock/shared/dist/schema/schema.js';
@@ -11,7 +9,8 @@ import { EmailService, type VerifyRequest } from './email/email.js';
11
9
  import { type RegistrationRequest, RegistrationService } from './registration/register.js';
12
10
  import { type AuthType, StorageService, type StoredToken } from './storage/storage.js';
13
11
  import { type Email, UserService } from './user/user.js';
14
- export declare const allRequirements: L.Layer<import("./capabilities/capabilities.js").Capabilities | StorageService | AuthenticationService | ConnectionService | EmailService | UserService | RegistrationService, never, Storage | RpcConfig>;
12
+ import { SocialService, type OidcRequest } from './social/social.js';
13
+ export declare const allRequirements: L.Layer<import("./capabilities/capabilities.js").Capabilities | StorageService | AuthenticationService | ConnectionService | EmailService | UserService | RegistrationService | SocialService, never, Storage | RpcConfig>;
15
14
  declare const Config_base: Context.TagClass<Config, "Config", {
16
15
  tenancyId: string;
17
16
  clientId: string;
@@ -26,8 +25,25 @@ export declare const registerPasskey: (request: RegistrationRequest) => E.Effect
26
25
  export type AuthenticationErrors = NotSupported | BadRequest | NotFound | Disabled | Unauthorized | Forbidden;
27
26
  export declare const authenticatePasskey: (request: AuthenticationRequest) => E.Effect<Principal, AuthenticationErrors, Config>;
28
27
  export type VerifyEmailErrors = NotSupported | BadRequest | NotFound | Disabled | Unauthorized | Forbidden;
29
- export declare const verifyEmailCode: (request: VerifyRequest) => E.Effect<boolean, VerifyEmailErrors, Config>;
30
- export declare const verifyEmailLink: () => E.Effect<boolean, VerifyEmailErrors, Config>;
28
+ export declare const verifyEmailCode: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors, Config>;
29
+ export declare const verifyEmailLink: () => E.Effect<Principal, VerifyEmailErrors, Config>;
31
30
  export declare const getSessionToken: (authType: AuthType) => E.Effect<StoredToken, NoSuchElementException>;
32
31
  export declare const clearExpiredTokens: () => E.Effect<void>;
32
+ export declare const authenticateOIDC: (request: OidcRequest) => E.Effect<{
33
+ readonly token: string;
34
+ readonly user: {
35
+ readonly email: string;
36
+ readonly id: string;
37
+ readonly givenName: string;
38
+ readonly familyName: string;
39
+ readonly emailVerified: boolean;
40
+ };
41
+ readonly authStatement: {
42
+ readonly authType: "email" | "passkey" | "google";
43
+ readonly userVerified: boolean;
44
+ readonly authTimestamp: Date;
45
+ };
46
+ readonly expireAt: Date;
47
+ }, import("./social/social.js").RegistrationErrors, RpcConfig>;
48
+ export {};
33
49
  //# sourceMappingURL=effect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,SAAS,EACT,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,sCAAsC,CAAA;AAE7C,YAAY,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAEvE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,SAAS,EACT,KAAK,SAAS,EAEd,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAIL,SAAS,EACV,MAAM,kCAAkC,CAAA;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAyB,MAAM,QAAQ,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAEL,KAAK,qBAAqB,EAC1B,qBAAqB,EAEtB,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,YAAY,EAAoC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErG,OAAO,EAEL,KAAK,mBAAmB,EACxB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,KAAK,QAAQ,EAEb,cAAc,EAEd,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAA;AA8FzE,eAAO,MAAM,eAAe,4MAQ3B,CAAA;;eAKc,MAAM;cACP,MAAM;eACL,MAAM;;AALrB,qBAAa,MAAO,SAAQ,WAOzB;CAAG;AAeN,eAAO,MAAM,UAAU,QAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAMvD,CAAA;AAEH,eAAO,MAAM,YAAY,UAAW,KAAK,KAAG,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAM7E,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAA;AAEjG,eAAO,MAAM,eAAe,YACjB,mBAAmB,KAC3B,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAM9C,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAMhD,CAAA;AAEH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,eAAe,YACjB,aAAa,KACrB,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAM3C,CAAA;AAEH,eAAO,MAAM,eAAe,QAAO,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAM3E,CAAA;AAEH,eAAO,MAAM,eAAe,aAChB,QAAQ,KACjB,EAAE,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAM5C,CAAA;AAEH,eAAO,MAAM,kBAAkB,QAAO,EAAE,MAAM,CAAC,IAAI,CAMhD,CAAA"}
1
+ {"version":3,"file":"effect.d.ts","sourceRoot":"","sources":["../src/effect.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,SAAS,EACT,KAAK,SAAS,EAEd,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAIL,SAAS,EACV,MAAM,kCAAkC,CAAA;AAEzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAEvE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAyB,MAAM,QAAQ,CAAA;AAChF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAE1D,OAAO,EAEL,KAAK,qBAAqB,EAC1B,qBAAqB,EAEtB,MAAM,kCAAkC,CAAA;AAGzC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,YAAY,EAAoC,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAErG,OAAO,EAEL,KAAK,mBAAmB,EACxB,mBAAmB,EAEpB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EACL,KAAK,QAAQ,EAEb,cAAc,EAEd,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,KAAK,KAAK,EAAE,WAAW,EAAmB,MAAM,gBAAgB,CAAA;AACzE,OAAO,EAAE,aAAa,EAAqB,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAmGvF,eAAO,MAAM,eAAe,4NAS3B,CAAA;;eAKc,MAAM;cACP,MAAM;eACL,MAAM;;AALrB,qBAAa,MAAO,SAAQ,WAOzB;CAAG;AAeN,eAAO,MAAM,UAAU,QAAO,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAMvD,CAAA;AAEH,eAAO,MAAM,YAAY,UAAW,KAAK,KAAG,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAM7E,CAAA;AAEH,MAAM,MAAM,kBAAkB,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAA;AAEjG,eAAO,MAAM,eAAe,YACjB,mBAAmB,KAC3B,EAAE,MAAM,CAAC,SAAS,EAAE,kBAAkB,EAAE,MAAM,CAM9C,CAAA;AAEH,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,mBAAmB,YACrB,qBAAqB,KAC7B,EAAE,MAAM,CAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,CAMhD,CAAA;AAEH,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,CAAA;AAEb,eAAO,MAAM,eAAe,YACjB,aAAa,KACrB,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAM7C,CAAA;AAEH,eAAO,MAAM,eAAe,QAAO,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,CAM7E,CAAA;AAEH,eAAO,MAAM,eAAe,aAChB,QAAQ,KACjB,EAAE,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAM5C,CAAA;AAEH,eAAO,MAAM,kBAAkB,QAAO,EAAE,MAAM,CAAC,IAAI,CAMhD,CAAA;AAEH,eAAO,MAAM,gBAAgB,YAAa,WAAW;;;;;;;;;;;;;;;8DAKlD,CAAA"}
package/dist/effect.js CHANGED
@@ -5,16 +5,17 @@ import { Context, Effect as E, Layer as L, Layer, Schedule, pipe } from 'effect'
5
5
  import { AuthenticateServiceLive, AuthenticationService, GetCredential, } from './authentication/authenticate.js';
6
6
  import { capabilitiesLive } from './capabilities/capabilities.js';
7
7
  import { ConnectionService, ConnectionServiceLive } from './connection/connection.js';
8
- import { EmailService, EmailServiceLive, LocationSearch } from './email/email.js';
8
+ import { EmailService, EmailServiceLive, URLQueryString } from './email/email.js';
9
9
  import { CreateCredential, RegistrationService, RegistrationServiceLive, } from './registration/register.js';
10
10
  import { Storage, StorageService, StorageServiceLive, } from './storage/storage.js';
11
11
  import { UserService, UserServiceLive } from './user/user.js';
12
- const createLive = L.succeed(CreateCredential, CreateCredential.of((options) => pipe(E.tryPromise({
12
+ import { SocialService, SocialServiceLive } from './social/social.js';
13
+ const createCredentialLive = L.succeed(CreateCredential, CreateCredential.of((options) => pipe(E.tryPromise({
13
14
  try: () => create(options),
14
15
  catch: e => {
15
16
  if (e instanceof Error && e.message.includes('excludeCredentials')) {
16
17
  return new Duplicate({
17
- message: 'Passkey already registered on this device or cloud account',
18
+ message: 'Passkey already registered to this device or cloud account',
18
19
  });
19
20
  }
20
21
  else {
@@ -25,7 +26,7 @@ const createLive = L.succeed(CreateCredential, CreateCredential.of((options) =>
25
26
  }
26
27
  },
27
28
  }), E.map(credential => credential.toJSON()))));
28
- const getLive = L.succeed(GetCredential, GetCredential.of((options) => pipe(E.tryPromise({
29
+ const getCredentialLive = L.succeed(GetCredential, GetCredential.of((options) => pipe(E.tryPromise({
29
30
  try: () => getCredential(options),
30
31
  catch: e => new InternalBrowserError({
31
32
  message: 'Unable to get authentication credential',
@@ -38,12 +39,13 @@ const dispatcherLive = pipe(DispatcherLive, L.provide(retryScheduleLive));
38
39
  const rpcClientLive = pipe(RpcClientLive, L.provide(dispatcherLive));
39
40
  const storageServiceLive = StorageServiceLive;
40
41
  const userServiceLive = pipe(UserServiceLive, L.provide(rpcClientLive));
41
- const registrationServiceLive = pipe(RegistrationServiceLive, L.provide(rpcClientLive), L.provide(userServiceLive), L.provide(capabilitiesLive), L.provide(createLive), L.provide(storageServiceLive));
42
- const authenticationServiceLive = pipe(AuthenticateServiceLive, L.provide(rpcClientLive), L.provide(capabilitiesLive), L.provide(getLive), L.provide(storageServiceLive));
42
+ const registrationServiceLive = pipe(RegistrationServiceLive, L.provide(rpcClientLive), L.provide(userServiceLive), L.provide(capabilitiesLive), L.provide(createCredentialLive), L.provide(storageServiceLive));
43
+ const authenticationServiceLive = pipe(AuthenticateServiceLive, L.provide(rpcClientLive), L.provide(capabilitiesLive), L.provide(getCredentialLive), L.provide(storageServiceLive));
43
44
  const connectionServiceLive = pipe(ConnectionServiceLive, L.provide(rpcClientLive), L.provide(dispatcherLive));
44
- const locationSearchLive = Layer.succeed(LocationSearch, LocationSearch.of(E.sync(() => globalThis.window.location.search)));
45
- const emailServiceLive = pipe(EmailServiceLive, L.provide(locationSearchLive), L.provide(rpcClientLive), L.provide(capabilitiesLive), L.provide(authenticationServiceLive), L.provide(storageServiceLive));
46
- export const allRequirements = Layer.mergeAll(capabilitiesLive, userServiceLive, registrationServiceLive, authenticationServiceLive, connectionServiceLive, emailServiceLive, storageServiceLive);
45
+ const urlQueryStringLive = Layer.succeed(URLQueryString, URLQueryString.of(E.sync(() => globalThis.window.location.search)));
46
+ const emailServiceLive = pipe(EmailServiceLive, L.provide(urlQueryStringLive), L.provide(rpcClientLive), L.provide(capabilitiesLive), L.provide(authenticationServiceLive), L.provide(storageServiceLive));
47
+ const socialServiceLive = pipe(SocialServiceLive, L.provide(rpcClientLive));
48
+ export const allRequirements = Layer.mergeAll(capabilitiesLive, userServiceLive, registrationServiceLive, authenticationServiceLive, connectionServiceLive, emailServiceLive, storageServiceLive, socialServiceLive);
47
49
  export class Config extends Context.Tag('Config')() {
48
50
  }
49
51
  const storageLive = Layer.effect(Storage, E.sync(() => Storage.of(globalThis.localStorage)));
@@ -58,4 +60,5 @@ export const verifyEmailCode = (request) => pipe(EmailService, E.flatMap(service
58
60
  export const verifyEmailLink = () => pipe(EmailService, E.flatMap(service => service.verifyEmailLink()), E.provide(emailServiceLive), exchangeConfig);
59
61
  export const getSessionToken = (authType) => pipe(StorageService, E.flatMap(service => service.getToken(authType)), E.provide(storageServiceLive), E.provide(storageLive));
60
62
  export const clearExpiredTokens = () => pipe(StorageService, E.flatMap(service => service.clearExpiredTokens), E.provide(storageServiceLive), E.provide(storageLive));
63
+ export const authenticateOIDC = (request) => pipe(SocialService, E.flatMap(service => service.registerOidc(request)), E.provide(socialServiceLive));
61
64
  //# sourceMappingURL=effect.js.map
@@ -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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"}
@@ -3,22 +3,38 @@ import type { VerifyEmailErrors as RpcErrors } from '@passlock/shared/dist/rpc/u
3
3
  import { Context, Effect as E, Layer } from 'effect';
4
4
  import { type AuthenticationErrors, AuthenticationService } from '../authentication/authenticate.js';
5
5
  import { StorageService } from '../storage/storage.js';
6
+ import type { Principal } from '@passlock/shared/dist/schema/schema.js';
6
7
  export type VerifyRequest = {
7
8
  code: string;
8
9
  };
9
10
  export type VerifyEmailErrors = RpcErrors | AuthenticationErrors;
10
- declare const LocationSearch_base: Context.TagClass<LocationSearch, "LocationSearch", E.Effect<string, never, never>>;
11
- export declare class LocationSearch extends LocationSearch_base {
11
+ declare const URLQueryString_base: Context.TagClass<URLQueryString, "URLQueryString", E.Effect<string, never, never>>;
12
+ export declare class URLQueryString extends URLQueryString_base {
12
13
  }
13
14
  export type EmailService = {
14
- verifyEmailCode: (request: VerifyRequest) => E.Effect<boolean, VerifyEmailErrors>;
15
- verifyEmailLink: () => E.Effect<boolean, VerifyEmailErrors>;
15
+ verifyEmailCode: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors>;
16
+ verifyEmailLink: () => E.Effect<Principal, VerifyEmailErrors>;
16
17
  };
17
18
  export declare const EmailService: Context.Tag<EmailService, EmailService>;
18
19
  export type Dependencies = StorageService | AuthenticationService | RpcClient;
19
- export declare const extractCodeFromHref: () => E.Effect<string, import("effect/Cause").NoSuchElementException, LocationSearch>;
20
- export declare const verifyEmail: (verificationRequest: VerifyRequest) => E.Effect<boolean, VerifyEmailErrors, Dependencies>;
21
- export declare const verifyEmailLink: () => E.Effect<boolean, VerifyEmailErrors, LocationSearch | Dependencies>;
22
- export declare const EmailServiceLive: Layer.Layer<EmailService, never, StorageService | AuthenticationService | RpcClient | LocationSearch>;
20
+ export declare const extractCodeFromHref: () => E.Effect<string, import("effect/Cause").NoSuchElementException, URLQueryString>;
21
+ export declare const verifyEmail: (request: VerifyRequest) => E.Effect<Principal, VerifyEmailErrors, Dependencies>;
22
+ export declare const verifyEmailLink: () => E.Effect<{
23
+ readonly token: string;
24
+ readonly user: {
25
+ readonly email: string;
26
+ readonly id: string;
27
+ readonly givenName: string;
28
+ readonly familyName: string;
29
+ readonly emailVerified: boolean;
30
+ };
31
+ readonly authStatement: {
32
+ readonly authType: "email" | "passkey" | "google";
33
+ readonly userVerified: boolean;
34
+ readonly authTimestamp: Date;
35
+ };
36
+ readonly expireAt: Date;
37
+ }, VerifyEmailErrors, URLQueryString | Dependencies>;
38
+ export declare const EmailServiceLive: Layer.Layer<EmailService, never, StorageService | AuthenticationService | RpcClient | URLQueryString>;
23
39
  export {};
24
40
  //# sourceMappingURL=email.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAqC,MAAM,QAAQ,CAAA;AACvF,OAAO,EAAE,KAAK,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAItD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,oBAAoB,CAAA;;AAIhE,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAIN,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACjF,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;CAC5D,CAAA;AAED,eAAO,MAAM,YAAY,yCAA6D,CAAA;AAItF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAuC7E,eAAO,MAAM,mBAAmB,uFAO/B,CAAA;AASD,eAAO,MAAM,WAAW,wBACD,aAAa,KACjC,EAAE,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAanD,CAAA;AAMD,eAAO,MAAM,eAAe,2EAKzB,CAAA;AAKH,eAAO,MAAM,gBAAgB,uGAW5B,CAAA"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../src/email/email.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,KAAK,EAAE,iBAAiB,IAAI,SAAS,EAAE,MAAM,mCAAmC,CAAA;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,EAAE,KAAK,EAAqC,MAAM,QAAQ,CAAA;AACvF,OAAO,EAAE,KAAK,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAIvE,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,oBAAoB,CAAA;;AAIhE,qBAAa,cAAe,SAAQ,mBAGjC;CAAG;AAIN,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IACnF,eAAe,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;CAC9D,CAAA;AAED,eAAO,MAAM,YAAY,yCAA6D,CAAA;AAItF,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG,qBAAqB,GAAG,SAAS,CAAA;AAuC7E,eAAO,MAAM,mBAAmB,uFAO/B,CAAA;AASD,eAAO,MAAM,WAAW,YACb,aAAa,KACrB,EAAE,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAarD,CAAA;AAMD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;oDAKzB,CAAA;AAKH,eAAO,MAAM,gBAAgB,uGAW5B,CAAA"}
@@ -1,33 +1,33 @@
1
1
  import { RpcClient } from '@passlock/shared/dist/rpc/rpc.js';
2
2
  import { VerifyEmailReq, VerifyEmailRes } from '@passlock/shared/dist/rpc/user.js';
3
3
  import { Layer as L } from 'effect';
4
- import { LocationSearch } from './email.js';
4
+ import { URLQueryString } from './email.js';
5
5
  import { AuthenticationService } from '../authentication/authenticate.js';
6
6
  export declare const token = "token";
7
7
  export declare const code = "code";
8
8
  export declare const authType = "passkey";
9
9
  export declare const expireAt: number;
10
- export declare const locationSearchTest: L.Layer<LocationSearch, never, never>;
10
+ export declare const locationSearchTest: L.Layer<URLQueryString, never, never>;
11
11
  export declare const authenticationServiceTest: L.Layer<AuthenticationService, never, never>;
12
- export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
13
12
  export declare const verifyEmailReq: VerifyEmailReq;
14
13
  export declare const verifyEmailRes: VerifyEmailRes;
14
+ export declare const rpcClientTest: L.Layer<RpcClient, never, never>;
15
15
  export declare const principal: {
16
16
  readonly token: string;
17
- readonly subject: {
17
+ readonly user: {
18
18
  readonly email: string;
19
19
  readonly id: string;
20
- readonly firstName: string;
21
- readonly lastName: string;
20
+ readonly givenName: string;
21
+ readonly familyName: string;
22
22
  readonly emailVerified: boolean;
23
23
  };
24
24
  readonly authStatement: {
25
- readonly authType: "email" | "passkey";
25
+ readonly authType: "email" | "passkey" | "google";
26
26
  readonly userVerified: boolean;
27
27
  readonly authTimestamp: Date;
28
28
  };
29
29
  readonly expireAt: Date;
30
30
  };
31
- export declare const storedToken: import("../storage/storage.js").StoredToken;
31
+ export declare const storedToken: import("../index.js").StoredToken;
32
32
  export declare const storageServiceTest: L.Layer<import("../storage/storage.js").StorageService, never, never>;
33
33
  //# sourceMappingURL=email.fixture.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.fixture.d.ts","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAGzE,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,kBAAkB,uCAG9B,CAAA;AAED,eAAO,MAAM,yBAAyB,8CAKrC,CAAA;AAED,eAAO,MAAM,aAAa,kCAWzB,CAAA;AAED,eAAO,MAAM,cAAc,gBAAsC,CAAA;AAEjE,eAAO,MAAM,cAAc,gBAAyC,CAAA;AAEpE,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,WAAW,6CAAuB,CAAA;AAE/C,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}
1
+ {"version":3,"file":"email.fixture.d.ts","sourceRoot":"","sources":["../../src/email/email.fixture.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAA;AAClF,OAAO,EAAe,KAAK,IAAI,CAAC,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAGzE,eAAO,MAAM,KAAK,UAAU,CAAA;AAC5B,eAAO,MAAM,IAAI,SAAS,CAAA;AAC1B,eAAO,MAAM,QAAQ,YAAY,CAAA;AACjC,eAAO,MAAM,QAAQ,QAAqB,CAAA;AAE1C,eAAO,MAAM,kBAAkB,uCAG9B,CAAA;AAED,eAAO,MAAM,yBAAyB,8CAKrC,CAAA;AAED,eAAO,MAAM,cAAc,gBAAsC,CAAA;AAEjE,eAAO,MAAM,cAAc,gBAAwD,CAAA;AAEnF,eAAO,MAAM,aAAa,kCAczB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;CAAqB,CAAA;AAE3C,eAAO,MAAM,WAAW,mCAAuB,CAAA;AAE/C,eAAO,MAAM,kBAAkB,uEAA8B,CAAA"}