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