@convex-dev/better-auth 0.7.0-alpha.12 → 0.7.0-alpha.2

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 (108) hide show
  1. package/dist/commonjs/client/adapter.d.ts +1 -10
  2. package/dist/commonjs/client/adapter.d.ts.map +1 -1
  3. package/dist/commonjs/client/adapter.js +192 -183
  4. package/dist/commonjs/client/adapter.js.map +1 -1
  5. package/dist/commonjs/client/index.d.ts +179 -238
  6. package/dist/commonjs/client/index.d.ts.map +1 -1
  7. package/dist/commonjs/client/index.js +67 -60
  8. package/dist/commonjs/client/index.js.map +1 -1
  9. package/dist/commonjs/component/lib.d.ts +548 -218
  10. package/dist/commonjs/component/lib.d.ts.map +1 -1
  11. package/dist/commonjs/component/lib.js +286 -315
  12. package/dist/commonjs/component/lib.js.map +1 -1
  13. package/dist/commonjs/component/schema.d.ts +28 -90
  14. package/dist/commonjs/component/schema.d.ts.map +1 -1
  15. package/dist/commonjs/component/schema.js +18 -76
  16. package/dist/commonjs/component/schema.js.map +1 -1
  17. package/dist/commonjs/component/util.d.ts +86 -148
  18. package/dist/commonjs/component/util.d.ts.map +1 -1
  19. package/dist/commonjs/nextjs/index.d.ts.map +1 -1
  20. package/dist/commonjs/nextjs/index.js +0 -3
  21. package/dist/commonjs/nextjs/index.js.map +1 -1
  22. package/dist/commonjs/plugins/convex/index.d.ts +11 -14
  23. package/dist/commonjs/plugins/convex/index.d.ts.map +1 -1
  24. package/dist/commonjs/plugins/convex/index.js +4 -10
  25. package/dist/commonjs/plugins/convex/index.js.map +1 -1
  26. package/dist/commonjs/plugins/cross-domain/client.d.ts +1 -1
  27. package/dist/commonjs/plugins/cross-domain/index.d.ts +3 -5
  28. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
  29. package/dist/commonjs/plugins/cross-domain/index.js +5 -19
  30. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  31. package/dist/commonjs/react/client.d.ts +1 -1
  32. package/dist/commonjs/react/client.d.ts.map +1 -1
  33. package/dist/commonjs/react/client.js +9 -3
  34. package/dist/commonjs/react/client.js.map +1 -1
  35. package/dist/commonjs/react-start/index.d.ts +3 -37
  36. package/dist/commonjs/react-start/index.d.ts.map +1 -1
  37. package/dist/commonjs/react-start/index.js +4 -20
  38. package/dist/commonjs/react-start/index.js.map +1 -1
  39. package/dist/esm/client/adapter.d.ts +1 -10
  40. package/dist/esm/client/adapter.d.ts.map +1 -1
  41. package/dist/esm/client/adapter.js +192 -183
  42. package/dist/esm/client/adapter.js.map +1 -1
  43. package/dist/esm/client/index.d.ts +179 -238
  44. package/dist/esm/client/index.d.ts.map +1 -1
  45. package/dist/esm/client/index.js +67 -60
  46. package/dist/esm/client/index.js.map +1 -1
  47. package/dist/esm/component/lib.d.ts +548 -218
  48. package/dist/esm/component/lib.d.ts.map +1 -1
  49. package/dist/esm/component/lib.js +286 -315
  50. package/dist/esm/component/lib.js.map +1 -1
  51. package/dist/esm/component/schema.d.ts +28 -90
  52. package/dist/esm/component/schema.d.ts.map +1 -1
  53. package/dist/esm/component/schema.js +18 -76
  54. package/dist/esm/component/schema.js.map +1 -1
  55. package/dist/esm/component/util.d.ts +86 -148
  56. package/dist/esm/component/util.d.ts.map +1 -1
  57. package/dist/esm/nextjs/index.d.ts.map +1 -1
  58. package/dist/esm/nextjs/index.js +0 -3
  59. package/dist/esm/nextjs/index.js.map +1 -1
  60. package/dist/esm/plugins/convex/index.d.ts +11 -14
  61. package/dist/esm/plugins/convex/index.d.ts.map +1 -1
  62. package/dist/esm/plugins/convex/index.js +4 -10
  63. package/dist/esm/plugins/convex/index.js.map +1 -1
  64. package/dist/esm/plugins/cross-domain/client.d.ts +1 -1
  65. package/dist/esm/plugins/cross-domain/index.d.ts +3 -5
  66. package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
  67. package/dist/esm/plugins/cross-domain/index.js +5 -19
  68. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  69. package/dist/esm/react/client.d.ts +1 -1
  70. package/dist/esm/react/client.d.ts.map +1 -1
  71. package/dist/esm/react/client.js +9 -3
  72. package/dist/esm/react/client.js.map +1 -1
  73. package/dist/esm/react-start/index.d.ts +3 -37
  74. package/dist/esm/react-start/index.d.ts.map +1 -1
  75. package/dist/esm/react-start/index.js +4 -20
  76. package/dist/esm/react-start/index.js.map +1 -1
  77. package/package.json +5 -20
  78. package/src/client/adapter.ts +195 -191
  79. package/src/client/cors.ts +425 -0
  80. package/src/client/index.ts +80 -61
  81. package/src/component/_generated/api.d.ts +149 -605
  82. package/src/component/lib.ts +335 -444
  83. package/src/component/schema.ts +19 -81
  84. package/src/nextjs/index.ts +0 -3
  85. package/src/plugins/convex/index.ts +4 -12
  86. package/src/plugins/cross-domain/index.ts +5 -19
  87. package/src/react/client.tsx +11 -5
  88. package/src/react-start/index.ts +6 -33
  89. package/dist/commonjs/component/adapterTest.d.ts +0 -19
  90. package/dist/commonjs/component/adapterTest.d.ts.map +0 -1
  91. package/dist/commonjs/component/adapterTest.js +0 -82
  92. package/dist/commonjs/component/adapterTest.js.map +0 -1
  93. package/dist/commonjs/utils/index.d.ts +0 -2
  94. package/dist/commonjs/utils/index.d.ts.map +0 -1
  95. package/dist/commonjs/utils/index.js +0 -8
  96. package/dist/commonjs/utils/index.js.map +0 -1
  97. package/dist/esm/component/adapterTest.d.ts +0 -19
  98. package/dist/esm/component/adapterTest.d.ts.map +0 -1
  99. package/dist/esm/component/adapterTest.js +0 -82
  100. package/dist/esm/component/adapterTest.js.map +0 -1
  101. package/dist/esm/utils/index.d.ts +0 -2
  102. package/dist/esm/utils/index.d.ts.map +0 -1
  103. package/dist/esm/utils/index.js +0 -8
  104. package/dist/esm/utils/index.js.map +0 -1
  105. package/src/client/adapter.test.ts +0 -144
  106. package/src/component/adapterTest.ts +0 -141
  107. package/src/react-start/vite-env.d.ts +0 -2
  108. /package/src/{utils/index.ts → util.ts} +0 -0
@@ -4,14 +4,10 @@ import type { api } from "../component/_generated/api";
4
4
  import schema from "../component/schema";
5
5
  import { convexAdapter } from "./adapter";
6
6
  import { betterAuth } from "better-auth";
7
- import { adapterArgsValidator } from "../component/lib";
8
7
  export { convexAdapter };
9
8
  declare const createUserValidator: import("convex/values").VObject<{
10
9
  image?: string | undefined;
11
10
  twoFactorEnabled?: boolean | undefined;
12
- isAnonymous?: boolean | undefined;
13
- username?: string | undefined;
14
- displayUsername?: string | undefined;
15
11
  name: string;
16
12
  email: string;
17
13
  emailVerified: boolean;
@@ -22,207 +18,118 @@ declare const createUserValidator: import("convex/values").VObject<{
22
18
  email: import("convex/values").VString<string, "required">;
23
19
  emailVerified: import("convex/values").VBoolean<boolean, "required">;
24
20
  image: import("convex/values").VString<string | undefined, "optional">;
21
+ twoFactorEnabled: import("convex/values").VBoolean<boolean | undefined, "optional">;
25
22
  createdAt: import("convex/values").VFloat64<number, "required">;
26
23
  updatedAt: import("convex/values").VFloat64<number, "required">;
27
- twoFactorEnabled: import("convex/values").VBoolean<boolean | undefined, "optional">;
28
- isAnonymous: import("convex/values").VBoolean<boolean | undefined, "optional">;
29
- username: import("convex/values").VString<string | undefined, "optional">;
30
- displayUsername: import("convex/values").VString<string | undefined, "optional">;
31
- }, "required", "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt" | "twoFactorEnabled" | "isAnonymous" | "username" | "displayUsername">;
24
+ }, "required", "name" | "email" | "emailVerified" | "image" | "twoFactorEnabled" | "createdAt" | "updatedAt">;
32
25
  declare const createUserArgsValidator: import("convex/values").VObject<{
33
26
  input: {
34
- model: "user";
35
- data: {
36
- image?: string | undefined;
37
- twoFactorEnabled?: boolean | undefined;
38
- isAnonymous?: boolean | undefined;
39
- username?: string | undefined;
40
- displayUsername?: string | undefined;
41
- name: string;
42
- email: string;
43
- emailVerified: boolean;
44
- createdAt: number;
45
- updatedAt: number;
46
- };
27
+ image?: string | undefined;
28
+ twoFactorEnabled?: boolean | undefined;
29
+ name: string;
30
+ email: string;
31
+ emailVerified: boolean;
32
+ createdAt: number;
33
+ updatedAt: number;
34
+ table: "user";
47
35
  };
48
36
  }, {
49
37
  input: import("convex/values").VObject<{
50
- model: "user";
51
- data: {
52
- image?: string | undefined;
53
- twoFactorEnabled?: boolean | undefined;
54
- isAnonymous?: boolean | undefined;
55
- username?: string | undefined;
56
- displayUsername?: string | undefined;
57
- name: string;
58
- email: string;
59
- emailVerified: boolean;
60
- createdAt: number;
61
- updatedAt: number;
62
- };
38
+ image?: string | undefined;
39
+ twoFactorEnabled?: boolean | undefined;
40
+ name: string;
41
+ email: string;
42
+ emailVerified: boolean;
43
+ createdAt: number;
44
+ updatedAt: number;
45
+ table: "user";
63
46
  }, {
64
- model: import("convex/values").VLiteral<"user", "required">;
65
- data: import("convex/values").VObject<{
66
- image?: string | undefined;
67
- twoFactorEnabled?: boolean | undefined;
68
- isAnonymous?: boolean | undefined;
69
- username?: string | undefined;
70
- displayUsername?: string | undefined;
71
- name: string;
72
- email: string;
73
- emailVerified: boolean;
74
- createdAt: number;
75
- updatedAt: number;
76
- }, {
77
- name: import("convex/values").VString<string, "required">;
78
- email: import("convex/values").VString<string, "required">;
79
- emailVerified: import("convex/values").VBoolean<boolean, "required">;
80
- image: import("convex/values").VString<string | undefined, "optional">;
81
- createdAt: import("convex/values").VFloat64<number, "required">;
82
- updatedAt: import("convex/values").VFloat64<number, "required">;
83
- twoFactorEnabled: import("convex/values").VBoolean<boolean | undefined, "optional">;
84
- isAnonymous: import("convex/values").VBoolean<boolean | undefined, "optional">;
85
- username: import("convex/values").VString<string | undefined, "optional">;
86
- displayUsername: import("convex/values").VString<string | undefined, "optional">;
87
- }, "required", "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt" | "twoFactorEnabled" | "isAnonymous" | "username" | "displayUsername">;
88
- }, "required", "model" | "data" | "data.name" | "data.email" | "data.emailVerified" | "data.image" | "data.createdAt" | "data.updatedAt" | "data.twoFactorEnabled" | "data.isAnonymous" | "data.username" | "data.displayUsername">;
89
- }, "required", "input" | "input.model" | "input.data" | "input.data.name" | "input.data.email" | "input.data.emailVerified" | "input.data.image" | "input.data.createdAt" | "input.data.updatedAt" | "input.data.twoFactorEnabled" | "input.data.isAnonymous" | "input.data.username" | "input.data.displayUsername">;
47
+ table: import("convex/values").VLiteral<"user", "required">;
48
+ name: import("convex/values").VString<string, "required">;
49
+ email: import("convex/values").VString<string, "required">;
50
+ emailVerified: import("convex/values").VBoolean<boolean, "required">;
51
+ image: import("convex/values").VString<string | undefined, "optional">;
52
+ twoFactorEnabled: import("convex/values").VBoolean<boolean | undefined, "optional">;
53
+ createdAt: import("convex/values").VFloat64<number, "required">;
54
+ updatedAt: import("convex/values").VFloat64<number, "required">;
55
+ }, "required", "name" | "email" | "emailVerified" | "image" | "twoFactorEnabled" | "createdAt" | "updatedAt" | "table">;
56
+ }, "required", "input" | "input.table" | "input.name" | "input.email" | "input.emailVerified" | "input.image" | "input.twoFactorEnabled" | "input.createdAt" | "input.updatedAt">;
90
57
  declare const updateUserArgsValidator: import("convex/values").VObject<{
91
58
  input: {
92
- where?: {
93
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
94
- connector?: "AND" | "OR" | undefined;
95
- value: string | number | boolean | string[] | number[] | null;
59
+ value: Record<string, any>;
60
+ table: "user";
61
+ where: {
62
+ value: string | number | boolean | number[] | string[] | null;
96
63
  field: string;
97
- }[] | undefined;
98
- update: {
99
- name?: string | undefined;
100
- email?: string | undefined;
101
- emailVerified?: boolean | undefined;
102
- image?: string | undefined;
103
- createdAt?: number | undefined;
104
- updatedAt?: number | undefined;
105
- twoFactorEnabled?: boolean | undefined;
106
- isAnonymous?: boolean | undefined;
107
- username?: string | undefined;
108
- displayUsername?: string | undefined;
109
64
  };
110
- model: "user";
111
65
  };
112
66
  }, {
113
67
  input: import("convex/values").VObject<{
114
- where?: {
115
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
116
- connector?: "AND" | "OR" | undefined;
117
- value: string | number | boolean | string[] | number[] | null;
68
+ value: Record<string, any>;
69
+ table: "user";
70
+ where: {
71
+ value: string | number | boolean | number[] | string[] | null;
118
72
  field: string;
119
- }[] | undefined;
120
- update: {
121
- name?: string | undefined;
122
- email?: string | undefined;
123
- emailVerified?: boolean | undefined;
124
- image?: string | undefined;
125
- createdAt?: number | undefined;
126
- updatedAt?: number | undefined;
127
- twoFactorEnabled?: boolean | undefined;
128
- isAnonymous?: boolean | undefined;
129
- username?: string | undefined;
130
- displayUsername?: string | undefined;
131
73
  };
132
- model: "user";
133
74
  }, {
134
- model: import("convex/values").VLiteral<"user", "required">;
135
- where: import("convex/values").VArray<{
136
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
137
- connector?: "AND" | "OR" | undefined;
138
- value: string | number | boolean | string[] | number[] | null;
139
- field: string;
140
- }[] | undefined, import("convex/values").VObject<{
141
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
142
- connector?: "AND" | "OR" | undefined;
143
- value: string | number | boolean | string[] | number[] | null;
75
+ table: import("convex/values").VLiteral<"user", "required">;
76
+ where: import("convex/values").VObject<{
77
+ value: string | number | boolean | number[] | string[] | null;
144
78
  field: string;
145
79
  }, {
146
80
  field: import("convex/values").VString<string, "required">;
147
- operator: import("convex/values").VUnion<"lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined, [import("convex/values").VLiteral<"lt", "required">, import("convex/values").VLiteral<"lte", "required">, import("convex/values").VLiteral<"gt", "required">, import("convex/values").VLiteral<"gte", "required">, import("convex/values").VLiteral<"eq", "required">, import("convex/values").VLiteral<"in", "required">, import("convex/values").VLiteral<"ne", "required">, import("convex/values").VLiteral<"contains", "required">, import("convex/values").VLiteral<"starts_with", "required">, import("convex/values").VLiteral<"ends_with", "required">], "optional", never>;
148
- value: import("convex/values").VUnion<string | number | boolean | string[] | number[] | null, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">, import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">, import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>;
149
- connector: import("convex/values").VUnion<"AND" | "OR" | undefined, [import("convex/values").VLiteral<"AND", "required">, import("convex/values").VLiteral<"OR", "required">], "optional", never>;
150
- }, "required", "value" | "field" | "operator" | "connector">, "optional">;
151
- update: import("convex/values").VObject<{
152
- name?: string | undefined;
153
- email?: string | undefined;
154
- emailVerified?: boolean | undefined;
155
- image?: string | undefined;
156
- createdAt?: number | undefined;
157
- updatedAt?: number | undefined;
158
- twoFactorEnabled?: boolean | undefined;
159
- isAnonymous?: boolean | undefined;
160
- username?: string | undefined;
161
- displayUsername?: string | undefined;
162
- }, {
163
- name: import("convex/values").VString<string | undefined, "optional">;
164
- email: import("convex/values").VString<string | undefined, "optional">;
165
- emailVerified: import("convex/values").VBoolean<boolean | undefined, "optional">;
166
- image: import("convex/values").VString<string | undefined, "optional">;
167
- createdAt: import("convex/values").VFloat64<number | undefined, "optional">;
168
- updatedAt: import("convex/values").VFloat64<number | undefined, "optional">;
169
- twoFactorEnabled: import("convex/values").VBoolean<boolean | undefined, "optional">;
170
- isAnonymous: import("convex/values").VBoolean<boolean | undefined, "optional">;
171
- username: import("convex/values").VString<string | undefined, "optional">;
172
- displayUsername: import("convex/values").VString<string | undefined, "optional">;
173
- }, "required", "name" | "email" | "emailVerified" | "image" | "createdAt" | "updatedAt" | "twoFactorEnabled" | "isAnonymous" | "username" | "displayUsername">;
174
- }, "required", "update" | "model" | "where" | "update.name" | "update.email" | "update.emailVerified" | "update.image" | "update.createdAt" | "update.updatedAt" | "update.twoFactorEnabled" | "update.isAnonymous" | "update.username" | "update.displayUsername">;
175
- }, "required", "input" | "input.model" | "input.update" | "input.where" | "input.update.name" | "input.update.email" | "input.update.emailVerified" | "input.update.image" | "input.update.createdAt" | "input.update.updatedAt" | "input.update.twoFactorEnabled" | "input.update.isAnonymous" | "input.update.username" | "input.update.displayUsername">;
81
+ value: import("convex/values").VUnion<string | number | boolean | number[] | string[] | null, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">, import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">, import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>;
82
+ }, "required", "value" | "field">;
83
+ value: import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>;
84
+ }, "required", "value" | "table" | "where" | `value.${string}` | "where.value" | "where.field">;
85
+ }, "required", "input" | "input.table" | "input.value" | "input.where" | `input.value.${string}` | "input.where.value" | "input.where.field">;
86
+ declare const deleteUserArgsValidator: import("convex/values").VObject<{
87
+ unique?: boolean | undefined;
88
+ value: string | number | boolean | number[] | string[] | null;
89
+ table: string;
90
+ field: string;
91
+ }, {
92
+ table: import("convex/values").VString<string, "required">;
93
+ field: import("convex/values").VString<string, "required">;
94
+ unique: import("convex/values").VBoolean<boolean | undefined, "optional">;
95
+ value: import("convex/values").VUnion<string | number | boolean | number[] | string[] | null, [import("convex/values").VString<string, "required">, import("convex/values").VFloat64<number, "required">, import("convex/values").VBoolean<boolean, "required">, import("convex/values").VArray<string[], import("convex/values").VString<string, "required">, "required">, import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">, import("convex/values").VNull<null, "required">], "required", never>;
96
+ }, "required", "value" | "table" | "field" | "unique">;
176
97
  declare const createSessionArgsValidator: import("convex/values").VObject<{
177
98
  input: {
178
- model: "session";
179
- data: {
180
- ipAddress?: string | undefined;
181
- userAgent?: string | undefined;
182
- createdAt: number;
183
- updatedAt: number;
184
- userId: string;
185
- expiresAt: number;
186
- token: string;
187
- };
99
+ ipAddress?: string | undefined;
100
+ userAgent?: string | undefined;
101
+ userId: string;
102
+ createdAt: number;
103
+ updatedAt: number;
104
+ expiresAt: number;
105
+ token: string;
106
+ table: "session";
188
107
  };
189
108
  }, {
190
109
  input: import("convex/values").VObject<{
191
- model: "session";
192
- data: {
193
- ipAddress?: string | undefined;
194
- userAgent?: string | undefined;
195
- createdAt: number;
196
- updatedAt: number;
197
- userId: string;
198
- expiresAt: number;
199
- token: string;
200
- };
110
+ ipAddress?: string | undefined;
111
+ userAgent?: string | undefined;
112
+ userId: string;
113
+ createdAt: number;
114
+ updatedAt: number;
115
+ expiresAt: number;
116
+ token: string;
117
+ table: "session";
201
118
  }, {
202
- model: import("convex/values").VLiteral<"session", "required">;
203
- data: import("convex/values").VObject<{
204
- ipAddress?: string | undefined;
205
- userAgent?: string | undefined;
206
- createdAt: number;
207
- updatedAt: number;
208
- userId: string;
209
- expiresAt: number;
210
- token: string;
211
- }, {
212
- expiresAt: import("convex/values").VFloat64<number, "required">;
213
- token: import("convex/values").VString<string, "required">;
214
- createdAt: import("convex/values").VFloat64<number, "required">;
215
- updatedAt: import("convex/values").VFloat64<number, "required">;
216
- ipAddress: import("convex/values").VString<string | undefined, "optional">;
217
- userAgent: import("convex/values").VString<string | undefined, "optional">;
218
- userId: import("convex/values").VString<string, "required">;
219
- }, "required", "createdAt" | "updatedAt" | "userId" | "expiresAt" | "token" | "ipAddress" | "userAgent">;
220
- }, "required", "model" | "data" | "data.createdAt" | "data.updatedAt" | "data.userId" | "data.expiresAt" | "data.token" | "data.ipAddress" | "data.userAgent">;
221
- }, "required", "input" | "input.model" | "input.data" | "input.data.createdAt" | "input.data.updatedAt" | "input.data.userId" | "input.data.expiresAt" | "input.data.token" | "input.data.ipAddress" | "input.data.userAgent">;
119
+ expiresAt: import("convex/values").VFloat64<number, "required">;
120
+ token: import("convex/values").VString<string, "required">;
121
+ createdAt: import("convex/values").VFloat64<number, "required">;
122
+ updatedAt: import("convex/values").VFloat64<number, "required">;
123
+ ipAddress: import("convex/values").VString<string | undefined, "optional">;
124
+ userAgent: import("convex/values").VString<string | undefined, "optional">;
125
+ userId: import("convex/values").VString<string, "required">;
126
+ table: import("convex/values").VLiteral<"session", "required">;
127
+ }, "required", "userId" | "createdAt" | "updatedAt" | "expiresAt" | "token" | "ipAddress" | "userAgent" | "table">;
128
+ }, "required", "input" | "input.table" | "input.createdAt" | "input.updatedAt" | "input.userId" | "input.expiresAt" | "input.token" | "input.ipAddress" | "input.userAgent">;
222
129
  export type EventFunction<T extends DefaultFunctionArgs> = FunctionReference<"mutation", "internal" | "public", T>;
223
130
  export type AuthFunctions = {
224
131
  createUser: FunctionReference<"mutation", "internal", Infer<typeof createUserArgsValidator>>;
225
- deleteUser: FunctionReference<"mutation", "internal", Infer<typeof adapterArgsValidator>>;
132
+ deleteUser: FunctionReference<"mutation", "internal", Infer<typeof deleteUserArgsValidator>>;
226
133
  updateUser: FunctionReference<"mutation", "internal", Infer<typeof updateUserArgsValidator>>;
227
134
  createSession: FunctionReference<"mutation", "internal", Infer<typeof createSessionArgsValidator>>;
228
135
  };
@@ -250,7 +157,16 @@ export declare class BetterAuth<UserId extends string = string> {
250
157
  }): Promise<UserId | null>;
251
158
  getAuthUser(ctx: RunQueryCtx & {
252
159
  auth: ConvexAuth;
253
- }): Promise<any>;
160
+ }): Promise<{
161
+ image?: string | undefined;
162
+ twoFactorEnabled?: boolean | undefined;
163
+ name: string;
164
+ email: string;
165
+ emailVerified: boolean;
166
+ userId: string;
167
+ createdAt: number;
168
+ updatedAt: number;
169
+ } | null>;
254
170
  getIdTokenCookieName(createAuth: (ctx: GenericActionCtx<any>) => ReturnType<typeof betterAuth>): Promise<string>;
255
171
  createAuthFunctions<DataModel extends GenericDataModel>(opts: {
256
172
  onCreateUser: (ctx: GenericMutationCtx<DataModel>, user: Infer<typeof createUserValidator>) => Promise<UserId>;
@@ -261,88 +177,113 @@ export declare class BetterAuth<UserId extends string = string> {
261
177
  isAuthenticated: import("convex/server").RegisteredQuery<"public", {}, Promise<boolean>>;
262
178
  createUser: import("convex/server").RegisteredMutation<"internal", {
263
179
  input: {
264
- model: "user";
265
- data: {
266
- image?: string | undefined;
267
- twoFactorEnabled?: boolean | undefined;
268
- isAnonymous?: boolean | undefined;
269
- username?: string | undefined;
270
- displayUsername?: string | undefined;
271
- name: string;
272
- email: string;
273
- emailVerified: boolean;
274
- createdAt: number;
275
- updatedAt: number;
276
- };
180
+ image?: string | undefined;
181
+ twoFactorEnabled?: boolean | undefined;
182
+ name: string;
183
+ email: string;
184
+ emailVerified: boolean;
185
+ createdAt: number;
186
+ updatedAt: number;
187
+ table: "user";
277
188
  };
278
- }, Promise<any>>;
189
+ }, Promise<{
190
+ image?: string | undefined;
191
+ twoFactorEnabled?: boolean | undefined;
192
+ name: string;
193
+ email: string;
194
+ emailVerified: boolean;
195
+ userId: string;
196
+ createdAt: number;
197
+ updatedAt: number;
198
+ id: string;
199
+ } | {
200
+ ipAddress?: string | undefined;
201
+ userAgent?: string | undefined;
202
+ userId: string;
203
+ createdAt: number;
204
+ updatedAt: number;
205
+ expiresAt: number;
206
+ token: string;
207
+ id: string;
208
+ } | {
209
+ accessToken?: string | undefined;
210
+ refreshToken?: string | undefined;
211
+ idToken?: string | undefined;
212
+ accessTokenExpiresAt?: number | undefined;
213
+ refreshTokenExpiresAt?: number | undefined;
214
+ scope?: string | undefined;
215
+ password?: string | undefined;
216
+ userId: string;
217
+ createdAt: number;
218
+ updatedAt: number;
219
+ accountId: string;
220
+ providerId: string;
221
+ id: string;
222
+ } | {
223
+ userId: string;
224
+ secret: string;
225
+ backupCodes: string;
226
+ id: string;
227
+ } | {
228
+ createdAt?: number | undefined;
229
+ updatedAt?: number | undefined;
230
+ expiresAt: number;
231
+ identifier: string;
232
+ value: string;
233
+ id: string;
234
+ } | {
235
+ id: string;
236
+ createdAt: number;
237
+ publicKey: string;
238
+ privateKey: string;
239
+ }>>;
279
240
  deleteUser: import("convex/server").RegisteredMutation<"internal", {
280
- where?: {
281
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
282
- connector?: "AND" | "OR" | undefined;
283
- value: string | number | boolean | string[] | number[] | null;
284
- field: string;
285
- }[] | undefined;
286
- sortBy?: {
287
- field: string;
288
- direction: "asc" | "desc";
289
- } | undefined;
290
- select?: string[] | undefined;
291
- limit?: number | undefined;
292
241
  unique?: boolean | undefined;
293
- model: string;
294
- }, Promise<any>>;
242
+ value: string | number | boolean | number[] | string[] | null;
243
+ table: string;
244
+ field: string;
245
+ }, Promise<void>>;
295
246
  updateUser: import("convex/server").RegisteredMutation<"internal", {
296
247
  input: {
297
- where?: {
298
- operator?: "lt" | "lte" | "gt" | "gte" | "eq" | "in" | "ne" | "contains" | "starts_with" | "ends_with" | undefined;
299
- connector?: "AND" | "OR" | undefined;
300
- value: string | number | boolean | string[] | number[] | null;
248
+ value: Record<string, any>;
249
+ table: "user";
250
+ where: {
251
+ value: string | number | boolean | number[] | string[] | null;
301
252
  field: string;
302
- }[] | undefined;
303
- update: {
304
- name?: string | undefined;
305
- email?: string | undefined;
306
- emailVerified?: boolean | undefined;
307
- image?: string | undefined;
308
- createdAt?: number | undefined;
309
- updatedAt?: number | undefined;
310
- twoFactorEnabled?: boolean | undefined;
311
- isAnonymous?: boolean | undefined;
312
- username?: string | undefined;
313
- displayUsername?: string | undefined;
314
253
  };
315
- model: "user";
316
254
  };
317
255
  }, Promise<{
318
- _id: string;
319
- _creationTime: number;
320
256
  image?: string | undefined;
321
257
  twoFactorEnabled?: boolean | undefined;
322
- isAnonymous?: boolean | undefined;
323
- username?: string | undefined;
324
- displayUsername?: string | undefined;
325
- userId?: string | undefined;
326
258
  name: string;
327
259
  email: string;
328
260
  emailVerified: boolean;
261
+ userId: string;
329
262
  createdAt: number;
330
263
  updatedAt: number;
264
+ id: string;
331
265
  }>>;
332
266
  createSession: import("convex/server").RegisteredMutation<"internal", {
333
267
  input: {
334
- model: "session";
335
- data: {
336
- ipAddress?: string | undefined;
337
- userAgent?: string | undefined;
338
- createdAt: number;
339
- updatedAt: number;
340
- userId: string;
341
- expiresAt: number;
342
- token: string;
343
- };
268
+ ipAddress?: string | undefined;
269
+ userAgent?: string | undefined;
270
+ userId: string;
271
+ createdAt: number;
272
+ updatedAt: number;
273
+ expiresAt: number;
274
+ token: string;
275
+ table: "session";
344
276
  };
345
- }, Promise<any>>;
277
+ }, Promise<{
278
+ ipAddress?: string | undefined;
279
+ userAgent?: string | undefined;
280
+ userId: string;
281
+ createdAt: number;
282
+ updatedAt: number;
283
+ expiresAt: number;
284
+ token: string;
285
+ id: string;
286
+ }>>;
346
287
  };
347
288
  registerRoutes(http: HttpRouter, createAuth: (ctx: GenericActionCtx<any>) => ReturnType<typeof betterAuth>, opts?: {
348
289
  cors: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}