zele 0.3.0 → 0.3.5

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 (157) hide show
  1. package/README.md +1 -1
  2. package/bin/zele +27 -0
  3. package/dist/api-utils.d.ts +51 -2
  4. package/dist/api-utils.js +89 -3
  5. package/dist/api-utils.js.map +1 -1
  6. package/dist/auth.d.ts +27 -6
  7. package/dist/auth.js +185 -129
  8. package/dist/auth.js.map +1 -1
  9. package/dist/calendar-client.d.ts +16 -9
  10. package/dist/calendar-client.js +163 -59
  11. package/dist/calendar-client.js.map +1 -1
  12. package/dist/cli.js +26 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/commands/attachment.js +17 -15
  15. package/dist/commands/attachment.js.map +1 -1
  16. package/dist/commands/auth-cmd.js +20 -9
  17. package/dist/commands/auth-cmd.js.map +1 -1
  18. package/dist/commands/calendar.js +67 -78
  19. package/dist/commands/calendar.js.map +1 -1
  20. package/dist/commands/draft.js +25 -18
  21. package/dist/commands/draft.js.map +1 -1
  22. package/dist/commands/label.js +33 -45
  23. package/dist/commands/label.js.map +1 -1
  24. package/dist/commands/mail-actions.js +11 -13
  25. package/dist/commands/mail-actions.js.map +1 -1
  26. package/dist/commands/mail.js +112 -126
  27. package/dist/commands/mail.js.map +1 -1
  28. package/dist/commands/profile.js +18 -21
  29. package/dist/commands/profile.js.map +1 -1
  30. package/dist/commands/watch.js +33 -261
  31. package/dist/commands/watch.js.map +1 -1
  32. package/dist/db.js +12 -13
  33. package/dist/db.js.map +1 -1
  34. package/dist/generated/browser.d.ts +12 -27
  35. package/dist/generated/client.d.ts +13 -28
  36. package/dist/generated/client.js +1 -1
  37. package/dist/generated/commonInputTypes.d.ts +90 -26
  38. package/dist/generated/enums.d.ts +0 -4
  39. package/dist/generated/enums.js +0 -3
  40. package/dist/generated/enums.js.map +1 -1
  41. package/dist/generated/internal/class.d.ts +22 -55
  42. package/dist/generated/internal/class.js +12 -4
  43. package/dist/generated/internal/class.js.map +1 -1
  44. package/dist/generated/internal/prismaNamespace.d.ts +272 -511
  45. package/dist/generated/internal/prismaNamespace.js +54 -66
  46. package/dist/generated/internal/prismaNamespace.js.map +1 -1
  47. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +60 -74
  48. package/dist/generated/internal/prismaNamespaceBrowser.js +50 -62
  49. package/dist/generated/internal/prismaNamespaceBrowser.js.map +1 -1
  50. package/dist/generated/models/Account.d.ts +1637 -0
  51. package/dist/generated/models/Account.js +2 -0
  52. package/dist/generated/models/Account.js.map +1 -0
  53. package/dist/generated/models/CalendarList.d.ts +1161 -0
  54. package/dist/generated/models/CalendarList.js +2 -0
  55. package/dist/generated/models/CalendarList.js.map +1 -0
  56. package/dist/generated/models/Label.d.ts +1161 -0
  57. package/dist/generated/models/Label.js +2 -0
  58. package/dist/generated/models/Label.js.map +1 -0
  59. package/dist/generated/models/Profile.d.ts +1269 -0
  60. package/dist/generated/models/Profile.js +2 -0
  61. package/dist/generated/models/Profile.js.map +1 -0
  62. package/dist/generated/models/SyncState.d.ts +1130 -0
  63. package/dist/generated/models/SyncState.js +2 -0
  64. package/dist/generated/models/SyncState.js.map +1 -0
  65. package/dist/generated/models/Thread.d.ts +1608 -0
  66. package/dist/generated/models/Thread.js +2 -0
  67. package/dist/generated/models/Thread.js.map +1 -0
  68. package/dist/generated/models.d.ts +6 -9
  69. package/dist/gmail-client.d.ts +119 -94
  70. package/dist/gmail-client.js +862 -322
  71. package/dist/gmail-client.js.map +1 -1
  72. package/dist/mail-tui.d.ts +1 -0
  73. package/dist/mail-tui.js +517 -0
  74. package/dist/mail-tui.js.map +1 -0
  75. package/dist/output.d.ts +6 -0
  76. package/dist/output.js +124 -11
  77. package/dist/output.js.map +1 -1
  78. package/package.json +39 -11
  79. package/schema.prisma +81 -113
  80. package/src/api-utils.ts +103 -5
  81. package/src/auth.ts +224 -143
  82. package/src/calendar-client.ts +196 -89
  83. package/src/cli.ts +30 -1
  84. package/src/commands/attachment.ts +18 -19
  85. package/src/commands/auth-cmd.ts +19 -9
  86. package/src/commands/calendar.ts +42 -85
  87. package/src/commands/draft.ts +19 -22
  88. package/src/commands/label.ts +21 -57
  89. package/src/commands/mail-actions.ts +11 -19
  90. package/src/commands/mail.ts +102 -147
  91. package/src/commands/profile.ts +12 -28
  92. package/src/commands/watch.ts +37 -304
  93. package/src/db.ts +13 -16
  94. package/src/generated/browser.ts +49 -0
  95. package/src/generated/client.ts +71 -0
  96. package/src/generated/commonInputTypes.ts +332 -0
  97. package/src/generated/enums.ts +17 -0
  98. package/src/generated/internal/class.ts +250 -0
  99. package/src/generated/internal/prismaNamespace.ts +1198 -0
  100. package/src/generated/internal/prismaNamespaceBrowser.ts +169 -0
  101. package/src/generated/models/Account.ts +1848 -0
  102. package/src/generated/models/CalendarList.ts +1331 -0
  103. package/src/generated/models/Label.ts +1331 -0
  104. package/src/generated/models/Profile.ts +1439 -0
  105. package/src/generated/models/SyncState.ts +1300 -0
  106. package/src/generated/models/Thread.ts +1787 -0
  107. package/src/generated/models.ts +17 -0
  108. package/src/gmail-client.test.ts +59 -0
  109. package/src/gmail-client.ts +1034 -429
  110. package/src/mail-tui.tsx +1061 -0
  111. package/src/output.test.ts +1093 -0
  112. package/src/output.ts +128 -13
  113. package/src/schema.sql +58 -68
  114. package/src/test-fixtures/email-html/safe-claude-event.html +28 -0
  115. package/src/test-fixtures/email-html/safe-product-announcement.html +25 -0
  116. package/src/test-fixtures/email-html/safe-tracked-links.html +27 -0
  117. package/src/test-fixtures/email-html-snapshots/safe-claude-event.html.md +9 -0
  118. package/src/test-fixtures/email-html-snapshots/safe-product-announcement.html.md +13 -0
  119. package/src/test-fixtures/email-html-snapshots/safe-tracked-links.html.md +7 -0
  120. package/AGENTS.md +0 -26
  121. package/CHANGELOG.md +0 -43
  122. package/dist/generated/models/accounts.d.ts +0 -2000
  123. package/dist/generated/models/accounts.js +0 -2
  124. package/dist/generated/models/accounts.js.map +0 -1
  125. package/dist/generated/models/calendar_events.d.ts +0 -1433
  126. package/dist/generated/models/calendar_events.js +0 -2
  127. package/dist/generated/models/calendar_events.js.map +0 -1
  128. package/dist/generated/models/calendar_lists.d.ts +0 -1131
  129. package/dist/generated/models/calendar_lists.js +0 -2
  130. package/dist/generated/models/calendar_lists.js.map +0 -1
  131. package/dist/generated/models/label_counts.d.ts +0 -1131
  132. package/dist/generated/models/label_counts.js +0 -2
  133. package/dist/generated/models/label_counts.js.map +0 -1
  134. package/dist/generated/models/labels.d.ts +0 -1131
  135. package/dist/generated/models/labels.js +0 -2
  136. package/dist/generated/models/labels.js.map +0 -1
  137. package/dist/generated/models/profiles.d.ts +0 -1131
  138. package/dist/generated/models/profiles.js +0 -2
  139. package/dist/generated/models/profiles.js.map +0 -1
  140. package/dist/generated/models/sync_states.d.ts +0 -1107
  141. package/dist/generated/models/sync_states.js +0 -2
  142. package/dist/generated/models/sync_states.js.map +0 -1
  143. package/dist/generated/models/thread_lists.d.ts +0 -1404
  144. package/dist/generated/models/thread_lists.js +0 -2
  145. package/dist/generated/models/thread_lists.js.map +0 -1
  146. package/dist/generated/models/threads.d.ts +0 -1247
  147. package/dist/generated/models/threads.js +0 -2
  148. package/dist/generated/models/threads.js.map +0 -1
  149. package/dist/gmail-cache.d.ts +0 -60
  150. package/dist/gmail-cache.js +0 -264
  151. package/dist/gmail-cache.js.map +0 -1
  152. package/docs/gogcli-gmail-implementation.md +0 -599
  153. package/scripts/test-device-code-clients.ts +0 -186
  154. package/scripts/test-micropython-scopes.ts +0 -72
  155. package/scripts/test-oauth-clients.ts +0 -257
  156. package/src/gmail-cache.ts +0 -339
  157. package/tsconfig.json +0 -16
@@ -0,0 +1,1787 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file exports the `Thread` model and its related types.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+ import type * as runtime from "@prisma/client/runtime/client"
12
+ import type * as $Enums from "../enums.js"
13
+ import type * as Prisma from "../internal/prismaNamespace.js"
14
+
15
+ /**
16
+ * Model Thread
17
+ *
18
+ */
19
+ export type ThreadModel = runtime.Types.Result.DefaultSelection<Prisma.$ThreadPayload>
20
+
21
+ export type AggregateThread = {
22
+ _count: ThreadCountAggregateOutputType | null
23
+ _avg: ThreadAvgAggregateOutputType | null
24
+ _sum: ThreadSumAggregateOutputType | null
25
+ _min: ThreadMinAggregateOutputType | null
26
+ _max: ThreadMaxAggregateOutputType | null
27
+ }
28
+
29
+ export type ThreadAvgAggregateOutputType = {
30
+ id: number | null
31
+ msgCount: number | null
32
+ ttlMs: number | null
33
+ }
34
+
35
+ export type ThreadSumAggregateOutputType = {
36
+ id: number | null
37
+ msgCount: number | null
38
+ ttlMs: number | null
39
+ }
40
+
41
+ export type ThreadMinAggregateOutputType = {
42
+ id: number | null
43
+ email: string | null
44
+ appId: string | null
45
+ threadId: string | null
46
+ subject: string | null
47
+ snippet: string | null
48
+ fromEmail: string | null
49
+ fromName: string | null
50
+ date: string | null
51
+ labelIds: string | null
52
+ hasUnread: boolean | null
53
+ msgCount: number | null
54
+ historyId: string | null
55
+ rawData: string | null
56
+ ttlMs: number | null
57
+ createdAt: Date | null
58
+ }
59
+
60
+ export type ThreadMaxAggregateOutputType = {
61
+ id: number | null
62
+ email: string | null
63
+ appId: string | null
64
+ threadId: string | null
65
+ subject: string | null
66
+ snippet: string | null
67
+ fromEmail: string | null
68
+ fromName: string | null
69
+ date: string | null
70
+ labelIds: string | null
71
+ hasUnread: boolean | null
72
+ msgCount: number | null
73
+ historyId: string | null
74
+ rawData: string | null
75
+ ttlMs: number | null
76
+ createdAt: Date | null
77
+ }
78
+
79
+ export type ThreadCountAggregateOutputType = {
80
+ id: number
81
+ email: number
82
+ appId: number
83
+ threadId: number
84
+ subject: number
85
+ snippet: number
86
+ fromEmail: number
87
+ fromName: number
88
+ date: number
89
+ labelIds: number
90
+ hasUnread: number
91
+ msgCount: number
92
+ historyId: number
93
+ rawData: number
94
+ ttlMs: number
95
+ createdAt: number
96
+ _all: number
97
+ }
98
+
99
+
100
+ export type ThreadAvgAggregateInputType = {
101
+ id?: true
102
+ msgCount?: true
103
+ ttlMs?: true
104
+ }
105
+
106
+ export type ThreadSumAggregateInputType = {
107
+ id?: true
108
+ msgCount?: true
109
+ ttlMs?: true
110
+ }
111
+
112
+ export type ThreadMinAggregateInputType = {
113
+ id?: true
114
+ email?: true
115
+ appId?: true
116
+ threadId?: true
117
+ subject?: true
118
+ snippet?: true
119
+ fromEmail?: true
120
+ fromName?: true
121
+ date?: true
122
+ labelIds?: true
123
+ hasUnread?: true
124
+ msgCount?: true
125
+ historyId?: true
126
+ rawData?: true
127
+ ttlMs?: true
128
+ createdAt?: true
129
+ }
130
+
131
+ export type ThreadMaxAggregateInputType = {
132
+ id?: true
133
+ email?: true
134
+ appId?: true
135
+ threadId?: true
136
+ subject?: true
137
+ snippet?: true
138
+ fromEmail?: true
139
+ fromName?: true
140
+ date?: true
141
+ labelIds?: true
142
+ hasUnread?: true
143
+ msgCount?: true
144
+ historyId?: true
145
+ rawData?: true
146
+ ttlMs?: true
147
+ createdAt?: true
148
+ }
149
+
150
+ export type ThreadCountAggregateInputType = {
151
+ id?: true
152
+ email?: true
153
+ appId?: true
154
+ threadId?: true
155
+ subject?: true
156
+ snippet?: true
157
+ fromEmail?: true
158
+ fromName?: true
159
+ date?: true
160
+ labelIds?: true
161
+ hasUnread?: true
162
+ msgCount?: true
163
+ historyId?: true
164
+ rawData?: true
165
+ ttlMs?: true
166
+ createdAt?: true
167
+ _all?: true
168
+ }
169
+
170
+ export type ThreadAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
171
+ /**
172
+ * Filter which Thread to aggregate.
173
+ */
174
+ where?: Prisma.ThreadWhereInput
175
+ /**
176
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
177
+ *
178
+ * Determine the order of Threads to fetch.
179
+ */
180
+ orderBy?: Prisma.ThreadOrderByWithRelationInput | Prisma.ThreadOrderByWithRelationInput[]
181
+ /**
182
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
183
+ *
184
+ * Sets the start position
185
+ */
186
+ cursor?: Prisma.ThreadWhereUniqueInput
187
+ /**
188
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
189
+ *
190
+ * Take `±n` Threads from the position of the cursor.
191
+ */
192
+ take?: number
193
+ /**
194
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
195
+ *
196
+ * Skip the first `n` Threads.
197
+ */
198
+ skip?: number
199
+ /**
200
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
201
+ *
202
+ * Count returned Threads
203
+ **/
204
+ _count?: true | ThreadCountAggregateInputType
205
+ /**
206
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
207
+ *
208
+ * Select which fields to average
209
+ **/
210
+ _avg?: ThreadAvgAggregateInputType
211
+ /**
212
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
213
+ *
214
+ * Select which fields to sum
215
+ **/
216
+ _sum?: ThreadSumAggregateInputType
217
+ /**
218
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
219
+ *
220
+ * Select which fields to find the minimum value
221
+ **/
222
+ _min?: ThreadMinAggregateInputType
223
+ /**
224
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
225
+ *
226
+ * Select which fields to find the maximum value
227
+ **/
228
+ _max?: ThreadMaxAggregateInputType
229
+ }
230
+
231
+ export type GetThreadAggregateType<T extends ThreadAggregateArgs> = {
232
+ [P in keyof T & keyof AggregateThread]: P extends '_count' | 'count'
233
+ ? T[P] extends true
234
+ ? number
235
+ : Prisma.GetScalarType<T[P], AggregateThread[P]>
236
+ : Prisma.GetScalarType<T[P], AggregateThread[P]>
237
+ }
238
+
239
+
240
+
241
+
242
+ export type ThreadGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
243
+ where?: Prisma.ThreadWhereInput
244
+ orderBy?: Prisma.ThreadOrderByWithAggregationInput | Prisma.ThreadOrderByWithAggregationInput[]
245
+ by: Prisma.ThreadScalarFieldEnum[] | Prisma.ThreadScalarFieldEnum
246
+ having?: Prisma.ThreadScalarWhereWithAggregatesInput
247
+ take?: number
248
+ skip?: number
249
+ _count?: ThreadCountAggregateInputType | true
250
+ _avg?: ThreadAvgAggregateInputType
251
+ _sum?: ThreadSumAggregateInputType
252
+ _min?: ThreadMinAggregateInputType
253
+ _max?: ThreadMaxAggregateInputType
254
+ }
255
+
256
+ export type ThreadGroupByOutputType = {
257
+ id: number
258
+ email: string
259
+ appId: string
260
+ threadId: string
261
+ subject: string
262
+ snippet: string
263
+ fromEmail: string
264
+ fromName: string
265
+ date: string
266
+ labelIds: string
267
+ hasUnread: boolean
268
+ msgCount: number
269
+ historyId: string | null
270
+ rawData: string
271
+ ttlMs: number
272
+ createdAt: Date
273
+ _count: ThreadCountAggregateOutputType | null
274
+ _avg: ThreadAvgAggregateOutputType | null
275
+ _sum: ThreadSumAggregateOutputType | null
276
+ _min: ThreadMinAggregateOutputType | null
277
+ _max: ThreadMaxAggregateOutputType | null
278
+ }
279
+
280
+ type GetThreadGroupByPayload<T extends ThreadGroupByArgs> = Prisma.PrismaPromise<
281
+ Array<
282
+ Prisma.PickEnumerable<ThreadGroupByOutputType, T['by']> &
283
+ {
284
+ [P in ((keyof T) & (keyof ThreadGroupByOutputType))]: P extends '_count'
285
+ ? T[P] extends boolean
286
+ ? number
287
+ : Prisma.GetScalarType<T[P], ThreadGroupByOutputType[P]>
288
+ : Prisma.GetScalarType<T[P], ThreadGroupByOutputType[P]>
289
+ }
290
+ >
291
+ >
292
+
293
+
294
+
295
+ export type ThreadWhereInput = {
296
+ AND?: Prisma.ThreadWhereInput | Prisma.ThreadWhereInput[]
297
+ OR?: Prisma.ThreadWhereInput[]
298
+ NOT?: Prisma.ThreadWhereInput | Prisma.ThreadWhereInput[]
299
+ id?: Prisma.IntFilter<"Thread"> | number
300
+ email?: Prisma.StringFilter<"Thread"> | string
301
+ appId?: Prisma.StringFilter<"Thread"> | string
302
+ threadId?: Prisma.StringFilter<"Thread"> | string
303
+ subject?: Prisma.StringFilter<"Thread"> | string
304
+ snippet?: Prisma.StringFilter<"Thread"> | string
305
+ fromEmail?: Prisma.StringFilter<"Thread"> | string
306
+ fromName?: Prisma.StringFilter<"Thread"> | string
307
+ date?: Prisma.StringFilter<"Thread"> | string
308
+ labelIds?: Prisma.StringFilter<"Thread"> | string
309
+ hasUnread?: Prisma.BoolFilter<"Thread"> | boolean
310
+ msgCount?: Prisma.IntFilter<"Thread"> | number
311
+ historyId?: Prisma.StringNullableFilter<"Thread"> | string | null
312
+ rawData?: Prisma.StringFilter<"Thread"> | string
313
+ ttlMs?: Prisma.IntFilter<"Thread"> | number
314
+ createdAt?: Prisma.DateTimeFilter<"Thread"> | Date | string
315
+ account?: Prisma.XOR<Prisma.AccountScalarRelationFilter, Prisma.AccountWhereInput>
316
+ }
317
+
318
+ export type ThreadOrderByWithRelationInput = {
319
+ id?: Prisma.SortOrder
320
+ email?: Prisma.SortOrder
321
+ appId?: Prisma.SortOrder
322
+ threadId?: Prisma.SortOrder
323
+ subject?: Prisma.SortOrder
324
+ snippet?: Prisma.SortOrder
325
+ fromEmail?: Prisma.SortOrder
326
+ fromName?: Prisma.SortOrder
327
+ date?: Prisma.SortOrder
328
+ labelIds?: Prisma.SortOrder
329
+ hasUnread?: Prisma.SortOrder
330
+ msgCount?: Prisma.SortOrder
331
+ historyId?: Prisma.SortOrderInput | Prisma.SortOrder
332
+ rawData?: Prisma.SortOrder
333
+ ttlMs?: Prisma.SortOrder
334
+ createdAt?: Prisma.SortOrder
335
+ account?: Prisma.AccountOrderByWithRelationInput
336
+ }
337
+
338
+ export type ThreadWhereUniqueInput = Prisma.AtLeast<{
339
+ id?: number
340
+ email_appId_threadId?: Prisma.ThreadEmailAppIdThreadIdCompoundUniqueInput
341
+ AND?: Prisma.ThreadWhereInput | Prisma.ThreadWhereInput[]
342
+ OR?: Prisma.ThreadWhereInput[]
343
+ NOT?: Prisma.ThreadWhereInput | Prisma.ThreadWhereInput[]
344
+ email?: Prisma.StringFilter<"Thread"> | string
345
+ appId?: Prisma.StringFilter<"Thread"> | string
346
+ threadId?: Prisma.StringFilter<"Thread"> | string
347
+ subject?: Prisma.StringFilter<"Thread"> | string
348
+ snippet?: Prisma.StringFilter<"Thread"> | string
349
+ fromEmail?: Prisma.StringFilter<"Thread"> | string
350
+ fromName?: Prisma.StringFilter<"Thread"> | string
351
+ date?: Prisma.StringFilter<"Thread"> | string
352
+ labelIds?: Prisma.StringFilter<"Thread"> | string
353
+ hasUnread?: Prisma.BoolFilter<"Thread"> | boolean
354
+ msgCount?: Prisma.IntFilter<"Thread"> | number
355
+ historyId?: Prisma.StringNullableFilter<"Thread"> | string | null
356
+ rawData?: Prisma.StringFilter<"Thread"> | string
357
+ ttlMs?: Prisma.IntFilter<"Thread"> | number
358
+ createdAt?: Prisma.DateTimeFilter<"Thread"> | Date | string
359
+ account?: Prisma.XOR<Prisma.AccountScalarRelationFilter, Prisma.AccountWhereInput>
360
+ }, "id" | "email_appId_threadId">
361
+
362
+ export type ThreadOrderByWithAggregationInput = {
363
+ id?: Prisma.SortOrder
364
+ email?: Prisma.SortOrder
365
+ appId?: Prisma.SortOrder
366
+ threadId?: Prisma.SortOrder
367
+ subject?: Prisma.SortOrder
368
+ snippet?: Prisma.SortOrder
369
+ fromEmail?: Prisma.SortOrder
370
+ fromName?: Prisma.SortOrder
371
+ date?: Prisma.SortOrder
372
+ labelIds?: Prisma.SortOrder
373
+ hasUnread?: Prisma.SortOrder
374
+ msgCount?: Prisma.SortOrder
375
+ historyId?: Prisma.SortOrderInput | Prisma.SortOrder
376
+ rawData?: Prisma.SortOrder
377
+ ttlMs?: Prisma.SortOrder
378
+ createdAt?: Prisma.SortOrder
379
+ _count?: Prisma.ThreadCountOrderByAggregateInput
380
+ _avg?: Prisma.ThreadAvgOrderByAggregateInput
381
+ _max?: Prisma.ThreadMaxOrderByAggregateInput
382
+ _min?: Prisma.ThreadMinOrderByAggregateInput
383
+ _sum?: Prisma.ThreadSumOrderByAggregateInput
384
+ }
385
+
386
+ export type ThreadScalarWhereWithAggregatesInput = {
387
+ AND?: Prisma.ThreadScalarWhereWithAggregatesInput | Prisma.ThreadScalarWhereWithAggregatesInput[]
388
+ OR?: Prisma.ThreadScalarWhereWithAggregatesInput[]
389
+ NOT?: Prisma.ThreadScalarWhereWithAggregatesInput | Prisma.ThreadScalarWhereWithAggregatesInput[]
390
+ id?: Prisma.IntWithAggregatesFilter<"Thread"> | number
391
+ email?: Prisma.StringWithAggregatesFilter<"Thread"> | string
392
+ appId?: Prisma.StringWithAggregatesFilter<"Thread"> | string
393
+ threadId?: Prisma.StringWithAggregatesFilter<"Thread"> | string
394
+ subject?: Prisma.StringWithAggregatesFilter<"Thread"> | string
395
+ snippet?: Prisma.StringWithAggregatesFilter<"Thread"> | string
396
+ fromEmail?: Prisma.StringWithAggregatesFilter<"Thread"> | string
397
+ fromName?: Prisma.StringWithAggregatesFilter<"Thread"> | string
398
+ date?: Prisma.StringWithAggregatesFilter<"Thread"> | string
399
+ labelIds?: Prisma.StringWithAggregatesFilter<"Thread"> | string
400
+ hasUnread?: Prisma.BoolWithAggregatesFilter<"Thread"> | boolean
401
+ msgCount?: Prisma.IntWithAggregatesFilter<"Thread"> | number
402
+ historyId?: Prisma.StringNullableWithAggregatesFilter<"Thread"> | string | null
403
+ rawData?: Prisma.StringWithAggregatesFilter<"Thread"> | string
404
+ ttlMs?: Prisma.IntWithAggregatesFilter<"Thread"> | number
405
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"Thread"> | Date | string
406
+ }
407
+
408
+ export type ThreadCreateInput = {
409
+ threadId: string
410
+ subject: string
411
+ snippet: string
412
+ fromEmail: string
413
+ fromName: string
414
+ date: string
415
+ labelIds: string
416
+ hasUnread: boolean
417
+ msgCount: number
418
+ historyId?: string | null
419
+ rawData: string
420
+ ttlMs: number
421
+ createdAt: Date | string
422
+ account: Prisma.AccountCreateNestedOneWithoutThreadsInput
423
+ }
424
+
425
+ export type ThreadUncheckedCreateInput = {
426
+ id?: number
427
+ email: string
428
+ appId: string
429
+ threadId: string
430
+ subject: string
431
+ snippet: string
432
+ fromEmail: string
433
+ fromName: string
434
+ date: string
435
+ labelIds: string
436
+ hasUnread: boolean
437
+ msgCount: number
438
+ historyId?: string | null
439
+ rawData: string
440
+ ttlMs: number
441
+ createdAt: Date | string
442
+ }
443
+
444
+ export type ThreadUpdateInput = {
445
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
446
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
447
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
448
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
449
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
450
+ date?: Prisma.StringFieldUpdateOperationsInput | string
451
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
452
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
453
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
454
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
455
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
456
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
457
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
458
+ account?: Prisma.AccountUpdateOneRequiredWithoutThreadsNestedInput
459
+ }
460
+
461
+ export type ThreadUncheckedUpdateInput = {
462
+ id?: Prisma.IntFieldUpdateOperationsInput | number
463
+ email?: Prisma.StringFieldUpdateOperationsInput | string
464
+ appId?: Prisma.StringFieldUpdateOperationsInput | string
465
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
466
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
467
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
468
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
469
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
470
+ date?: Prisma.StringFieldUpdateOperationsInput | string
471
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
472
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
473
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
474
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
475
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
476
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
477
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
478
+ }
479
+
480
+ export type ThreadCreateManyInput = {
481
+ id?: number
482
+ email: string
483
+ appId: string
484
+ threadId: string
485
+ subject: string
486
+ snippet: string
487
+ fromEmail: string
488
+ fromName: string
489
+ date: string
490
+ labelIds: string
491
+ hasUnread: boolean
492
+ msgCount: number
493
+ historyId?: string | null
494
+ rawData: string
495
+ ttlMs: number
496
+ createdAt: Date | string
497
+ }
498
+
499
+ export type ThreadUpdateManyMutationInput = {
500
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
501
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
502
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
503
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
504
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
505
+ date?: Prisma.StringFieldUpdateOperationsInput | string
506
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
507
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
508
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
509
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
510
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
511
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
512
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
513
+ }
514
+
515
+ export type ThreadUncheckedUpdateManyInput = {
516
+ id?: Prisma.IntFieldUpdateOperationsInput | number
517
+ email?: Prisma.StringFieldUpdateOperationsInput | string
518
+ appId?: Prisma.StringFieldUpdateOperationsInput | string
519
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
520
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
521
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
522
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
523
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
524
+ date?: Prisma.StringFieldUpdateOperationsInput | string
525
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
526
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
527
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
528
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
529
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
530
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
531
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
532
+ }
533
+
534
+ export type ThreadListRelationFilter = {
535
+ every?: Prisma.ThreadWhereInput
536
+ some?: Prisma.ThreadWhereInput
537
+ none?: Prisma.ThreadWhereInput
538
+ }
539
+
540
+ export type ThreadOrderByRelationAggregateInput = {
541
+ _count?: Prisma.SortOrder
542
+ }
543
+
544
+ export type ThreadEmailAppIdThreadIdCompoundUniqueInput = {
545
+ email: string
546
+ appId: string
547
+ threadId: string
548
+ }
549
+
550
+ export type ThreadCountOrderByAggregateInput = {
551
+ id?: Prisma.SortOrder
552
+ email?: Prisma.SortOrder
553
+ appId?: Prisma.SortOrder
554
+ threadId?: Prisma.SortOrder
555
+ subject?: Prisma.SortOrder
556
+ snippet?: Prisma.SortOrder
557
+ fromEmail?: Prisma.SortOrder
558
+ fromName?: Prisma.SortOrder
559
+ date?: Prisma.SortOrder
560
+ labelIds?: Prisma.SortOrder
561
+ hasUnread?: Prisma.SortOrder
562
+ msgCount?: Prisma.SortOrder
563
+ historyId?: Prisma.SortOrder
564
+ rawData?: Prisma.SortOrder
565
+ ttlMs?: Prisma.SortOrder
566
+ createdAt?: Prisma.SortOrder
567
+ }
568
+
569
+ export type ThreadAvgOrderByAggregateInput = {
570
+ id?: Prisma.SortOrder
571
+ msgCount?: Prisma.SortOrder
572
+ ttlMs?: Prisma.SortOrder
573
+ }
574
+
575
+ export type ThreadMaxOrderByAggregateInput = {
576
+ id?: Prisma.SortOrder
577
+ email?: Prisma.SortOrder
578
+ appId?: Prisma.SortOrder
579
+ threadId?: Prisma.SortOrder
580
+ subject?: Prisma.SortOrder
581
+ snippet?: Prisma.SortOrder
582
+ fromEmail?: Prisma.SortOrder
583
+ fromName?: Prisma.SortOrder
584
+ date?: Prisma.SortOrder
585
+ labelIds?: Prisma.SortOrder
586
+ hasUnread?: Prisma.SortOrder
587
+ msgCount?: Prisma.SortOrder
588
+ historyId?: Prisma.SortOrder
589
+ rawData?: Prisma.SortOrder
590
+ ttlMs?: Prisma.SortOrder
591
+ createdAt?: Prisma.SortOrder
592
+ }
593
+
594
+ export type ThreadMinOrderByAggregateInput = {
595
+ id?: Prisma.SortOrder
596
+ email?: Prisma.SortOrder
597
+ appId?: Prisma.SortOrder
598
+ threadId?: Prisma.SortOrder
599
+ subject?: Prisma.SortOrder
600
+ snippet?: Prisma.SortOrder
601
+ fromEmail?: Prisma.SortOrder
602
+ fromName?: Prisma.SortOrder
603
+ date?: Prisma.SortOrder
604
+ labelIds?: Prisma.SortOrder
605
+ hasUnread?: Prisma.SortOrder
606
+ msgCount?: Prisma.SortOrder
607
+ historyId?: Prisma.SortOrder
608
+ rawData?: Prisma.SortOrder
609
+ ttlMs?: Prisma.SortOrder
610
+ createdAt?: Prisma.SortOrder
611
+ }
612
+
613
+ export type ThreadSumOrderByAggregateInput = {
614
+ id?: Prisma.SortOrder
615
+ msgCount?: Prisma.SortOrder
616
+ ttlMs?: Prisma.SortOrder
617
+ }
618
+
619
+ export type ThreadCreateNestedManyWithoutAccountInput = {
620
+ create?: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput> | Prisma.ThreadCreateWithoutAccountInput[] | Prisma.ThreadUncheckedCreateWithoutAccountInput[]
621
+ connectOrCreate?: Prisma.ThreadCreateOrConnectWithoutAccountInput | Prisma.ThreadCreateOrConnectWithoutAccountInput[]
622
+ createMany?: Prisma.ThreadCreateManyAccountInputEnvelope
623
+ connect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
624
+ }
625
+
626
+ export type ThreadUncheckedCreateNestedManyWithoutAccountInput = {
627
+ create?: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput> | Prisma.ThreadCreateWithoutAccountInput[] | Prisma.ThreadUncheckedCreateWithoutAccountInput[]
628
+ connectOrCreate?: Prisma.ThreadCreateOrConnectWithoutAccountInput | Prisma.ThreadCreateOrConnectWithoutAccountInput[]
629
+ createMany?: Prisma.ThreadCreateManyAccountInputEnvelope
630
+ connect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
631
+ }
632
+
633
+ export type ThreadUpdateManyWithoutAccountNestedInput = {
634
+ create?: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput> | Prisma.ThreadCreateWithoutAccountInput[] | Prisma.ThreadUncheckedCreateWithoutAccountInput[]
635
+ connectOrCreate?: Prisma.ThreadCreateOrConnectWithoutAccountInput | Prisma.ThreadCreateOrConnectWithoutAccountInput[]
636
+ upsert?: Prisma.ThreadUpsertWithWhereUniqueWithoutAccountInput | Prisma.ThreadUpsertWithWhereUniqueWithoutAccountInput[]
637
+ createMany?: Prisma.ThreadCreateManyAccountInputEnvelope
638
+ set?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
639
+ disconnect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
640
+ delete?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
641
+ connect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
642
+ update?: Prisma.ThreadUpdateWithWhereUniqueWithoutAccountInput | Prisma.ThreadUpdateWithWhereUniqueWithoutAccountInput[]
643
+ updateMany?: Prisma.ThreadUpdateManyWithWhereWithoutAccountInput | Prisma.ThreadUpdateManyWithWhereWithoutAccountInput[]
644
+ deleteMany?: Prisma.ThreadScalarWhereInput | Prisma.ThreadScalarWhereInput[]
645
+ }
646
+
647
+ export type ThreadUncheckedUpdateManyWithoutAccountNestedInput = {
648
+ create?: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput> | Prisma.ThreadCreateWithoutAccountInput[] | Prisma.ThreadUncheckedCreateWithoutAccountInput[]
649
+ connectOrCreate?: Prisma.ThreadCreateOrConnectWithoutAccountInput | Prisma.ThreadCreateOrConnectWithoutAccountInput[]
650
+ upsert?: Prisma.ThreadUpsertWithWhereUniqueWithoutAccountInput | Prisma.ThreadUpsertWithWhereUniqueWithoutAccountInput[]
651
+ createMany?: Prisma.ThreadCreateManyAccountInputEnvelope
652
+ set?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
653
+ disconnect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
654
+ delete?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
655
+ connect?: Prisma.ThreadWhereUniqueInput | Prisma.ThreadWhereUniqueInput[]
656
+ update?: Prisma.ThreadUpdateWithWhereUniqueWithoutAccountInput | Prisma.ThreadUpdateWithWhereUniqueWithoutAccountInput[]
657
+ updateMany?: Prisma.ThreadUpdateManyWithWhereWithoutAccountInput | Prisma.ThreadUpdateManyWithWhereWithoutAccountInput[]
658
+ deleteMany?: Prisma.ThreadScalarWhereInput | Prisma.ThreadScalarWhereInput[]
659
+ }
660
+
661
+ export type BoolFieldUpdateOperationsInput = {
662
+ set?: boolean
663
+ }
664
+
665
+ export type IntFieldUpdateOperationsInput = {
666
+ set?: number
667
+ increment?: number
668
+ decrement?: number
669
+ multiply?: number
670
+ divide?: number
671
+ }
672
+
673
+ export type NullableStringFieldUpdateOperationsInput = {
674
+ set?: string | null
675
+ }
676
+
677
+ export type ThreadCreateWithoutAccountInput = {
678
+ threadId: string
679
+ subject: string
680
+ snippet: string
681
+ fromEmail: string
682
+ fromName: string
683
+ date: string
684
+ labelIds: string
685
+ hasUnread: boolean
686
+ msgCount: number
687
+ historyId?: string | null
688
+ rawData: string
689
+ ttlMs: number
690
+ createdAt: Date | string
691
+ }
692
+
693
+ export type ThreadUncheckedCreateWithoutAccountInput = {
694
+ id?: number
695
+ threadId: string
696
+ subject: string
697
+ snippet: string
698
+ fromEmail: string
699
+ fromName: string
700
+ date: string
701
+ labelIds: string
702
+ hasUnread: boolean
703
+ msgCount: number
704
+ historyId?: string | null
705
+ rawData: string
706
+ ttlMs: number
707
+ createdAt: Date | string
708
+ }
709
+
710
+ export type ThreadCreateOrConnectWithoutAccountInput = {
711
+ where: Prisma.ThreadWhereUniqueInput
712
+ create: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput>
713
+ }
714
+
715
+ export type ThreadCreateManyAccountInputEnvelope = {
716
+ data: Prisma.ThreadCreateManyAccountInput | Prisma.ThreadCreateManyAccountInput[]
717
+ }
718
+
719
+ export type ThreadUpsertWithWhereUniqueWithoutAccountInput = {
720
+ where: Prisma.ThreadWhereUniqueInput
721
+ update: Prisma.XOR<Prisma.ThreadUpdateWithoutAccountInput, Prisma.ThreadUncheckedUpdateWithoutAccountInput>
722
+ create: Prisma.XOR<Prisma.ThreadCreateWithoutAccountInput, Prisma.ThreadUncheckedCreateWithoutAccountInput>
723
+ }
724
+
725
+ export type ThreadUpdateWithWhereUniqueWithoutAccountInput = {
726
+ where: Prisma.ThreadWhereUniqueInput
727
+ data: Prisma.XOR<Prisma.ThreadUpdateWithoutAccountInput, Prisma.ThreadUncheckedUpdateWithoutAccountInput>
728
+ }
729
+
730
+ export type ThreadUpdateManyWithWhereWithoutAccountInput = {
731
+ where: Prisma.ThreadScalarWhereInput
732
+ data: Prisma.XOR<Prisma.ThreadUpdateManyMutationInput, Prisma.ThreadUncheckedUpdateManyWithoutAccountInput>
733
+ }
734
+
735
+ export type ThreadScalarWhereInput = {
736
+ AND?: Prisma.ThreadScalarWhereInput | Prisma.ThreadScalarWhereInput[]
737
+ OR?: Prisma.ThreadScalarWhereInput[]
738
+ NOT?: Prisma.ThreadScalarWhereInput | Prisma.ThreadScalarWhereInput[]
739
+ id?: Prisma.IntFilter<"Thread"> | number
740
+ email?: Prisma.StringFilter<"Thread"> | string
741
+ appId?: Prisma.StringFilter<"Thread"> | string
742
+ threadId?: Prisma.StringFilter<"Thread"> | string
743
+ subject?: Prisma.StringFilter<"Thread"> | string
744
+ snippet?: Prisma.StringFilter<"Thread"> | string
745
+ fromEmail?: Prisma.StringFilter<"Thread"> | string
746
+ fromName?: Prisma.StringFilter<"Thread"> | string
747
+ date?: Prisma.StringFilter<"Thread"> | string
748
+ labelIds?: Prisma.StringFilter<"Thread"> | string
749
+ hasUnread?: Prisma.BoolFilter<"Thread"> | boolean
750
+ msgCount?: Prisma.IntFilter<"Thread"> | number
751
+ historyId?: Prisma.StringNullableFilter<"Thread"> | string | null
752
+ rawData?: Prisma.StringFilter<"Thread"> | string
753
+ ttlMs?: Prisma.IntFilter<"Thread"> | number
754
+ createdAt?: Prisma.DateTimeFilter<"Thread"> | Date | string
755
+ }
756
+
757
+ export type ThreadCreateManyAccountInput = {
758
+ id?: number
759
+ threadId: string
760
+ subject: string
761
+ snippet: string
762
+ fromEmail: string
763
+ fromName: string
764
+ date: string
765
+ labelIds: string
766
+ hasUnread: boolean
767
+ msgCount: number
768
+ historyId?: string | null
769
+ rawData: string
770
+ ttlMs: number
771
+ createdAt: Date | string
772
+ }
773
+
774
+ export type ThreadUpdateWithoutAccountInput = {
775
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
776
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
777
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
778
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
779
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
780
+ date?: Prisma.StringFieldUpdateOperationsInput | string
781
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
782
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
783
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
784
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
785
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
786
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
787
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
788
+ }
789
+
790
+ export type ThreadUncheckedUpdateWithoutAccountInput = {
791
+ id?: Prisma.IntFieldUpdateOperationsInput | number
792
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
793
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
794
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
795
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
796
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
797
+ date?: Prisma.StringFieldUpdateOperationsInput | string
798
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
799
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
800
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
801
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
802
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
803
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
804
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
805
+ }
806
+
807
+ export type ThreadUncheckedUpdateManyWithoutAccountInput = {
808
+ id?: Prisma.IntFieldUpdateOperationsInput | number
809
+ threadId?: Prisma.StringFieldUpdateOperationsInput | string
810
+ subject?: Prisma.StringFieldUpdateOperationsInput | string
811
+ snippet?: Prisma.StringFieldUpdateOperationsInput | string
812
+ fromEmail?: Prisma.StringFieldUpdateOperationsInput | string
813
+ fromName?: Prisma.StringFieldUpdateOperationsInput | string
814
+ date?: Prisma.StringFieldUpdateOperationsInput | string
815
+ labelIds?: Prisma.StringFieldUpdateOperationsInput | string
816
+ hasUnread?: Prisma.BoolFieldUpdateOperationsInput | boolean
817
+ msgCount?: Prisma.IntFieldUpdateOperationsInput | number
818
+ historyId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
819
+ rawData?: Prisma.StringFieldUpdateOperationsInput | string
820
+ ttlMs?: Prisma.IntFieldUpdateOperationsInput | number
821
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
822
+ }
823
+
824
+
825
+
826
+ export type ThreadSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
827
+ id?: boolean
828
+ email?: boolean
829
+ appId?: boolean
830
+ threadId?: boolean
831
+ subject?: boolean
832
+ snippet?: boolean
833
+ fromEmail?: boolean
834
+ fromName?: boolean
835
+ date?: boolean
836
+ labelIds?: boolean
837
+ hasUnread?: boolean
838
+ msgCount?: boolean
839
+ historyId?: boolean
840
+ rawData?: boolean
841
+ ttlMs?: boolean
842
+ createdAt?: boolean
843
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
844
+ }, ExtArgs["result"]["thread"]>
845
+
846
+ export type ThreadSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
847
+ id?: boolean
848
+ email?: boolean
849
+ appId?: boolean
850
+ threadId?: boolean
851
+ subject?: boolean
852
+ snippet?: boolean
853
+ fromEmail?: boolean
854
+ fromName?: boolean
855
+ date?: boolean
856
+ labelIds?: boolean
857
+ hasUnread?: boolean
858
+ msgCount?: boolean
859
+ historyId?: boolean
860
+ rawData?: boolean
861
+ ttlMs?: boolean
862
+ createdAt?: boolean
863
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
864
+ }, ExtArgs["result"]["thread"]>
865
+
866
+ export type ThreadSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
867
+ id?: boolean
868
+ email?: boolean
869
+ appId?: boolean
870
+ threadId?: boolean
871
+ subject?: boolean
872
+ snippet?: boolean
873
+ fromEmail?: boolean
874
+ fromName?: boolean
875
+ date?: boolean
876
+ labelIds?: boolean
877
+ hasUnread?: boolean
878
+ msgCount?: boolean
879
+ historyId?: boolean
880
+ rawData?: boolean
881
+ ttlMs?: boolean
882
+ createdAt?: boolean
883
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
884
+ }, ExtArgs["result"]["thread"]>
885
+
886
+ export type ThreadSelectScalar = {
887
+ id?: boolean
888
+ email?: boolean
889
+ appId?: boolean
890
+ threadId?: boolean
891
+ subject?: boolean
892
+ snippet?: boolean
893
+ fromEmail?: boolean
894
+ fromName?: boolean
895
+ date?: boolean
896
+ labelIds?: boolean
897
+ hasUnread?: boolean
898
+ msgCount?: boolean
899
+ historyId?: boolean
900
+ rawData?: boolean
901
+ ttlMs?: boolean
902
+ createdAt?: boolean
903
+ }
904
+
905
+ export type ThreadOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "appId" | "threadId" | "subject" | "snippet" | "fromEmail" | "fromName" | "date" | "labelIds" | "hasUnread" | "msgCount" | "historyId" | "rawData" | "ttlMs" | "createdAt", ExtArgs["result"]["thread"]>
906
+ export type ThreadInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
907
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
908
+ }
909
+ export type ThreadIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
910
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
911
+ }
912
+ export type ThreadIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
913
+ account?: boolean | Prisma.AccountDefaultArgs<ExtArgs>
914
+ }
915
+
916
+ export type $ThreadPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
917
+ name: "Thread"
918
+ objects: {
919
+ account: Prisma.$AccountPayload<ExtArgs>
920
+ }
921
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
922
+ id: number
923
+ email: string
924
+ appId: string
925
+ threadId: string
926
+ subject: string
927
+ snippet: string
928
+ fromEmail: string
929
+ fromName: string
930
+ date: string
931
+ labelIds: string
932
+ hasUnread: boolean
933
+ msgCount: number
934
+ historyId: string | null
935
+ rawData: string
936
+ ttlMs: number
937
+ createdAt: Date
938
+ }, ExtArgs["result"]["thread"]>
939
+ composites: {}
940
+ }
941
+
942
+ export type ThreadGetPayload<S extends boolean | null | undefined | ThreadDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$ThreadPayload, S>
943
+
944
+ export type ThreadCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
945
+ Omit<ThreadFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
946
+ select?: ThreadCountAggregateInputType | true
947
+ }
948
+
949
+ export interface ThreadDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
950
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Thread'], meta: { name: 'Thread' } }
951
+ /**
952
+ * Find zero or one Thread that matches the filter.
953
+ * @param {ThreadFindUniqueArgs} args - Arguments to find a Thread
954
+ * @example
955
+ * // Get one Thread
956
+ * const thread = await prisma.thread.findUnique({
957
+ * where: {
958
+ * // ... provide filter here
959
+ * }
960
+ * })
961
+ */
962
+ findUnique<T extends ThreadFindUniqueArgs>(args: Prisma.SelectSubset<T, ThreadFindUniqueArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
963
+
964
+ /**
965
+ * Find one Thread that matches the filter or throw an error with `error.code='P2025'`
966
+ * if no matches were found.
967
+ * @param {ThreadFindUniqueOrThrowArgs} args - Arguments to find a Thread
968
+ * @example
969
+ * // Get one Thread
970
+ * const thread = await prisma.thread.findUniqueOrThrow({
971
+ * where: {
972
+ * // ... provide filter here
973
+ * }
974
+ * })
975
+ */
976
+ findUniqueOrThrow<T extends ThreadFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, ThreadFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
977
+
978
+ /**
979
+ * Find the first Thread that matches the filter.
980
+ * Note, that providing `undefined` is treated as the value not being there.
981
+ * Read more here: https://pris.ly/d/null-undefined
982
+ * @param {ThreadFindFirstArgs} args - Arguments to find a Thread
983
+ * @example
984
+ * // Get one Thread
985
+ * const thread = await prisma.thread.findFirst({
986
+ * where: {
987
+ * // ... provide filter here
988
+ * }
989
+ * })
990
+ */
991
+ findFirst<T extends ThreadFindFirstArgs>(args?: Prisma.SelectSubset<T, ThreadFindFirstArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
992
+
993
+ /**
994
+ * Find the first Thread that matches the filter or
995
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
996
+ * Note, that providing `undefined` is treated as the value not being there.
997
+ * Read more here: https://pris.ly/d/null-undefined
998
+ * @param {ThreadFindFirstOrThrowArgs} args - Arguments to find a Thread
999
+ * @example
1000
+ * // Get one Thread
1001
+ * const thread = await prisma.thread.findFirstOrThrow({
1002
+ * where: {
1003
+ * // ... provide filter here
1004
+ * }
1005
+ * })
1006
+ */
1007
+ findFirstOrThrow<T extends ThreadFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, ThreadFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1008
+
1009
+ /**
1010
+ * Find zero or more Threads that matches the filter.
1011
+ * Note, that providing `undefined` is treated as the value not being there.
1012
+ * Read more here: https://pris.ly/d/null-undefined
1013
+ * @param {ThreadFindManyArgs} args - Arguments to filter and select certain fields only.
1014
+ * @example
1015
+ * // Get all Threads
1016
+ * const threads = await prisma.thread.findMany()
1017
+ *
1018
+ * // Get first 10 Threads
1019
+ * const threads = await prisma.thread.findMany({ take: 10 })
1020
+ *
1021
+ * // Only select the `id`
1022
+ * const threadWithIdOnly = await prisma.thread.findMany({ select: { id: true } })
1023
+ *
1024
+ */
1025
+ findMany<T extends ThreadFindManyArgs>(args?: Prisma.SelectSubset<T, ThreadFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
1026
+
1027
+ /**
1028
+ * Create a Thread.
1029
+ * @param {ThreadCreateArgs} args - Arguments to create a Thread.
1030
+ * @example
1031
+ * // Create one Thread
1032
+ * const Thread = await prisma.thread.create({
1033
+ * data: {
1034
+ * // ... data to create a Thread
1035
+ * }
1036
+ * })
1037
+ *
1038
+ */
1039
+ create<T extends ThreadCreateArgs>(args: Prisma.SelectSubset<T, ThreadCreateArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1040
+
1041
+ /**
1042
+ * Create many Threads.
1043
+ * @param {ThreadCreateManyArgs} args - Arguments to create many Threads.
1044
+ * @example
1045
+ * // Create many Threads
1046
+ * const thread = await prisma.thread.createMany({
1047
+ * data: [
1048
+ * // ... provide data here
1049
+ * ]
1050
+ * })
1051
+ *
1052
+ */
1053
+ createMany<T extends ThreadCreateManyArgs>(args?: Prisma.SelectSubset<T, ThreadCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1054
+
1055
+ /**
1056
+ * Create many Threads and returns the data saved in the database.
1057
+ * @param {ThreadCreateManyAndReturnArgs} args - Arguments to create many Threads.
1058
+ * @example
1059
+ * // Create many Threads
1060
+ * const thread = await prisma.thread.createManyAndReturn({
1061
+ * data: [
1062
+ * // ... provide data here
1063
+ * ]
1064
+ * })
1065
+ *
1066
+ * // Create many Threads and only return the `id`
1067
+ * const threadWithIdOnly = await prisma.thread.createManyAndReturn({
1068
+ * select: { id: true },
1069
+ * data: [
1070
+ * // ... provide data here
1071
+ * ]
1072
+ * })
1073
+ * Note, that providing `undefined` is treated as the value not being there.
1074
+ * Read more here: https://pris.ly/d/null-undefined
1075
+ *
1076
+ */
1077
+ createManyAndReturn<T extends ThreadCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ThreadCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
1078
+
1079
+ /**
1080
+ * Delete a Thread.
1081
+ * @param {ThreadDeleteArgs} args - Arguments to delete one Thread.
1082
+ * @example
1083
+ * // Delete one Thread
1084
+ * const Thread = await prisma.thread.delete({
1085
+ * where: {
1086
+ * // ... filter to delete one Thread
1087
+ * }
1088
+ * })
1089
+ *
1090
+ */
1091
+ delete<T extends ThreadDeleteArgs>(args: Prisma.SelectSubset<T, ThreadDeleteArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1092
+
1093
+ /**
1094
+ * Update one Thread.
1095
+ * @param {ThreadUpdateArgs} args - Arguments to update one Thread.
1096
+ * @example
1097
+ * // Update one Thread
1098
+ * const thread = await prisma.thread.update({
1099
+ * where: {
1100
+ * // ... provide filter here
1101
+ * },
1102
+ * data: {
1103
+ * // ... provide data here
1104
+ * }
1105
+ * })
1106
+ *
1107
+ */
1108
+ update<T extends ThreadUpdateArgs>(args: Prisma.SelectSubset<T, ThreadUpdateArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1109
+
1110
+ /**
1111
+ * Delete zero or more Threads.
1112
+ * @param {ThreadDeleteManyArgs} args - Arguments to filter Threads to delete.
1113
+ * @example
1114
+ * // Delete a few Threads
1115
+ * const { count } = await prisma.thread.deleteMany({
1116
+ * where: {
1117
+ * // ... provide filter here
1118
+ * }
1119
+ * })
1120
+ *
1121
+ */
1122
+ deleteMany<T extends ThreadDeleteManyArgs>(args?: Prisma.SelectSubset<T, ThreadDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1123
+
1124
+ /**
1125
+ * Update zero or more Threads.
1126
+ * Note, that providing `undefined` is treated as the value not being there.
1127
+ * Read more here: https://pris.ly/d/null-undefined
1128
+ * @param {ThreadUpdateManyArgs} args - Arguments to update one or more rows.
1129
+ * @example
1130
+ * // Update many Threads
1131
+ * const thread = await prisma.thread.updateMany({
1132
+ * where: {
1133
+ * // ... provide filter here
1134
+ * },
1135
+ * data: {
1136
+ * // ... provide data here
1137
+ * }
1138
+ * })
1139
+ *
1140
+ */
1141
+ updateMany<T extends ThreadUpdateManyArgs>(args: Prisma.SelectSubset<T, ThreadUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1142
+
1143
+ /**
1144
+ * Update zero or more Threads and returns the data updated in the database.
1145
+ * @param {ThreadUpdateManyAndReturnArgs} args - Arguments to update many Threads.
1146
+ * @example
1147
+ * // Update many Threads
1148
+ * const thread = await prisma.thread.updateManyAndReturn({
1149
+ * where: {
1150
+ * // ... provide filter here
1151
+ * },
1152
+ * data: [
1153
+ * // ... provide data here
1154
+ * ]
1155
+ * })
1156
+ *
1157
+ * // Update zero or more Threads and only return the `id`
1158
+ * const threadWithIdOnly = await prisma.thread.updateManyAndReturn({
1159
+ * select: { id: true },
1160
+ * where: {
1161
+ * // ... provide filter here
1162
+ * },
1163
+ * data: [
1164
+ * // ... provide data here
1165
+ * ]
1166
+ * })
1167
+ * Note, that providing `undefined` is treated as the value not being there.
1168
+ * Read more here: https://pris.ly/d/null-undefined
1169
+ *
1170
+ */
1171
+ updateManyAndReturn<T extends ThreadUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ThreadUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
1172
+
1173
+ /**
1174
+ * Create or update one Thread.
1175
+ * @param {ThreadUpsertArgs} args - Arguments to update or create a Thread.
1176
+ * @example
1177
+ * // Update or create a Thread
1178
+ * const thread = await prisma.thread.upsert({
1179
+ * create: {
1180
+ * // ... data to create a Thread
1181
+ * },
1182
+ * update: {
1183
+ * // ... in case it already exists, update
1184
+ * },
1185
+ * where: {
1186
+ * // ... the filter for the Thread we want to update
1187
+ * }
1188
+ * })
1189
+ */
1190
+ upsert<T extends ThreadUpsertArgs>(args: Prisma.SelectSubset<T, ThreadUpsertArgs<ExtArgs>>): Prisma.Prisma__ThreadClient<runtime.Types.Result.GetResult<Prisma.$ThreadPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1191
+
1192
+
1193
+ /**
1194
+ * Count the number of Threads.
1195
+ * Note, that providing `undefined` is treated as the value not being there.
1196
+ * Read more here: https://pris.ly/d/null-undefined
1197
+ * @param {ThreadCountArgs} args - Arguments to filter Threads to count.
1198
+ * @example
1199
+ * // Count the number of Threads
1200
+ * const count = await prisma.thread.count({
1201
+ * where: {
1202
+ * // ... the filter for the Threads we want to count
1203
+ * }
1204
+ * })
1205
+ **/
1206
+ count<T extends ThreadCountArgs>(
1207
+ args?: Prisma.Subset<T, ThreadCountArgs>,
1208
+ ): Prisma.PrismaPromise<
1209
+ T extends runtime.Types.Utils.Record<'select', any>
1210
+ ? T['select'] extends true
1211
+ ? number
1212
+ : Prisma.GetScalarType<T['select'], ThreadCountAggregateOutputType>
1213
+ : number
1214
+ >
1215
+
1216
+ /**
1217
+ * Allows you to perform aggregations operations on a Thread.
1218
+ * Note, that providing `undefined` is treated as the value not being there.
1219
+ * Read more here: https://pris.ly/d/null-undefined
1220
+ * @param {ThreadAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
1221
+ * @example
1222
+ * // Ordered by age ascending
1223
+ * // Where email contains prisma.io
1224
+ * // Limited to the 10 users
1225
+ * const aggregations = await prisma.user.aggregate({
1226
+ * _avg: {
1227
+ * age: true,
1228
+ * },
1229
+ * where: {
1230
+ * email: {
1231
+ * contains: "prisma.io",
1232
+ * },
1233
+ * },
1234
+ * orderBy: {
1235
+ * age: "asc",
1236
+ * },
1237
+ * take: 10,
1238
+ * })
1239
+ **/
1240
+ aggregate<T extends ThreadAggregateArgs>(args: Prisma.Subset<T, ThreadAggregateArgs>): Prisma.PrismaPromise<GetThreadAggregateType<T>>
1241
+
1242
+ /**
1243
+ * Group by Thread.
1244
+ * Note, that providing `undefined` is treated as the value not being there.
1245
+ * Read more here: https://pris.ly/d/null-undefined
1246
+ * @param {ThreadGroupByArgs} args - Group by arguments.
1247
+ * @example
1248
+ * // Group by city, order by createdAt, get count
1249
+ * const result = await prisma.user.groupBy({
1250
+ * by: ['city', 'createdAt'],
1251
+ * orderBy: {
1252
+ * createdAt: true
1253
+ * },
1254
+ * _count: {
1255
+ * _all: true
1256
+ * },
1257
+ * })
1258
+ *
1259
+ **/
1260
+ groupBy<
1261
+ T extends ThreadGroupByArgs,
1262
+ HasSelectOrTake extends Prisma.Or<
1263
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
1264
+ Prisma.Extends<'take', Prisma.Keys<T>>
1265
+ >,
1266
+ OrderByArg extends Prisma.True extends HasSelectOrTake
1267
+ ? { orderBy: ThreadGroupByArgs['orderBy'] }
1268
+ : { orderBy?: ThreadGroupByArgs['orderBy'] },
1269
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
1270
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
1271
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
1272
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
1273
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
1274
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
1275
+ InputErrors extends ByEmpty extends Prisma.True
1276
+ ? `Error: "by" must not be empty.`
1277
+ : HavingValid extends Prisma.False
1278
+ ? {
1279
+ [P in HavingFields]: P extends ByFields
1280
+ ? never
1281
+ : P extends string
1282
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
1283
+ : [
1284
+ Error,
1285
+ 'Field ',
1286
+ P,
1287
+ ` in "having" needs to be provided in "by"`,
1288
+ ]
1289
+ }[HavingFields]
1290
+ : 'take' extends Prisma.Keys<T>
1291
+ ? 'orderBy' extends Prisma.Keys<T>
1292
+ ? ByValid extends Prisma.True
1293
+ ? {}
1294
+ : {
1295
+ [P in OrderFields]: P extends ByFields
1296
+ ? never
1297
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1298
+ }[OrderFields]
1299
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
1300
+ : 'skip' extends Prisma.Keys<T>
1301
+ ? 'orderBy' extends Prisma.Keys<T>
1302
+ ? ByValid extends Prisma.True
1303
+ ? {}
1304
+ : {
1305
+ [P in OrderFields]: P extends ByFields
1306
+ ? never
1307
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1308
+ }[OrderFields]
1309
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
1310
+ : ByValid extends Prisma.True
1311
+ ? {}
1312
+ : {
1313
+ [P in OrderFields]: P extends ByFields
1314
+ ? never
1315
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1316
+ }[OrderFields]
1317
+ >(args: Prisma.SubsetIntersection<T, ThreadGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetThreadGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
1318
+ /**
1319
+ * Fields of the Thread model
1320
+ */
1321
+ readonly fields: ThreadFieldRefs;
1322
+ }
1323
+
1324
+ /**
1325
+ * The delegate class that acts as a "Promise-like" for Thread.
1326
+ * Why is this prefixed with `Prisma__`?
1327
+ * Because we want to prevent naming conflicts as mentioned in
1328
+ * https://github.com/prisma/prisma-client-js/issues/707
1329
+ */
1330
+ export interface Prisma__ThreadClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
1331
+ readonly [Symbol.toStringTag]: "PrismaPromise"
1332
+ account<T extends Prisma.AccountDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.AccountDefaultArgs<ExtArgs>>): Prisma.Prisma__AccountClient<runtime.Types.Result.GetResult<Prisma.$AccountPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
1333
+ /**
1334
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
1335
+ * @param onfulfilled The callback to execute when the Promise is resolved.
1336
+ * @param onrejected The callback to execute when the Promise is rejected.
1337
+ * @returns A Promise for the completion of which ever callback is executed.
1338
+ */
1339
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>
1340
+ /**
1341
+ * Attaches a callback for only the rejection of the Promise.
1342
+ * @param onrejected The callback to execute when the Promise is rejected.
1343
+ * @returns A Promise for the completion of the callback.
1344
+ */
1345
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
1346
+ /**
1347
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
1348
+ * resolved value cannot be modified from the callback.
1349
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
1350
+ * @returns A Promise for the completion of the callback.
1351
+ */
1352
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
1353
+ }
1354
+
1355
+
1356
+
1357
+
1358
+ /**
1359
+ * Fields of the Thread model
1360
+ */
1361
+ export interface ThreadFieldRefs {
1362
+ readonly id: Prisma.FieldRef<"Thread", 'Int'>
1363
+ readonly email: Prisma.FieldRef<"Thread", 'String'>
1364
+ readonly appId: Prisma.FieldRef<"Thread", 'String'>
1365
+ readonly threadId: Prisma.FieldRef<"Thread", 'String'>
1366
+ readonly subject: Prisma.FieldRef<"Thread", 'String'>
1367
+ readonly snippet: Prisma.FieldRef<"Thread", 'String'>
1368
+ readonly fromEmail: Prisma.FieldRef<"Thread", 'String'>
1369
+ readonly fromName: Prisma.FieldRef<"Thread", 'String'>
1370
+ readonly date: Prisma.FieldRef<"Thread", 'String'>
1371
+ readonly labelIds: Prisma.FieldRef<"Thread", 'String'>
1372
+ readonly hasUnread: Prisma.FieldRef<"Thread", 'Boolean'>
1373
+ readonly msgCount: Prisma.FieldRef<"Thread", 'Int'>
1374
+ readonly historyId: Prisma.FieldRef<"Thread", 'String'>
1375
+ readonly rawData: Prisma.FieldRef<"Thread", 'String'>
1376
+ readonly ttlMs: Prisma.FieldRef<"Thread", 'Int'>
1377
+ readonly createdAt: Prisma.FieldRef<"Thread", 'DateTime'>
1378
+ }
1379
+
1380
+
1381
+ // Custom InputTypes
1382
+ /**
1383
+ * Thread findUnique
1384
+ */
1385
+ export type ThreadFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1386
+ /**
1387
+ * Select specific fields to fetch from the Thread
1388
+ */
1389
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1390
+ /**
1391
+ * Omit specific fields from the Thread
1392
+ */
1393
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1394
+ /**
1395
+ * Choose, which related nodes to fetch as well
1396
+ */
1397
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1398
+ /**
1399
+ * Filter, which Thread to fetch.
1400
+ */
1401
+ where: Prisma.ThreadWhereUniqueInput
1402
+ }
1403
+
1404
+ /**
1405
+ * Thread findUniqueOrThrow
1406
+ */
1407
+ export type ThreadFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1408
+ /**
1409
+ * Select specific fields to fetch from the Thread
1410
+ */
1411
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1412
+ /**
1413
+ * Omit specific fields from the Thread
1414
+ */
1415
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1416
+ /**
1417
+ * Choose, which related nodes to fetch as well
1418
+ */
1419
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1420
+ /**
1421
+ * Filter, which Thread to fetch.
1422
+ */
1423
+ where: Prisma.ThreadWhereUniqueInput
1424
+ }
1425
+
1426
+ /**
1427
+ * Thread findFirst
1428
+ */
1429
+ export type ThreadFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1430
+ /**
1431
+ * Select specific fields to fetch from the Thread
1432
+ */
1433
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1434
+ /**
1435
+ * Omit specific fields from the Thread
1436
+ */
1437
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1438
+ /**
1439
+ * Choose, which related nodes to fetch as well
1440
+ */
1441
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1442
+ /**
1443
+ * Filter, which Thread to fetch.
1444
+ */
1445
+ where?: Prisma.ThreadWhereInput
1446
+ /**
1447
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1448
+ *
1449
+ * Determine the order of Threads to fetch.
1450
+ */
1451
+ orderBy?: Prisma.ThreadOrderByWithRelationInput | Prisma.ThreadOrderByWithRelationInput[]
1452
+ /**
1453
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1454
+ *
1455
+ * Sets the position for searching for Threads.
1456
+ */
1457
+ cursor?: Prisma.ThreadWhereUniqueInput
1458
+ /**
1459
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1460
+ *
1461
+ * Take `±n` Threads from the position of the cursor.
1462
+ */
1463
+ take?: number
1464
+ /**
1465
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1466
+ *
1467
+ * Skip the first `n` Threads.
1468
+ */
1469
+ skip?: number
1470
+ /**
1471
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1472
+ *
1473
+ * Filter by unique combinations of Threads.
1474
+ */
1475
+ distinct?: Prisma.ThreadScalarFieldEnum | Prisma.ThreadScalarFieldEnum[]
1476
+ }
1477
+
1478
+ /**
1479
+ * Thread findFirstOrThrow
1480
+ */
1481
+ export type ThreadFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1482
+ /**
1483
+ * Select specific fields to fetch from the Thread
1484
+ */
1485
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1486
+ /**
1487
+ * Omit specific fields from the Thread
1488
+ */
1489
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1490
+ /**
1491
+ * Choose, which related nodes to fetch as well
1492
+ */
1493
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1494
+ /**
1495
+ * Filter, which Thread to fetch.
1496
+ */
1497
+ where?: Prisma.ThreadWhereInput
1498
+ /**
1499
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1500
+ *
1501
+ * Determine the order of Threads to fetch.
1502
+ */
1503
+ orderBy?: Prisma.ThreadOrderByWithRelationInput | Prisma.ThreadOrderByWithRelationInput[]
1504
+ /**
1505
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1506
+ *
1507
+ * Sets the position for searching for Threads.
1508
+ */
1509
+ cursor?: Prisma.ThreadWhereUniqueInput
1510
+ /**
1511
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1512
+ *
1513
+ * Take `±n` Threads from the position of the cursor.
1514
+ */
1515
+ take?: number
1516
+ /**
1517
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1518
+ *
1519
+ * Skip the first `n` Threads.
1520
+ */
1521
+ skip?: number
1522
+ /**
1523
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1524
+ *
1525
+ * Filter by unique combinations of Threads.
1526
+ */
1527
+ distinct?: Prisma.ThreadScalarFieldEnum | Prisma.ThreadScalarFieldEnum[]
1528
+ }
1529
+
1530
+ /**
1531
+ * Thread findMany
1532
+ */
1533
+ export type ThreadFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1534
+ /**
1535
+ * Select specific fields to fetch from the Thread
1536
+ */
1537
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1538
+ /**
1539
+ * Omit specific fields from the Thread
1540
+ */
1541
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1542
+ /**
1543
+ * Choose, which related nodes to fetch as well
1544
+ */
1545
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1546
+ /**
1547
+ * Filter, which Threads to fetch.
1548
+ */
1549
+ where?: Prisma.ThreadWhereInput
1550
+ /**
1551
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1552
+ *
1553
+ * Determine the order of Threads to fetch.
1554
+ */
1555
+ orderBy?: Prisma.ThreadOrderByWithRelationInput | Prisma.ThreadOrderByWithRelationInput[]
1556
+ /**
1557
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1558
+ *
1559
+ * Sets the position for listing Threads.
1560
+ */
1561
+ cursor?: Prisma.ThreadWhereUniqueInput
1562
+ /**
1563
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1564
+ *
1565
+ * Take `±n` Threads from the position of the cursor.
1566
+ */
1567
+ take?: number
1568
+ /**
1569
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1570
+ *
1571
+ * Skip the first `n` Threads.
1572
+ */
1573
+ skip?: number
1574
+ distinct?: Prisma.ThreadScalarFieldEnum | Prisma.ThreadScalarFieldEnum[]
1575
+ }
1576
+
1577
+ /**
1578
+ * Thread create
1579
+ */
1580
+ export type ThreadCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1581
+ /**
1582
+ * Select specific fields to fetch from the Thread
1583
+ */
1584
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1585
+ /**
1586
+ * Omit specific fields from the Thread
1587
+ */
1588
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1589
+ /**
1590
+ * Choose, which related nodes to fetch as well
1591
+ */
1592
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1593
+ /**
1594
+ * The data needed to create a Thread.
1595
+ */
1596
+ data: Prisma.XOR<Prisma.ThreadCreateInput, Prisma.ThreadUncheckedCreateInput>
1597
+ }
1598
+
1599
+ /**
1600
+ * Thread createMany
1601
+ */
1602
+ export type ThreadCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1603
+ /**
1604
+ * The data used to create many Threads.
1605
+ */
1606
+ data: Prisma.ThreadCreateManyInput | Prisma.ThreadCreateManyInput[]
1607
+ }
1608
+
1609
+ /**
1610
+ * Thread createManyAndReturn
1611
+ */
1612
+ export type ThreadCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1613
+ /**
1614
+ * Select specific fields to fetch from the Thread
1615
+ */
1616
+ select?: Prisma.ThreadSelectCreateManyAndReturn<ExtArgs> | null
1617
+ /**
1618
+ * Omit specific fields from the Thread
1619
+ */
1620
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1621
+ /**
1622
+ * The data used to create many Threads.
1623
+ */
1624
+ data: Prisma.ThreadCreateManyInput | Prisma.ThreadCreateManyInput[]
1625
+ /**
1626
+ * Choose, which related nodes to fetch as well
1627
+ */
1628
+ include?: Prisma.ThreadIncludeCreateManyAndReturn<ExtArgs> | null
1629
+ }
1630
+
1631
+ /**
1632
+ * Thread update
1633
+ */
1634
+ export type ThreadUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1635
+ /**
1636
+ * Select specific fields to fetch from the Thread
1637
+ */
1638
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1639
+ /**
1640
+ * Omit specific fields from the Thread
1641
+ */
1642
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1643
+ /**
1644
+ * Choose, which related nodes to fetch as well
1645
+ */
1646
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1647
+ /**
1648
+ * The data needed to update a Thread.
1649
+ */
1650
+ data: Prisma.XOR<Prisma.ThreadUpdateInput, Prisma.ThreadUncheckedUpdateInput>
1651
+ /**
1652
+ * Choose, which Thread to update.
1653
+ */
1654
+ where: Prisma.ThreadWhereUniqueInput
1655
+ }
1656
+
1657
+ /**
1658
+ * Thread updateMany
1659
+ */
1660
+ export type ThreadUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1661
+ /**
1662
+ * The data used to update Threads.
1663
+ */
1664
+ data: Prisma.XOR<Prisma.ThreadUpdateManyMutationInput, Prisma.ThreadUncheckedUpdateManyInput>
1665
+ /**
1666
+ * Filter which Threads to update
1667
+ */
1668
+ where?: Prisma.ThreadWhereInput
1669
+ /**
1670
+ * Limit how many Threads to update.
1671
+ */
1672
+ limit?: number
1673
+ }
1674
+
1675
+ /**
1676
+ * Thread updateManyAndReturn
1677
+ */
1678
+ export type ThreadUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1679
+ /**
1680
+ * Select specific fields to fetch from the Thread
1681
+ */
1682
+ select?: Prisma.ThreadSelectUpdateManyAndReturn<ExtArgs> | null
1683
+ /**
1684
+ * Omit specific fields from the Thread
1685
+ */
1686
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1687
+ /**
1688
+ * The data used to update Threads.
1689
+ */
1690
+ data: Prisma.XOR<Prisma.ThreadUpdateManyMutationInput, Prisma.ThreadUncheckedUpdateManyInput>
1691
+ /**
1692
+ * Filter which Threads to update
1693
+ */
1694
+ where?: Prisma.ThreadWhereInput
1695
+ /**
1696
+ * Limit how many Threads to update.
1697
+ */
1698
+ limit?: number
1699
+ /**
1700
+ * Choose, which related nodes to fetch as well
1701
+ */
1702
+ include?: Prisma.ThreadIncludeUpdateManyAndReturn<ExtArgs> | null
1703
+ }
1704
+
1705
+ /**
1706
+ * Thread upsert
1707
+ */
1708
+ export type ThreadUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1709
+ /**
1710
+ * Select specific fields to fetch from the Thread
1711
+ */
1712
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1713
+ /**
1714
+ * Omit specific fields from the Thread
1715
+ */
1716
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1717
+ /**
1718
+ * Choose, which related nodes to fetch as well
1719
+ */
1720
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1721
+ /**
1722
+ * The filter to search for the Thread to update in case it exists.
1723
+ */
1724
+ where: Prisma.ThreadWhereUniqueInput
1725
+ /**
1726
+ * In case the Thread found by the `where` argument doesn't exist, create a new Thread with this data.
1727
+ */
1728
+ create: Prisma.XOR<Prisma.ThreadCreateInput, Prisma.ThreadUncheckedCreateInput>
1729
+ /**
1730
+ * In case the Thread was found with the provided `where` argument, update it with this data.
1731
+ */
1732
+ update: Prisma.XOR<Prisma.ThreadUpdateInput, Prisma.ThreadUncheckedUpdateInput>
1733
+ }
1734
+
1735
+ /**
1736
+ * Thread delete
1737
+ */
1738
+ export type ThreadDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1739
+ /**
1740
+ * Select specific fields to fetch from the Thread
1741
+ */
1742
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1743
+ /**
1744
+ * Omit specific fields from the Thread
1745
+ */
1746
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1747
+ /**
1748
+ * Choose, which related nodes to fetch as well
1749
+ */
1750
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1751
+ /**
1752
+ * Filter which Thread to delete.
1753
+ */
1754
+ where: Prisma.ThreadWhereUniqueInput
1755
+ }
1756
+
1757
+ /**
1758
+ * Thread deleteMany
1759
+ */
1760
+ export type ThreadDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1761
+ /**
1762
+ * Filter which Threads to delete
1763
+ */
1764
+ where?: Prisma.ThreadWhereInput
1765
+ /**
1766
+ * Limit how many Threads to delete.
1767
+ */
1768
+ limit?: number
1769
+ }
1770
+
1771
+ /**
1772
+ * Thread without action
1773
+ */
1774
+ export type ThreadDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1775
+ /**
1776
+ * Select specific fields to fetch from the Thread
1777
+ */
1778
+ select?: Prisma.ThreadSelect<ExtArgs> | null
1779
+ /**
1780
+ * Omit specific fields from the Thread
1781
+ */
1782
+ omit?: Prisma.ThreadOmit<ExtArgs> | null
1783
+ /**
1784
+ * Choose, which related nodes to fetch as well
1785
+ */
1786
+ include?: Prisma.ThreadInclude<ExtArgs> | null
1787
+ }