@passlock/server 2.1.0 → 2.3.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 (45) hide show
  1. package/dist/effect.d.ts +8 -0
  2. package/dist/effect.d.ts.map +1 -1
  3. package/dist/effect.js +8 -0
  4. package/dist/effect.js.map +1 -1
  5. package/dist/errors.d.ts +65 -0
  6. package/dist/errors.d.ts.map +1 -1
  7. package/dist/errors.js +36 -5
  8. package/dist/errors.js.map +1 -1
  9. package/dist/index.d.ts +63 -21
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +60 -18
  12. package/dist/index.js.map +1 -1
  13. package/dist/network.d.ts +3 -3
  14. package/dist/passkey/passkey.d.ts +267 -10
  15. package/dist/passkey/passkey.d.ts.map +1 -1
  16. package/dist/passkey/passkey.js +161 -5
  17. package/dist/passkey/passkey.js.map +1 -1
  18. package/dist/principal/principal.d.ts +45 -1
  19. package/dist/principal/principal.d.ts.map +1 -1
  20. package/dist/principal/principal.js +27 -0
  21. package/dist/principal/principal.js.map +1 -1
  22. package/dist/safe-result.d.ts +33 -0
  23. package/dist/safe-result.d.ts.map +1 -0
  24. package/dist/safe-result.js +35 -0
  25. package/dist/safe-result.js.map +1 -0
  26. package/dist/safe.d.ts +87 -30
  27. package/dist/safe.d.ts.map +1 -1
  28. package/dist/safe.js +90 -30
  29. package/dist/safe.js.map +1 -1
  30. package/dist/schemas/passkey.d.ts +160 -0
  31. package/dist/schemas/passkey.d.ts.map +1 -1
  32. package/dist/schemas/passkey.js +90 -12
  33. package/dist/schemas/passkey.js.map +1 -1
  34. package/dist/schemas/principal.d.ts +50 -0
  35. package/dist/schemas/principal.d.ts.map +1 -1
  36. package/dist/schemas/principal.js +30 -0
  37. package/dist/schemas/principal.js.map +1 -1
  38. package/dist/schemas/signup.d.ts +20 -0
  39. package/dist/schemas/signup.d.ts.map +1 -1
  40. package/dist/schemas/signup.js +10 -0
  41. package/dist/schemas/signup.js.map +1 -1
  42. package/dist/shared.d.ts +18 -0
  43. package/dist/shared.d.ts.map +1 -1
  44. package/dist/shared.js.map +1 -1
  45. package/package.json +6 -6
@@ -1,9 +1,62 @@
1
1
  import { Schema } from "effect";
2
+ /**
3
+ * Valid user verification requirements for WebAuthn operations.
4
+ *
5
+ * @category Passkeys
6
+ */
2
7
  export declare const UserVerification: Schema.Literal<["required", "preferred", "discouraged"]>;
8
+ /**
9
+ * Possible device types reported for a passkey credential.
10
+ *
11
+ * @category Passkeys
12
+ */
3
13
  export declare const CredentialDeviceType: readonly ["singleDevice", "multiDevice"];
14
+ /**
15
+ * Union of device types reported for a passkey credential.
16
+ *
17
+ * @category Passkeys
18
+ */
4
19
  export type CredentialDeviceType = (typeof CredentialDeviceType)[number];
20
+ /**
21
+ * Possible authenticator transport hints exposed by Passlock.
22
+ *
23
+ * @category Passkeys
24
+ */
5
25
  export declare const Transports: readonly ["ble", "hybrid", "internal", "nfc", "usb", "cable", "smart-card"];
26
+ /**
27
+ * Union of authenticator transport hints exposed by Passlock.
28
+ *
29
+ * @category Passkeys
30
+ */
6
31
  export type Transports = (typeof Transports)[number];
32
+ /**
33
+ * Schema for the WebAuthn credential portion of a passkey.
34
+ *
35
+ * @category Passkeys
36
+ */
37
+ export declare const PasskeyCredential: Schema.Struct<{
38
+ id: typeof Schema.String;
39
+ userId: typeof Schema.String;
40
+ username: typeof Schema.String;
41
+ aaguid: typeof Schema.String;
42
+ backedUp: typeof Schema.Boolean;
43
+ counter: typeof Schema.Number;
44
+ deviceType: Schema.Literal<["singleDevice", "multiDevice"]>;
45
+ transports: Schema.Array$<Schema.Literal<["ble", "hybrid", "internal", "nfc", "usb", "cable", "smart-card"]>>;
46
+ publicKey: Schema.Schema<Uint8Array<ArrayBufferLike>, string, never>;
47
+ rpId: typeof Schema.String;
48
+ }>;
49
+ /**
50
+ * Type produced by {@link PasskeyCredential}.
51
+ *
52
+ * @category Passkeys
53
+ */
54
+ export type PasskeyCredential = typeof PasskeyCredential.Type;
55
+ /**
56
+ * Schema for a passkey stored in the Passlock vault.
57
+ *
58
+ * @category Passkeys
59
+ */
7
60
  export declare const Passkey: Schema.TaggedStruct<"Passkey", {
8
61
  id: typeof Schema.String;
9
62
  userId: Schema.optional<typeof Schema.String>;
@@ -28,8 +81,26 @@ export declare const Passkey: Schema.TaggedStruct<"Passkey", {
28
81
  createdAt: typeof Schema.Number;
29
82
  updatedAt: typeof Schema.Number;
30
83
  }>;
84
+ /**
85
+ * Type produced by {@link Passkey}.
86
+ *
87
+ * @category Passkeys
88
+ */
31
89
  export type Passkey = typeof Passkey.Type;
90
+ /**
91
+ * Encoded transport shape for {@link Passkey}.
92
+ *
93
+ * Binary fields such as `publicKey` are represented using schema-friendly
94
+ * encoded values.
95
+ *
96
+ * @category Passkeys
97
+ */
32
98
  export type PasskeyEncoded = typeof Passkey.Encoded;
99
+ /**
100
+ * Schema for the compact passkey payload returned by listing operations.
101
+ *
102
+ * @category Passkeys
103
+ */
33
104
  export declare const PasskeySummary: Schema.TaggedStruct<"PasskeySummary", {
34
105
  id: typeof Schema.String;
35
106
  userId: typeof Schema.String;
@@ -41,7 +112,17 @@ export declare const PasskeySummary: Schema.TaggedStruct<"PasskeySummary", {
41
112
  createdAt: typeof Schema.Number;
42
113
  lastUsed: Schema.optional<typeof Schema.Number>;
43
114
  }>;
115
+ /**
116
+ * Type produced by {@link PasskeySummary}.
117
+ *
118
+ * @category Passkeys
119
+ */
44
120
  export type PasskeySummary = typeof PasskeySummary.Type;
121
+ /**
122
+ * Schema for one page of passkey summaries.
123
+ *
124
+ * @category Passkeys
125
+ */
45
126
  export declare const FindAllPasskeys: Schema.TaggedStruct<"FindAllPasskeys", {
46
127
  cursor: Schema.NullOr<typeof Schema.String>;
47
128
  records: Schema.Array$<Schema.TaggedStruct<"PasskeySummary", {
@@ -56,6 +137,11 @@ export declare const FindAllPasskeys: Schema.TaggedStruct<"FindAllPasskeys", {
56
137
  lastUsed: Schema.optional<typeof Schema.Number>;
57
138
  }>>;
58
139
  }>;
140
+ /**
141
+ * Schema for a bulk passkey update response.
142
+ *
143
+ * @category Passkeys
144
+ */
59
145
  export declare const UpdatedPasskeys: Schema.TaggedStruct<"UpdatedPasskeys", {
60
146
  updated: Schema.Array$<Schema.TaggedStruct<"Passkey", {
61
147
  id: typeof Schema.String;
@@ -82,4 +168,78 @@ export declare const UpdatedPasskeys: Schema.TaggedStruct<"UpdatedPasskeys", {
82
168
  updatedAt: typeof Schema.Number;
83
169
  }>>;
84
170
  }>;
171
+ /**
172
+ * Schema for the credential identifiers returned after deleting passkeys.
173
+ *
174
+ * @category Passkeys
175
+ */
176
+ export declare const Credential: Schema.Struct<{
177
+ credentialId: typeof Schema.String;
178
+ userId: typeof Schema.String;
179
+ rpId: typeof Schema.String;
180
+ }>;
181
+ /**
182
+ * Type produced by {@link Credential}.
183
+ *
184
+ * @category Passkeys
185
+ */
186
+ export type Credential = typeof Credential.Type;
187
+ /**
188
+ * Raw REST API schema returned when passkeys are deleted.
189
+ *
190
+ * The package maps this into {@link DeletedPasskeys} before exposing it from
191
+ * the higher-level APIs.
192
+ *
193
+ * @category Passkeys
194
+ */
195
+ export declare const DeletedPasskeysResponse: Schema.TaggedStruct<"DeletedPasskeys", {
196
+ deleted: Schema.Array$<Schema.TaggedStruct<"Passkey", {
197
+ id: typeof Schema.String;
198
+ userId: Schema.optional<typeof Schema.String>;
199
+ enabled: typeof Schema.Boolean;
200
+ credential: Schema.Struct<{
201
+ id: typeof Schema.String;
202
+ userId: typeof Schema.String;
203
+ username: typeof Schema.String;
204
+ aaguid: typeof Schema.String;
205
+ backedUp: typeof Schema.Boolean;
206
+ counter: typeof Schema.Number;
207
+ deviceType: Schema.Literal<["singleDevice", "multiDevice"]>;
208
+ transports: Schema.Array$<Schema.Literal<["ble", "hybrid", "internal", "nfc", "usb", "cable", "smart-card"]>>;
209
+ publicKey: Schema.Schema<Uint8Array<ArrayBufferLike>, string, never>;
210
+ rpId: typeof Schema.String;
211
+ }>;
212
+ platform: Schema.optional<Schema.Struct<{
213
+ icon: Schema.optional<typeof Schema.String>;
214
+ name: Schema.optional<typeof Schema.String>;
215
+ }>>;
216
+ lastUsed: Schema.optional<typeof Schema.Number>;
217
+ createdAt: typeof Schema.Number;
218
+ updatedAt: typeof Schema.Number;
219
+ }>>;
220
+ }>;
221
+ /**
222
+ * Public schema returned when passkeys are deleted by user ID.
223
+ *
224
+ * @category Passkeys
225
+ */
226
+ export declare const DeletedPasskeys: Schema.TaggedStruct<"DeletedPasskeys", {
227
+ deleted: Schema.Array$<Schema.Struct<{
228
+ credentialId: typeof Schema.String;
229
+ userId: typeof Schema.String;
230
+ rpId: typeof Schema.String;
231
+ }>>;
232
+ }>;
233
+ /**
234
+ * Public schema returned when a single passkey is deleted.
235
+ *
236
+ * @category Passkeys
237
+ */
238
+ export declare const DeletedPasskey: Schema.TaggedStruct<"DeletedPasskey", {
239
+ deleted: Schema.Struct<{
240
+ credentialId: typeof Schema.String;
241
+ userId: typeof Schema.String;
242
+ rpId: typeof Schema.String;
243
+ }>;
244
+ }>;
85
245
  //# sourceMappingURL=passkey.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/schemas/passkey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAW/B,eAAO,MAAM,gBAAgB,0DAI5B,CAAA;AAID,eAAO,MAAM,oBAAoB,0CAA2C,CAAA;AAC5E,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAExE,eAAO,MAAM,UAAU,6EAQb,CAAA;AACV,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAIpD,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAyBlB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC,MAAM,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,OAAO,CAAA;AAEnD,eAAO,MAAM,cAAc;;;;;;;;;;EAUzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD,eAAO,MAAM,eAAe;;;;;;;;;;;;;EAG1B,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;EAE1B,CAAA"}
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/schemas/passkey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAW/B;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,0DAI5B,CAAA;AAID;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,0CAA2C,CAAA;AAE5E;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAA;AAExE;;;;GAIG;AACH,eAAO,MAAM,UAAU,6EAQb,CAAA;AAEV;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAIpD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;EAW5B,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,IAAI,CAAA;AAE7D;;;;GAIG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAclB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAC,IAAI,CAAA;AAEzC;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,OAAO,CAAC,OAAO,CAAA;AAEnD;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;EAUzB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAA;AAEvD;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;EAG1B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;EAE1B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAA;AAE/C;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;EAElC,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc;;;;;;EAEzB,CAAA"}
@@ -6,9 +6,24 @@ import { Schema } from "effect";
6
6
  * kind of a type level satisfies
7
7
  */
8
8
  /* Registration Options */
9
+ /**
10
+ * Valid user verification requirements for WebAuthn operations.
11
+ *
12
+ * @category Passkeys
13
+ */
9
14
  export const UserVerification = Schema.Literal("required", "preferred", "discouraged");
10
15
  /* Passkey */
16
+ /**
17
+ * Possible device types reported for a passkey credential.
18
+ *
19
+ * @category Passkeys
20
+ */
11
21
  export const CredentialDeviceType = ["singleDevice", "multiDevice"];
22
+ /**
23
+ * Possible authenticator transport hints exposed by Passlock.
24
+ *
25
+ * @category Passkeys
26
+ */
12
27
  export const Transports = [
13
28
  "ble",
14
29
  "hybrid",
@@ -19,22 +34,33 @@ export const Transports = [
19
34
  "smart-card",
20
35
  ];
21
36
  /* Passkey */
37
+ /**
38
+ * Schema for the WebAuthn credential portion of a passkey.
39
+ *
40
+ * @category Passkeys
41
+ */
42
+ export const PasskeyCredential = Schema.Struct({
43
+ id: Schema.String, // webAuthnId (Base64Url)
44
+ userId: Schema.String, // webAuthnUserId (Base64Url)
45
+ username: Schema.String,
46
+ aaguid: Schema.String,
47
+ backedUp: Schema.Boolean,
48
+ counter: Schema.Number,
49
+ deviceType: Schema.Literal(...CredentialDeviceType),
50
+ transports: Schema.Array(Schema.Literal(...Transports)),
51
+ publicKey: Schema.Uint8ArrayFromBase64Url,
52
+ rpId: Schema.String,
53
+ });
54
+ /**
55
+ * Schema for a passkey stored in the Passlock vault.
56
+ *
57
+ * @category Passkeys
58
+ */
22
59
  export const Passkey = Schema.TaggedStruct("Passkey", {
23
60
  id: Schema.String,
24
61
  userId: Schema.optional(Schema.String),
25
62
  enabled: Schema.Boolean,
26
- credential: Schema.Struct({
27
- id: Schema.String, // webAuthnId (Base64Url)
28
- userId: Schema.String, // webAuthnUserId (Base64Url)
29
- username: Schema.String,
30
- aaguid: Schema.String,
31
- backedUp: Schema.Boolean,
32
- counter: Schema.Number,
33
- deviceType: Schema.Literal(...CredentialDeviceType),
34
- transports: Schema.Array(Schema.Literal(...Transports)),
35
- publicKey: Schema.Uint8ArrayFromBase64Url,
36
- rpId: Schema.String,
37
- }),
63
+ credential: PasskeyCredential,
38
64
  platform: Schema.optional(Schema.Struct({
39
65
  icon: Schema.optional(Schema.String),
40
66
  name: Schema.optional(Schema.String),
@@ -43,6 +69,11 @@ export const Passkey = Schema.TaggedStruct("Passkey", {
43
69
  createdAt: Schema.Number,
44
70
  updatedAt: Schema.Number,
45
71
  });
72
+ /**
73
+ * Schema for the compact passkey payload returned by listing operations.
74
+ *
75
+ * @category Passkeys
76
+ */
46
77
  export const PasskeySummary = Schema.TaggedStruct("PasskeySummary", {
47
78
  id: Schema.String,
48
79
  userId: Schema.String,
@@ -54,11 +85,58 @@ export const PasskeySummary = Schema.TaggedStruct("PasskeySummary", {
54
85
  createdAt: Schema.Number,
55
86
  lastUsed: Schema.optional(Schema.Number),
56
87
  });
88
+ /**
89
+ * Schema for one page of passkey summaries.
90
+ *
91
+ * @category Passkeys
92
+ */
57
93
  export const FindAllPasskeys = Schema.TaggedStruct("FindAllPasskeys", {
58
94
  cursor: Schema.NullOr(Schema.String),
59
95
  records: Schema.Array(PasskeySummary),
60
96
  });
97
+ /**
98
+ * Schema for a bulk passkey update response.
99
+ *
100
+ * @category Passkeys
101
+ */
61
102
  export const UpdatedPasskeys = Schema.TaggedStruct("UpdatedPasskeys", {
62
103
  updated: Schema.Array(Passkey),
63
104
  });
105
+ /**
106
+ * Schema for the credential identifiers returned after deleting passkeys.
107
+ *
108
+ * @category Passkeys
109
+ */
110
+ export const Credential = Schema.Struct({
111
+ credentialId: Schema.String,
112
+ userId: Schema.String,
113
+ rpId: Schema.String,
114
+ });
115
+ /**
116
+ * Raw REST API schema returned when passkeys are deleted.
117
+ *
118
+ * The package maps this into {@link DeletedPasskeys} before exposing it from
119
+ * the higher-level APIs.
120
+ *
121
+ * @category Passkeys
122
+ */
123
+ export const DeletedPasskeysResponse = Schema.TaggedStruct("DeletedPasskeys", {
124
+ deleted: Schema.Array(Passkey),
125
+ });
126
+ /**
127
+ * Public schema returned when passkeys are deleted by user ID.
128
+ *
129
+ * @category Passkeys
130
+ */
131
+ export const DeletedPasskeys = Schema.TaggedStruct("DeletedPasskeys", {
132
+ deleted: Schema.Array(Credential),
133
+ });
134
+ /**
135
+ * Public schema returned when a single passkey is deleted.
136
+ *
137
+ * @category Passkeys
138
+ */
139
+ export const DeletedPasskey = Schema.TaggedStruct("DeletedPasskey", {
140
+ deleted: Credential,
141
+ });
64
142
  //# sourceMappingURL=passkey.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/schemas/passkey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;;GAKG;AAEH,0BAA0B;AAE1B,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAC5C,UAAU,EACV,WAAW,EACX,aAAa,CACd,CAAA;AAED,aAAa;AAEb,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,cAAc,EAAE,aAAa,CAAU,CAAA;AAG5E,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK;IACL,QAAQ;IACR,UAAU;IACV,KAAK;IACL,KAAK;IACL,OAAO;IACP,YAAY;CACJ,CAAA;AAGV,aAAa;AAEb,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE;IACpD,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB;QAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,6BAA6B;QACpD,QAAQ,EAAE,MAAM,CAAC,MAAM;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,MAAM,CAAC,OAAO;QACxB,OAAO,EAAE,MAAM,CAAC,MAAM;QACtB,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAoB,CAAC;QACnD,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;QACvD,SAAS,EAAE,MAAM,CAAC,uBAAuB;QACzC,IAAI,EAAE,MAAM,CAAC,MAAM;KACpB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,CACvB,MAAM,CAAC,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KACrC,CAAC,CACH;IACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA;AAMF,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,EAAE;IAClE,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;QACxB,EAAE,EAAE,MAAM,CAAC,MAAM;QACjB,MAAM,EAAE,MAAM,CAAC,MAAM;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;CACzC,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;IACpE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;CACtC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE;IACpE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;CAC/B,CAAC,CAAA","sourcesContent":["import { Schema } from \"effect\"\n\n/*\n * Important. We don't use `type X = typeof X.Type` because it won't generate\n * the Typedoc docs, so instead we mirror the types and use a dummy\n * `type _x = satisfy<typeof X.Type, X>`\n * kind of a type level satisfies\n */\n\n/* Registration Options */\n\nexport const UserVerification = Schema.Literal(\n \"required\",\n \"preferred\",\n \"discouraged\"\n)\n\n/* Passkey */\n\nexport const CredentialDeviceType = [\"singleDevice\", \"multiDevice\"] as const\nexport type CredentialDeviceType = (typeof CredentialDeviceType)[number]\n\nexport const Transports = [\n \"ble\",\n \"hybrid\",\n \"internal\",\n \"nfc\",\n \"usb\",\n \"cable\",\n \"smart-card\",\n] as const\nexport type Transports = (typeof Transports)[number]\n\n/* Passkey */\n\nexport const Passkey = Schema.TaggedStruct(\"Passkey\", {\n id: Schema.String,\n userId: Schema.optional(Schema.String),\n enabled: Schema.Boolean,\n credential: Schema.Struct({\n id: Schema.String, // webAuthnId (Base64Url)\n userId: Schema.String, // webAuthnUserId (Base64Url)\n username: Schema.String,\n aaguid: Schema.String,\n backedUp: Schema.Boolean,\n counter: Schema.Number,\n deviceType: Schema.Literal(...CredentialDeviceType),\n transports: Schema.Array(Schema.Literal(...Transports)),\n publicKey: Schema.Uint8ArrayFromBase64Url,\n rpId: Schema.String,\n }),\n platform: Schema.optional(\n Schema.Struct({\n icon: Schema.optional(Schema.String),\n name: Schema.optional(Schema.String),\n })\n ),\n lastUsed: Schema.optional(Schema.Number),\n createdAt: Schema.Number,\n updatedAt: Schema.Number,\n})\n\nexport type Passkey = typeof Passkey.Type\n\nexport type PasskeyEncoded = typeof Passkey.Encoded\n\nexport const PasskeySummary = Schema.TaggedStruct(\"PasskeySummary\", {\n id: Schema.String,\n userId: Schema.String,\n credential: Schema.Struct({\n id: Schema.String,\n userId: Schema.String,\n }),\n enabled: Schema.Boolean,\n createdAt: Schema.Number,\n lastUsed: Schema.optional(Schema.Number),\n})\n\nexport type PasskeySummary = typeof PasskeySummary.Type\n\nexport const FindAllPasskeys = Schema.TaggedStruct(\"FindAllPasskeys\", {\n cursor: Schema.NullOr(Schema.String),\n records: Schema.Array(PasskeySummary),\n})\n\nexport const UpdatedPasskeys = Schema.TaggedStruct(\"UpdatedPasskeys\", {\n updated: Schema.Array(Passkey),\n})\n"]}
1
+ {"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../src/schemas/passkey.ts"],"names":[],"mappings":"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","sourcesContent":["import { Schema } from \"effect\"\n\n/*\n * Important. We don't use `type X = typeof X.Type` because it won't generate\n * the Typedoc docs, so instead we mirror the types and use a dummy\n * `type _x = satisfy<typeof X.Type, X>`\n * kind of a type level satisfies\n */\n\n/* Registration Options */\n\n/**\n * Valid user verification requirements for WebAuthn operations.\n *\n * @category Passkeys\n */\nexport const UserVerification = Schema.Literal(\n \"required\",\n \"preferred\",\n \"discouraged\"\n)\n\n/* Passkey */\n\n/**\n * Possible device types reported for a passkey credential.\n *\n * @category Passkeys\n */\nexport const CredentialDeviceType = [\"singleDevice\", \"multiDevice\"] as const\n\n/**\n * Union of device types reported for a passkey credential.\n *\n * @category Passkeys\n */\nexport type CredentialDeviceType = (typeof CredentialDeviceType)[number]\n\n/**\n * Possible authenticator transport hints exposed by Passlock.\n *\n * @category Passkeys\n */\nexport const Transports = [\n \"ble\",\n \"hybrid\",\n \"internal\",\n \"nfc\",\n \"usb\",\n \"cable\",\n \"smart-card\",\n] as const\n\n/**\n * Union of authenticator transport hints exposed by Passlock.\n *\n * @category Passkeys\n */\nexport type Transports = (typeof Transports)[number]\n\n/* Passkey */\n\n/**\n * Schema for the WebAuthn credential portion of a passkey.\n *\n * @category Passkeys\n */\nexport const PasskeyCredential = Schema.Struct({\n id: Schema.String, // webAuthnId (Base64Url)\n userId: Schema.String, // webAuthnUserId (Base64Url)\n username: Schema.String,\n aaguid: Schema.String,\n backedUp: Schema.Boolean,\n counter: Schema.Number,\n deviceType: Schema.Literal(...CredentialDeviceType),\n transports: Schema.Array(Schema.Literal(...Transports)),\n publicKey: Schema.Uint8ArrayFromBase64Url,\n rpId: Schema.String,\n})\n\n/**\n * Type produced by {@link PasskeyCredential}.\n *\n * @category Passkeys\n */\nexport type PasskeyCredential = typeof PasskeyCredential.Type\n\n/**\n * Schema for a passkey stored in the Passlock vault.\n *\n * @category Passkeys\n */\nexport const Passkey = Schema.TaggedStruct(\"Passkey\", {\n id: Schema.String,\n userId: Schema.optional(Schema.String),\n enabled: Schema.Boolean,\n credential: PasskeyCredential,\n platform: Schema.optional(\n Schema.Struct({\n icon: Schema.optional(Schema.String),\n name: Schema.optional(Schema.String),\n })\n ),\n lastUsed: Schema.optional(Schema.Number),\n createdAt: Schema.Number,\n updatedAt: Schema.Number,\n})\n\n/**\n * Type produced by {@link Passkey}.\n *\n * @category Passkeys\n */\nexport type Passkey = typeof Passkey.Type\n\n/**\n * Encoded transport shape for {@link Passkey}.\n *\n * Binary fields such as `publicKey` are represented using schema-friendly\n * encoded values.\n *\n * @category Passkeys\n */\nexport type PasskeyEncoded = typeof Passkey.Encoded\n\n/**\n * Schema for the compact passkey payload returned by listing operations.\n *\n * @category Passkeys\n */\nexport const PasskeySummary = Schema.TaggedStruct(\"PasskeySummary\", {\n id: Schema.String,\n userId: Schema.String,\n credential: Schema.Struct({\n id: Schema.String,\n userId: Schema.String,\n }),\n enabled: Schema.Boolean,\n createdAt: Schema.Number,\n lastUsed: Schema.optional(Schema.Number),\n})\n\n/**\n * Type produced by {@link PasskeySummary}.\n *\n * @category Passkeys\n */\nexport type PasskeySummary = typeof PasskeySummary.Type\n\n/**\n * Schema for one page of passkey summaries.\n *\n * @category Passkeys\n */\nexport const FindAllPasskeys = Schema.TaggedStruct(\"FindAllPasskeys\", {\n cursor: Schema.NullOr(Schema.String),\n records: Schema.Array(PasskeySummary),\n})\n\n/**\n * Schema for a bulk passkey update response.\n *\n * @category Passkeys\n */\nexport const UpdatedPasskeys = Schema.TaggedStruct(\"UpdatedPasskeys\", {\n updated: Schema.Array(Passkey),\n})\n\n/**\n * Schema for the credential identifiers returned after deleting passkeys.\n *\n * @category Passkeys\n */\nexport const Credential = Schema.Struct({\n credentialId: Schema.String,\n userId: Schema.String,\n rpId: Schema.String,\n})\n\n/**\n * Type produced by {@link Credential}.\n *\n * @category Passkeys\n */\nexport type Credential = typeof Credential.Type\n\n/**\n * Raw REST API schema returned when passkeys are deleted.\n *\n * The package maps this into {@link DeletedPasskeys} before exposing it from\n * the higher-level APIs.\n *\n * @category Passkeys\n */\nexport const DeletedPasskeysResponse = Schema.TaggedStruct(\"DeletedPasskeys\", {\n deleted: Schema.Array(Passkey),\n})\n\n/**\n * Public schema returned when passkeys are deleted by user ID.\n *\n * @category Passkeys\n */\nexport const DeletedPasskeys = Schema.TaggedStruct(\"DeletedPasskeys\", {\n deleted: Schema.Array(Credential),\n})\n\n/**\n * Public schema returned when a single passkey is deleted.\n *\n * @category Passkeys\n */\nexport const DeletedPasskey = Schema.TaggedStruct(\"DeletedPasskey\", {\n deleted: Credential,\n})\n"]}
@@ -1,4 +1,9 @@
1
1
  import { Schema } from "effect";
2
+ /**
3
+ * Schema for the principal payload produced after verifying an `id_token`.
4
+ *
5
+ * @category Principal
6
+ */
2
7
  export declare const PrincipalSchema: Schema.TaggedStruct<"Principal", {
3
8
  id: typeof Schema.String;
4
9
  authenticatorId: typeof Schema.String;
@@ -11,6 +16,12 @@ export declare const PrincipalSchema: Schema.TaggedStruct<"Principal", {
11
16
  }>>;
12
17
  userId: typeof Schema.String;
13
18
  }>;
19
+ /**
20
+ * Principal payload describing a completed authentication or registration
21
+ * operation.
22
+ *
23
+ * @category Principal
24
+ */
14
25
  export type Principal = {
15
26
  readonly _tag: "Principal";
16
27
  readonly id: string;
@@ -24,7 +35,17 @@ export type Principal = {
24
35
  } | undefined;
25
36
  readonly expiresAt: number;
26
37
  };
38
+ /**
39
+ * Type guard for {@link Principal}.
40
+ *
41
+ * @category Principal
42
+ */
27
43
  export declare const isPrincipal: (payload: unknown) => payload is Principal;
44
+ /**
45
+ * Schema for the richer principal payload returned by `exchangeCode`.
46
+ *
47
+ * @category Principal
48
+ */
28
49
  export declare const ExtendedPrincipalSchema: Schema.TaggedStruct<"ExtendedPrincipal", {
29
50
  id: typeof Schema.String;
30
51
  authenticatorId: typeof Schema.String;
@@ -42,6 +63,14 @@ export declare const ExtendedPrincipalSchema: Schema.TaggedStruct<"ExtendedPrinc
42
63
  userAgent: Schema.optional<typeof Schema.String>;
43
64
  }>;
44
65
  }>;
66
+ /**
67
+ * Extended principal payload returned by `exchangeCode`.
68
+ *
69
+ * In addition to the base principal fields it includes request metadata such as
70
+ * IP address and user agent when available.
71
+ *
72
+ * @category Principal
73
+ */
45
74
  export type ExtendedPrincipal = {
46
75
  readonly _tag: "ExtendedPrincipal";
47
76
  readonly id: string;
@@ -60,7 +89,17 @@ export type ExtendedPrincipal = {
60
89
  readonly userAgent?: string | undefined;
61
90
  };
62
91
  };
92
+ /**
93
+ * Type guard for {@link ExtendedPrincipal}.
94
+ *
95
+ * @category Principal
96
+ */
63
97
  export declare const isExtendedPrincipal: (payload: unknown) => payload is ExtendedPrincipal;
98
+ /**
99
+ * Schema for the Passlock JWT claims used by {@link PrincipalSchema}.
100
+ *
101
+ * @category Principal
102
+ */
64
103
  export declare const IdTokenSchema: Schema.TaggedStruct<"IdToken", {
65
104
  "a:id": typeof Schema.String;
66
105
  "a:typ": typeof Schema.String;
@@ -72,6 +111,12 @@ export declare const IdTokenSchema: Schema.TaggedStruct<"IdToken", {
72
111
  "pk:uv": typeof Schema.Boolean;
73
112
  sub: typeof Schema.String;
74
113
  }>;
114
+ /**
115
+ * Decoded Passlock JWT claims used internally when verifying `id_token`
116
+ * payloads.
117
+ *
118
+ * @category Principal
119
+ */
75
120
  export type IdToken = {
76
121
  readonly "a:id": string;
77
122
  readonly "a:typ": string;
@@ -84,5 +129,10 @@ export type IdToken = {
84
129
  readonly sub: string;
85
130
  readonly _tag: "IdToken";
86
131
  };
132
+ /**
133
+ * Type guard for {@link IdToken}.
134
+ *
135
+ * @category Principal
136
+ */
87
137
  export declare const isIdToken: (payload: unknown) => payload is IdToken;
88
138
  //# sourceMappingURL=principal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../src/schemas/principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B,eAAO,MAAM,eAAe;;;;;;;;;;;EAa1B,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EACb;QACE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;QAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAC3B,GACD,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,SACrB,CAAA;AAIrC,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAqBnC,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EACb;QACE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;QAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;QAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3C,GACD,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACxC,CAAA;CACF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,SAAS,OAAO,KACf,OAAO,IAAI,iBAAgE,CAAA;AAO9E,eAAO,MAAM,aAAa;;;;;;;;;;EAUxB,CAAA;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,OACrB,CAAA"}
1
+ {"version":3,"file":"principal.d.ts","sourceRoot":"","sources":["../../src/schemas/principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK/B;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;EAa1B,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EACb;QACE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;QAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAC3B,GACD,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,SACrB,CAAA;AAIrC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAqBnC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EACb;QACE,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAA;QAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;QAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3C,GACD,SAAS,CAAA;IACb,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACxC,CAAA;CACF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,SAAS,OAAO,KACf,OAAO,IAAI,iBAAgE,CAAA;AAO9E;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;EAUxB,CAAA;AAEF;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAA;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CACzB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,KAAG,OAAO,IAAI,OACrB,CAAA"}
@@ -1,5 +1,10 @@
1
1
  import { Schema } from "effect";
2
2
  /* Principal */
3
+ /**
4
+ * Schema for the principal payload produced after verifying an `id_token`.
5
+ *
6
+ * @category Principal
7
+ */
3
8
  export const PrincipalSchema = Schema.TaggedStruct("Principal", {
4
9
  id: Schema.String,
5
10
  authenticatorId: Schema.String,
@@ -12,7 +17,17 @@ export const PrincipalSchema = Schema.TaggedStruct("Principal", {
12
17
  })),
13
18
  userId: Schema.String,
14
19
  });
20
+ /**
21
+ * Type guard for {@link Principal}.
22
+ *
23
+ * @category Principal
24
+ */
15
25
  export const isPrincipal = (payload) => Schema.is(PrincipalSchema)(payload);
26
+ /**
27
+ * Schema for the richer principal payload returned by `exchangeCode`.
28
+ *
29
+ * @category Principal
30
+ */
16
31
  export const ExtendedPrincipalSchema = Schema.TaggedStruct("ExtendedPrincipal", {
17
32
  id: Schema.String,
18
33
  authenticatorId: Schema.String,
@@ -30,7 +45,17 @@ export const ExtendedPrincipalSchema = Schema.TaggedStruct("ExtendedPrincipal",
30
45
  userAgent: Schema.optional(Schema.String),
31
46
  }),
32
47
  });
48
+ /**
49
+ * Type guard for {@link ExtendedPrincipal}.
50
+ *
51
+ * @category Principal
52
+ */
33
53
  export const isExtendedPrincipal = (payload) => Schema.is(ExtendedPrincipalSchema)(payload);
54
+ /**
55
+ * Schema for the Passlock JWT claims used by {@link PrincipalSchema}.
56
+ *
57
+ * @category Principal
58
+ */
34
59
  export const IdTokenSchema = Schema.TaggedStruct("IdToken", {
35
60
  "a:id": Schema.String,
36
61
  "a:typ": Schema.String,
@@ -42,5 +67,10 @@ export const IdTokenSchema = Schema.TaggedStruct("IdToken", {
42
67
  "pk:uv": Schema.Boolean,
43
68
  sub: Schema.String,
44
69
  });
70
+ /**
71
+ * Type guard for {@link IdToken}.
72
+ *
73
+ * @category Principal
74
+ */
45
75
  export const isIdToken = (payload) => Schema.is(IdTokenSchema)(payload);
46
76
  //# sourceMappingURL=principal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/schemas/principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;AAEf,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE;IAC9D,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,QAAQ,CACtB,MAAM,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC,OAAO;QAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC,CACH;IACD,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAkBF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAwB,EAAE,CACpE,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAA;AAIrC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,YAAY,CACxD,mBAAmB,EACnB;IACE,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,QAAQ,CACtB,MAAM,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,YAAY,EAAE,MAAM,CAAC,OAAO;QAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC,CACH;IACD,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KAC1C,CAAC;CACH,CACF,CAAA;AAuBD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAgB,EACc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAA;AAO9E,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE;IAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC,CAAA;AAeF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAsB,EAAE,CAChE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAA","sourcesContent":["import { Schema } from \"effect\"\nimport type { satisfy } from \"./satisfy.js\"\n\n/* Principal */\n\nexport const PrincipalSchema = Schema.TaggedStruct(\"Principal\", {\n id: Schema.String,\n authenticatorId: Schema.String,\n authenticatorType: Schema.Literal(\"passkey\"),\n createdAt: Schema.Number,\n expiresAt: Schema.Number,\n passkey: Schema.optional(\n Schema.Struct({\n userVerified: Schema.Boolean,\n verified: Schema.Boolean,\n })\n ),\n userId: Schema.String,\n})\n\nexport type Principal = {\n readonly _tag: \"Principal\"\n readonly id: string\n readonly userId: string\n readonly createdAt: number\n readonly authenticatorId: string\n readonly authenticatorType: \"passkey\"\n readonly passkey?:\n | {\n readonly userVerified: boolean\n readonly verified: boolean\n }\n | undefined\n readonly expiresAt: number\n}\n\nexport const isPrincipal = (payload: unknown): payload is Principal =>\n Schema.is(PrincipalSchema)(payload)\n\ntype _Principal = satisfy<typeof PrincipalSchema.Type, Principal>\n\nexport const ExtendedPrincipalSchema = Schema.TaggedStruct(\n \"ExtendedPrincipal\",\n {\n id: Schema.String,\n authenticatorId: Schema.String,\n authenticatorType: Schema.Literal(\"passkey\"),\n createdAt: Schema.Number,\n expiresAt: Schema.Number,\n passkey: Schema.optional(\n Schema.Struct({\n platformName: Schema.optional(Schema.String),\n userVerified: Schema.Boolean,\n verified: Schema.Boolean,\n })\n ),\n userId: Schema.String,\n metadata: Schema.Struct({\n ipAddress: Schema.optional(Schema.String),\n userAgent: Schema.optional(Schema.String),\n }),\n }\n)\n\nexport type ExtendedPrincipal = {\n readonly _tag: \"ExtendedPrincipal\"\n readonly id: string\n readonly authenticatorId: string\n readonly authenticatorType: \"passkey\"\n readonly passkey?:\n | {\n readonly userVerified: boolean\n readonly verified: boolean\n readonly platformName?: string | undefined\n }\n | undefined\n readonly createdAt: number\n readonly expiresAt: number\n readonly userId: string\n readonly metadata: {\n readonly ipAddress?: string | undefined\n readonly userAgent?: string | undefined\n }\n}\n\nexport const isExtendedPrincipal = (\n payload: unknown\n): payload is ExtendedPrincipal => Schema.is(ExtendedPrincipalSchema)(payload)\n\ntype _ExtendedPrincipal = satisfy<\n typeof ExtendedPrincipalSchema.Type,\n ExtendedPrincipal\n>\n\nexport const IdTokenSchema = Schema.TaggedStruct(\"IdToken\", {\n \"a:id\": Schema.String,\n \"a:typ\": Schema.String,\n aud: Schema.String,\n exp: Schema.Number,\n iat: Schema.Number,\n iss: Schema.Literal(\"passlock.dev\"),\n jti: Schema.String,\n \"pk:uv\": Schema.Boolean,\n sub: Schema.String,\n})\n\nexport type IdToken = {\n readonly \"a:id\": string\n readonly \"a:typ\": string\n readonly aud: string\n readonly exp: number\n readonly iat: number\n readonly iss: \"passlock.dev\"\n readonly jti: string\n readonly \"pk:uv\": boolean\n readonly sub: string\n readonly _tag: \"IdToken\"\n}\n\nexport const isIdToken = (payload: unknown): payload is IdToken =>\n Schema.is(IdTokenSchema)(payload)\n\ntype _IdToken = satisfy<typeof IdTokenSchema.Type, IdToken>\n"]}
1
+ {"version":3,"file":"principal.js","sourceRoot":"","sources":["../../src/schemas/principal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAG/B,eAAe;AAEf;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE;IAC9D,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,QAAQ,CACtB,MAAM,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC,OAAO;QAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC,CACH;IACD,MAAM,EAAE,MAAM,CAAC,MAAM;CACtB,CAAC,CAAA;AAwBF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAgB,EAAwB,EAAE,CACpE,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAA;AAIrC;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,YAAY,CACxD,mBAAmB,EACnB;IACE,EAAE,EAAE,MAAM,CAAC,MAAM;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM;IAC9B,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,OAAO,EAAE,MAAM,CAAC,QAAQ,CACtB,MAAM,CAAC,MAAM,CAAC;QACZ,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5C,YAAY,EAAE,MAAM,CAAC,OAAO;QAC5B,QAAQ,EAAE,MAAM,CAAC,OAAO;KACzB,CAAC,CACH;IACD,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACzC,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;KAC1C,CAAC;CACH,CACF,CAAA;AA+BD;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,OAAgB,EACc,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAA;AAO9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE;IAC1D,MAAM,EAAE,MAAM,CAAC,MAAM;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM;IAClB,OAAO,EAAE,MAAM,CAAC,OAAO;IACvB,GAAG,EAAE,MAAM,CAAC,MAAM;CACnB,CAAC,CAAA;AAqBF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgB,EAAsB,EAAE,CAChE,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAA","sourcesContent":["import { Schema } from \"effect\"\nimport type { satisfy } from \"./satisfy.js\"\n\n/* Principal */\n\n/**\n * Schema for the principal payload produced after verifying an `id_token`.\n *\n * @category Principal\n */\nexport const PrincipalSchema = Schema.TaggedStruct(\"Principal\", {\n id: Schema.String,\n authenticatorId: Schema.String,\n authenticatorType: Schema.Literal(\"passkey\"),\n createdAt: Schema.Number,\n expiresAt: Schema.Number,\n passkey: Schema.optional(\n Schema.Struct({\n userVerified: Schema.Boolean,\n verified: Schema.Boolean,\n })\n ),\n userId: Schema.String,\n})\n\n/**\n * Principal payload describing a completed authentication or registration\n * operation.\n *\n * @category Principal\n */\nexport type Principal = {\n readonly _tag: \"Principal\"\n readonly id: string\n readonly userId: string\n readonly createdAt: number\n readonly authenticatorId: string\n readonly authenticatorType: \"passkey\"\n readonly passkey?:\n | {\n readonly userVerified: boolean\n readonly verified: boolean\n }\n | undefined\n readonly expiresAt: number\n}\n\n/**\n * Type guard for {@link Principal}.\n *\n * @category Principal\n */\nexport const isPrincipal = (payload: unknown): payload is Principal =>\n Schema.is(PrincipalSchema)(payload)\n\ntype _Principal = satisfy<typeof PrincipalSchema.Type, Principal>\n\n/**\n * Schema for the richer principal payload returned by `exchangeCode`.\n *\n * @category Principal\n */\nexport const ExtendedPrincipalSchema = Schema.TaggedStruct(\n \"ExtendedPrincipal\",\n {\n id: Schema.String,\n authenticatorId: Schema.String,\n authenticatorType: Schema.Literal(\"passkey\"),\n createdAt: Schema.Number,\n expiresAt: Schema.Number,\n passkey: Schema.optional(\n Schema.Struct({\n platformName: Schema.optional(Schema.String),\n userVerified: Schema.Boolean,\n verified: Schema.Boolean,\n })\n ),\n userId: Schema.String,\n metadata: Schema.Struct({\n ipAddress: Schema.optional(Schema.String),\n userAgent: Schema.optional(Schema.String),\n }),\n }\n)\n\n/**\n * Extended principal payload returned by `exchangeCode`.\n *\n * In addition to the base principal fields it includes request metadata such as\n * IP address and user agent when available.\n *\n * @category Principal\n */\nexport type ExtendedPrincipal = {\n readonly _tag: \"ExtendedPrincipal\"\n readonly id: string\n readonly authenticatorId: string\n readonly authenticatorType: \"passkey\"\n readonly passkey?:\n | {\n readonly userVerified: boolean\n readonly verified: boolean\n readonly platformName?: string | undefined\n }\n | undefined\n readonly createdAt: number\n readonly expiresAt: number\n readonly userId: string\n readonly metadata: {\n readonly ipAddress?: string | undefined\n readonly userAgent?: string | undefined\n }\n}\n\n/**\n * Type guard for {@link ExtendedPrincipal}.\n *\n * @category Principal\n */\nexport const isExtendedPrincipal = (\n payload: unknown\n): payload is ExtendedPrincipal => Schema.is(ExtendedPrincipalSchema)(payload)\n\ntype _ExtendedPrincipal = satisfy<\n typeof ExtendedPrincipalSchema.Type,\n ExtendedPrincipal\n>\n\n/**\n * Schema for the Passlock JWT claims used by {@link PrincipalSchema}.\n *\n * @category Principal\n */\nexport const IdTokenSchema = Schema.TaggedStruct(\"IdToken\", {\n \"a:id\": Schema.String,\n \"a:typ\": Schema.String,\n aud: Schema.String,\n exp: Schema.Number,\n iat: Schema.Number,\n iss: Schema.Literal(\"passlock.dev\"),\n jti: Schema.String,\n \"pk:uv\": Schema.Boolean,\n sub: Schema.String,\n})\n\n/**\n * Decoded Passlock JWT claims used internally when verifying `id_token`\n * payloads.\n *\n * @category Principal\n */\nexport type IdToken = {\n readonly \"a:id\": string\n readonly \"a:typ\": string\n readonly aud: string\n readonly exp: number\n readonly iat: number\n readonly iss: \"passlock.dev\"\n readonly jti: string\n readonly \"pk:uv\": boolean\n readonly sub: string\n readonly _tag: \"IdToken\"\n}\n\n/**\n * Type guard for {@link IdToken}.\n *\n * @category Principal\n */\nexport const isIdToken = (payload: unknown): payload is IdToken =>\n Schema.is(IdTokenSchema)(payload)\n\ntype _IdToken = satisfy<typeof IdTokenSchema.Type, IdToken>\n"]}
@@ -1,13 +1,33 @@
1
1
  import { Schema } from "effect";
2
+ /**
3
+ * Schema for the signup payload accepted by Passlock signup flows.
4
+ *
5
+ * @category Signup
6
+ */
2
7
  export declare const SignupPayload: Schema.Struct<{
3
8
  email: typeof Schema.String;
4
9
  firstName: typeof Schema.String;
5
10
  lastName: typeof Schema.String;
6
11
  }>;
12
+ /**
13
+ * Type produced by {@link SignupPayload}.
14
+ *
15
+ * @category Signup
16
+ */
7
17
  export type SignupPayload = typeof SignupPayload.Type;
18
+ /**
19
+ * Schema for tenancy credentials returned after signup.
20
+ *
21
+ * @category Signup
22
+ */
8
23
  export declare const TenancyData: Schema.TaggedStruct<"TenancyData", {
9
24
  apiKey: Schema.Redacted<typeof Schema.String>;
10
25
  tenancyId: typeof Schema.String;
11
26
  }>;
27
+ /**
28
+ * Type produced by {@link TenancyData}.
29
+ *
30
+ * @category Signup
31
+ */
12
32
  export type TenancyData = typeof TenancyData.Type;
13
33
  //# sourceMappingURL=signup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../src/schemas/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,eAAO,MAAM,aAAa;;;;EAIxB,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA"}
1
+ {"version":3,"file":"signup.d.ts","sourceRoot":"","sources":["../../src/schemas/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,eAAO,MAAM,aAAa;;;;EAIxB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,IAAI,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,WAAW;;;EAGtB,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAA"}
@@ -1,9 +1,19 @@
1
1
  import { Schema } from "effect";
2
+ /**
3
+ * Schema for the signup payload accepted by Passlock signup flows.
4
+ *
5
+ * @category Signup
6
+ */
2
7
  export const SignupPayload = Schema.Struct({
3
8
  email: Schema.String,
4
9
  firstName: Schema.String,
5
10
  lastName: Schema.String,
6
11
  });
12
+ /**
13
+ * Schema for tenancy credentials returned after signup.
14
+ *
15
+ * @category Signup
16
+ */
7
17
  export const TenancyData = Schema.TaggedStruct("TenancyData", {
8
18
  apiKey: Schema.Redacted(Schema.String),
9
19
  tenancyId: Schema.String,
@@ -1 +1 @@
1
- {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../src/schemas/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA","sourcesContent":["import { Schema } from \"effect\"\n\nexport const SignupPayload = Schema.Struct({\n email: Schema.String,\n firstName: Schema.String,\n lastName: Schema.String,\n})\n\nexport type SignupPayload = typeof SignupPayload.Type\n\nexport const TenancyData = Schema.TaggedStruct(\"TenancyData\", {\n apiKey: Schema.Redacted(Schema.String),\n tenancyId: Schema.String,\n})\n\nexport type TenancyData = typeof TenancyData.Type\n"]}
1
+ {"version":3,"file":"signup.js","sourceRoot":"","sources":["../../src/schemas/signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,SAAS,EAAE,MAAM,CAAC,MAAM;IACxB,QAAQ,EAAE,MAAM,CAAC,MAAM;CACxB,CAAC,CAAA;AASF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,aAAa,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,SAAS,EAAE,MAAM,CAAC,MAAM;CACzB,CAAC,CAAA","sourcesContent":["import { Schema } from \"effect\"\n\n/**\n * Schema for the signup payload accepted by Passlock signup flows.\n *\n * @category Signup\n */\nexport const SignupPayload = Schema.Struct({\n email: Schema.String,\n firstName: Schema.String,\n lastName: Schema.String,\n})\n\n/**\n * Type produced by {@link SignupPayload}.\n *\n * @category Signup\n */\nexport type SignupPayload = typeof SignupPayload.Type\n\n/**\n * Schema for tenancy credentials returned after signup.\n *\n * @category Signup\n */\nexport const TenancyData = Schema.TaggedStruct(\"TenancyData\", {\n apiKey: Schema.Redacted(Schema.String),\n tenancyId: Schema.String,\n})\n\n/**\n * Type produced by {@link TenancyData}.\n *\n * @category Signup\n */\nexport type TenancyData = typeof TenancyData.Type\n"]}