@yielded/auth-persistence-drizzle 0.1.0-beta.0 → 0.1.0-beta.1

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 (204) hide show
  1. package/README.md +6 -1
  2. package/dist/D1.d.mts +135 -25
  3. package/dist/D1.mjs +1 -3
  4. package/dist/D1.mjs.map +1 -1
  5. package/dist/Libsql.d.mts +192 -75
  6. package/dist/Libsql.mjs +1 -7
  7. package/dist/Libsql.mjs.map +1 -1
  8. package/dist/Mysql2.d.mts +177 -37
  9. package/dist/Mysql2.mjs +1 -3
  10. package/dist/Mysql2.mjs.map +1 -1
  11. package/dist/Pglite.d.mts +171 -30
  12. package/dist/Pglite.mjs +2 -3
  13. package/dist/Pglite.mjs.map +1 -1
  14. package/dist/Postgres.d.mts +177 -36
  15. package/dist/Postgres.mjs +2 -3
  16. package/dist/Postgres.mjs.map +1 -1
  17. package/dist/SqliteBun.d.mts +192 -74
  18. package/dist/SqliteBun.mjs +1 -5
  19. package/dist/SqliteBun.mjs.map +1 -1
  20. package/dist/SqliteDo.d.mts +194 -110
  21. package/dist/SqliteDo.mjs +2 -32
  22. package/dist/SqliteDo.mjs.map +1 -1
  23. package/dist/SqliteNode.d.mts +190 -72
  24. package/dist/SqliteNode.mjs +1 -5
  25. package/dist/SqliteNode.mjs.map +1 -1
  26. package/dist/SqliteWasm.d.mts +192 -74
  27. package/dist/SqliteWasm.mjs +1 -5
  28. package/dist/SqliteWasm.mjs.map +1 -1
  29. package/dist/drizzle/D1BatchStatements.d.mts +1 -1
  30. package/dist/drizzle/D1BatchStatements.mjs.map +1 -1
  31. package/dist/drizzle/d1-emails.mjs.map +1 -1
  32. package/dist/drizzle/d1-generated-statement.mjs.map +1 -1
  33. package/dist/drizzle/d1-identity.d.mts +1 -1
  34. package/dist/drizzle/d1-oauth.d.mts +35 -5
  35. package/dist/drizzle/d1-oauth.mjs +1 -1
  36. package/dist/drizzle/d1-password-prepared.mjs.map +1 -1
  37. package/dist/drizzle/d1-passwords.d.mts +1 -1
  38. package/dist/drizzle/d1-passwords.mjs.map +1 -1
  39. package/dist/drizzle/d1-proofs.d.mts +1 -1
  40. package/dist/drizzle/d1-proofs.mjs.map +1 -1
  41. package/dist/drizzle/d1-sessions.d.mts +3 -3
  42. package/dist/drizzle/d1-sessions.mjs.map +1 -1
  43. package/dist/drizzle/email-registration.d.mts +1 -1
  44. package/dist/drizzle/email-target.d.mts +1 -1
  45. package/dist/drizzle/email-target.mjs.map +1 -1
  46. package/dist/drizzle/model.d.mts +2 -126
  47. package/dist/drizzle/model.mjs +2 -21
  48. package/dist/drizzle/model.mjs.map +1 -1
  49. package/dist/drizzle/mysql-emails.d.mts +1 -1
  50. package/dist/drizzle/mysql-emails.mjs.map +1 -1
  51. package/dist/drizzle/mysql-identity.d.mts +1 -1
  52. package/dist/drizzle/mysql-password-prepared.d.mts +1 -1
  53. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -1
  54. package/dist/drizzle/mysql-passwords.d.mts +1 -1
  55. package/dist/drizzle/mysql-passwords.mjs.map +1 -1
  56. package/dist/drizzle/mysql-proofs.d.mts +1 -1
  57. package/dist/drizzle/mysql-proofs.mjs.map +1 -1
  58. package/dist/drizzle/mysql-sessions.d.mts +1 -1
  59. package/dist/drizzle/mysql-sessions.mjs.map +1 -1
  60. package/dist/drizzle/oauth-accounts.mjs +1 -1
  61. package/dist/drizzle/oauth-connected-access.mjs +14 -12
  62. package/dist/drizzle/oauth-connected-access.mjs.map +1 -1
  63. package/dist/drizzle/oauth-connected-custody.mjs +2 -2
  64. package/dist/drizzle/oauth-connected-drivers.mjs +4 -1
  65. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
  66. package/dist/drizzle/oauth-connected-flow.mjs +2 -2
  67. package/dist/drizzle/oauth-connected-input.mjs +14 -1
  68. package/dist/drizzle/oauth-connected-input.mjs.map +1 -1
  69. package/dist/drizzle/oauth-connected-maintenance.mjs +1 -1
  70. package/dist/drizzle/oauth-connected-management.mjs +2 -2
  71. package/dist/drizzle/oauth-connected-model.d.mts +17 -3
  72. package/dist/drizzle/oauth-connected-model.mjs.map +1 -1
  73. package/dist/drizzle/oauth-connected-settlement.mjs +51 -41
  74. package/dist/drizzle/oauth-connected-settlement.mjs.map +1 -1
  75. package/dist/drizzle/oauth-connected-sign-in.mjs +263 -0
  76. package/dist/drizzle/oauth-connected-sign-in.mjs.map +1 -0
  77. package/dist/drizzle/oauth-connected-state.d.mts +110 -2
  78. package/dist/drizzle/oauth-connected-state.mjs +9 -4
  79. package/dist/drizzle/oauth-connected-state.mjs.map +1 -1
  80. package/dist/drizzle/oauth-connected-target.d.mts +137 -9
  81. package/dist/drizzle/oauth-connected-target.mjs +6 -2
  82. package/dist/drizzle/oauth-connected-target.mjs.map +1 -1
  83. package/dist/drizzle/oauth-drivers.mjs +1 -1
  84. package/dist/drizzle/oauth-flow.d.mts +1 -1
  85. package/dist/drizzle/oauth-flow.mjs +1 -1
  86. package/dist/drizzle/oauth-input.mjs +1 -1
  87. package/dist/drizzle/oauth-model.d.mts +1 -1
  88. package/dist/drizzle/oauth-owner.d.mts +1 -1
  89. package/dist/drizzle/oauth-registration.d.mts +2 -2
  90. package/dist/drizzle/oauth-registration.mjs +1 -1
  91. package/dist/drizzle/oauth-state.mjs +5 -4
  92. package/dist/drizzle/oauth-state.mjs.map +1 -1
  93. package/dist/drizzle/oauth-target.d.mts +2 -2
  94. package/dist/drizzle/oauth-target.mjs +1 -1
  95. package/dist/drizzle/oauth-target.mjs.map +1 -1
  96. package/dist/drizzle/passkey-write-target.d.mts +1 -1
  97. package/dist/drizzle/password-prepared-state.mjs +1 -1
  98. package/dist/drizzle/password-prepared-target.d.mts +1 -1
  99. package/dist/drizzle/password-prepared-target.mjs.map +1 -1
  100. package/dist/drizzle/password-target.d.mts +1 -1
  101. package/dist/drizzle/password-target.mjs.map +1 -1
  102. package/dist/drizzle/pg-emails.d.mts +1 -1
  103. package/dist/drizzle/pg-emails.mjs.map +1 -1
  104. package/dist/drizzle/pg-identity.d.mts +22 -0
  105. package/dist/drizzle/pg-identity.mjs +89 -0
  106. package/dist/drizzle/pg-identity.mjs.map +1 -0
  107. package/dist/drizzle/pg-password-prepared.d.mts +1 -1
  108. package/dist/drizzle/pg-password-prepared.mjs.map +1 -1
  109. package/dist/drizzle/pg-passwords.d.mts +1 -1
  110. package/dist/drizzle/pg-passwords.mjs.map +1 -1
  111. package/dist/drizzle/pg-proofs.d.mts +1 -1
  112. package/dist/drizzle/pg-proofs.mjs.map +1 -1
  113. package/dist/drizzle/pg-sessions.d.mts +1 -1
  114. package/dist/drizzle/pg-sessions.mjs.map +1 -1
  115. package/dist/drizzle/phone-model.d.mts +1 -1
  116. package/dist/drizzle/phone-target.d.mts +1 -1
  117. package/dist/drizzle/phone-target.mjs.map +1 -1
  118. package/dist/drizzle/proof-target.d.mts +1 -1
  119. package/dist/drizzle/proof-target.mjs.map +1 -1
  120. package/dist/drizzle/session-target.d.mts +1 -1
  121. package/dist/drizzle/session-target.mjs.map +1 -1
  122. package/dist/drizzle/sqlite-emails.mjs.map +1 -1
  123. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -1
  124. package/dist/drizzle/sqlite-passwords.mjs.map +1 -1
  125. package/dist/drizzle/sqlite-proofs.mjs.map +1 -1
  126. package/dist/drizzle/sqlite-sessions.mjs.map +1 -1
  127. package/dist/drizzle/standalone-guard.mjs.map +1 -1
  128. package/dist/drizzle/totp-model.d.mts +1 -1
  129. package/dist/drizzle/totp-target.d.mts +1 -1
  130. package/dist/drizzle/totp-target.mjs.map +1 -1
  131. package/dist/drizzle/transaction-mysql.mjs +1 -1
  132. package/dist/drizzle/transaction-mysql.mjs.map +1 -1
  133. package/dist/index.d.mts +2 -4
  134. package/dist/index.mjs +2 -4
  135. package/dist/internal/drizzle-postgres.mjs.map +1 -1
  136. package/dist/internal/drizzle-sqlite.mjs.map +1 -1
  137. package/package.json +1 -1
  138. package/src/D1.ts +1 -17
  139. package/src/Libsql.ts +0 -44
  140. package/src/Mysql2.ts +1 -23
  141. package/src/Pglite.ts +2 -18
  142. package/src/Postgres.ts +2 -18
  143. package/src/SqliteBun.ts +1 -38
  144. package/src/SqliteDo.ts +1 -256
  145. package/src/SqliteNode.ts +1 -38
  146. package/src/SqliteWasm.ts +1 -38
  147. package/src/drizzle/D1BatchStatements.ts +1 -1
  148. package/src/drizzle/d1-emails.ts +2 -4
  149. package/src/drizzle/d1-generated-statement.ts +1 -1
  150. package/src/drizzle/d1-password-prepared.ts +2 -5
  151. package/src/drizzle/d1-passwords.ts +2 -4
  152. package/src/drizzle/d1-proofs.ts +2 -4
  153. package/src/drizzle/d1-sessions.ts +2 -2
  154. package/src/drizzle/email-target.ts +1 -1
  155. package/src/drizzle/model.ts +1 -208
  156. package/src/drizzle/mysql-emails.ts +1 -1
  157. package/src/drizzle/mysql-password-prepared.ts +1 -1
  158. package/src/drizzle/mysql-passwords.ts +1 -1
  159. package/src/drizzle/mysql-proofs.ts +1 -1
  160. package/src/drizzle/mysql-sessions.ts +1 -1
  161. package/src/drizzle/oauth-connected-access.ts +8 -1
  162. package/src/drizzle/oauth-connected-drivers.ts +3 -0
  163. package/src/drizzle/oauth-connected-input.ts +13 -0
  164. package/src/drizzle/oauth-connected-model.ts +17 -0
  165. package/src/drizzle/oauth-connected-settlement.ts +65 -42
  166. package/src/drizzle/oauth-connected-sign-in.ts +438 -0
  167. package/src/drizzle/oauth-connected-state.ts +19 -7
  168. package/src/drizzle/oauth-connected-target.ts +10 -1
  169. package/src/drizzle/oauth-state.ts +5 -4
  170. package/src/drizzle/oauth-target.ts +1 -1
  171. package/src/drizzle/password-prepared-target.ts +1 -1
  172. package/src/drizzle/password-target.ts +1 -1
  173. package/src/drizzle/pg-emails.ts +1 -1
  174. package/src/drizzle/pg-identity.ts +301 -0
  175. package/src/drizzle/pg-password-prepared.ts +1 -1
  176. package/src/drizzle/pg-passwords.ts +1 -1
  177. package/src/drizzle/pg-proofs.ts +1 -1
  178. package/src/drizzle/pg-sessions.ts +1 -1
  179. package/src/drizzle/phone-target.ts +1 -1
  180. package/src/drizzle/proof-target.ts +1 -1
  181. package/src/drizzle/session-target.ts +1 -1
  182. package/src/drizzle/sqlite-emails.ts +1 -1
  183. package/src/drizzle/sqlite-password-prepared.ts +1 -1
  184. package/src/drizzle/sqlite-passwords.ts +1 -1
  185. package/src/drizzle/sqlite-proofs.ts +1 -1
  186. package/src/drizzle/sqlite-sessions.ts +1 -1
  187. package/src/drizzle/standalone-guard.ts +1 -1
  188. package/src/drizzle/totp-target.ts +1 -1
  189. package/src/drizzle/transaction-mysql.ts +1 -1
  190. package/src/index.ts +0 -24
  191. package/src/internal/drizzle-postgres.ts +1 -1
  192. package/src/internal/drizzle-sqlite.ts +1 -1
  193. package/dist/drizzle/mysql.d.mts +0 -69
  194. package/dist/drizzle/mysql.mjs +0 -218
  195. package/dist/drizzle/mysql.mjs.map +0 -1
  196. package/dist/drizzle/pg.d.mts +0 -80
  197. package/dist/drizzle/pg.mjs +0 -289
  198. package/dist/drizzle/pg.mjs.map +0 -1
  199. package/dist/drizzle/sqlite.d.mts +0 -77
  200. package/dist/drizzle/sqlite.mjs +0 -217
  201. package/dist/drizzle/sqlite.mjs.map +0 -1
  202. package/src/drizzle/mysql.ts +0 -687
  203. package/src/drizzle/pg.ts +0 -984
  204. package/src/drizzle/sqlite.ts +0 -705
@@ -1,4 +1,4 @@
1
- import { AuthTables, IdentityTables } from "./drizzle/model.mjs";
1
+ import { IdentityTables } from "./drizzle/model.mjs";
2
2
  import { PasskeyCredentialMapping, PasskeyEnrollmentContextMapping, PasskeyPersistenceMapping } from "./drizzle/passkey-model.mjs";
3
3
  import { OAuthAccountsMapping, OAuthRegistrationAuthority, OAuthRegistrationIntentMapping, OAuthRegistrationMapping, OAuthSignInMapping } from "./drizzle/oauth-model.mjs";
4
4
  import { OAuthConnectedMapping, OAuthConnectedRevocationMapping } from "./drizzle/oauth-connected-model.mjs";
@@ -12,7 +12,7 @@ import "./index.mjs";
12
12
  import { SuppliedService } from "./drizzle/SuppliedService.mjs";
13
13
  import { TotpCoordinatorError } from "./drizzle/totp-target.mjs";
14
14
  import { PhoneCoordinatorError } from "./drizzle/phone-target.mjs";
15
- import { coordinatePgAuthStoreTransaction, coordinatePgAuthTransaction, coordinatePgOAuthStateTransaction, makePgAuthStoreServices, makePgExternalIdentityServices, makePgOAuthStateServices, makePgSubjectProvisioningServices } from "./drizzle/pg.mjs";
15
+ import { makePgExternalIdentityServices, makePgSubjectProvisioningServices } from "./drizzle/pg-identity.mjs";
16
16
  import { coordinatePgAuthenticationAuthority, coordinatePgPendingAuthentication, coordinatePgSessionStepUp, coordinatePgSignedSessionValidity, coordinatePgStatefulSessions, makePgAuthenticationAuthorityServices, makePgPendingAuthenticationServices, makePgSessionStepUpServices, makePgSignedSessionValidityServices, makePgStatefulSessionServices } from "./drizzle/pg-sessions.mjs";
17
17
  import { coordinatePgProofPersistence, makePgProofPersistenceServices } from "./drizzle/pg-proofs.mjs";
18
18
  import { coordinatePgPasswordPersistence, coordinatePgPasswordRegistration, makePgPasswordPersistenceServices, makePgPasswordRegistrationServices } from "./drizzle/pg-passwords.mjs";
@@ -24,24 +24,6 @@ import { AnyPgTable } from "drizzle-orm/pg-core";
24
24
  import { EffectPgDatabase } from "drizzle-orm/effect-postgres";
25
25
  //#region src/Postgres.d.ts
26
26
  export declare const commitMode: "interactive";
27
- export declare const makeAuthServices: <C extends AnyPgTable, R extends AnyPgTable, S extends AnyPgTable>(database: EffectPgDatabase<AnyRelations>, mapping: AuthTables<C, R, S>) => {
28
- readonly authStore: {
29
- readonly issueChallenge: (input: import("@yielded/auth/Schema").NewChallenge) => Effect.Effect<void, import("@yielded/auth/AuthStore").IssueChallengeError>;
30
- readonly consumeChallenge: (input: import("@yielded/auth/Schema").ConsumeChallenge) => Effect.Effect<import("@yielded/auth/Schema").VerifiedEmail, import("@yielded/auth/AuthStore").EmailOtpRejected | import("@yielded/auth/Errors").AuthStoreError>;
31
- readonly issueRegistration: (input: import("@yielded/auth/Schema").NewRegistration) => Effect.Effect<void, import("@yielded/auth/Errors").AuthStoreError>;
32
- readonly inspectRegistration: (tokenDigest: import("@yielded/auth/Schema").TokenDigest) => Effect.Effect<import("@yielded/auth/Schema").PendingRegistration, import("@yielded/auth/Errors").InvalidRegistration | import("@yielded/auth/Errors").AuthStoreError>;
33
- readonly consumeRegistration: (input: import("@yielded/auth/Schema").ConsumeRegistration) => Effect.Effect<void, import("@yielded/auth/Errors").InvalidRegistration | import("@yielded/auth/Errors").AuthStoreError>;
34
- };
35
- readonly oauthStateStore: {
36
- readonly issue: (state: import("@yielded/auth/OAuth").OAuthState) => Effect.Effect<void, import("@yielded/auth/Errors").AuthStoreError>;
37
- readonly consume: (stateDigest: import("@yielded/auth/Schema").TokenDigest) => Effect.Effect<import("@yielded/auth/OAuth").OAuthState, import("@yielded/auth/OAuth").InvalidOAuthState | import("@yielded/auth/Errors").AuthStoreError>;
38
- };
39
- readonly decisions: {
40
- readonly consumeChallenge: (input: import("@yielded/auth/Schema").ConsumeChallenge) => Effect.Effect<import("@yielded/auth/AuthStore").ChallengeConsumeDecision, import("@yielded/auth/Errors").AuthStoreError, never>;
41
- readonly consumeRegistration: (input: import("@yielded/auth/Schema").ConsumeRegistration) => Effect.Effect<import("@yielded/auth/AuthStore").ConsumeDecision<void>, import("@yielded/auth/Errors").AuthStoreError, never>;
42
- readonly consumeOAuthState: (digest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">) => Effect.Effect<import("@yielded/auth/AuthStore").ConsumeDecision<import("@yielded/auth/OAuth").OAuthState>, import("@yielded/auth/Errors").AuthStoreError, never>;
43
- };
44
- };
45
27
  export declare const makeIdentityServices: <Subject extends AnyPgTable, Identifier extends AnyPgTable, External extends AnyPgTable, Request extends AnyPgTable, NativeId>(database: EffectPgDatabase<AnyRelations>, mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>) => {
46
28
  subjectProvisioner: {
47
29
  readonly provision: (input: import("@yielded/auth/Identity").SubjectProvisioningInput) => Effect.Effect<import("@yielded/auth/Identity").ProvisioningResult, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
@@ -74,6 +56,8 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
74
56
  readonly flow: import("@yielded/auth/OAuth").OAuthLinkPendingFlow;
75
57
  readonly authorization: import("@yielded/auth/OAuth").OAuthActionAuthorization;
76
58
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
59
+ readonly _tag: "Rejected";
60
+ } | {
77
61
  readonly _tag: "Issued";
78
62
  readonly flow: {
79
63
  readonly context: {
@@ -88,6 +72,21 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
88
72
  readonly generation: number;
89
73
  readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
90
74
  readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
75
+ readonly access?: {
76
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
77
+ readonly generation: number;
78
+ readonly issuance: "active" | "retired";
79
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
80
+ readonly clientRegistrationId: string;
81
+ readonly scopes: readonly string[];
82
+ readonly resources: readonly string[];
83
+ readonly retention: "access-and-refresh" | "access-only";
84
+ readonly maximumAccessLifetimeMillis: number;
85
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
86
+ readonly refreshAheadMillis: number;
87
+ readonly refresh: "confidential" | "rotating" | "unsupported";
88
+ readonly revocation: "cohort" | "unsupported";
89
+ } | undefined;
91
90
  readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
92
91
  readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
93
92
  readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
@@ -114,8 +113,6 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
114
113
  };
115
114
  readonly retentionUntilMillis: number;
116
115
  };
117
- } | {
118
- readonly _tag: "Rejected";
119
116
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
120
117
  readonly preflight: (input: import("@yielded/auth/OAuth").OAuthLinkAccess) => Effect.Effect<import("@yielded/auth/OAuth").OAuthLinkPendingFlow | undefined, import("@yielded/auth/OAuth").OAuthUnavailable>;
121
118
  readonly claim: <A>(input: {
@@ -141,6 +138,21 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
141
138
  readonly generation: number;
142
139
  readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
143
140
  readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
141
+ readonly access?: {
142
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
143
+ readonly generation: number;
144
+ readonly issuance: "active" | "retired";
145
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
146
+ readonly clientRegistrationId: string;
147
+ readonly scopes: readonly string[];
148
+ readonly resources: readonly string[];
149
+ readonly retention: "access-and-refresh" | "access-only";
150
+ readonly maximumAccessLifetimeMillis: number;
151
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
152
+ readonly refreshAheadMillis: number;
153
+ readonly refresh: "confidential" | "rotating" | "unsupported";
154
+ readonly revocation: "cohort" | "unsupported";
155
+ } | undefined;
144
156
  readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
145
157
  readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
146
158
  readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
@@ -179,11 +191,13 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
179
191
  readonly invalidation: import("@yielded/auth/Sessions").SessionInvalidationWindow;
180
192
  readonly nowMillis: number;
181
193
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
182
- readonly _tag: "Rejected";
183
- } | {
184
194
  readonly _tag: "Cancelled";
195
+ } | {
196
+ readonly _tag: "Rejected";
185
197
  } | {
186
198
  readonly _tag: "Ambiguous";
199
+ } | {
200
+ readonly _tag: "Conflict";
187
201
  } | {
188
202
  readonly _tag: "Linked";
189
203
  readonly credential: {
@@ -205,8 +219,6 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
205
219
  };
206
220
  };
207
221
  readonly changed: boolean;
208
- } | {
209
- readonly _tag: "Conflict";
210
222
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
211
223
  readonly inspectUnlink: (input: {
212
224
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
@@ -539,6 +551,98 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
539
551
  dialect: "pg";
540
552
  }> = never>(database: EffectPgDatabase<import("drizzle-orm").TablesRelationalConfig>, mapping: OAuthConnectedMapping<S, AC, T, O, F, G, C, H, UA, DC, N, J>) => Effect.Effect<{
541
553
  oauthConnectedPersistence: {
554
+ readonly claimSignIn: <A>(input: {
555
+ readonly claim: import("@yielded/auth/OAuth").OAuthClaim;
556
+ readonly configuration: import("@yielded/auth/OAuth").OAuthConnectedConfiguration;
557
+ }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<import("@yielded/auth/OAuth").OAuthSignInAccessClaim, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
558
+ readonly inspectSignIn: (input: {
559
+ readonly reservation: import("@yielded/auth/OAuth").OAuthSignInAccessClaim;
560
+ readonly credential: import("@yielded/auth/OAuth").OAuthCredentialSnapshot;
561
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
562
+ }) => Effect.Effect<import("@yielded/auth/OAuth").OAuthSignInAccessInspection, import("@yielded/auth/OAuth").OAuthUnavailable>;
563
+ readonly settleSignIn: <A>(input: {
564
+ readonly reservation: import("@yielded/auth/OAuth").OAuthSignInAccessClaim;
565
+ readonly outcome: import("@yielded/auth/OAuth").OAuthSignInAccessOutcome;
566
+ }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
567
+ readonly _tag: "Cancelled";
568
+ } | {
569
+ readonly _tag: "Rejected";
570
+ } | {
571
+ readonly _tag: "Ambiguous";
572
+ } | {
573
+ readonly _tag: "Conflict";
574
+ } | {
575
+ readonly _tag: "Connected";
576
+ readonly grant: {
577
+ readonly context: {
578
+ readonly namespace: "effect-auth/oauth-connected-token-context/v1";
579
+ readonly exchangeOrder: string;
580
+ readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
581
+ readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
582
+ readonly identity: {
583
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
584
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
585
+ readonly subject: string;
586
+ };
587
+ readonly configuration: {
588
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
589
+ readonly protocol: "oauth" | "oidc";
590
+ readonly configurationGeneration: number;
591
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
592
+ readonly responseIssuerMode: "required" | "unsupported";
593
+ readonly callbackId: string & import("effect/Brand").Brand<"effect-auth/OAuthCallbackId">;
594
+ readonly redirectUri: string & import("effect/Brand").Brand<"effect-auth/OAuthRedirectUri">;
595
+ readonly profile: {
596
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
597
+ readonly generation: number;
598
+ readonly issuance: "active" | "retired";
599
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
600
+ readonly clientRegistrationId: string;
601
+ readonly scopes: readonly string[];
602
+ readonly resources: readonly string[];
603
+ readonly retention: "access-and-refresh" | "access-only";
604
+ readonly maximumAccessLifetimeMillis: number;
605
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
606
+ readonly refreshAheadMillis: number;
607
+ readonly refresh: "confidential" | "rotating" | "unsupported";
608
+ readonly revocation: "cohort" | "unsupported";
609
+ };
610
+ };
611
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
612
+ readonly grantVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
613
+ readonly tokenVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
614
+ readonly cohortGeneration: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
615
+ readonly metadata: {
616
+ readonly scopes: readonly string[];
617
+ readonly resources: readonly string[];
618
+ readonly accessExpiresAtMillis?: number | undefined;
619
+ readonly refreshExpiresAtMillis?: number | undefined;
620
+ readonly useUntilMillis: number;
621
+ readonly refreshUseUntilMillis?: number | undefined;
622
+ readonly obtainedAtMillis: number;
623
+ readonly profile?: {
624
+ readonly displayName?: string | undefined;
625
+ readonly handle?: string | undefined;
626
+ readonly avatarUrl?: string | undefined;
627
+ readonly profileUrl?: string | undefined;
628
+ readonly email?: string | undefined;
629
+ readonly emailVerified?: boolean | undefined;
630
+ readonly providerData?: {
631
+ readonly [x: string]: import("effect/Schema").Json;
632
+ } | undefined;
633
+ } | undefined;
634
+ };
635
+ };
636
+ readonly sealed: {
637
+ readonly format: "oauth-connected-xchacha20poly1305-v1";
638
+ readonly keyId: string;
639
+ readonly nonce: string;
640
+ readonly ciphertext: import("effect/Redacted").Redacted<string>;
641
+ };
642
+ };
643
+ } | {
644
+ readonly _tag: "Busy";
645
+ }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
542
646
  readonly capture: (input: {
543
647
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
544
648
  readonly subjectId: import("@yielded/auth/Schema").SubjectId;
@@ -567,6 +671,21 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
567
671
  readonly generation: number;
568
672
  readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
569
673
  readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
674
+ readonly access?: {
675
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
676
+ readonly generation: number;
677
+ readonly issuance: "active" | "retired";
678
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
679
+ readonly clientRegistrationId: string;
680
+ readonly scopes: readonly string[];
681
+ readonly resources: readonly string[];
682
+ readonly retention: "access-and-refresh" | "access-only";
683
+ readonly maximumAccessLifetimeMillis: number;
684
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
685
+ readonly refreshAheadMillis: number;
686
+ readonly refresh: "confidential" | "rotating" | "unsupported";
687
+ readonly revocation: "cohort" | "unsupported";
688
+ } | undefined;
570
689
  readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
571
690
  readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
572
691
  readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
@@ -669,6 +788,21 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
669
788
  readonly generation: number;
670
789
  readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
671
790
  readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
791
+ readonly access?: {
792
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
793
+ readonly generation: number;
794
+ readonly issuance: "active" | "retired";
795
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
796
+ readonly clientRegistrationId: string;
797
+ readonly scopes: readonly string[];
798
+ readonly resources: readonly string[];
799
+ readonly retention: "access-and-refresh" | "access-only";
800
+ readonly maximumAccessLifetimeMillis: number;
801
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
802
+ readonly refreshAheadMillis: number;
803
+ readonly refresh: "confidential" | "rotating" | "unsupported";
804
+ readonly revocation: "cohort" | "unsupported";
805
+ } | undefined;
672
806
  readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
673
807
  readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
674
808
  readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
@@ -776,9 +910,9 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
776
910
  readonly authorization: import("@yielded/auth/OAuth").OAuthConnectedActionAuthorization;
777
911
  readonly nowMillis: number;
778
912
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
779
- readonly _tag: "Rejected";
780
- } | {
781
913
  readonly _tag: "Cancelled";
914
+ } | {
915
+ readonly _tag: "Rejected";
782
916
  } | {
783
917
  readonly _tag: "Ambiguous";
784
918
  } | {
@@ -788,6 +922,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
788
922
  readonly grant: {
789
923
  readonly context: {
790
924
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
925
+ readonly exchangeOrder: string;
791
926
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
792
927
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
793
928
  readonly identity: {
@@ -898,6 +1033,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
898
1033
  readonly grant: {
899
1034
  readonly context: {
900
1035
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
1036
+ readonly exchangeOrder: string;
901
1037
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
902
1038
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
903
1039
  readonly identity: {
@@ -1003,6 +1139,8 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1003
1139
  readonly profileKey: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
1004
1140
  }) => Effect.Effect<{
1005
1141
  readonly _tag: "Rejected";
1142
+ } | {
1143
+ readonly _tag: "ReauthorizationRequired";
1006
1144
  } | {
1007
1145
  readonly _tag: "Busy";
1008
1146
  } | {
@@ -1010,6 +1148,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1010
1148
  readonly grant: {
1011
1149
  readonly context: {
1012
1150
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
1151
+ readonly exchangeOrder: string;
1013
1152
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
1014
1153
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
1015
1154
  readonly identity: {
@@ -1073,8 +1212,6 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1073
1212
  readonly ciphertext: import("effect/Redacted").Redacted<string>;
1074
1213
  };
1075
1214
  };
1076
- } | {
1077
- readonly _tag: "ReauthorizationRequired";
1078
1215
  }, import("@yielded/auth/OAuth").OAuthUnavailable>;
1079
1216
  readonly claimRefresh: <A>(input: {
1080
1217
  readonly grant: import("@yielded/auth/OAuth").OAuthConnectedStoredGrant;
@@ -1084,16 +1221,17 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1084
1221
  readonly lifetimeMillis: number;
1085
1222
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
1086
1223
  readonly _tag: "Rejected";
1087
- } | {
1088
- readonly _tag: "Busy";
1089
1224
  } | {
1090
1225
  readonly _tag: "ReauthorizationRequired";
1226
+ } | {
1227
+ readonly _tag: "Busy";
1091
1228
  } | {
1092
1229
  readonly _tag: "Claimed";
1093
1230
  readonly claim: {
1094
1231
  readonly grant: {
1095
1232
  readonly context: {
1096
1233
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
1234
+ readonly exchangeOrder: string;
1097
1235
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
1098
1236
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
1099
1237
  readonly identity: {
@@ -1157,6 +1295,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1157
1295
  readonly ciphertext: import("effect/Redacted").Redacted<string>;
1158
1296
  };
1159
1297
  };
1298
+ readonly order: string;
1160
1299
  readonly claimId: string & import("effect/Brand").Brand<"effect-auth/OAuthClaimId">;
1161
1300
  readonly claimedAtMillis: number;
1162
1301
  readonly claimExpiresAtMillis: number;
@@ -1176,6 +1315,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1176
1315
  readonly grant: {
1177
1316
  readonly context: {
1178
1317
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
1318
+ readonly exchangeOrder: string;
1179
1319
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
1180
1320
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
1181
1321
  readonly identity: {
@@ -1247,10 +1387,10 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1247
1387
  readonly lifetimeMillis: number;
1248
1388
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
1249
1389
  readonly _tag: "Rejected";
1250
- } | {
1251
- readonly _tag: "Busy";
1252
1390
  } | {
1253
1391
  readonly _tag: "ReauthorizationRequired";
1392
+ } | {
1393
+ readonly _tag: "Busy";
1254
1394
  } | {
1255
1395
  readonly _tag: "Admitted";
1256
1396
  readonly admissionId: string & import("effect/Brand").Brand<"effect-auth/OAuthClaimId">;
@@ -1294,6 +1434,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1294
1434
  readonly jobId: string & import("effect/Brand").Brand<"effect-auth/OAuthClaimId">;
1295
1435
  readonly token: {
1296
1436
  readonly namespace: "effect-auth/oauth-connected-token-context/v1";
1437
+ readonly exchangeOrder: string;
1297
1438
  readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
1298
1439
  readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
1299
1440
  readonly identity: {
@@ -1814,8 +1955,8 @@ export declare const makePhonePersistenceServices: <Database extends EffectPgDat
1814
1955
  };
1815
1956
  export declare const AuthPersistence: {
1816
1957
  make: <C extends import("@yielded/auth-persistence/Adapter").ClaimsCodec, const Id extends string, const A extends import("@yielded/auth-persistence/Adapter").Definition<C, Id>>(auth: A & import("@yielded/auth-persistence/Adapter").Definition<C, Id>) => import("@yielded/auth-persistence/Adapter").BoundPersistence<import("drizzle-orm/pg-core").PgTable<import("drizzle-orm/pg-core").TableConfig>, import("@effect/sql-pg/PgClient").PgClient, C, Id, A>;
1817
- migrationsLayer: (options: import("drizzle-orm/migrator").MigrationConfig) => import("effect/Layer").Layer<never, import("drizzle-orm/effect-core").EffectDrizzleQueryError | import("drizzle-orm/effect-core").MigratorInitError | import("@yielded/auth-persistence/Adapter").PersistenceConfigurationError | import("effect/unstable/sql/SqlError").SqlError, import("@effect/sql-pg/PgClient").PgClient>;
1958
+ migrationsLayer: (options: import("drizzle-orm/migrator").MigrationConfig) => import("effect/Layer").Layer<never, import("drizzle-orm/effect-core").EffectDrizzleQueryError | import("drizzle-orm/effect-core").MigratorInitError | import("@yielded/auth-persistence/Adapter").PersistenceConfigurationError | import("effect/sql/SqlError").SqlError, import("@effect/sql-pg/PgClient").PgClient>;
1818
1959
  };
1819
1960
  //#endregion
1820
- export { coordinatePgAuthStoreTransaction as coordinateAuthStoreTransaction, coordinatePgAuthTransaction as coordinateAuthTransaction, coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority, coordinatePgEmailAddress as coordinateEmailAddress, coordinatePgEmailRegistration as coordinateEmailRegistration, coordinatePgOAuthStateTransaction as coordinateOAuthStateTransaction, coordinatePgPasswordPersistence as coordinatePasswordPersistence, coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence, coordinatePgPasswordRegistration as coordinatePasswordRegistration, coordinatePgPendingAuthentication as coordinatePendingAuthentication, coordinatePgProofPersistence as coordinateProofPersistence, coordinatePgSessionStepUp as coordinateSessionStepUp, coordinatePgSignedSessionValidity as coordinateSignedSessionValidity, coordinatePgStatefulSessions as coordinateStatefulSessions, makePgAuthStoreServices as makeAuthStoreServices, makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices, makePgEmailAddressServices as makeEmailAddressServices, makePgEmailRegistrationServices as makeEmailRegistrationServices, makePgEmailSignInServices as makeEmailSignInServices, makePgExternalIdentityServices as makeExternalIdentityServices, makePgOAuthStateServices as makeOAuthStateServices, makePgPasswordPersistenceServices as makePasswordPersistenceServices, makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices, makePgPasswordRegistrationServices as makePasswordRegistrationServices, makePgPendingAuthenticationServices as makePendingAuthenticationServices, makePgProofPersistenceServices as makeProofPersistenceServices, makePgSessionStepUpServices as makeSessionStepUpServices, makePgSignedSessionValidityServices as makeSignedSessionValidityServices, makePgStatefulSessionServices as makeStatefulSessionServices, makePgSubjectProvisioningServices as makeSubjectProvisioningServices, passwordPreparedPersistenceLayer };
1961
+ export { coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority, coordinatePgEmailAddress as coordinateEmailAddress, coordinatePgEmailRegistration as coordinateEmailRegistration, coordinatePgPasswordPersistence as coordinatePasswordPersistence, coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence, coordinatePgPasswordRegistration as coordinatePasswordRegistration, coordinatePgPendingAuthentication as coordinatePendingAuthentication, coordinatePgProofPersistence as coordinateProofPersistence, coordinatePgSessionStepUp as coordinateSessionStepUp, coordinatePgSignedSessionValidity as coordinateSignedSessionValidity, coordinatePgStatefulSessions as coordinateStatefulSessions, makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices, makePgEmailAddressServices as makeEmailAddressServices, makePgEmailRegistrationServices as makeEmailRegistrationServices, makePgEmailSignInServices as makeEmailSignInServices, makePgExternalIdentityServices as makeExternalIdentityServices, makePgPasswordPersistenceServices as makePasswordPersistenceServices, makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices, makePgPasswordRegistrationServices as makePasswordRegistrationServices, makePgPendingAuthenticationServices as makePendingAuthenticationServices, makePgProofPersistenceServices as makeProofPersistenceServices, makePgSessionStepUpServices as makeSessionStepUpServices, makePgSignedSessionValidityServices as makeSignedSessionValidityServices, makePgStatefulSessionServices as makeStatefulSessionServices, makePgSubjectProvisioningServices as makeSubjectProvisioningServices, passwordPreparedPersistenceLayer };
1821
1962
  //# sourceMappingURL=Postgres.d.mts.map
package/dist/Postgres.mjs CHANGED
@@ -6,7 +6,7 @@ import { makePasskeyTarget } from "./drizzle/passkey-drivers.mjs";
6
6
  import { makePhoneTarget, sqlClientPhoneStandaloneGuard } from "./drizzle/phone-target.mjs";
7
7
  import { makeOAuthTarget } from "./drizzle/oauth-drivers.mjs";
8
8
  import { drizzleMigrationsLayer } from "./internal/drizzle-migrations.mjs";
9
- import { coordinatePgAuthStoreTransaction, coordinatePgAuthTransaction, coordinatePgOAuthStateTransaction, makePgAuthServices, makePgAuthStoreServices, makePgExternalIdentityServices, makePgIdentityServices, makePgOAuthStateServices, makePgSubjectProvisioningServices } from "./drizzle/pg.mjs";
9
+ import { makePgExternalIdentityServices, makePgIdentityServices, makePgSubjectProvisioningServices } from "./drizzle/pg-identity.mjs";
10
10
  import { coordinatePgAuthenticationAuthority, coordinatePgPendingAuthentication, coordinatePgSessionStepUp, coordinatePgSignedSessionValidity, coordinatePgStatefulSessions, makePgAuthenticationAuthorityServices, makePgPendingAuthenticationServices, makePgSessionStepUpServices, makePgSignedSessionValidityServices, makePgStatefulSessionServices } from "./drizzle/pg-sessions.mjs";
11
11
  import { coordinatePgProofPersistence, makePgProofPersistenceServices } from "./drizzle/pg-proofs.mjs";
12
12
  import { coordinatePgPasswordPersistence, coordinatePgPasswordRegistration, makePgPasswordPersistenceServices, makePgPasswordRegistrationServices } from "./drizzle/pg-passwords.mjs";
@@ -17,7 +17,6 @@ import { Effect } from "effect";
17
17
  import { makeWithDefaults } from "drizzle-orm/effect-postgres";
18
18
  //#region src/Postgres.ts
19
19
  const commitMode = "interactive";
20
- const makeAuthServices = (database, mapping) => makePgAuthServices(database, mapping);
21
20
  const makeIdentityServices = (database, mapping) => makePgIdentityServices(database, mapping);
22
21
  const { makeOAuthAccountsServices, makeOAuthSignInServices, makeOAuthRegistrationIntentServices, makeOAuthRegistrationServices, coordinateOAuthRegistration, coordinateOAuthSignIn, coordinateOAuthRegistrationIntents, coordinateOAuthAccounts, makeOAuthConnectedServices, makeOAuthConnectedRevocationServices, coordinateOAuthConnected, coordinateOAuthConnectedRevocations } = makeOAuthTarget({
23
22
  mode: "interactive",
@@ -48,6 +47,6 @@ const AuthPersistence = {
48
47
  migrationsLayer: drizzleMigrationsLayer(makeWithDefaults({}), Effect.promise(() => import("drizzle-orm/effect-postgres/migrator")).pipe(Effect.map((module) => module.migrate)))
49
48
  };
50
49
  //#endregion
51
- export { AuthPersistence, commitMode, coordinatePgAuthStoreTransaction as coordinateAuthStoreTransaction, coordinatePgAuthTransaction as coordinateAuthTransaction, coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority, coordinatePgEmailAddress as coordinateEmailAddress, coordinatePgEmailRegistration as coordinateEmailRegistration, coordinateOAuthAccounts, coordinateOAuthConnected, coordinateOAuthConnectedRevocations, coordinateOAuthRegistration, coordinateOAuthRegistrationIntents, coordinateOAuthSignIn, coordinatePgOAuthStateTransaction as coordinateOAuthStateTransaction, coordinatePasskeyManagement, coordinatePasskeyPersistence, coordinatePasskeyRegistration, coordinatePasskeyRegistrationCeremony, coordinatePgPasswordPersistence as coordinatePasswordPersistence, coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence, coordinatePgPasswordRegistration as coordinatePasswordRegistration, coordinatePgPendingAuthentication as coordinatePendingAuthentication, coordinatePhonePersistence, coordinatePgProofPersistence as coordinateProofPersistence, coordinatePgSessionStepUp as coordinateSessionStepUp, coordinatePgSignedSessionValidity as coordinateSignedSessionValidity, coordinatePgStatefulSessions as coordinateStatefulSessions, coordinateTotpPersistence, makeAuthServices, makePgAuthStoreServices as makeAuthStoreServices, makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices, makePgEmailAddressServices as makeEmailAddressServices, makePgEmailRegistrationServices as makeEmailRegistrationServices, makePgEmailSignInServices as makeEmailSignInServices, makePgExternalIdentityServices as makeExternalIdentityServices, makeIdentityServices, makeOAuthAccountsServices, makeOAuthConnectedRevocationServices, makeOAuthConnectedServices, makeOAuthRegistrationIntentServices, makeOAuthRegistrationServices, makeOAuthSignInServices, makePgOAuthStateServices as makeOAuthStateServices, makePasskeyCredentialServices, makePasskeyEnrollmentContextServices, makePasskeyManagementServices, makePasskeyPersistenceServices, makePasskeyRegistrationCeremonyServices, makePasskeyRegistrationServices, makePgPasswordPersistenceServices as makePasswordPersistenceServices, makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices, makePgPasswordRegistrationServices as makePasswordRegistrationServices, makePgPendingAuthenticationServices as makePendingAuthenticationServices, makePhonePersistenceServices, makePgProofPersistenceServices as makeProofPersistenceServices, makePgSessionStepUpServices as makeSessionStepUpServices, makePgSignedSessionValidityServices as makeSignedSessionValidityServices, makePgStatefulSessionServices as makeStatefulSessionServices, makePgSubjectProvisioningServices as makeSubjectProvisioningServices, makeTotpPersistenceServices, passwordPreparedPersistenceLayer };
50
+ export { AuthPersistence, commitMode, coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority, coordinatePgEmailAddress as coordinateEmailAddress, coordinatePgEmailRegistration as coordinateEmailRegistration, coordinateOAuthAccounts, coordinateOAuthConnected, coordinateOAuthConnectedRevocations, coordinateOAuthRegistration, coordinateOAuthRegistrationIntents, coordinateOAuthSignIn, coordinatePasskeyManagement, coordinatePasskeyPersistence, coordinatePasskeyRegistration, coordinatePasskeyRegistrationCeremony, coordinatePgPasswordPersistence as coordinatePasswordPersistence, coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence, coordinatePgPasswordRegistration as coordinatePasswordRegistration, coordinatePgPendingAuthentication as coordinatePendingAuthentication, coordinatePhonePersistence, coordinatePgProofPersistence as coordinateProofPersistence, coordinatePgSessionStepUp as coordinateSessionStepUp, coordinatePgSignedSessionValidity as coordinateSignedSessionValidity, coordinatePgStatefulSessions as coordinateStatefulSessions, coordinateTotpPersistence, makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices, makePgEmailAddressServices as makeEmailAddressServices, makePgEmailRegistrationServices as makeEmailRegistrationServices, makePgEmailSignInServices as makeEmailSignInServices, makePgExternalIdentityServices as makeExternalIdentityServices, makeIdentityServices, makeOAuthAccountsServices, makeOAuthConnectedRevocationServices, makeOAuthConnectedServices, makeOAuthRegistrationIntentServices, makeOAuthRegistrationServices, makeOAuthSignInServices, makePasskeyCredentialServices, makePasskeyEnrollmentContextServices, makePasskeyManagementServices, makePasskeyPersistenceServices, makePasskeyRegistrationCeremonyServices, makePasskeyRegistrationServices, makePgPasswordPersistenceServices as makePasswordPersistenceServices, makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices, makePgPasswordRegistrationServices as makePasswordRegistrationServices, makePgPendingAuthenticationServices as makePendingAuthenticationServices, makePhonePersistenceServices, makePgProofPersistenceServices as makeProofPersistenceServices, makePgSessionStepUpServices as makeSessionStepUpServices, makePgSignedSessionValidityServices as makeSignedSessionValidityServices, makePgStatefulSessionServices as makeStatefulSessionServices, makePgSubjectProvisioningServices as makeSubjectProvisioningServices, makeTotpPersistenceServices, passwordPreparedPersistenceLayer };
52
51
 
53
52
  //# sourceMappingURL=Postgres.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Postgres.mjs","names":[],"sources":["../src/Postgres.ts"],"sourcesContent":["import type { AnyRelations } from \"drizzle-orm\";\nimport { type EffectPgDatabase, makeWithDefaults } from \"drizzle-orm/effect-postgres\";\nimport type { AnyPgTable } from \"drizzle-orm/pg-core\";\nimport { Effect } from \"effect\";\n\nimport type { AuthTables, IdentityTables } from \"./drizzle/model\";\nimport {\n coordinatePgAuthStoreTransaction,\n coordinatePgAuthTransaction,\n coordinatePgOAuthStateTransaction,\n makePgAuthServices,\n makePgAuthStoreServices,\n makePgExternalIdentityServices,\n makePgIdentityServices,\n makePgOAuthStateServices,\n makePgSubjectProvisioningServices,\n} from \"./drizzle/pg\";\n\nexport {\n coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority,\n coordinatePgPendingAuthentication as coordinatePendingAuthentication,\n coordinatePgSignedSessionValidity as coordinateSignedSessionValidity,\n coordinatePgStatefulSessions as coordinateStatefulSessions,\n makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices,\n makePgPendingAuthenticationServices as makePendingAuthenticationServices,\n makePgSignedSessionValidityServices as makeSignedSessionValidityServices,\n makePgStatefulSessionServices as makeStatefulSessionServices,\n} from \"./drizzle/pg-sessions\";\n\nexport {\n coordinatePgProofPersistence as coordinateProofPersistence,\n makePgProofPersistenceServices as makeProofPersistenceServices,\n} from \"./drizzle/pg-proofs\";\n\nexport {\n coordinatePgPasswordPersistence as coordinatePasswordPersistence,\n coordinatePgPasswordRegistration as coordinatePasswordRegistration,\n makePgPasswordPersistenceServices as makePasswordPersistenceServices,\n makePgPasswordRegistrationServices as makePasswordRegistrationServices,\n} from \"./drizzle/pg-passwords\";\n\nexport {\n coordinatePgEmailAddress as coordinateEmailAddress,\n coordinatePgEmailRegistration as coordinateEmailRegistration,\n makePgEmailAddressServices as makeEmailAddressServices,\n makePgEmailRegistrationServices as makeEmailRegistrationServices,\n makePgEmailSignInServices as makeEmailSignInServices,\n} from \"./drizzle/pg-emails\";\n\nexport {\n coordinatePgAuthStoreTransaction as coordinateAuthStoreTransaction,\n coordinatePgAuthTransaction as coordinateAuthTransaction,\n coordinatePgOAuthStateTransaction as coordinateOAuthStateTransaction,\n makePgAuthStoreServices as makeAuthStoreServices,\n makePgExternalIdentityServices as makeExternalIdentityServices,\n makePgOAuthStateServices as makeOAuthStateServices,\n makePgSubjectProvisioningServices as makeSubjectProvisioningServices,\n};\n\nexport const commitMode = \"interactive\" as const;\n\nexport const makeAuthServices = <C extends AnyPgTable, R extends AnyPgTable, S extends AnyPgTable>(\n database: EffectPgDatabase<AnyRelations>,\n mapping: AuthTables<C, R, S>,\n) => makePgAuthServices(database, mapping);\n\nexport const makeIdentityServices = <\n Subject extends AnyPgTable,\n Identifier extends AnyPgTable,\n External extends AnyPgTable,\n Request extends AnyPgTable,\n NativeId,\n>(\n database: EffectPgDatabase<AnyRelations>,\n mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,\n) => makePgIdentityServices(database, mapping);\n\nexport {\n makePgSessionStepUpServices as makeSessionStepUpServices,\n coordinatePgSessionStepUp as coordinateSessionStepUp,\n} from \"./drizzle/pg-sessions\";\n\nexport {\n makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,\n coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,\n} from \"./drizzle/pg-password-prepared\";\n\nexport { passwordPreparedPersistenceLayer } from \"./drizzle/password-prepared-target\";\n\nimport { makeOAuthTarget } from \"./drizzle/oauth-drivers\";\nimport { sqlClientOAuthStandaloneGuard } from \"./drizzle/oauth-target\";\n\nconst oauthTarget = makeOAuthTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientOAuthStandaloneGuard,\n});\n\nexport const {\n makeOAuthAccountsServices,\n makeOAuthSignInServices,\n makeOAuthRegistrationIntentServices,\n makeOAuthRegistrationServices,\n coordinateOAuthRegistration,\n coordinateOAuthSignIn,\n coordinateOAuthRegistrationIntents,\n coordinateOAuthAccounts,\n makeOAuthConnectedServices,\n makeOAuthConnectedRevocationServices,\n coordinateOAuthConnected,\n coordinateOAuthConnectedRevocations,\n} = oauthTarget;\n\nimport { makePasskeyTarget } from \"./drizzle/passkey-drivers\";\nimport { sqlClientPasskeyStandaloneGuard } from \"./drizzle/passkey-target\";\n\nconst passkeyTarget = makePasskeyTarget<\n EffectPgDatabase<AnyRelations>,\n AnyPgTable<{ dialect: \"pg\" }>\n>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientPasskeyStandaloneGuard,\n});\n\nexport const {\n makePasskeyCredentialServices,\n makePasskeyPersistenceServices,\n makePasskeyEnrollmentContextServices,\n makePasskeyRegistrationCeremonyServices,\n coordinatePasskeyPersistence,\n coordinatePasskeyRegistrationCeremony,\n makePasskeyManagementServices,\n makePasskeyRegistrationServices,\n coordinatePasskeyManagement,\n coordinatePasskeyRegistration,\n} = passkeyTarget;\n\nimport { makeTotpTarget, sqlClientTotpStandaloneGuard } from \"./drizzle/totp-target\";\n\nconst totpTarget = makeTotpTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientTotpStandaloneGuard,\n});\n\nexport const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;\n\nimport { makePhoneTarget, sqlClientPhoneStandaloneGuard } from \"./drizzle/phone-target\";\n\nconst phoneTarget = makePhoneTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientPhoneStandaloneGuard,\n});\n\nexport const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;\n\nimport { drizzleMigrationsLayer } from \"./internal/drizzle-migrations\";\nimport { postgresPersistence } from \"./internal/drizzle-postgres\";\n\nexport const AuthPersistence = {\n ...postgresPersistence(makeWithDefaults({})),\n migrationsLayer: drizzleMigrationsLayer(\n makeWithDefaults({}),\n Effect.promise(() => import(\"drizzle-orm/effect-postgres/migrator\")).pipe(\n Effect.map((module) => module.migrate),\n ),\n ),\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AA2DA,MAAa,aAAa;AAE1B,MAAa,oBACX,UACA,YACG,mBAAmB,UAAU,OAAO;AAEzC,MAAa,wBAOX,UACA,YACG,uBAAuB,UAAU,OAAO;AAwB7C,MAAa,EACX,2BACA,yBACA,qCACA,+BACA,6BACA,uBACA,oCACA,yBACA,4BACA,sCACA,0BACA,wCAnBkB,gBAA+E;CACjG,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAeI;AAeJ,MAAa,EACX,+BACA,gCACA,sCACA,yCACA,8BACA,uCACA,+BACA,iCACA,6BACA,kCApBoB,kBAGpB;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAaI;AAWJ,MAAa,EAAE,6BAA6B,8BAPzB,eAA8E;CAC/F,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAE0E;AAW1E,MAAa,EAAE,8BAA8B,+BAPzB,gBAA+E;CACjG,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAE4E;AAK5E,MAAa,kBAAkB;CAC7B,GAAG,oBAAoB,iBAAiB,CAAC,CAAC,CAAC;CAC3C,iBAAiB,uBACf,iBAAiB,CAAC,CAAC,GACnB,OAAO,cAAc,OAAO,uCAAuC,CAAC,CAAC,KACnE,OAAO,KAAK,WAAW,OAAO,OAAO,CACvC,CACF;AACF"}
1
+ {"version":3,"file":"Postgres.mjs","names":[],"sources":["../src/Postgres.ts"],"sourcesContent":["import type { AnyRelations } from \"drizzle-orm\";\nimport { type EffectPgDatabase, makeWithDefaults } from \"drizzle-orm/effect-postgres\";\nimport type { AnyPgTable } from \"drizzle-orm/pg-core\";\nimport { Effect } from \"effect\";\n\nimport type { IdentityTables } from \"./drizzle/model\";\nimport {\n makePgExternalIdentityServices,\n makePgIdentityServices,\n makePgSubjectProvisioningServices,\n} from \"./drizzle/pg-identity\";\n\nexport {\n coordinatePgAuthenticationAuthority as coordinateAuthenticationAuthority,\n coordinatePgPendingAuthentication as coordinatePendingAuthentication,\n coordinatePgSignedSessionValidity as coordinateSignedSessionValidity,\n coordinatePgStatefulSessions as coordinateStatefulSessions,\n makePgAuthenticationAuthorityServices as makeAuthenticationAuthorityServices,\n makePgPendingAuthenticationServices as makePendingAuthenticationServices,\n makePgSignedSessionValidityServices as makeSignedSessionValidityServices,\n makePgStatefulSessionServices as makeStatefulSessionServices,\n} from \"./drizzle/pg-sessions\";\n\nexport {\n coordinatePgProofPersistence as coordinateProofPersistence,\n makePgProofPersistenceServices as makeProofPersistenceServices,\n} from \"./drizzle/pg-proofs\";\n\nexport {\n coordinatePgPasswordPersistence as coordinatePasswordPersistence,\n coordinatePgPasswordRegistration as coordinatePasswordRegistration,\n makePgPasswordPersistenceServices as makePasswordPersistenceServices,\n makePgPasswordRegistrationServices as makePasswordRegistrationServices,\n} from \"./drizzle/pg-passwords\";\n\nexport {\n coordinatePgEmailAddress as coordinateEmailAddress,\n coordinatePgEmailRegistration as coordinateEmailRegistration,\n makePgEmailAddressServices as makeEmailAddressServices,\n makePgEmailRegistrationServices as makeEmailRegistrationServices,\n makePgEmailSignInServices as makeEmailSignInServices,\n} from \"./drizzle/pg-emails\";\n\nexport {\n makePgExternalIdentityServices as makeExternalIdentityServices,\n makePgSubjectProvisioningServices as makeSubjectProvisioningServices,\n};\n\nexport const commitMode = \"interactive\" as const;\n\nexport const makeIdentityServices = <\n Subject extends AnyPgTable,\n Identifier extends AnyPgTable,\n External extends AnyPgTable,\n Request extends AnyPgTable,\n NativeId,\n>(\n database: EffectPgDatabase<AnyRelations>,\n mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>,\n) => makePgIdentityServices(database, mapping);\n\nexport {\n makePgSessionStepUpServices as makeSessionStepUpServices,\n coordinatePgSessionStepUp as coordinateSessionStepUp,\n} from \"./drizzle/pg-sessions\";\n\nexport {\n makePgPasswordPreparedPersistenceServices as makePasswordPreparedPersistenceServices,\n coordinatePgPasswordPreparedPersistence as coordinatePasswordPreparedPersistence,\n} from \"./drizzle/pg-password-prepared\";\n\nexport { passwordPreparedPersistenceLayer } from \"./drizzle/password-prepared-target\";\n\nimport { makeOAuthTarget } from \"./drizzle/oauth-drivers\";\nimport { sqlClientOAuthStandaloneGuard } from \"./drizzle/oauth-target\";\n\nconst oauthTarget = makeOAuthTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientOAuthStandaloneGuard,\n});\n\nexport const {\n makeOAuthAccountsServices,\n makeOAuthSignInServices,\n makeOAuthRegistrationIntentServices,\n makeOAuthRegistrationServices,\n coordinateOAuthRegistration,\n coordinateOAuthSignIn,\n coordinateOAuthRegistrationIntents,\n coordinateOAuthAccounts,\n makeOAuthConnectedServices,\n makeOAuthConnectedRevocationServices,\n coordinateOAuthConnected,\n coordinateOAuthConnectedRevocations,\n} = oauthTarget;\n\nimport { makePasskeyTarget } from \"./drizzle/passkey-drivers\";\nimport { sqlClientPasskeyStandaloneGuard } from \"./drizzle/passkey-target\";\n\nconst passkeyTarget = makePasskeyTarget<\n EffectPgDatabase<AnyRelations>,\n AnyPgTable<{ dialect: \"pg\" }>\n>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientPasskeyStandaloneGuard,\n});\n\nexport const {\n makePasskeyCredentialServices,\n makePasskeyPersistenceServices,\n makePasskeyEnrollmentContextServices,\n makePasskeyRegistrationCeremonyServices,\n coordinatePasskeyPersistence,\n coordinatePasskeyRegistrationCeremony,\n makePasskeyManagementServices,\n makePasskeyRegistrationServices,\n coordinatePasskeyManagement,\n coordinatePasskeyRegistration,\n} = passkeyTarget;\n\nimport { makeTotpTarget, sqlClientTotpStandaloneGuard } from \"./drizzle/totp-target\";\n\nconst totpTarget = makeTotpTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientTotpStandaloneGuard,\n});\n\nexport const { makeTotpPersistenceServices, coordinateTotpPersistence } = totpTarget;\n\nimport { makePhoneTarget, sqlClientPhoneStandaloneGuard } from \"./drizzle/phone-target\";\n\nconst phoneTarget = makePhoneTarget<EffectPgDatabase<AnyRelations>, AnyPgTable<{ dialect: \"pg\" }>>({\n mode: \"interactive\",\n dialect: \"pg\",\n locking: true,\n standaloneGuard: sqlClientPhoneStandaloneGuard,\n});\n\nexport const { makePhonePersistenceServices, coordinatePhonePersistence } = phoneTarget;\n\nimport { drizzleMigrationsLayer } from \"./internal/drizzle-migrations\";\nimport { postgresPersistence } from \"./internal/drizzle-postgres\";\n\nexport const AuthPersistence = {\n ...postgresPersistence(makeWithDefaults({})),\n migrationsLayer: drizzleMigrationsLayer(\n makeWithDefaults({}),\n Effect.promise(() => import(\"drizzle-orm/effect-postgres/migrator\")).pipe(\n Effect.map((module) => module.migrate),\n ),\n ),\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAgDA,MAAa,aAAa;AAE1B,MAAa,wBAOX,UACA,YACG,uBAAuB,UAAU,OAAO;AAwB7C,MAAa,EACX,2BACA,yBACA,qCACA,+BACA,6BACA,uBACA,oCACA,yBACA,4BACA,sCACA,0BACA,wCAnBkB,gBAA+E;CACjG,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAeI;AAeJ,MAAa,EACX,+BACA,gCACA,sCACA,yCACA,8BACA,uCACA,+BACA,iCACA,6BACA,kCApBoB,kBAGpB;CACA,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAaI;AAWJ,MAAa,EAAE,6BAA6B,8BAPzB,eAA8E;CAC/F,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAE0E;AAW1E,MAAa,EAAE,8BAA8B,+BAPzB,gBAA+E;CACjG,MAAM;CACN,SAAS;CACT,SAAS;CACT,iBAAiB;AACnB,CAE4E;AAK5E,MAAa,kBAAkB;CAC7B,GAAG,oBAAoB,iBAAiB,CAAC,CAAC,CAAC;CAC3C,iBAAiB,uBACf,iBAAiB,CAAC,CAAC,GACnB,OAAO,cAAc,OAAO,uCAAuC,CAAC,CAAC,KACnE,OAAO,KAAK,WAAW,OAAO,OAAO,CACvC,CACF;AACF"}