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
@@ -1,1247 +0,0 @@
1
- import type * as runtime from "@prisma/client/runtime/client";
2
- import type * as Prisma from "../internal/prismaNamespace.js";
3
- /**
4
- * Model threads
5
- *
6
- */
7
- export type threadsModel = runtime.Types.Result.DefaultSelection<Prisma.$threadsPayload>;
8
- export type AggregateThreads = {
9
- _count: ThreadsCountAggregateOutputType | null;
10
- _avg: ThreadsAvgAggregateOutputType | null;
11
- _sum: ThreadsSumAggregateOutputType | null;
12
- _min: ThreadsMinAggregateOutputType | null;
13
- _max: ThreadsMaxAggregateOutputType | null;
14
- };
15
- export type ThreadsAvgAggregateOutputType = {
16
- id: number | null;
17
- ttl_ms: number | null;
18
- };
19
- export type ThreadsSumAggregateOutputType = {
20
- id: number | null;
21
- ttl_ms: number | null;
22
- };
23
- export type ThreadsMinAggregateOutputType = {
24
- id: number | null;
25
- email: string | null;
26
- thread_id: string | null;
27
- data: string | null;
28
- ttl_ms: number | null;
29
- created_at: Date | null;
30
- };
31
- export type ThreadsMaxAggregateOutputType = {
32
- id: number | null;
33
- email: string | null;
34
- thread_id: string | null;
35
- data: string | null;
36
- ttl_ms: number | null;
37
- created_at: Date | null;
38
- };
39
- export type ThreadsCountAggregateOutputType = {
40
- id: number;
41
- email: number;
42
- thread_id: number;
43
- data: number;
44
- ttl_ms: number;
45
- created_at: number;
46
- _all: number;
47
- };
48
- export type ThreadsAvgAggregateInputType = {
49
- id?: true;
50
- ttl_ms?: true;
51
- };
52
- export type ThreadsSumAggregateInputType = {
53
- id?: true;
54
- ttl_ms?: true;
55
- };
56
- export type ThreadsMinAggregateInputType = {
57
- id?: true;
58
- email?: true;
59
- thread_id?: true;
60
- data?: true;
61
- ttl_ms?: true;
62
- created_at?: true;
63
- };
64
- export type ThreadsMaxAggregateInputType = {
65
- id?: true;
66
- email?: true;
67
- thread_id?: true;
68
- data?: true;
69
- ttl_ms?: true;
70
- created_at?: true;
71
- };
72
- export type ThreadsCountAggregateInputType = {
73
- id?: true;
74
- email?: true;
75
- thread_id?: true;
76
- data?: true;
77
- ttl_ms?: true;
78
- created_at?: true;
79
- _all?: true;
80
- };
81
- export type ThreadsAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
82
- /**
83
- * Filter which threads to aggregate.
84
- */
85
- where?: Prisma.threadsWhereInput;
86
- /**
87
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
88
- *
89
- * Determine the order of threads to fetch.
90
- */
91
- orderBy?: Prisma.threadsOrderByWithRelationInput | Prisma.threadsOrderByWithRelationInput[];
92
- /**
93
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
94
- *
95
- * Sets the start position
96
- */
97
- cursor?: Prisma.threadsWhereUniqueInput;
98
- /**
99
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
100
- *
101
- * Take `±n` threads from the position of the cursor.
102
- */
103
- take?: number;
104
- /**
105
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
106
- *
107
- * Skip the first `n` threads.
108
- */
109
- skip?: number;
110
- /**
111
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
112
- *
113
- * Count returned threads
114
- **/
115
- _count?: true | ThreadsCountAggregateInputType;
116
- /**
117
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
118
- *
119
- * Select which fields to average
120
- **/
121
- _avg?: ThreadsAvgAggregateInputType;
122
- /**
123
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
124
- *
125
- * Select which fields to sum
126
- **/
127
- _sum?: ThreadsSumAggregateInputType;
128
- /**
129
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
130
- *
131
- * Select which fields to find the minimum value
132
- **/
133
- _min?: ThreadsMinAggregateInputType;
134
- /**
135
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
136
- *
137
- * Select which fields to find the maximum value
138
- **/
139
- _max?: ThreadsMaxAggregateInputType;
140
- };
141
- export type GetThreadsAggregateType<T extends ThreadsAggregateArgs> = {
142
- [P in keyof T & keyof AggregateThreads]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateThreads[P]> : Prisma.GetScalarType<T[P], AggregateThreads[P]>;
143
- };
144
- export type threadsGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
145
- where?: Prisma.threadsWhereInput;
146
- orderBy?: Prisma.threadsOrderByWithAggregationInput | Prisma.threadsOrderByWithAggregationInput[];
147
- by: Prisma.ThreadsScalarFieldEnum[] | Prisma.ThreadsScalarFieldEnum;
148
- having?: Prisma.threadsScalarWhereWithAggregatesInput;
149
- take?: number;
150
- skip?: number;
151
- _count?: ThreadsCountAggregateInputType | true;
152
- _avg?: ThreadsAvgAggregateInputType;
153
- _sum?: ThreadsSumAggregateInputType;
154
- _min?: ThreadsMinAggregateInputType;
155
- _max?: ThreadsMaxAggregateInputType;
156
- };
157
- export type ThreadsGroupByOutputType = {
158
- id: number;
159
- email: string;
160
- thread_id: string;
161
- data: string;
162
- ttl_ms: number;
163
- created_at: Date;
164
- _count: ThreadsCountAggregateOutputType | null;
165
- _avg: ThreadsAvgAggregateOutputType | null;
166
- _sum: ThreadsSumAggregateOutputType | null;
167
- _min: ThreadsMinAggregateOutputType | null;
168
- _max: ThreadsMaxAggregateOutputType | null;
169
- };
170
- type GetThreadsGroupByPayload<T extends threadsGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<ThreadsGroupByOutputType, T['by']> & {
171
- [P in ((keyof T) & (keyof ThreadsGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], ThreadsGroupByOutputType[P]> : Prisma.GetScalarType<T[P], ThreadsGroupByOutputType[P]>;
172
- }>>;
173
- export type threadsWhereInput = {
174
- AND?: Prisma.threadsWhereInput | Prisma.threadsWhereInput[];
175
- OR?: Prisma.threadsWhereInput[];
176
- NOT?: Prisma.threadsWhereInput | Prisma.threadsWhereInput[];
177
- id?: Prisma.IntFilter<"threads"> | number;
178
- email?: Prisma.StringFilter<"threads"> | string;
179
- thread_id?: Prisma.StringFilter<"threads"> | string;
180
- data?: Prisma.StringFilter<"threads"> | string;
181
- ttl_ms?: Prisma.IntFilter<"threads"> | number;
182
- created_at?: Prisma.DateTimeFilter<"threads"> | Date | string;
183
- account?: Prisma.XOR<Prisma.AccountsScalarRelationFilter, Prisma.accountsWhereInput>;
184
- };
185
- export type threadsOrderByWithRelationInput = {
186
- id?: Prisma.SortOrder;
187
- email?: Prisma.SortOrder;
188
- thread_id?: Prisma.SortOrder;
189
- data?: Prisma.SortOrder;
190
- ttl_ms?: Prisma.SortOrder;
191
- created_at?: Prisma.SortOrder;
192
- account?: Prisma.accountsOrderByWithRelationInput;
193
- };
194
- export type threadsWhereUniqueInput = Prisma.AtLeast<{
195
- id?: number;
196
- email_thread_id?: Prisma.threadsEmailThread_idCompoundUniqueInput;
197
- AND?: Prisma.threadsWhereInput | Prisma.threadsWhereInput[];
198
- OR?: Prisma.threadsWhereInput[];
199
- NOT?: Prisma.threadsWhereInput | Prisma.threadsWhereInput[];
200
- email?: Prisma.StringFilter<"threads"> | string;
201
- thread_id?: Prisma.StringFilter<"threads"> | string;
202
- data?: Prisma.StringFilter<"threads"> | string;
203
- ttl_ms?: Prisma.IntFilter<"threads"> | number;
204
- created_at?: Prisma.DateTimeFilter<"threads"> | Date | string;
205
- account?: Prisma.XOR<Prisma.AccountsScalarRelationFilter, Prisma.accountsWhereInput>;
206
- }, "id" | "email_thread_id">;
207
- export type threadsOrderByWithAggregationInput = {
208
- id?: Prisma.SortOrder;
209
- email?: Prisma.SortOrder;
210
- thread_id?: Prisma.SortOrder;
211
- data?: Prisma.SortOrder;
212
- ttl_ms?: Prisma.SortOrder;
213
- created_at?: Prisma.SortOrder;
214
- _count?: Prisma.threadsCountOrderByAggregateInput;
215
- _avg?: Prisma.threadsAvgOrderByAggregateInput;
216
- _max?: Prisma.threadsMaxOrderByAggregateInput;
217
- _min?: Prisma.threadsMinOrderByAggregateInput;
218
- _sum?: Prisma.threadsSumOrderByAggregateInput;
219
- };
220
- export type threadsScalarWhereWithAggregatesInput = {
221
- AND?: Prisma.threadsScalarWhereWithAggregatesInput | Prisma.threadsScalarWhereWithAggregatesInput[];
222
- OR?: Prisma.threadsScalarWhereWithAggregatesInput[];
223
- NOT?: Prisma.threadsScalarWhereWithAggregatesInput | Prisma.threadsScalarWhereWithAggregatesInput[];
224
- id?: Prisma.IntWithAggregatesFilter<"threads"> | number;
225
- email?: Prisma.StringWithAggregatesFilter<"threads"> | string;
226
- thread_id?: Prisma.StringWithAggregatesFilter<"threads"> | string;
227
- data?: Prisma.StringWithAggregatesFilter<"threads"> | string;
228
- ttl_ms?: Prisma.IntWithAggregatesFilter<"threads"> | number;
229
- created_at?: Prisma.DateTimeWithAggregatesFilter<"threads"> | Date | string;
230
- };
231
- export type threadsCreateInput = {
232
- thread_id: string;
233
- data: string;
234
- ttl_ms: number;
235
- created_at?: Date | string;
236
- account: Prisma.accountsCreateNestedOneWithoutThreadsInput;
237
- };
238
- export type threadsUncheckedCreateInput = {
239
- id?: number;
240
- email: string;
241
- thread_id: string;
242
- data: string;
243
- ttl_ms: number;
244
- created_at?: Date | string;
245
- };
246
- export type threadsUpdateInput = {
247
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
248
- data?: Prisma.StringFieldUpdateOperationsInput | string;
249
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
250
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
251
- account?: Prisma.accountsUpdateOneRequiredWithoutThreadsNestedInput;
252
- };
253
- export type threadsUncheckedUpdateInput = {
254
- id?: Prisma.IntFieldUpdateOperationsInput | number;
255
- email?: Prisma.StringFieldUpdateOperationsInput | string;
256
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
257
- data?: Prisma.StringFieldUpdateOperationsInput | string;
258
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
259
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
260
- };
261
- export type threadsCreateManyInput = {
262
- id?: number;
263
- email: string;
264
- thread_id: string;
265
- data: string;
266
- ttl_ms: number;
267
- created_at?: Date | string;
268
- };
269
- export type threadsUpdateManyMutationInput = {
270
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
271
- data?: Prisma.StringFieldUpdateOperationsInput | string;
272
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
273
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
274
- };
275
- export type threadsUncheckedUpdateManyInput = {
276
- id?: Prisma.IntFieldUpdateOperationsInput | number;
277
- email?: Prisma.StringFieldUpdateOperationsInput | string;
278
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
279
- data?: Prisma.StringFieldUpdateOperationsInput | string;
280
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
281
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
282
- };
283
- export type ThreadsListRelationFilter = {
284
- every?: Prisma.threadsWhereInput;
285
- some?: Prisma.threadsWhereInput;
286
- none?: Prisma.threadsWhereInput;
287
- };
288
- export type threadsOrderByRelationAggregateInput = {
289
- _count?: Prisma.SortOrder;
290
- };
291
- export type threadsEmailThread_idCompoundUniqueInput = {
292
- email: string;
293
- thread_id: string;
294
- };
295
- export type threadsCountOrderByAggregateInput = {
296
- id?: Prisma.SortOrder;
297
- email?: Prisma.SortOrder;
298
- thread_id?: Prisma.SortOrder;
299
- data?: Prisma.SortOrder;
300
- ttl_ms?: Prisma.SortOrder;
301
- created_at?: Prisma.SortOrder;
302
- };
303
- export type threadsAvgOrderByAggregateInput = {
304
- id?: Prisma.SortOrder;
305
- ttl_ms?: Prisma.SortOrder;
306
- };
307
- export type threadsMaxOrderByAggregateInput = {
308
- id?: Prisma.SortOrder;
309
- email?: Prisma.SortOrder;
310
- thread_id?: Prisma.SortOrder;
311
- data?: Prisma.SortOrder;
312
- ttl_ms?: Prisma.SortOrder;
313
- created_at?: Prisma.SortOrder;
314
- };
315
- export type threadsMinOrderByAggregateInput = {
316
- id?: Prisma.SortOrder;
317
- email?: Prisma.SortOrder;
318
- thread_id?: Prisma.SortOrder;
319
- data?: Prisma.SortOrder;
320
- ttl_ms?: Prisma.SortOrder;
321
- created_at?: Prisma.SortOrder;
322
- };
323
- export type threadsSumOrderByAggregateInput = {
324
- id?: Prisma.SortOrder;
325
- ttl_ms?: Prisma.SortOrder;
326
- };
327
- export type threadsCreateNestedManyWithoutAccountInput = {
328
- create?: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput> | Prisma.threadsCreateWithoutAccountInput[] | Prisma.threadsUncheckedCreateWithoutAccountInput[];
329
- connectOrCreate?: Prisma.threadsCreateOrConnectWithoutAccountInput | Prisma.threadsCreateOrConnectWithoutAccountInput[];
330
- createMany?: Prisma.threadsCreateManyAccountInputEnvelope;
331
- connect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
332
- };
333
- export type threadsUncheckedCreateNestedManyWithoutAccountInput = {
334
- create?: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput> | Prisma.threadsCreateWithoutAccountInput[] | Prisma.threadsUncheckedCreateWithoutAccountInput[];
335
- connectOrCreate?: Prisma.threadsCreateOrConnectWithoutAccountInput | Prisma.threadsCreateOrConnectWithoutAccountInput[];
336
- createMany?: Prisma.threadsCreateManyAccountInputEnvelope;
337
- connect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
338
- };
339
- export type threadsUpdateManyWithoutAccountNestedInput = {
340
- create?: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput> | Prisma.threadsCreateWithoutAccountInput[] | Prisma.threadsUncheckedCreateWithoutAccountInput[];
341
- connectOrCreate?: Prisma.threadsCreateOrConnectWithoutAccountInput | Prisma.threadsCreateOrConnectWithoutAccountInput[];
342
- upsert?: Prisma.threadsUpsertWithWhereUniqueWithoutAccountInput | Prisma.threadsUpsertWithWhereUniqueWithoutAccountInput[];
343
- createMany?: Prisma.threadsCreateManyAccountInputEnvelope;
344
- set?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
345
- disconnect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
346
- delete?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
347
- connect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
348
- update?: Prisma.threadsUpdateWithWhereUniqueWithoutAccountInput | Prisma.threadsUpdateWithWhereUniqueWithoutAccountInput[];
349
- updateMany?: Prisma.threadsUpdateManyWithWhereWithoutAccountInput | Prisma.threadsUpdateManyWithWhereWithoutAccountInput[];
350
- deleteMany?: Prisma.threadsScalarWhereInput | Prisma.threadsScalarWhereInput[];
351
- };
352
- export type threadsUncheckedUpdateManyWithoutAccountNestedInput = {
353
- create?: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput> | Prisma.threadsCreateWithoutAccountInput[] | Prisma.threadsUncheckedCreateWithoutAccountInput[];
354
- connectOrCreate?: Prisma.threadsCreateOrConnectWithoutAccountInput | Prisma.threadsCreateOrConnectWithoutAccountInput[];
355
- upsert?: Prisma.threadsUpsertWithWhereUniqueWithoutAccountInput | Prisma.threadsUpsertWithWhereUniqueWithoutAccountInput[];
356
- createMany?: Prisma.threadsCreateManyAccountInputEnvelope;
357
- set?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
358
- disconnect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
359
- delete?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
360
- connect?: Prisma.threadsWhereUniqueInput | Prisma.threadsWhereUniqueInput[];
361
- update?: Prisma.threadsUpdateWithWhereUniqueWithoutAccountInput | Prisma.threadsUpdateWithWhereUniqueWithoutAccountInput[];
362
- updateMany?: Prisma.threadsUpdateManyWithWhereWithoutAccountInput | Prisma.threadsUpdateManyWithWhereWithoutAccountInput[];
363
- deleteMany?: Prisma.threadsScalarWhereInput | Prisma.threadsScalarWhereInput[];
364
- };
365
- export type threadsCreateWithoutAccountInput = {
366
- thread_id: string;
367
- data: string;
368
- ttl_ms: number;
369
- created_at?: Date | string;
370
- };
371
- export type threadsUncheckedCreateWithoutAccountInput = {
372
- id?: number;
373
- thread_id: string;
374
- data: string;
375
- ttl_ms: number;
376
- created_at?: Date | string;
377
- };
378
- export type threadsCreateOrConnectWithoutAccountInput = {
379
- where: Prisma.threadsWhereUniqueInput;
380
- create: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput>;
381
- };
382
- export type threadsCreateManyAccountInputEnvelope = {
383
- data: Prisma.threadsCreateManyAccountInput | Prisma.threadsCreateManyAccountInput[];
384
- };
385
- export type threadsUpsertWithWhereUniqueWithoutAccountInput = {
386
- where: Prisma.threadsWhereUniqueInput;
387
- update: Prisma.XOR<Prisma.threadsUpdateWithoutAccountInput, Prisma.threadsUncheckedUpdateWithoutAccountInput>;
388
- create: Prisma.XOR<Prisma.threadsCreateWithoutAccountInput, Prisma.threadsUncheckedCreateWithoutAccountInput>;
389
- };
390
- export type threadsUpdateWithWhereUniqueWithoutAccountInput = {
391
- where: Prisma.threadsWhereUniqueInput;
392
- data: Prisma.XOR<Prisma.threadsUpdateWithoutAccountInput, Prisma.threadsUncheckedUpdateWithoutAccountInput>;
393
- };
394
- export type threadsUpdateManyWithWhereWithoutAccountInput = {
395
- where: Prisma.threadsScalarWhereInput;
396
- data: Prisma.XOR<Prisma.threadsUpdateManyMutationInput, Prisma.threadsUncheckedUpdateManyWithoutAccountInput>;
397
- };
398
- export type threadsScalarWhereInput = {
399
- AND?: Prisma.threadsScalarWhereInput | Prisma.threadsScalarWhereInput[];
400
- OR?: Prisma.threadsScalarWhereInput[];
401
- NOT?: Prisma.threadsScalarWhereInput | Prisma.threadsScalarWhereInput[];
402
- id?: Prisma.IntFilter<"threads"> | number;
403
- email?: Prisma.StringFilter<"threads"> | string;
404
- thread_id?: Prisma.StringFilter<"threads"> | string;
405
- data?: Prisma.StringFilter<"threads"> | string;
406
- ttl_ms?: Prisma.IntFilter<"threads"> | number;
407
- created_at?: Prisma.DateTimeFilter<"threads"> | Date | string;
408
- };
409
- export type threadsCreateManyAccountInput = {
410
- id?: number;
411
- thread_id: string;
412
- data: string;
413
- ttl_ms: number;
414
- created_at?: Date | string;
415
- };
416
- export type threadsUpdateWithoutAccountInput = {
417
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
418
- data?: Prisma.StringFieldUpdateOperationsInput | string;
419
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
420
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
421
- };
422
- export type threadsUncheckedUpdateWithoutAccountInput = {
423
- id?: Prisma.IntFieldUpdateOperationsInput | number;
424
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
425
- data?: Prisma.StringFieldUpdateOperationsInput | string;
426
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
427
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
428
- };
429
- export type threadsUncheckedUpdateManyWithoutAccountInput = {
430
- id?: Prisma.IntFieldUpdateOperationsInput | number;
431
- thread_id?: Prisma.StringFieldUpdateOperationsInput | string;
432
- data?: Prisma.StringFieldUpdateOperationsInput | string;
433
- ttl_ms?: Prisma.IntFieldUpdateOperationsInput | number;
434
- created_at?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string;
435
- };
436
- export type threadsSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
437
- id?: boolean;
438
- email?: boolean;
439
- thread_id?: boolean;
440
- data?: boolean;
441
- ttl_ms?: boolean;
442
- created_at?: boolean;
443
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
444
- }, ExtArgs["result"]["threads"]>;
445
- export type threadsSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
446
- id?: boolean;
447
- email?: boolean;
448
- thread_id?: boolean;
449
- data?: boolean;
450
- ttl_ms?: boolean;
451
- created_at?: boolean;
452
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
453
- }, ExtArgs["result"]["threads"]>;
454
- export type threadsSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
455
- id?: boolean;
456
- email?: boolean;
457
- thread_id?: boolean;
458
- data?: boolean;
459
- ttl_ms?: boolean;
460
- created_at?: boolean;
461
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
462
- }, ExtArgs["result"]["threads"]>;
463
- export type threadsSelectScalar = {
464
- id?: boolean;
465
- email?: boolean;
466
- thread_id?: boolean;
467
- data?: boolean;
468
- ttl_ms?: boolean;
469
- created_at?: boolean;
470
- };
471
- export type threadsOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "email" | "thread_id" | "data" | "ttl_ms" | "created_at", ExtArgs["result"]["threads"]>;
472
- export type threadsInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
473
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
474
- };
475
- export type threadsIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
476
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
477
- };
478
- export type threadsIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
479
- account?: boolean | Prisma.accountsDefaultArgs<ExtArgs>;
480
- };
481
- export type $threadsPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
482
- name: "threads";
483
- objects: {
484
- account: Prisma.$accountsPayload<ExtArgs>;
485
- };
486
- scalars: runtime.Types.Extensions.GetPayloadResult<{
487
- id: number;
488
- email: string;
489
- thread_id: string;
490
- data: string;
491
- ttl_ms: number;
492
- created_at: Date;
493
- }, ExtArgs["result"]["threads"]>;
494
- composites: {};
495
- };
496
- export type threadsGetPayload<S extends boolean | null | undefined | threadsDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$threadsPayload, S>;
497
- export type threadsCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<threadsFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
498
- select?: ThreadsCountAggregateInputType | true;
499
- };
500
- export interface threadsDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
501
- [K: symbol]: {
502
- types: Prisma.TypeMap<ExtArgs>['model']['threads'];
503
- meta: {
504
- name: 'threads';
505
- };
506
- };
507
- /**
508
- * Find zero or one Threads that matches the filter.
509
- * @param {threadsFindUniqueArgs} args - Arguments to find a Threads
510
- * @example
511
- * // Get one Threads
512
- * const threads = await prisma.threads.findUnique({
513
- * where: {
514
- * // ... provide filter here
515
- * }
516
- * })
517
- */
518
- findUnique<T extends threadsFindUniqueArgs>(args: Prisma.SelectSubset<T, threadsFindUniqueArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
519
- /**
520
- * Find one Threads that matches the filter or throw an error with `error.code='P2025'`
521
- * if no matches were found.
522
- * @param {threadsFindUniqueOrThrowArgs} args - Arguments to find a Threads
523
- * @example
524
- * // Get one Threads
525
- * const threads = await prisma.threads.findUniqueOrThrow({
526
- * where: {
527
- * // ... provide filter here
528
- * }
529
- * })
530
- */
531
- findUniqueOrThrow<T extends threadsFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, threadsFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
532
- /**
533
- * Find the first Threads that matches the filter.
534
- * Note, that providing `undefined` is treated as the value not being there.
535
- * Read more here: https://pris.ly/d/null-undefined
536
- * @param {threadsFindFirstArgs} args - Arguments to find a Threads
537
- * @example
538
- * // Get one Threads
539
- * const threads = await prisma.threads.findFirst({
540
- * where: {
541
- * // ... provide filter here
542
- * }
543
- * })
544
- */
545
- findFirst<T extends threadsFindFirstArgs>(args?: Prisma.SelectSubset<T, threadsFindFirstArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
546
- /**
547
- * Find the first Threads that matches the filter or
548
- * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
549
- * Note, that providing `undefined` is treated as the value not being there.
550
- * Read more here: https://pris.ly/d/null-undefined
551
- * @param {threadsFindFirstOrThrowArgs} args - Arguments to find a Threads
552
- * @example
553
- * // Get one Threads
554
- * const threads = await prisma.threads.findFirstOrThrow({
555
- * where: {
556
- * // ... provide filter here
557
- * }
558
- * })
559
- */
560
- findFirstOrThrow<T extends threadsFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, threadsFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
561
- /**
562
- * Find zero or more Threads that matches the filter.
563
- * Note, that providing `undefined` is treated as the value not being there.
564
- * Read more here: https://pris.ly/d/null-undefined
565
- * @param {threadsFindManyArgs} args - Arguments to filter and select certain fields only.
566
- * @example
567
- * // Get all Threads
568
- * const threads = await prisma.threads.findMany()
569
- *
570
- * // Get first 10 Threads
571
- * const threads = await prisma.threads.findMany({ take: 10 })
572
- *
573
- * // Only select the `id`
574
- * const threadsWithIdOnly = await prisma.threads.findMany({ select: { id: true } })
575
- *
576
- */
577
- findMany<T extends threadsFindManyArgs>(args?: Prisma.SelectSubset<T, threadsFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
578
- /**
579
- * Create a Threads.
580
- * @param {threadsCreateArgs} args - Arguments to create a Threads.
581
- * @example
582
- * // Create one Threads
583
- * const Threads = await prisma.threads.create({
584
- * data: {
585
- * // ... data to create a Threads
586
- * }
587
- * })
588
- *
589
- */
590
- create<T extends threadsCreateArgs>(args: Prisma.SelectSubset<T, threadsCreateArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
591
- /**
592
- * Create many Threads.
593
- * @param {threadsCreateManyArgs} args - Arguments to create many Threads.
594
- * @example
595
- * // Create many Threads
596
- * const threads = await prisma.threads.createMany({
597
- * data: [
598
- * // ... provide data here
599
- * ]
600
- * })
601
- *
602
- */
603
- createMany<T extends threadsCreateManyArgs>(args?: Prisma.SelectSubset<T, threadsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
604
- /**
605
- * Create many Threads and returns the data saved in the database.
606
- * @param {threadsCreateManyAndReturnArgs} args - Arguments to create many Threads.
607
- * @example
608
- * // Create many Threads
609
- * const threads = await prisma.threads.createManyAndReturn({
610
- * data: [
611
- * // ... provide data here
612
- * ]
613
- * })
614
- *
615
- * // Create many Threads and only return the `id`
616
- * const threadsWithIdOnly = await prisma.threads.createManyAndReturn({
617
- * select: { id: true },
618
- * data: [
619
- * // ... provide data here
620
- * ]
621
- * })
622
- * Note, that providing `undefined` is treated as the value not being there.
623
- * Read more here: https://pris.ly/d/null-undefined
624
- *
625
- */
626
- createManyAndReturn<T extends threadsCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, threadsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
627
- /**
628
- * Delete a Threads.
629
- * @param {threadsDeleteArgs} args - Arguments to delete one Threads.
630
- * @example
631
- * // Delete one Threads
632
- * const Threads = await prisma.threads.delete({
633
- * where: {
634
- * // ... filter to delete one Threads
635
- * }
636
- * })
637
- *
638
- */
639
- delete<T extends threadsDeleteArgs>(args: Prisma.SelectSubset<T, threadsDeleteArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
640
- /**
641
- * Update one Threads.
642
- * @param {threadsUpdateArgs} args - Arguments to update one Threads.
643
- * @example
644
- * // Update one Threads
645
- * const threads = await prisma.threads.update({
646
- * where: {
647
- * // ... provide filter here
648
- * },
649
- * data: {
650
- * // ... provide data here
651
- * }
652
- * })
653
- *
654
- */
655
- update<T extends threadsUpdateArgs>(args: Prisma.SelectSubset<T, threadsUpdateArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
656
- /**
657
- * Delete zero or more Threads.
658
- * @param {threadsDeleteManyArgs} args - Arguments to filter Threads to delete.
659
- * @example
660
- * // Delete a few Threads
661
- * const { count } = await prisma.threads.deleteMany({
662
- * where: {
663
- * // ... provide filter here
664
- * }
665
- * })
666
- *
667
- */
668
- deleteMany<T extends threadsDeleteManyArgs>(args?: Prisma.SelectSubset<T, threadsDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
669
- /**
670
- * Update zero or more Threads.
671
- * Note, that providing `undefined` is treated as the value not being there.
672
- * Read more here: https://pris.ly/d/null-undefined
673
- * @param {threadsUpdateManyArgs} args - Arguments to update one or more rows.
674
- * @example
675
- * // Update many Threads
676
- * const threads = await prisma.threads.updateMany({
677
- * where: {
678
- * // ... provide filter here
679
- * },
680
- * data: {
681
- * // ... provide data here
682
- * }
683
- * })
684
- *
685
- */
686
- updateMany<T extends threadsUpdateManyArgs>(args: Prisma.SelectSubset<T, threadsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
687
- /**
688
- * Update zero or more Threads and returns the data updated in the database.
689
- * @param {threadsUpdateManyAndReturnArgs} args - Arguments to update many Threads.
690
- * @example
691
- * // Update many Threads
692
- * const threads = await prisma.threads.updateManyAndReturn({
693
- * where: {
694
- * // ... provide filter here
695
- * },
696
- * data: [
697
- * // ... provide data here
698
- * ]
699
- * })
700
- *
701
- * // Update zero or more Threads and only return the `id`
702
- * const threadsWithIdOnly = await prisma.threads.updateManyAndReturn({
703
- * select: { id: true },
704
- * where: {
705
- * // ... provide filter here
706
- * },
707
- * data: [
708
- * // ... provide data here
709
- * ]
710
- * })
711
- * Note, that providing `undefined` is treated as the value not being there.
712
- * Read more here: https://pris.ly/d/null-undefined
713
- *
714
- */
715
- updateManyAndReturn<T extends threadsUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, threadsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
716
- /**
717
- * Create or update one Threads.
718
- * @param {threadsUpsertArgs} args - Arguments to update or create a Threads.
719
- * @example
720
- * // Update or create a Threads
721
- * const threads = await prisma.threads.upsert({
722
- * create: {
723
- * // ... data to create a Threads
724
- * },
725
- * update: {
726
- * // ... in case it already exists, update
727
- * },
728
- * where: {
729
- * // ... the filter for the Threads we want to update
730
- * }
731
- * })
732
- */
733
- upsert<T extends threadsUpsertArgs>(args: Prisma.SelectSubset<T, threadsUpsertArgs<ExtArgs>>): Prisma.Prisma__threadsClient<runtime.Types.Result.GetResult<Prisma.$threadsPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
734
- /**
735
- * Count the number of Threads.
736
- * Note, that providing `undefined` is treated as the value not being there.
737
- * Read more here: https://pris.ly/d/null-undefined
738
- * @param {threadsCountArgs} args - Arguments to filter Threads to count.
739
- * @example
740
- * // Count the number of Threads
741
- * const count = await prisma.threads.count({
742
- * where: {
743
- * // ... the filter for the Threads we want to count
744
- * }
745
- * })
746
- **/
747
- count<T extends threadsCountArgs>(args?: Prisma.Subset<T, threadsCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], ThreadsCountAggregateOutputType> : number>;
748
- /**
749
- * Allows you to perform aggregations operations on a Threads.
750
- * Note, that providing `undefined` is treated as the value not being there.
751
- * Read more here: https://pris.ly/d/null-undefined
752
- * @param {ThreadsAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
753
- * @example
754
- * // Ordered by age ascending
755
- * // Where email contains prisma.io
756
- * // Limited to the 10 users
757
- * const aggregations = await prisma.user.aggregate({
758
- * _avg: {
759
- * age: true,
760
- * },
761
- * where: {
762
- * email: {
763
- * contains: "prisma.io",
764
- * },
765
- * },
766
- * orderBy: {
767
- * age: "asc",
768
- * },
769
- * take: 10,
770
- * })
771
- **/
772
- aggregate<T extends ThreadsAggregateArgs>(args: Prisma.Subset<T, ThreadsAggregateArgs>): Prisma.PrismaPromise<GetThreadsAggregateType<T>>;
773
- /**
774
- * Group by Threads.
775
- * Note, that providing `undefined` is treated as the value not being there.
776
- * Read more here: https://pris.ly/d/null-undefined
777
- * @param {threadsGroupByArgs} args - Group by arguments.
778
- * @example
779
- * // Group by city, order by createdAt, get count
780
- * const result = await prisma.user.groupBy({
781
- * by: ['city', 'createdAt'],
782
- * orderBy: {
783
- * createdAt: true
784
- * },
785
- * _count: {
786
- * _all: true
787
- * },
788
- * })
789
- *
790
- **/
791
- groupBy<T extends threadsGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
792
- orderBy: threadsGroupByArgs['orderBy'];
793
- } : {
794
- orderBy?: threadsGroupByArgs['orderBy'];
795
- }, OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>, ByFields extends Prisma.MaybeTupleToUnion<T['by']>, ByValid extends Prisma.Has<ByFields, OrderFields>, HavingFields extends Prisma.GetHavingFields<T['having']>, HavingValid extends Prisma.Has<ByFields, HavingFields>, ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, InputErrors extends ByEmpty extends Prisma.True ? `Error: "by" must not be empty.` : HavingValid extends Prisma.False ? {
796
- [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [
797
- Error,
798
- 'Field ',
799
- P,
800
- ` in "having" needs to be provided in "by"`
801
- ];
802
- }[HavingFields] : 'take' extends Prisma.Keys<T> ? 'orderBy' extends Prisma.Keys<T> ? ByValid extends Prisma.True ? {} : {
803
- [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
804
- }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Prisma.Keys<T> ? 'orderBy' extends Prisma.Keys<T> ? ByValid extends Prisma.True ? {} : {
805
- [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
806
- }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends Prisma.True ? {} : {
807
- [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
808
- }[OrderFields]>(args: Prisma.SubsetIntersection<T, threadsGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetThreadsGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
809
- /**
810
- * Fields of the threads model
811
- */
812
- readonly fields: threadsFieldRefs;
813
- }
814
- /**
815
- * The delegate class that acts as a "Promise-like" for threads.
816
- * Why is this prefixed with `Prisma__`?
817
- * Because we want to prevent naming conflicts as mentioned in
818
- * https://github.com/prisma/prisma-client-js/issues/707
819
- */
820
- export interface Prisma__threadsClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
821
- readonly [Symbol.toStringTag]: "PrismaPromise";
822
- account<T extends Prisma.accountsDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.accountsDefaultArgs<ExtArgs>>): Prisma.Prisma__accountsClient<runtime.Types.Result.GetResult<Prisma.$accountsPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>;
823
- /**
824
- * Attaches callbacks for the resolution and/or rejection of the Promise.
825
- * @param onfulfilled The callback to execute when the Promise is resolved.
826
- * @param onrejected The callback to execute when the Promise is rejected.
827
- * @returns A Promise for the completion of which ever callback is executed.
828
- */
829
- 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>;
830
- /**
831
- * Attaches a callback for only the rejection of the Promise.
832
- * @param onrejected The callback to execute when the Promise is rejected.
833
- * @returns A Promise for the completion of the callback.
834
- */
835
- catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>;
836
- /**
837
- * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
838
- * resolved value cannot be modified from the callback.
839
- * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
840
- * @returns A Promise for the completion of the callback.
841
- */
842
- finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>;
843
- }
844
- /**
845
- * Fields of the threads model
846
- */
847
- export interface threadsFieldRefs {
848
- readonly id: Prisma.FieldRef<"threads", 'Int'>;
849
- readonly email: Prisma.FieldRef<"threads", 'String'>;
850
- readonly thread_id: Prisma.FieldRef<"threads", 'String'>;
851
- readonly data: Prisma.FieldRef<"threads", 'String'>;
852
- readonly ttl_ms: Prisma.FieldRef<"threads", 'Int'>;
853
- readonly created_at: Prisma.FieldRef<"threads", 'DateTime'>;
854
- }
855
- /**
856
- * threads findUnique
857
- */
858
- export type threadsFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
859
- /**
860
- * Select specific fields to fetch from the threads
861
- */
862
- select?: Prisma.threadsSelect<ExtArgs> | null;
863
- /**
864
- * Omit specific fields from the threads
865
- */
866
- omit?: Prisma.threadsOmit<ExtArgs> | null;
867
- /**
868
- * Choose, which related nodes to fetch as well
869
- */
870
- include?: Prisma.threadsInclude<ExtArgs> | null;
871
- /**
872
- * Filter, which threads to fetch.
873
- */
874
- where: Prisma.threadsWhereUniqueInput;
875
- };
876
- /**
877
- * threads findUniqueOrThrow
878
- */
879
- export type threadsFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
880
- /**
881
- * Select specific fields to fetch from the threads
882
- */
883
- select?: Prisma.threadsSelect<ExtArgs> | null;
884
- /**
885
- * Omit specific fields from the threads
886
- */
887
- omit?: Prisma.threadsOmit<ExtArgs> | null;
888
- /**
889
- * Choose, which related nodes to fetch as well
890
- */
891
- include?: Prisma.threadsInclude<ExtArgs> | null;
892
- /**
893
- * Filter, which threads to fetch.
894
- */
895
- where: Prisma.threadsWhereUniqueInput;
896
- };
897
- /**
898
- * threads findFirst
899
- */
900
- export type threadsFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
901
- /**
902
- * Select specific fields to fetch from the threads
903
- */
904
- select?: Prisma.threadsSelect<ExtArgs> | null;
905
- /**
906
- * Omit specific fields from the threads
907
- */
908
- omit?: Prisma.threadsOmit<ExtArgs> | null;
909
- /**
910
- * Choose, which related nodes to fetch as well
911
- */
912
- include?: Prisma.threadsInclude<ExtArgs> | null;
913
- /**
914
- * Filter, which threads to fetch.
915
- */
916
- where?: Prisma.threadsWhereInput;
917
- /**
918
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
919
- *
920
- * Determine the order of threads to fetch.
921
- */
922
- orderBy?: Prisma.threadsOrderByWithRelationInput | Prisma.threadsOrderByWithRelationInput[];
923
- /**
924
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
925
- *
926
- * Sets the position for searching for threads.
927
- */
928
- cursor?: Prisma.threadsWhereUniqueInput;
929
- /**
930
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
931
- *
932
- * Take `±n` threads from the position of the cursor.
933
- */
934
- take?: number;
935
- /**
936
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
937
- *
938
- * Skip the first `n` threads.
939
- */
940
- skip?: number;
941
- /**
942
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
943
- *
944
- * Filter by unique combinations of threads.
945
- */
946
- distinct?: Prisma.ThreadsScalarFieldEnum | Prisma.ThreadsScalarFieldEnum[];
947
- };
948
- /**
949
- * threads findFirstOrThrow
950
- */
951
- export type threadsFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
952
- /**
953
- * Select specific fields to fetch from the threads
954
- */
955
- select?: Prisma.threadsSelect<ExtArgs> | null;
956
- /**
957
- * Omit specific fields from the threads
958
- */
959
- omit?: Prisma.threadsOmit<ExtArgs> | null;
960
- /**
961
- * Choose, which related nodes to fetch as well
962
- */
963
- include?: Prisma.threadsInclude<ExtArgs> | null;
964
- /**
965
- * Filter, which threads to fetch.
966
- */
967
- where?: Prisma.threadsWhereInput;
968
- /**
969
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
970
- *
971
- * Determine the order of threads to fetch.
972
- */
973
- orderBy?: Prisma.threadsOrderByWithRelationInput | Prisma.threadsOrderByWithRelationInput[];
974
- /**
975
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
976
- *
977
- * Sets the position for searching for threads.
978
- */
979
- cursor?: Prisma.threadsWhereUniqueInput;
980
- /**
981
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
982
- *
983
- * Take `±n` threads from the position of the cursor.
984
- */
985
- take?: number;
986
- /**
987
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
988
- *
989
- * Skip the first `n` threads.
990
- */
991
- skip?: number;
992
- /**
993
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
994
- *
995
- * Filter by unique combinations of threads.
996
- */
997
- distinct?: Prisma.ThreadsScalarFieldEnum | Prisma.ThreadsScalarFieldEnum[];
998
- };
999
- /**
1000
- * threads findMany
1001
- */
1002
- export type threadsFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1003
- /**
1004
- * Select specific fields to fetch from the threads
1005
- */
1006
- select?: Prisma.threadsSelect<ExtArgs> | null;
1007
- /**
1008
- * Omit specific fields from the threads
1009
- */
1010
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1011
- /**
1012
- * Choose, which related nodes to fetch as well
1013
- */
1014
- include?: Prisma.threadsInclude<ExtArgs> | null;
1015
- /**
1016
- * Filter, which threads to fetch.
1017
- */
1018
- where?: Prisma.threadsWhereInput;
1019
- /**
1020
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1021
- *
1022
- * Determine the order of threads to fetch.
1023
- */
1024
- orderBy?: Prisma.threadsOrderByWithRelationInput | Prisma.threadsOrderByWithRelationInput[];
1025
- /**
1026
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1027
- *
1028
- * Sets the position for listing threads.
1029
- */
1030
- cursor?: Prisma.threadsWhereUniqueInput;
1031
- /**
1032
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1033
- *
1034
- * Take `±n` threads from the position of the cursor.
1035
- */
1036
- take?: number;
1037
- /**
1038
- * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1039
- *
1040
- * Skip the first `n` threads.
1041
- */
1042
- skip?: number;
1043
- distinct?: Prisma.ThreadsScalarFieldEnum | Prisma.ThreadsScalarFieldEnum[];
1044
- };
1045
- /**
1046
- * threads create
1047
- */
1048
- export type threadsCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1049
- /**
1050
- * Select specific fields to fetch from the threads
1051
- */
1052
- select?: Prisma.threadsSelect<ExtArgs> | null;
1053
- /**
1054
- * Omit specific fields from the threads
1055
- */
1056
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1057
- /**
1058
- * Choose, which related nodes to fetch as well
1059
- */
1060
- include?: Prisma.threadsInclude<ExtArgs> | null;
1061
- /**
1062
- * The data needed to create a threads.
1063
- */
1064
- data: Prisma.XOR<Prisma.threadsCreateInput, Prisma.threadsUncheckedCreateInput>;
1065
- };
1066
- /**
1067
- * threads createMany
1068
- */
1069
- export type threadsCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1070
- /**
1071
- * The data used to create many threads.
1072
- */
1073
- data: Prisma.threadsCreateManyInput | Prisma.threadsCreateManyInput[];
1074
- };
1075
- /**
1076
- * threads createManyAndReturn
1077
- */
1078
- export type threadsCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1079
- /**
1080
- * Select specific fields to fetch from the threads
1081
- */
1082
- select?: Prisma.threadsSelectCreateManyAndReturn<ExtArgs> | null;
1083
- /**
1084
- * Omit specific fields from the threads
1085
- */
1086
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1087
- /**
1088
- * The data used to create many threads.
1089
- */
1090
- data: Prisma.threadsCreateManyInput | Prisma.threadsCreateManyInput[];
1091
- /**
1092
- * Choose, which related nodes to fetch as well
1093
- */
1094
- include?: Prisma.threadsIncludeCreateManyAndReturn<ExtArgs> | null;
1095
- };
1096
- /**
1097
- * threads update
1098
- */
1099
- export type threadsUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1100
- /**
1101
- * Select specific fields to fetch from the threads
1102
- */
1103
- select?: Prisma.threadsSelect<ExtArgs> | null;
1104
- /**
1105
- * Omit specific fields from the threads
1106
- */
1107
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1108
- /**
1109
- * Choose, which related nodes to fetch as well
1110
- */
1111
- include?: Prisma.threadsInclude<ExtArgs> | null;
1112
- /**
1113
- * The data needed to update a threads.
1114
- */
1115
- data: Prisma.XOR<Prisma.threadsUpdateInput, Prisma.threadsUncheckedUpdateInput>;
1116
- /**
1117
- * Choose, which threads to update.
1118
- */
1119
- where: Prisma.threadsWhereUniqueInput;
1120
- };
1121
- /**
1122
- * threads updateMany
1123
- */
1124
- export type threadsUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1125
- /**
1126
- * The data used to update threads.
1127
- */
1128
- data: Prisma.XOR<Prisma.threadsUpdateManyMutationInput, Prisma.threadsUncheckedUpdateManyInput>;
1129
- /**
1130
- * Filter which threads to update
1131
- */
1132
- where?: Prisma.threadsWhereInput;
1133
- /**
1134
- * Limit how many threads to update.
1135
- */
1136
- limit?: number;
1137
- };
1138
- /**
1139
- * threads updateManyAndReturn
1140
- */
1141
- export type threadsUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1142
- /**
1143
- * Select specific fields to fetch from the threads
1144
- */
1145
- select?: Prisma.threadsSelectUpdateManyAndReturn<ExtArgs> | null;
1146
- /**
1147
- * Omit specific fields from the threads
1148
- */
1149
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1150
- /**
1151
- * The data used to update threads.
1152
- */
1153
- data: Prisma.XOR<Prisma.threadsUpdateManyMutationInput, Prisma.threadsUncheckedUpdateManyInput>;
1154
- /**
1155
- * Filter which threads to update
1156
- */
1157
- where?: Prisma.threadsWhereInput;
1158
- /**
1159
- * Limit how many threads to update.
1160
- */
1161
- limit?: number;
1162
- /**
1163
- * Choose, which related nodes to fetch as well
1164
- */
1165
- include?: Prisma.threadsIncludeUpdateManyAndReturn<ExtArgs> | null;
1166
- };
1167
- /**
1168
- * threads upsert
1169
- */
1170
- export type threadsUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1171
- /**
1172
- * Select specific fields to fetch from the threads
1173
- */
1174
- select?: Prisma.threadsSelect<ExtArgs> | null;
1175
- /**
1176
- * Omit specific fields from the threads
1177
- */
1178
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1179
- /**
1180
- * Choose, which related nodes to fetch as well
1181
- */
1182
- include?: Prisma.threadsInclude<ExtArgs> | null;
1183
- /**
1184
- * The filter to search for the threads to update in case it exists.
1185
- */
1186
- where: Prisma.threadsWhereUniqueInput;
1187
- /**
1188
- * In case the threads found by the `where` argument doesn't exist, create a new threads with this data.
1189
- */
1190
- create: Prisma.XOR<Prisma.threadsCreateInput, Prisma.threadsUncheckedCreateInput>;
1191
- /**
1192
- * In case the threads was found with the provided `where` argument, update it with this data.
1193
- */
1194
- update: Prisma.XOR<Prisma.threadsUpdateInput, Prisma.threadsUncheckedUpdateInput>;
1195
- };
1196
- /**
1197
- * threads delete
1198
- */
1199
- export type threadsDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1200
- /**
1201
- * Select specific fields to fetch from the threads
1202
- */
1203
- select?: Prisma.threadsSelect<ExtArgs> | null;
1204
- /**
1205
- * Omit specific fields from the threads
1206
- */
1207
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1208
- /**
1209
- * Choose, which related nodes to fetch as well
1210
- */
1211
- include?: Prisma.threadsInclude<ExtArgs> | null;
1212
- /**
1213
- * Filter which threads to delete.
1214
- */
1215
- where: Prisma.threadsWhereUniqueInput;
1216
- };
1217
- /**
1218
- * threads deleteMany
1219
- */
1220
- export type threadsDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1221
- /**
1222
- * Filter which threads to delete
1223
- */
1224
- where?: Prisma.threadsWhereInput;
1225
- /**
1226
- * Limit how many threads to delete.
1227
- */
1228
- limit?: number;
1229
- };
1230
- /**
1231
- * threads without action
1232
- */
1233
- export type threadsDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1234
- /**
1235
- * Select specific fields to fetch from the threads
1236
- */
1237
- select?: Prisma.threadsSelect<ExtArgs> | null;
1238
- /**
1239
- * Omit specific fields from the threads
1240
- */
1241
- omit?: Prisma.threadsOmit<ExtArgs> | null;
1242
- /**
1243
- * Choose, which related nodes to fetch as well
1244
- */
1245
- include?: Prisma.threadsInclude<ExtArgs> | null;
1246
- };
1247
- export {};