nao-core 0.0.19__py3-none-any.whl → 0.0.25__py3-none-any.whl

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 (53) hide show
  1. nao_core/__init__.py +1 -1
  2. nao_core/bin/.nao-secret +1 -0
  3. nao_core/bin/fastapi/main.py +5 -25
  4. nao_core/bin/migrations-postgres/0001_message_feedback.sql +9 -0
  5. nao_core/bin/migrations-postgres/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  6. nao_core/bin/migrations-postgres/0003_handle_slack_with_thread.sql +2 -0
  7. nao_core/bin/migrations-postgres/meta/0001_snapshot.json +766 -0
  8. nao_core/bin/migrations-postgres/meta/0002_snapshot.json +778 -0
  9. nao_core/bin/migrations-postgres/meta/0003_snapshot.json +799 -0
  10. nao_core/bin/migrations-postgres/meta/_journal.json +21 -0
  11. nao_core/bin/migrations-sqlite/0001_message_feedback.sql +8 -0
  12. nao_core/bin/migrations-sqlite/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  13. nao_core/bin/migrations-sqlite/0003_handle_slack_with_thread.sql +2 -0
  14. nao_core/bin/migrations-sqlite/meta/0001_snapshot.json +735 -0
  15. nao_core/bin/migrations-sqlite/meta/0002_snapshot.json +749 -0
  16. nao_core/bin/migrations-sqlite/meta/0003_snapshot.json +763 -0
  17. nao_core/bin/migrations-sqlite/meta/_journal.json +21 -0
  18. nao_core/bin/nao-chat-server +0 -0
  19. nao_core/bin/public/assets/_chat-layout-BTlqRUE5.js +1 -0
  20. nao_core/bin/public/assets/{_chat-layout.index-CWlZ1WSD.js → _chat-layout.index-DOARokp1.js} +1 -1
  21. nao_core/bin/public/assets/agentProvider-C6dGIy-H.js +1 -0
  22. nao_core/bin/public/assets/button-By_1dzVx.js +1 -0
  23. nao_core/bin/public/assets/{code-block-F6WJLWQG-BdtbfwZl.js → code-block-F6WJLWQG-EQr6mTlQ.js} +3 -3
  24. nao_core/bin/public/assets/folder-DnRS5rg3.js +1 -0
  25. nao_core/bin/public/assets/index-CElAN2SH.css +1 -0
  26. nao_core/bin/public/assets/index-ZTHASguQ.js +59 -0
  27. nao_core/bin/public/assets/input-CUQA5tsi.js +1 -0
  28. nao_core/bin/public/assets/login-BUQDum3t.js +1 -0
  29. nao_core/bin/public/assets/{mermaid-FSSLJTFX-_2mzlJwk.js → mermaid-FSSLJTFX-Dc6ZvCPw.js} +120 -75
  30. nao_core/bin/public/assets/sidebar-bgEk7Xg8.js +1 -0
  31. nao_core/bin/public/assets/signinForm-CGAhnAkv.js +1 -0
  32. nao_core/bin/public/assets/signup-D2n11La3.js +1 -0
  33. nao_core/bin/public/assets/user-CYl8Tly2.js +1 -0
  34. nao_core/bin/public/index.html +2 -2
  35. nao_core/bin/public/nao-square-logo.png +0 -0
  36. nao_core/commands/chat.py +43 -0
  37. nao_core/commands/sync/databases.py +1 -1
  38. nao_core/config/base.py +0 -9
  39. nao_core/config/llm/__init__.py +1 -0
  40. {nao_core-0.0.19.dist-info → nao_core-0.0.25.dist-info}/METADATA +1 -1
  41. nao_core-0.0.25.dist-info/RECORD +68 -0
  42. nao_core/bin/public/assets/_chat-layout-BSDXwLlM.js +0 -1
  43. nao_core/bin/public/assets/agentProvider-BkGOwLc-.js +0 -1
  44. nao_core/bin/public/assets/createLucideIcon-CAzRYUZ0.js +0 -1
  45. nao_core/bin/public/assets/index-DD1IB790.css +0 -1
  46. nao_core/bin/public/assets/index-gWi3S-SV.js +0 -59
  47. nao_core/bin/public/assets/login-BEFjZaUF.js +0 -1
  48. nao_core/bin/public/assets/signinForm-D97br205.js +0 -1
  49. nao_core/bin/public/assets/signup-CU4v0Hqr.js +0 -1
  50. nao_core-0.0.19.dist-info/RECORD +0 -50
  51. {nao_core-0.0.19.dist-info → nao_core-0.0.25.dist-info}/WHEEL +0 -0
  52. {nao_core-0.0.19.dist-info → nao_core-0.0.25.dist-info}/entry_points.txt +0 -0
  53. {nao_core-0.0.19.dist-info → nao_core-0.0.25.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,735 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "6adecbc1-b90c-472b-a671-07a59c942e06",
5
+ "prevId": "a929d7d8-a1ad-4cfe-ba25-452885ebbfdc",
6
+ "tables": {
7
+ "account": {
8
+ "name": "account",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "account_id": {
18
+ "name": "account_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "provider_id": {
25
+ "name": "provider_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false
30
+ },
31
+ "user_id": {
32
+ "name": "user_id",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "access_token": {
39
+ "name": "access_token",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": false,
43
+ "autoincrement": false
44
+ },
45
+ "refresh_token": {
46
+ "name": "refresh_token",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": false,
50
+ "autoincrement": false
51
+ },
52
+ "id_token": {
53
+ "name": "id_token",
54
+ "type": "text",
55
+ "primaryKey": false,
56
+ "notNull": false,
57
+ "autoincrement": false
58
+ },
59
+ "access_token_expires_at": {
60
+ "name": "access_token_expires_at",
61
+ "type": "integer",
62
+ "primaryKey": false,
63
+ "notNull": false,
64
+ "autoincrement": false
65
+ },
66
+ "refresh_token_expires_at": {
67
+ "name": "refresh_token_expires_at",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ },
73
+ "scope": {
74
+ "name": "scope",
75
+ "type": "text",
76
+ "primaryKey": false,
77
+ "notNull": false,
78
+ "autoincrement": false
79
+ },
80
+ "password": {
81
+ "name": "password",
82
+ "type": "text",
83
+ "primaryKey": false,
84
+ "notNull": false,
85
+ "autoincrement": false
86
+ },
87
+ "created_at": {
88
+ "name": "created_at",
89
+ "type": "integer",
90
+ "primaryKey": false,
91
+ "notNull": true,
92
+ "autoincrement": false,
93
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
94
+ },
95
+ "updated_at": {
96
+ "name": "updated_at",
97
+ "type": "integer",
98
+ "primaryKey": false,
99
+ "notNull": true,
100
+ "autoincrement": false
101
+ }
102
+ },
103
+ "indexes": {
104
+ "account_userId_idx": {
105
+ "name": "account_userId_idx",
106
+ "columns": [
107
+ "user_id"
108
+ ],
109
+ "isUnique": false
110
+ }
111
+ },
112
+ "foreignKeys": {
113
+ "account_user_id_user_id_fk": {
114
+ "name": "account_user_id_user_id_fk",
115
+ "tableFrom": "account",
116
+ "tableTo": "user",
117
+ "columnsFrom": [
118
+ "user_id"
119
+ ],
120
+ "columnsTo": [
121
+ "id"
122
+ ],
123
+ "onDelete": "cascade",
124
+ "onUpdate": "no action"
125
+ }
126
+ },
127
+ "compositePrimaryKeys": {},
128
+ "uniqueConstraints": {},
129
+ "checkConstraints": {}
130
+ },
131
+ "chat": {
132
+ "name": "chat",
133
+ "columns": {
134
+ "id": {
135
+ "name": "id",
136
+ "type": "text",
137
+ "primaryKey": true,
138
+ "notNull": true,
139
+ "autoincrement": false
140
+ },
141
+ "user_id": {
142
+ "name": "user_id",
143
+ "type": "text",
144
+ "primaryKey": false,
145
+ "notNull": true,
146
+ "autoincrement": false
147
+ },
148
+ "title": {
149
+ "name": "title",
150
+ "type": "text",
151
+ "primaryKey": false,
152
+ "notNull": true,
153
+ "autoincrement": false,
154
+ "default": "'New Conversation'"
155
+ },
156
+ "created_at": {
157
+ "name": "created_at",
158
+ "type": "integer",
159
+ "primaryKey": false,
160
+ "notNull": true,
161
+ "autoincrement": false,
162
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
163
+ },
164
+ "updated_at": {
165
+ "name": "updated_at",
166
+ "type": "integer",
167
+ "primaryKey": false,
168
+ "notNull": true,
169
+ "autoincrement": false,
170
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
171
+ }
172
+ },
173
+ "indexes": {
174
+ "chat_userId_idx": {
175
+ "name": "chat_userId_idx",
176
+ "columns": [
177
+ "user_id"
178
+ ],
179
+ "isUnique": false
180
+ }
181
+ },
182
+ "foreignKeys": {
183
+ "chat_user_id_user_id_fk": {
184
+ "name": "chat_user_id_user_id_fk",
185
+ "tableFrom": "chat",
186
+ "tableTo": "user",
187
+ "columnsFrom": [
188
+ "user_id"
189
+ ],
190
+ "columnsTo": [
191
+ "id"
192
+ ],
193
+ "onDelete": "cascade",
194
+ "onUpdate": "no action"
195
+ }
196
+ },
197
+ "compositePrimaryKeys": {},
198
+ "uniqueConstraints": {},
199
+ "checkConstraints": {}
200
+ },
201
+ "chat_message": {
202
+ "name": "chat_message",
203
+ "columns": {
204
+ "id": {
205
+ "name": "id",
206
+ "type": "text",
207
+ "primaryKey": true,
208
+ "notNull": true,
209
+ "autoincrement": false
210
+ },
211
+ "chat_id": {
212
+ "name": "chat_id",
213
+ "type": "text",
214
+ "primaryKey": false,
215
+ "notNull": true,
216
+ "autoincrement": false
217
+ },
218
+ "role": {
219
+ "name": "role",
220
+ "type": "text",
221
+ "primaryKey": false,
222
+ "notNull": true,
223
+ "autoincrement": false
224
+ },
225
+ "created_at": {
226
+ "name": "created_at",
227
+ "type": "integer",
228
+ "primaryKey": false,
229
+ "notNull": true,
230
+ "autoincrement": false,
231
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
232
+ }
233
+ },
234
+ "indexes": {
235
+ "chat_message_chatId_idx": {
236
+ "name": "chat_message_chatId_idx",
237
+ "columns": [
238
+ "chat_id"
239
+ ],
240
+ "isUnique": false
241
+ },
242
+ "chat_message_createdAt_idx": {
243
+ "name": "chat_message_createdAt_idx",
244
+ "columns": [
245
+ "created_at"
246
+ ],
247
+ "isUnique": false
248
+ }
249
+ },
250
+ "foreignKeys": {
251
+ "chat_message_chat_id_chat_id_fk": {
252
+ "name": "chat_message_chat_id_chat_id_fk",
253
+ "tableFrom": "chat_message",
254
+ "tableTo": "chat",
255
+ "columnsFrom": [
256
+ "chat_id"
257
+ ],
258
+ "columnsTo": [
259
+ "id"
260
+ ],
261
+ "onDelete": "cascade",
262
+ "onUpdate": "no action"
263
+ }
264
+ },
265
+ "compositePrimaryKeys": {},
266
+ "uniqueConstraints": {},
267
+ "checkConstraints": {}
268
+ },
269
+ "message_feedback": {
270
+ "name": "message_feedback",
271
+ "columns": {
272
+ "message_id": {
273
+ "name": "message_id",
274
+ "type": "text",
275
+ "primaryKey": true,
276
+ "notNull": true,
277
+ "autoincrement": false
278
+ },
279
+ "vote": {
280
+ "name": "vote",
281
+ "type": "text",
282
+ "primaryKey": false,
283
+ "notNull": true,
284
+ "autoincrement": false
285
+ },
286
+ "explanation": {
287
+ "name": "explanation",
288
+ "type": "text",
289
+ "primaryKey": false,
290
+ "notNull": false,
291
+ "autoincrement": false
292
+ },
293
+ "created_at": {
294
+ "name": "created_at",
295
+ "type": "integer",
296
+ "primaryKey": false,
297
+ "notNull": true,
298
+ "autoincrement": false,
299
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
300
+ },
301
+ "updated_at": {
302
+ "name": "updated_at",
303
+ "type": "integer",
304
+ "primaryKey": false,
305
+ "notNull": true,
306
+ "autoincrement": false,
307
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
308
+ }
309
+ },
310
+ "indexes": {},
311
+ "foreignKeys": {
312
+ "message_feedback_message_id_chat_message_id_fk": {
313
+ "name": "message_feedback_message_id_chat_message_id_fk",
314
+ "tableFrom": "message_feedback",
315
+ "tableTo": "chat_message",
316
+ "columnsFrom": [
317
+ "message_id"
318
+ ],
319
+ "columnsTo": [
320
+ "id"
321
+ ],
322
+ "onDelete": "cascade",
323
+ "onUpdate": "no action"
324
+ }
325
+ },
326
+ "compositePrimaryKeys": {},
327
+ "uniqueConstraints": {},
328
+ "checkConstraints": {}
329
+ },
330
+ "message_part": {
331
+ "name": "message_part",
332
+ "columns": {
333
+ "id": {
334
+ "name": "id",
335
+ "type": "text",
336
+ "primaryKey": true,
337
+ "notNull": true,
338
+ "autoincrement": false
339
+ },
340
+ "message_id": {
341
+ "name": "message_id",
342
+ "type": "text",
343
+ "primaryKey": false,
344
+ "notNull": true,
345
+ "autoincrement": false
346
+ },
347
+ "order": {
348
+ "name": "order",
349
+ "type": "integer",
350
+ "primaryKey": false,
351
+ "notNull": true,
352
+ "autoincrement": false
353
+ },
354
+ "created_at": {
355
+ "name": "created_at",
356
+ "type": "integer",
357
+ "primaryKey": false,
358
+ "notNull": true,
359
+ "autoincrement": false,
360
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
361
+ },
362
+ "type": {
363
+ "name": "type",
364
+ "type": "text",
365
+ "primaryKey": false,
366
+ "notNull": true,
367
+ "autoincrement": false
368
+ },
369
+ "text": {
370
+ "name": "text",
371
+ "type": "text",
372
+ "primaryKey": false,
373
+ "notNull": false,
374
+ "autoincrement": false
375
+ },
376
+ "reasoning_text": {
377
+ "name": "reasoning_text",
378
+ "type": "text",
379
+ "primaryKey": false,
380
+ "notNull": false,
381
+ "autoincrement": false
382
+ },
383
+ "tool_call_id": {
384
+ "name": "tool_call_id",
385
+ "type": "text",
386
+ "primaryKey": false,
387
+ "notNull": false,
388
+ "autoincrement": false
389
+ },
390
+ "tool_name": {
391
+ "name": "tool_name",
392
+ "type": "text",
393
+ "primaryKey": false,
394
+ "notNull": false,
395
+ "autoincrement": false
396
+ },
397
+ "tool_state": {
398
+ "name": "tool_state",
399
+ "type": "text",
400
+ "primaryKey": false,
401
+ "notNull": false,
402
+ "autoincrement": false
403
+ },
404
+ "tool_error_text": {
405
+ "name": "tool_error_text",
406
+ "type": "text",
407
+ "primaryKey": false,
408
+ "notNull": false,
409
+ "autoincrement": false
410
+ },
411
+ "tool_input": {
412
+ "name": "tool_input",
413
+ "type": "text",
414
+ "primaryKey": false,
415
+ "notNull": false,
416
+ "autoincrement": false
417
+ },
418
+ "tool_output": {
419
+ "name": "tool_output",
420
+ "type": "text",
421
+ "primaryKey": false,
422
+ "notNull": false,
423
+ "autoincrement": false
424
+ },
425
+ "tool_approval_id": {
426
+ "name": "tool_approval_id",
427
+ "type": "text",
428
+ "primaryKey": false,
429
+ "notNull": false,
430
+ "autoincrement": false
431
+ },
432
+ "tool_approval_approved": {
433
+ "name": "tool_approval_approved",
434
+ "type": "integer",
435
+ "primaryKey": false,
436
+ "notNull": false,
437
+ "autoincrement": false
438
+ },
439
+ "tool_approval_reason": {
440
+ "name": "tool_approval_reason",
441
+ "type": "text",
442
+ "primaryKey": false,
443
+ "notNull": false,
444
+ "autoincrement": false
445
+ }
446
+ },
447
+ "indexes": {
448
+ "parts_message_id_idx": {
449
+ "name": "parts_message_id_idx",
450
+ "columns": [
451
+ "message_id"
452
+ ],
453
+ "isUnique": false
454
+ },
455
+ "parts_message_id_order_idx": {
456
+ "name": "parts_message_id_order_idx",
457
+ "columns": [
458
+ "message_id",
459
+ "order"
460
+ ],
461
+ "isUnique": false
462
+ }
463
+ },
464
+ "foreignKeys": {
465
+ "message_part_message_id_chat_message_id_fk": {
466
+ "name": "message_part_message_id_chat_message_id_fk",
467
+ "tableFrom": "message_part",
468
+ "tableTo": "chat_message",
469
+ "columnsFrom": [
470
+ "message_id"
471
+ ],
472
+ "columnsTo": [
473
+ "id"
474
+ ],
475
+ "onDelete": "cascade",
476
+ "onUpdate": "no action"
477
+ }
478
+ },
479
+ "compositePrimaryKeys": {},
480
+ "uniqueConstraints": {},
481
+ "checkConstraints": {
482
+ "text_required_if_type_is_text": {
483
+ "name": "text_required_if_type_is_text",
484
+ "value": "CASE WHEN \"message_part\".\"type\" = 'text' THEN \"message_part\".\"text\" IS NOT NULL ELSE TRUE END"
485
+ },
486
+ "reasoning_text_required_if_type_is_reasoning": {
487
+ "name": "reasoning_text_required_if_type_is_reasoning",
488
+ "value": "CASE WHEN \"message_part\".\"type\" = 'reasoning' THEN \"message_part\".\"reasoning_text\" IS NOT NULL ELSE TRUE END"
489
+ },
490
+ "tool_call_fields_required": {
491
+ "name": "tool_call_fields_required",
492
+ "value": "CASE WHEN \"message_part\".\"type\" LIKE 'tool-%' THEN \"message_part\".\"tool_call_id\" IS NOT NULL AND \"message_part\".\"tool_state\" IS NOT NULL ELSE TRUE END"
493
+ }
494
+ }
495
+ },
496
+ "session": {
497
+ "name": "session",
498
+ "columns": {
499
+ "id": {
500
+ "name": "id",
501
+ "type": "text",
502
+ "primaryKey": true,
503
+ "notNull": true,
504
+ "autoincrement": false
505
+ },
506
+ "expires_at": {
507
+ "name": "expires_at",
508
+ "type": "integer",
509
+ "primaryKey": false,
510
+ "notNull": true,
511
+ "autoincrement": false
512
+ },
513
+ "token": {
514
+ "name": "token",
515
+ "type": "text",
516
+ "primaryKey": false,
517
+ "notNull": true,
518
+ "autoincrement": false
519
+ },
520
+ "created_at": {
521
+ "name": "created_at",
522
+ "type": "integer",
523
+ "primaryKey": false,
524
+ "notNull": true,
525
+ "autoincrement": false,
526
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
527
+ },
528
+ "updated_at": {
529
+ "name": "updated_at",
530
+ "type": "integer",
531
+ "primaryKey": false,
532
+ "notNull": true,
533
+ "autoincrement": false
534
+ },
535
+ "ip_address": {
536
+ "name": "ip_address",
537
+ "type": "text",
538
+ "primaryKey": false,
539
+ "notNull": false,
540
+ "autoincrement": false
541
+ },
542
+ "user_agent": {
543
+ "name": "user_agent",
544
+ "type": "text",
545
+ "primaryKey": false,
546
+ "notNull": false,
547
+ "autoincrement": false
548
+ },
549
+ "user_id": {
550
+ "name": "user_id",
551
+ "type": "text",
552
+ "primaryKey": false,
553
+ "notNull": true,
554
+ "autoincrement": false
555
+ }
556
+ },
557
+ "indexes": {
558
+ "session_token_unique": {
559
+ "name": "session_token_unique",
560
+ "columns": [
561
+ "token"
562
+ ],
563
+ "isUnique": true
564
+ },
565
+ "session_userId_idx": {
566
+ "name": "session_userId_idx",
567
+ "columns": [
568
+ "user_id"
569
+ ],
570
+ "isUnique": false
571
+ }
572
+ },
573
+ "foreignKeys": {
574
+ "session_user_id_user_id_fk": {
575
+ "name": "session_user_id_user_id_fk",
576
+ "tableFrom": "session",
577
+ "tableTo": "user",
578
+ "columnsFrom": [
579
+ "user_id"
580
+ ],
581
+ "columnsTo": [
582
+ "id"
583
+ ],
584
+ "onDelete": "cascade",
585
+ "onUpdate": "no action"
586
+ }
587
+ },
588
+ "compositePrimaryKeys": {},
589
+ "uniqueConstraints": {},
590
+ "checkConstraints": {}
591
+ },
592
+ "user": {
593
+ "name": "user",
594
+ "columns": {
595
+ "id": {
596
+ "name": "id",
597
+ "type": "text",
598
+ "primaryKey": true,
599
+ "notNull": true,
600
+ "autoincrement": false
601
+ },
602
+ "name": {
603
+ "name": "name",
604
+ "type": "text",
605
+ "primaryKey": false,
606
+ "notNull": true,
607
+ "autoincrement": false
608
+ },
609
+ "email": {
610
+ "name": "email",
611
+ "type": "text",
612
+ "primaryKey": false,
613
+ "notNull": true,
614
+ "autoincrement": false
615
+ },
616
+ "email_verified": {
617
+ "name": "email_verified",
618
+ "type": "integer",
619
+ "primaryKey": false,
620
+ "notNull": true,
621
+ "autoincrement": false,
622
+ "default": false
623
+ },
624
+ "image": {
625
+ "name": "image",
626
+ "type": "text",
627
+ "primaryKey": false,
628
+ "notNull": false,
629
+ "autoincrement": false
630
+ },
631
+ "created_at": {
632
+ "name": "created_at",
633
+ "type": "integer",
634
+ "primaryKey": false,
635
+ "notNull": true,
636
+ "autoincrement": false,
637
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
638
+ },
639
+ "updated_at": {
640
+ "name": "updated_at",
641
+ "type": "integer",
642
+ "primaryKey": false,
643
+ "notNull": true,
644
+ "autoincrement": false,
645
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
646
+ }
647
+ },
648
+ "indexes": {
649
+ "user_email_unique": {
650
+ "name": "user_email_unique",
651
+ "columns": [
652
+ "email"
653
+ ],
654
+ "isUnique": true
655
+ }
656
+ },
657
+ "foreignKeys": {},
658
+ "compositePrimaryKeys": {},
659
+ "uniqueConstraints": {},
660
+ "checkConstraints": {}
661
+ },
662
+ "verification": {
663
+ "name": "verification",
664
+ "columns": {
665
+ "id": {
666
+ "name": "id",
667
+ "type": "text",
668
+ "primaryKey": true,
669
+ "notNull": true,
670
+ "autoincrement": false
671
+ },
672
+ "identifier": {
673
+ "name": "identifier",
674
+ "type": "text",
675
+ "primaryKey": false,
676
+ "notNull": true,
677
+ "autoincrement": false
678
+ },
679
+ "value": {
680
+ "name": "value",
681
+ "type": "text",
682
+ "primaryKey": false,
683
+ "notNull": true,
684
+ "autoincrement": false
685
+ },
686
+ "expires_at": {
687
+ "name": "expires_at",
688
+ "type": "integer",
689
+ "primaryKey": false,
690
+ "notNull": true,
691
+ "autoincrement": false
692
+ },
693
+ "created_at": {
694
+ "name": "created_at",
695
+ "type": "integer",
696
+ "primaryKey": false,
697
+ "notNull": true,
698
+ "autoincrement": false,
699
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
700
+ },
701
+ "updated_at": {
702
+ "name": "updated_at",
703
+ "type": "integer",
704
+ "primaryKey": false,
705
+ "notNull": true,
706
+ "autoincrement": false,
707
+ "default": "(cast(unixepoch('subsecond') * 1000 as integer))"
708
+ }
709
+ },
710
+ "indexes": {
711
+ "verification_identifier_idx": {
712
+ "name": "verification_identifier_idx",
713
+ "columns": [
714
+ "identifier"
715
+ ],
716
+ "isUnique": false
717
+ }
718
+ },
719
+ "foreignKeys": {},
720
+ "compositePrimaryKeys": {},
721
+ "uniqueConstraints": {},
722
+ "checkConstraints": {}
723
+ }
724
+ },
725
+ "views": {},
726
+ "enums": {},
727
+ "_meta": {
728
+ "schemas": {},
729
+ "tables": {},
730
+ "columns": {}
731
+ },
732
+ "internal": {
733
+ "indexes": {}
734
+ }
735
+ }