@yielded/auth-persistence-drizzle 0.1.0-beta.14 → 0.1.0-beta.16

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 (190) hide show
  1. package/dist/D1.d.mts +123 -9
  2. package/dist/Libsql.d.mts +141 -27
  3. package/dist/Mysql2.d.mts +124 -10
  4. package/dist/Pglite.d.mts +124 -10
  5. package/dist/Postgres.d.mts +129 -15
  6. package/dist/SqliteBun.d.mts +135 -21
  7. package/dist/SqliteDo.d.mts +135 -21
  8. package/dist/SqliteNode.d.mts +135 -21
  9. package/dist/SqliteWasm.d.mts +135 -21
  10. package/dist/drizzle/d1-emails.d.mts +3 -3
  11. package/dist/drizzle/d1-emails.mjs +56 -11
  12. package/dist/drizzle/d1-emails.mjs.map +1 -1
  13. package/dist/drizzle/d1-identity.mjs +9 -2
  14. package/dist/drizzle/d1-identity.mjs.map +1 -1
  15. package/dist/drizzle/d1-oauth.d.mts +6 -6
  16. package/dist/drizzle/d1-oauth.mjs +8 -8
  17. package/dist/drizzle/d1-oauth.mjs.map +1 -1
  18. package/dist/drizzle/d1-passkey.d.mts +2 -1
  19. package/dist/drizzle/d1-passkey.mjs +10 -8
  20. package/dist/drizzle/d1-passkey.mjs.map +1 -1
  21. package/dist/drizzle/d1-password-prepared.d.mts +1 -1
  22. package/dist/drizzle/d1-password-prepared.mjs +16 -5
  23. package/dist/drizzle/d1-password-prepared.mjs.map +1 -1
  24. package/dist/drizzle/d1-passwords.d.mts +2 -2
  25. package/dist/drizzle/d1-passwords.mjs +19 -6
  26. package/dist/drizzle/d1-passwords.mjs.map +1 -1
  27. package/dist/drizzle/d1-phone.d.mts +2 -1
  28. package/dist/drizzle/d1-phone.mjs +4 -2
  29. package/dist/drizzle/d1-phone.mjs.map +1 -1
  30. package/dist/drizzle/d1-proofs.d.mts +1 -1
  31. package/dist/drizzle/d1-proofs.mjs +18 -7
  32. package/dist/drizzle/d1-proofs.mjs.map +1 -1
  33. package/dist/drizzle/d1-sessions.d.mts +6 -5
  34. package/dist/drizzle/d1-sessions.mjs +29 -19
  35. package/dist/drizzle/d1-sessions.mjs.map +1 -1
  36. package/dist/drizzle/d1-totp.d.mts +2 -1
  37. package/dist/drizzle/d1-totp.mjs +4 -2
  38. package/dist/drizzle/d1-totp.mjs.map +1 -1
  39. package/dist/drizzle/email-registration.d.mts +5 -1
  40. package/dist/drizzle/email-registration.mjs +48 -4
  41. package/dist/drizzle/email-registration.mjs.map +1 -1
  42. package/dist/drizzle/email-target.d.mts +1 -0
  43. package/dist/drizzle/email-target.mjs +9 -0
  44. package/dist/drizzle/email-target.mjs.map +1 -1
  45. package/dist/drizzle/mysql-emails.d.mts +4 -4
  46. package/dist/drizzle/mysql-emails.mjs +8 -7
  47. package/dist/drizzle/mysql-emails.mjs.map +1 -1
  48. package/dist/drizzle/mysql-identity.mjs +11 -4
  49. package/dist/drizzle/mysql-identity.mjs.map +1 -1
  50. package/dist/drizzle/mysql-password-prepared.d.mts +2 -2
  51. package/dist/drizzle/mysql-password-prepared.mjs +4 -3
  52. package/dist/drizzle/mysql-password-prepared.mjs.map +1 -1
  53. package/dist/drizzle/mysql-passwords.d.mts +3 -3
  54. package/dist/drizzle/mysql-passwords.mjs +7 -6
  55. package/dist/drizzle/mysql-passwords.mjs.map +1 -1
  56. package/dist/drizzle/mysql-proofs.d.mts +2 -2
  57. package/dist/drizzle/mysql-proofs.mjs +4 -3
  58. package/dist/drizzle/mysql-proofs.mjs.map +1 -1
  59. package/dist/drizzle/mysql-sessions.d.mts +6 -6
  60. package/dist/drizzle/mysql-sessions.mjs +16 -15
  61. package/dist/drizzle/mysql-sessions.mjs.map +1 -1
  62. package/dist/drizzle/native-database.mjs +1 -1
  63. package/dist/drizzle/native-database.mjs.map +1 -1
  64. package/dist/drizzle/oauth-connected-drivers.mjs +10 -8
  65. package/dist/drizzle/oauth-connected-drivers.mjs.map +1 -1
  66. package/dist/drizzle/oauth-connected-flow.mjs +62 -13
  67. package/dist/drizzle/oauth-connected-flow.mjs.map +1 -1
  68. package/dist/drizzle/oauth-connected-input.mjs +6 -0
  69. package/dist/drizzle/oauth-connected-input.mjs.map +1 -1
  70. package/dist/drizzle/oauth-connected-maintenance.mjs +3 -3
  71. package/dist/drizzle/oauth-connected-maintenance.mjs.map +1 -1
  72. package/dist/drizzle/oauth-connected-target.d.mts +116 -2
  73. package/dist/drizzle/oauth-connected-target.mjs +5 -3
  74. package/dist/drizzle/oauth-connected-target.mjs.map +1 -1
  75. package/dist/drizzle/oauth-drivers.mjs +8 -8
  76. package/dist/drizzle/oauth-drivers.mjs.map +1 -1
  77. package/dist/drizzle/oauth-target.d.mts +3 -3
  78. package/dist/drizzle/oauth-target.mjs +8 -6
  79. package/dist/drizzle/oauth-target.mjs.map +1 -1
  80. package/dist/drizzle/passkey-drivers.mjs +4 -4
  81. package/dist/drizzle/passkey-drivers.mjs.map +1 -1
  82. package/dist/drizzle/passkey-write-drivers.mjs +4 -4
  83. package/dist/drizzle/passkey-write-drivers.mjs.map +1 -1
  84. package/dist/drizzle/passkey-write-target.d.mts +1 -1
  85. package/dist/drizzle/password-prepared-sql.mjs +5 -0
  86. package/dist/drizzle/password-prepared-sql.mjs.map +1 -1
  87. package/dist/drizzle/password-prepared-target.d.mts +2 -1
  88. package/dist/drizzle/password-prepared-target.mjs +5 -0
  89. package/dist/drizzle/password-prepared-target.mjs.map +1 -1
  90. package/dist/drizzle/password-registration.d.mts +1 -1
  91. package/dist/drizzle/password-registration.mjs +2 -0
  92. package/dist/drizzle/password-registration.mjs.map +1 -1
  93. package/dist/drizzle/password-target.d.mts +1 -0
  94. package/dist/drizzle/password-target.mjs +6 -0
  95. package/dist/drizzle/password-target.mjs.map +1 -1
  96. package/dist/drizzle/pg-emails.d.mts +4 -4
  97. package/dist/drizzle/pg-emails.mjs +8 -7
  98. package/dist/drizzle/pg-emails.mjs.map +1 -1
  99. package/dist/drizzle/pg-identity.mjs +12 -5
  100. package/dist/drizzle/pg-identity.mjs.map +1 -1
  101. package/dist/drizzle/pg-password-prepared.d.mts +2 -2
  102. package/dist/drizzle/pg-password-prepared.mjs +4 -3
  103. package/dist/drizzle/pg-password-prepared.mjs.map +1 -1
  104. package/dist/drizzle/pg-passwords.d.mts +3 -3
  105. package/dist/drizzle/pg-passwords.mjs +7 -6
  106. package/dist/drizzle/pg-passwords.mjs.map +1 -1
  107. package/dist/drizzle/pg-proofs.d.mts +2 -2
  108. package/dist/drizzle/pg-proofs.mjs +4 -3
  109. package/dist/drizzle/pg-proofs.mjs.map +1 -1
  110. package/dist/drizzle/pg-sessions.d.mts +6 -6
  111. package/dist/drizzle/pg-sessions.mjs +16 -15
  112. package/dist/drizzle/pg-sessions.mjs.map +1 -1
  113. package/dist/drizzle/phone-target.mjs +11 -2
  114. package/dist/drizzle/phone-target.mjs.map +1 -1
  115. package/dist/drizzle/proof-target.d.mts +1 -0
  116. package/dist/drizzle/proof-target.mjs +2 -0
  117. package/dist/drizzle/proof-target.mjs.map +1 -1
  118. package/dist/drizzle/query-operations.mjs +2 -0
  119. package/dist/drizzle/query-operations.mjs.map +1 -1
  120. package/dist/drizzle/session-target.d.mts +1 -0
  121. package/dist/drizzle/session-target.mjs +9 -6
  122. package/dist/drizzle/session-target.mjs.map +1 -1
  123. package/dist/drizzle/sqlite-emails.mjs +8 -7
  124. package/dist/drizzle/sqlite-emails.mjs.map +1 -1
  125. package/dist/drizzle/sqlite-identity.mjs +7 -2
  126. package/dist/drizzle/sqlite-identity.mjs.map +1 -1
  127. package/dist/drizzle/sqlite-password-prepared.mjs +4 -3
  128. package/dist/drizzle/sqlite-password-prepared.mjs.map +1 -1
  129. package/dist/drizzle/sqlite-passwords.mjs +7 -6
  130. package/dist/drizzle/sqlite-passwords.mjs.map +1 -1
  131. package/dist/drizzle/sqlite-proofs.mjs +4 -3
  132. package/dist/drizzle/sqlite-proofs.mjs.map +1 -1
  133. package/dist/drizzle/sqlite-sessions.mjs +16 -15
  134. package/dist/drizzle/sqlite-sessions.mjs.map +1 -1
  135. package/dist/drizzle/storage-validation.mjs +234 -0
  136. package/dist/drizzle/storage-validation.mjs.map +1 -0
  137. package/dist/drizzle/totp-target.mjs +5 -2
  138. package/dist/drizzle/totp-target.mjs.map +1 -1
  139. package/dist/drizzle/transaction-mysql.mjs +1 -1
  140. package/package.json +1 -1
  141. package/src/drizzle/d1-emails.ts +158 -40
  142. package/src/drizzle/d1-identity.ts +13 -0
  143. package/src/drizzle/d1-oauth.ts +8 -8
  144. package/src/drizzle/d1-passkey.ts +10 -8
  145. package/src/drizzle/d1-password-prepared.ts +14 -2
  146. package/src/drizzle/d1-passwords.ts +22 -4
  147. package/src/drizzle/d1-phone.ts +4 -2
  148. package/src/drizzle/d1-proofs.ts +55 -3
  149. package/src/drizzle/d1-sessions.ts +67 -18
  150. package/src/drizzle/d1-totp.ts +4 -2
  151. package/src/drizzle/email-registration.ts +160 -12
  152. package/src/drizzle/email-target.ts +22 -4
  153. package/src/drizzle/mysql-emails.ts +17 -7
  154. package/src/drizzle/mysql-identity.ts +13 -0
  155. package/src/drizzle/mysql-password-prepared.ts +7 -3
  156. package/src/drizzle/mysql-passwords.ts +13 -6
  157. package/src/drizzle/mysql-proofs.ts +7 -3
  158. package/src/drizzle/mysql-sessions.ts +31 -15
  159. package/src/drizzle/native-database.ts +5 -4
  160. package/src/drizzle/oauth-connected-drivers.ts +10 -8
  161. package/src/drizzle/oauth-connected-flow.ts +98 -10
  162. package/src/drizzle/oauth-connected-input.ts +7 -0
  163. package/src/drizzle/oauth-connected-maintenance.ts +3 -2
  164. package/src/drizzle/oauth-connected-target.ts +4 -2
  165. package/src/drizzle/oauth-drivers.ts +8 -8
  166. package/src/drizzle/oauth-target.ts +13 -7
  167. package/src/drizzle/passkey-drivers.ts +4 -4
  168. package/src/drizzle/passkey-write-drivers.ts +8 -5
  169. package/src/drizzle/password-prepared-sql.ts +13 -1
  170. package/src/drizzle/password-prepared-target.ts +7 -1
  171. package/src/drizzle/password-registration.ts +10 -3
  172. package/src/drizzle/password-target.ts +22 -4
  173. package/src/drizzle/pg-emails.ts +17 -7
  174. package/src/drizzle/pg-identity.ts +13 -0
  175. package/src/drizzle/pg-password-prepared.ts +7 -3
  176. package/src/drizzle/pg-passwords.ts +13 -6
  177. package/src/drizzle/pg-proofs.ts +7 -3
  178. package/src/drizzle/pg-sessions.ts +31 -15
  179. package/src/drizzle/phone-target.ts +30 -5
  180. package/src/drizzle/proof-target.ts +10 -2
  181. package/src/drizzle/query-operations.ts +2 -0
  182. package/src/drizzle/session-target.ts +20 -3
  183. package/src/drizzle/sqlite-emails.ts +17 -7
  184. package/src/drizzle/sqlite-identity.ts +5 -0
  185. package/src/drizzle/sqlite-password-prepared.ts +7 -3
  186. package/src/drizzle/sqlite-passwords.ts +13 -6
  187. package/src/drizzle/sqlite-proofs.ts +7 -3
  188. package/src/drizzle/sqlite-sessions.ts +31 -15
  189. package/src/drizzle/storage-validation.ts +285 -0
  190. package/src/drizzle/totp-target.ts +16 -4
package/dist/Mysql2.d.mts CHANGED
@@ -19,19 +19,19 @@ import { coordinateMysqlPasswordPersistence, coordinateMysqlPasswordRegistration
19
19
  import { coordinateMysqlEmailAddress, coordinateMysqlEmailRegistration, makeMysqlEmailAddressServices, makeMysqlEmailRegistrationServices, makeMysqlEmailSignInServices } from "./drizzle/mysql-emails.mjs";
20
20
  import { coordinateMySqlPasswordPreparedPersistence, makeMySqlPasswordPreparedPersistenceServices } from "./drizzle/mysql-password-prepared.mjs";
21
21
  import { Layer } from "effect";
22
- import { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
23
22
  import { AnyMySqlTable } from "drizzle-orm/mysql-core";
23
+ import { EffectMysql2Database } from "drizzle-orm/effect-mysql2";
24
24
  //#region src/Mysql2.d.ts
25
25
  export declare const makeSubjectProvisioningServices: <Subject extends AnyMySqlTable, Identifier extends AnyMySqlTable, Request extends AnyMySqlTable, NativeId>(mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>) => import("effect/Effect").Effect<{
26
26
  readonly subjectProvisioner: {
27
27
  readonly provision: (input: import("@yielded/auth/Identity").SubjectProvisioningInput) => import("effect/Effect").Effect<import("@yielded/auth/Identity").ProvisioningResult, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
28
28
  };
29
- }, never, Database>;
29
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
30
30
  export declare const makeExternalIdentityServices: <Subject extends AnyMySqlTable, External extends AnyMySqlTable, NativeId>(mapping: ExternalIdentityTables<Subject, External, NativeId>) => import("effect/Effect").Effect<{
31
31
  readonly externalIdentityMutation: {
32
32
  readonly bind: (subjectId: import("@yielded/auth/Schema").SubjectId, identity: import("@yielded/auth/Identity").ExternalIdentity) => import("effect/Effect").Effect<void, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
33
33
  };
34
- }, never, Database>;
34
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
35
35
  export declare const commitMode: "interactive";
36
36
  export declare const makeIdentityServices: <Subject extends AnyMySqlTable, Identifier extends AnyMySqlTable, External extends AnyMySqlTable, Request extends AnyMySqlTable, NativeId>(mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>) => import("effect/Effect").Effect<{
37
37
  subjectProvisioner: {
@@ -40,7 +40,7 @@ export declare const makeIdentityServices: <Subject extends AnyMySqlTable, Ident
40
40
  externalIdentityMutation: {
41
41
  readonly bind: (subjectId: import("@yielded/auth/Schema").SubjectId, identity: import("@yielded/auth/Identity").ExternalIdentity) => import("effect/Effect").Effect<void, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
42
42
  };
43
- }, never, Database>;
43
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
44
44
  export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
45
45
  dialect: "mysql";
46
46
  }>, O extends AnyMySqlTable<{
@@ -305,7 +305,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
305
305
  readonly hasMore: boolean;
306
306
  }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
307
307
  };
308
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthSignInServices: <S extends AnyMySqlTable<{
308
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthSignInServices: <S extends AnyMySqlTable<{
309
309
  dialect: "mysql";
310
310
  }>, O extends AnyMySqlTable<{
311
311
  dialect: "mysql";
@@ -347,7 +347,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
347
347
  readonly hasMore: boolean;
348
348
  }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
349
349
  };
350
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationIntentServices: <S extends AnyMySqlTable<{
350
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationIntentServices: <S extends AnyMySqlTable<{
351
351
  dialect: "mysql";
352
352
  }>, O extends AnyMySqlTable<{
353
353
  dialect: "mysql";
@@ -370,7 +370,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
370
370
  readonly nowMillis: number;
371
371
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<import("@yielded/auth/OAuth").OAuthRegistrationSettlement, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
372
372
  };
373
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationServices: <Registration, S extends AnyMySqlTable<{
373
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationServices: <Registration, S extends AnyMySqlTable<{
374
374
  dialect: "mysql";
375
375
  }>, O extends AnyMySqlTable<{
376
376
  dialect: "mysql";
@@ -386,7 +386,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
386
386
  dialect: "mysql";
387
387
  }>, N>(mapping: OAuthRegistrationMapping<Registration, S, O, C, AC, TA, I, R, N>) => import("effect/Effect").Effect<{
388
388
  registrationAuthority: OAuthRegistrationAuthority<Registration>;
389
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthRegistration: {
389
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthRegistration: {
390
390
  <Database extends EffectMysql2Database<import("drizzle-orm").TablesRelationalConfig>, TargetId, Registration, S extends AnyMySqlTable<{
391
391
  dialect: "mysql";
392
392
  }>, O extends AnyMySqlTable<{
@@ -773,6 +773,120 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
773
773
  readonly retentionUntilMillis: number;
774
774
  };
775
775
  }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
776
+ readonly prepare: <A>(input: {
777
+ readonly flow: import("@yielded/auth/OAuth").OAuthConnectedPendingFlow;
778
+ readonly authorization: import("@yielded/auth/OAuth").OAuthConnectedUseAuthorization;
779
+ }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
780
+ readonly _tag: "Rejected";
781
+ } | {
782
+ readonly _tag: "Issued";
783
+ readonly flow: {
784
+ readonly context: {
785
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
786
+ readonly protocol: "oauth" | "oidc";
787
+ readonly configurationGeneration: number;
788
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
789
+ readonly responseIssuerMode: "required" | "unsupported";
790
+ readonly callbackId: string & import("effect/Brand").Brand<"effect-auth/OAuthCallbackId">;
791
+ readonly redirectUri: string & import("effect/Brand").Brand<"effect-auth/OAuthRedirectUri">;
792
+ readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
793
+ readonly generation: number;
794
+ readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
795
+ readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
796
+ readonly access?: {
797
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
798
+ readonly generation: number;
799
+ readonly issuance: "active" | "retired";
800
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
801
+ readonly clientRegistrationId: string;
802
+ readonly scopes: readonly string[];
803
+ readonly resources: readonly string[];
804
+ readonly retention: "access-and-refresh" | "access-only";
805
+ readonly maximumAccessLifetimeMillis: number;
806
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
807
+ readonly refreshAheadMillis: number;
808
+ readonly refresh: "confidential" | "rotating" | "unsupported";
809
+ readonly revocation: "cohort" | "unsupported";
810
+ } | undefined;
811
+ readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
812
+ readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
813
+ readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
814
+ readonly requestBindingExpiresAtMillis: number;
815
+ readonly issuedAtMillis: number;
816
+ readonly expiresAtMillis: number;
817
+ readonly claimLifetimeMillis: number;
818
+ readonly namespace: "effect-auth/oauth-connected-context/v1";
819
+ readonly revision: {
820
+ readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
821
+ readonly securityRevision: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
822
+ readonly credentials: readonly {
823
+ readonly credentialId: string;
824
+ readonly revision: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
825
+ }[];
826
+ };
827
+ readonly profile: {
828
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
829
+ readonly generation: number;
830
+ readonly issuance: "active" | "retired";
831
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
832
+ readonly clientRegistrationId: string;
833
+ readonly scopes: readonly string[];
834
+ readonly resources: readonly string[];
835
+ readonly retention: "access-and-refresh" | "access-only";
836
+ readonly maximumAccessLifetimeMillis: number;
837
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
838
+ readonly refreshAheadMillis: number;
839
+ readonly refresh: "confidential" | "rotating" | "unsupported";
840
+ readonly revocation: "cohort" | "unsupported";
841
+ };
842
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
843
+ readonly reconnect?: {
844
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
845
+ readonly grantVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
846
+ readonly tokenVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
847
+ readonly cohortGeneration: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
848
+ readonly identity: {
849
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
850
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
851
+ readonly subject: string;
852
+ };
853
+ readonly configuration: {
854
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
855
+ readonly protocol: "oauth" | "oidc";
856
+ readonly configurationGeneration: number;
857
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
858
+ readonly responseIssuerMode: "required" | "unsupported";
859
+ readonly callbackId: string & import("effect/Brand").Brand<"effect-auth/OAuthCallbackId">;
860
+ readonly redirectUri: string & import("effect/Brand").Brand<"effect-auth/OAuthRedirectUri">;
861
+ readonly profile: {
862
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
863
+ readonly generation: number;
864
+ readonly issuance: "active" | "retired";
865
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
866
+ readonly clientRegistrationId: string;
867
+ readonly scopes: readonly string[];
868
+ readonly resources: readonly string[];
869
+ readonly retention: "access-and-refresh" | "access-only";
870
+ readonly maximumAccessLifetimeMillis: number;
871
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
872
+ readonly refreshAheadMillis: number;
873
+ readonly refresh: "confidential" | "rotating" | "unsupported";
874
+ readonly revocation: "cohort" | "unsupported";
875
+ };
876
+ };
877
+ } | undefined;
878
+ readonly maximumEvidenceAgeMillis: number;
879
+ };
880
+ readonly sealed: {
881
+ readonly format: "oauth-xchacha20poly1305-v1";
882
+ readonly keyId: string;
883
+ readonly nonce: string;
884
+ readonly ciphertext: import("effect/Redacted").Redacted<string>;
885
+ };
886
+ readonly retentionUntilMillis: number;
887
+ };
888
+ }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
889
+ readonly inspectPrepared: (input: import("@yielded/auth/OAuth").OAuthConnectedPreparedAccess) => import("effect/Effect").Effect<import("@yielded/auth/OAuth").OAuthConnectedPendingFlow | undefined, import("@yielded/auth/OAuth").OAuthUnavailable>;
776
890
  readonly preflight: (input: import("@yielded/auth/OAuth").OAuthConnectedAccess) => import("effect/Effect").Effect<import("@yielded/auth/OAuth").OAuthConnectedPendingFlow | undefined, import("@yielded/auth/OAuth").OAuthUnavailable>;
777
891
  readonly claim: <A>(input: {
778
892
  readonly access: import("@yielded/auth/OAuth").OAuthConnectedAccess;
@@ -1414,7 +1528,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
1414
1528
  readonly hasMore: boolean;
1415
1529
  }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
1416
1530
  };
1417
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthConnectedRevocationServices: <T extends AnyMySqlTable<{
1531
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthConnectedRevocationServices: <T extends AnyMySqlTable<{
1418
1532
  dialect: "mysql";
1419
1533
  }>, O extends AnyMySqlTable<{
1420
1534
  dialect: "mysql";
@@ -1522,7 +1636,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyMySqlTable<{
1522
1636
  readonly settled: boolean;
1523
1637
  }, A>) => import("effect/Effect").Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
1524
1638
  };
1525
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthConnected: {
1639
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthConnected: {
1526
1640
  <D extends EffectMysql2Database<import("drizzle-orm").TablesRelationalConfig>, S extends AnyMySqlTable<{
1527
1641
  dialect: "mysql";
1528
1642
  }>, AC extends AnyMySqlTable<{
package/dist/Pglite.d.mts CHANGED
@@ -19,19 +19,19 @@ import { coordinatePgPasswordPersistence, coordinatePgPasswordRegistration, make
19
19
  import { coordinatePgEmailAddress, coordinatePgEmailRegistration, makePgEmailAddressServices, makePgEmailRegistrationServices, makePgEmailSignInServices } from "./drizzle/pg-emails.mjs";
20
20
  import { coordinatePgPasswordPreparedPersistence, makePgPasswordPreparedPersistenceServices } from "./drizzle/pg-password-prepared.mjs";
21
21
  import { Effect, Layer } from "effect";
22
- import { EffectPgDatabase } from "drizzle-orm/effect-pglite";
23
22
  import { AnyPgTable } from "drizzle-orm/pg-core";
23
+ import { EffectPgDatabase } from "drizzle-orm/effect-pglite";
24
24
  //#region src/Pglite.d.ts
25
25
  export declare const makeSubjectProvisioningServices: <Subject extends AnyPgTable, Identifier extends AnyPgTable, Request extends AnyPgTable, NativeId>(mapping: SubjectProvisioningTables<Subject, Identifier, Request, NativeId>) => Effect.Effect<{
26
26
  readonly subjectProvisioner: {
27
27
  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>;
28
28
  };
29
- }, never, Database>;
29
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
30
30
  export declare const makeExternalIdentityServices: <Subject extends AnyPgTable, External extends AnyPgTable, NativeId>(mapping: ExternalIdentityTables<Subject, External, NativeId>) => Effect.Effect<{
31
31
  readonly externalIdentityMutation: {
32
32
  readonly bind: (subjectId: import("@yielded/auth/Schema").SubjectId, identity: import("@yielded/auth/Identity").ExternalIdentity) => Effect.Effect<void, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
33
33
  };
34
- }, never, Database>;
34
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
35
35
  export declare const commitMode: "interactive";
36
36
  export declare const makeIdentityServices: <Subject extends AnyPgTable, Identifier extends AnyPgTable, External extends AnyPgTable, Request extends AnyPgTable, NativeId>(mapping: IdentityTables<Subject, Identifier, External, Request, NativeId>) => Effect.Effect<{
37
37
  subjectProvisioner: {
@@ -40,7 +40,7 @@ export declare const makeIdentityServices: <Subject extends AnyPgTable, Identifi
40
40
  externalIdentityMutation: {
41
41
  readonly bind: (subjectId: import("@yielded/auth/Schema").SubjectId, identity: import("@yielded/auth/Identity").ExternalIdentity) => Effect.Effect<void, import("@yielded/auth/Identity").IdentityConflict | import("@yielded/auth/Identity").IdentityUnavailable>;
42
42
  };
43
- }, never, Database>;
43
+ }, import("@yielded/auth/Identity").IdentityUnavailable, Database>;
44
44
  export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
45
45
  dialect: "pg";
46
46
  }>, O extends AnyPgTable<{
@@ -305,7 +305,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
305
305
  readonly hasMore: boolean;
306
306
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
307
307
  };
308
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthSignInServices: <S extends AnyPgTable<{
308
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthSignInServices: <S extends AnyPgTable<{
309
309
  dialect: "pg";
310
310
  }>, O extends AnyPgTable<{
311
311
  dialect: "pg";
@@ -347,7 +347,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
347
347
  readonly hasMore: boolean;
348
348
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
349
349
  };
350
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationIntentServices: <S extends AnyPgTable<{
350
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationIntentServices: <S extends AnyPgTable<{
351
351
  dialect: "pg";
352
352
  }>, O extends AnyPgTable<{
353
353
  dialect: "pg";
@@ -370,7 +370,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
370
370
  readonly nowMillis: number;
371
371
  }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<import("@yielded/auth/OAuth").OAuthRegistrationSettlement, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
372
372
  };
373
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationServices: <Registration, S extends AnyPgTable<{
373
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthRegistrationServices: <Registration, S extends AnyPgTable<{
374
374
  dialect: "pg";
375
375
  }>, O extends AnyPgTable<{
376
376
  dialect: "pg";
@@ -386,7 +386,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
386
386
  dialect: "pg";
387
387
  }>, N>(mapping: OAuthRegistrationMapping<Registration, S, O, C, AC, TA, I, R, N>) => Effect.Effect<{
388
388
  registrationAuthority: OAuthRegistrationAuthority<Registration>;
389
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthRegistration: {
389
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthRegistration: {
390
390
  <Database extends EffectPgDatabase<import("drizzle-orm").TablesRelationalConfig>, TargetId, Registration, S extends AnyPgTable<{
391
391
  dialect: "pg";
392
392
  }>, O extends AnyPgTable<{
@@ -773,6 +773,120 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
773
773
  readonly retentionUntilMillis: number;
774
774
  };
775
775
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
776
+ readonly prepare: <A>(input: {
777
+ readonly flow: import("@yielded/auth/OAuth").OAuthConnectedPendingFlow;
778
+ readonly authorization: import("@yielded/auth/OAuth").OAuthConnectedUseAuthorization;
779
+ }, prepare: import("@yielded/auth/OAuth").PrepareOAuthCommit<{
780
+ readonly _tag: "Rejected";
781
+ } | {
782
+ readonly _tag: "Issued";
783
+ readonly flow: {
784
+ readonly context: {
785
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
786
+ readonly protocol: "oauth" | "oidc";
787
+ readonly configurationGeneration: number;
788
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
789
+ readonly responseIssuerMode: "required" | "unsupported";
790
+ readonly callbackId: string & import("effect/Brand").Brand<"effect-auth/OAuthCallbackId">;
791
+ readonly redirectUri: string & import("effect/Brand").Brand<"effect-auth/OAuthRedirectUri">;
792
+ readonly moduleId: string & import("effect/Brand").Brand<"effect-auth/OAuthModuleId">;
793
+ readonly generation: number;
794
+ readonly flowId: string & import("effect/Brand").Brand<"effect-auth/RequestBindingFlowId">;
795
+ readonly commandId: string & import("effect/Brand").Brand<"effect-auth/OAuthCommandId">;
796
+ readonly access?: {
797
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
798
+ readonly generation: number;
799
+ readonly issuance: "active" | "retired";
800
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
801
+ readonly clientRegistrationId: string;
802
+ readonly scopes: readonly string[];
803
+ readonly resources: readonly string[];
804
+ readonly retention: "access-and-refresh" | "access-only";
805
+ readonly maximumAccessLifetimeMillis: number;
806
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
807
+ readonly refreshAheadMillis: number;
808
+ readonly refresh: "confidential" | "rotating" | "unsupported";
809
+ readonly revocation: "cohort" | "unsupported";
810
+ } | undefined;
811
+ readonly returnTarget: string & import("effect/Brand").Brand<"effect-auth/OAuthReturnTarget">;
812
+ readonly stateDigest: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
813
+ readonly requestBindingVerifier: string & import("effect/Brand").Brand<"effect-auth/TokenDigest">;
814
+ readonly requestBindingExpiresAtMillis: number;
815
+ readonly issuedAtMillis: number;
816
+ readonly expiresAtMillis: number;
817
+ readonly claimLifetimeMillis: number;
818
+ readonly namespace: "effect-auth/oauth-connected-context/v1";
819
+ readonly revision: {
820
+ readonly subjectId: string & import("effect/Brand").Brand<"effect-auth/SubjectId">;
821
+ readonly securityRevision: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
822
+ readonly credentials: readonly {
823
+ readonly credentialId: string;
824
+ readonly revision: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
825
+ }[];
826
+ };
827
+ readonly profile: {
828
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
829
+ readonly generation: number;
830
+ readonly issuance: "active" | "retired";
831
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
832
+ readonly clientRegistrationId: string;
833
+ readonly scopes: readonly string[];
834
+ readonly resources: readonly string[];
835
+ readonly retention: "access-and-refresh" | "access-only";
836
+ readonly maximumAccessLifetimeMillis: number;
837
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
838
+ readonly refreshAheadMillis: number;
839
+ readonly refresh: "confidential" | "rotating" | "unsupported";
840
+ readonly revocation: "cohort" | "unsupported";
841
+ };
842
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
843
+ readonly reconnect?: {
844
+ readonly grantId: string & import("effect/Brand").Brand<"effect-auth/OAuthGrantId">;
845
+ readonly grantVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
846
+ readonly tokenVersion: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
847
+ readonly cohortGeneration: string & import("effect/Brand").Brand<"effect-auth/SecurityRevision">;
848
+ readonly identity: {
849
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
850
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
851
+ readonly subject: string;
852
+ };
853
+ readonly configuration: {
854
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
855
+ readonly protocol: "oauth" | "oidc";
856
+ readonly configurationGeneration: number;
857
+ readonly issuer: string & import("effect/Brand").Brand<"effect-auth/OAuthIssuer">;
858
+ readonly responseIssuerMode: "required" | "unsupported";
859
+ readonly callbackId: string & import("effect/Brand").Brand<"effect-auth/OAuthCallbackId">;
860
+ readonly redirectUri: string & import("effect/Brand").Brand<"effect-auth/OAuthRedirectUri">;
861
+ readonly profile: {
862
+ readonly key: string & import("effect/Brand").Brand<"effect-auth/OAuthPermissionProfileKey">;
863
+ readonly generation: number;
864
+ readonly issuance: "active" | "retired";
865
+ readonly provider: string & import("effect/Brand").Brand<"effect-auth/OAuthProviderKey">;
866
+ readonly clientRegistrationId: string;
867
+ readonly scopes: readonly string[];
868
+ readonly resources: readonly string[];
869
+ readonly retention: "access-and-refresh" | "access-only";
870
+ readonly maximumAccessLifetimeMillis: number;
871
+ readonly maximumRefreshLifetimeMillis?: number | undefined;
872
+ readonly refreshAheadMillis: number;
873
+ readonly refresh: "confidential" | "rotating" | "unsupported";
874
+ readonly revocation: "cohort" | "unsupported";
875
+ };
876
+ };
877
+ } | undefined;
878
+ readonly maximumEvidenceAgeMillis: number;
879
+ };
880
+ readonly sealed: {
881
+ readonly format: "oauth-xchacha20poly1305-v1";
882
+ readonly keyId: string;
883
+ readonly nonce: string;
884
+ readonly ciphertext: import("effect/Redacted").Redacted<string>;
885
+ };
886
+ readonly retentionUntilMillis: number;
887
+ };
888
+ }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
889
+ readonly inspectPrepared: (input: import("@yielded/auth/OAuth").OAuthConnectedPreparedAccess) => Effect.Effect<import("@yielded/auth/OAuth").OAuthConnectedPendingFlow | undefined, import("@yielded/auth/OAuth").OAuthUnavailable>;
776
890
  readonly preflight: (input: import("@yielded/auth/OAuth").OAuthConnectedAccess) => Effect.Effect<import("@yielded/auth/OAuth").OAuthConnectedPendingFlow | undefined, import("@yielded/auth/OAuth").OAuthUnavailable>;
777
891
  readonly claim: <A>(input: {
778
892
  readonly access: import("@yielded/auth/OAuth").OAuthConnectedAccess;
@@ -1414,7 +1528,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1414
1528
  readonly hasMore: boolean;
1415
1529
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable, never>;
1416
1530
  };
1417
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthConnectedRevocationServices: <T extends AnyPgTable<{
1531
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, makeOAuthConnectedRevocationServices: <T extends AnyPgTable<{
1418
1532
  dialect: "pg";
1419
1533
  }>, O extends AnyPgTable<{
1420
1534
  dialect: "pg";
@@ -1522,7 +1636,7 @@ export declare const makeOAuthAccountsServices: <S extends AnyPgTable<{
1522
1636
  readonly settled: boolean;
1523
1637
  }, A>) => Effect.Effect<import("@yielded/auth/Hooks").PreparedCommit<A>, import("@yielded/auth/OAuth").OAuthUnavailable>;
1524
1638
  };
1525
- }, never, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthConnected: {
1639
+ }, import("@yielded/auth/OAuth").OAuthUnavailable, Database | import("@yielded/auth/Hooks").LifecycleHooks>, coordinateOAuthConnected: {
1526
1640
  <D extends EffectPgDatabase<import("drizzle-orm").TablesRelationalConfig>, S extends AnyPgTable<{
1527
1641
  dialect: "pg";
1528
1642
  }>, AC extends AnyPgTable<{