nao-core 0.0.38__py3-none-manylinux2014_aarch64.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 (98) hide show
  1. nao_core/__init__.py +2 -0
  2. nao_core/__init__.py.bak +2 -0
  3. nao_core/bin/build-info.json +5 -0
  4. nao_core/bin/fastapi/main.py +268 -0
  5. nao_core/bin/fastapi/test_main.py +156 -0
  6. nao_core/bin/migrations-postgres/0000_user_auth_and_chat_tables.sql +98 -0
  7. nao_core/bin/migrations-postgres/0001_message_feedback.sql +9 -0
  8. nao_core/bin/migrations-postgres/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  9. nao_core/bin/migrations-postgres/0003_handle_slack_with_thread.sql +2 -0
  10. nao_core/bin/migrations-postgres/0004_input_and_output_tokens.sql +8 -0
  11. nao_core/bin/migrations-postgres/0005_add_project_tables.sql +39 -0
  12. nao_core/bin/migrations-postgres/0006_llm_model_ids.sql +4 -0
  13. nao_core/bin/migrations-postgres/0007_chat_message_llm_info.sql +2 -0
  14. nao_core/bin/migrations-postgres/meta/0000_snapshot.json +707 -0
  15. nao_core/bin/migrations-postgres/meta/0001_snapshot.json +766 -0
  16. nao_core/bin/migrations-postgres/meta/0002_snapshot.json +778 -0
  17. nao_core/bin/migrations-postgres/meta/0003_snapshot.json +799 -0
  18. nao_core/bin/migrations-postgres/meta/0004_snapshot.json +847 -0
  19. nao_core/bin/migrations-postgres/meta/0005_snapshot.json +1129 -0
  20. nao_core/bin/migrations-postgres/meta/0006_snapshot.json +1141 -0
  21. nao_core/bin/migrations-postgres/meta/_journal.json +62 -0
  22. nao_core/bin/migrations-sqlite/0000_user_auth_and_chat_tables.sql +98 -0
  23. nao_core/bin/migrations-sqlite/0001_message_feedback.sql +8 -0
  24. nao_core/bin/migrations-sqlite/0002_chat_message_stop_reason_and_error_message.sql +2 -0
  25. nao_core/bin/migrations-sqlite/0003_handle_slack_with_thread.sql +2 -0
  26. nao_core/bin/migrations-sqlite/0004_input_and_output_tokens.sql +8 -0
  27. nao_core/bin/migrations-sqlite/0005_add_project_tables.sql +38 -0
  28. nao_core/bin/migrations-sqlite/0006_llm_model_ids.sql +4 -0
  29. nao_core/bin/migrations-sqlite/0007_chat_message_llm_info.sql +2 -0
  30. nao_core/bin/migrations-sqlite/meta/0000_snapshot.json +674 -0
  31. nao_core/bin/migrations-sqlite/meta/0001_snapshot.json +735 -0
  32. nao_core/bin/migrations-sqlite/meta/0002_snapshot.json +749 -0
  33. nao_core/bin/migrations-sqlite/meta/0003_snapshot.json +763 -0
  34. nao_core/bin/migrations-sqlite/meta/0004_snapshot.json +819 -0
  35. nao_core/bin/migrations-sqlite/meta/0005_snapshot.json +1086 -0
  36. nao_core/bin/migrations-sqlite/meta/0006_snapshot.json +1100 -0
  37. nao_core/bin/migrations-sqlite/meta/_journal.json +62 -0
  38. nao_core/bin/nao-chat-server +0 -0
  39. nao_core/bin/public/assets/code-block-F6WJLWQG-CV0uOmNJ.js +153 -0
  40. nao_core/bin/public/assets/index-DcbndLHo.css +1 -0
  41. nao_core/bin/public/assets/index-t1hZI3nl.js +560 -0
  42. nao_core/bin/public/favicon.ico +0 -0
  43. nao_core/bin/public/index.html +18 -0
  44. nao_core/bin/rg +0 -0
  45. nao_core/commands/__init__.py +6 -0
  46. nao_core/commands/chat.py +225 -0
  47. nao_core/commands/debug.py +158 -0
  48. nao_core/commands/init.py +358 -0
  49. nao_core/commands/sync/__init__.py +124 -0
  50. nao_core/commands/sync/accessors.py +290 -0
  51. nao_core/commands/sync/cleanup.py +156 -0
  52. nao_core/commands/sync/providers/__init__.py +32 -0
  53. nao_core/commands/sync/providers/base.py +113 -0
  54. nao_core/commands/sync/providers/databases/__init__.py +17 -0
  55. nao_core/commands/sync/providers/databases/bigquery.py +79 -0
  56. nao_core/commands/sync/providers/databases/databricks.py +79 -0
  57. nao_core/commands/sync/providers/databases/duckdb.py +78 -0
  58. nao_core/commands/sync/providers/databases/postgres.py +79 -0
  59. nao_core/commands/sync/providers/databases/provider.py +129 -0
  60. nao_core/commands/sync/providers/databases/snowflake.py +79 -0
  61. nao_core/commands/sync/providers/notion/__init__.py +5 -0
  62. nao_core/commands/sync/providers/notion/provider.py +205 -0
  63. nao_core/commands/sync/providers/repositories/__init__.py +5 -0
  64. nao_core/commands/sync/providers/repositories/provider.py +134 -0
  65. nao_core/commands/sync/registry.py +23 -0
  66. nao_core/config/__init__.py +30 -0
  67. nao_core/config/base.py +100 -0
  68. nao_core/config/databases/__init__.py +55 -0
  69. nao_core/config/databases/base.py +85 -0
  70. nao_core/config/databases/bigquery.py +99 -0
  71. nao_core/config/databases/databricks.py +79 -0
  72. nao_core/config/databases/duckdb.py +41 -0
  73. nao_core/config/databases/postgres.py +83 -0
  74. nao_core/config/databases/snowflake.py +125 -0
  75. nao_core/config/exceptions.py +7 -0
  76. nao_core/config/llm/__init__.py +19 -0
  77. nao_core/config/notion/__init__.py +8 -0
  78. nao_core/config/repos/__init__.py +3 -0
  79. nao_core/config/repos/base.py +11 -0
  80. nao_core/config/slack/__init__.py +12 -0
  81. nao_core/context/__init__.py +54 -0
  82. nao_core/context/base.py +57 -0
  83. nao_core/context/git.py +177 -0
  84. nao_core/context/local.py +59 -0
  85. nao_core/main.py +13 -0
  86. nao_core/templates/__init__.py +41 -0
  87. nao_core/templates/context.py +193 -0
  88. nao_core/templates/defaults/databases/columns.md.j2 +23 -0
  89. nao_core/templates/defaults/databases/description.md.j2 +32 -0
  90. nao_core/templates/defaults/databases/preview.md.j2 +22 -0
  91. nao_core/templates/defaults/databases/profiling.md.j2 +34 -0
  92. nao_core/templates/engine.py +133 -0
  93. nao_core/templates/render.py +196 -0
  94. nao_core-0.0.38.dist-info/METADATA +150 -0
  95. nao_core-0.0.38.dist-info/RECORD +98 -0
  96. nao_core-0.0.38.dist-info/WHEEL +4 -0
  97. nao_core-0.0.38.dist-info/entry_points.txt +2 -0
  98. nao_core-0.0.38.dist-info/licenses/LICENSE +22 -0
@@ -0,0 +1,766 @@
1
+ {
2
+ "id": "6ba4ac53-2185-4fbc-8504-1947f383cf4c",
3
+ "prevId": "d5afdaf9-2b7c-49ac-a06e-09ce0e992e96",
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
+ "created_at": {
228
+ "name": "created_at",
229
+ "type": "timestamp",
230
+ "primaryKey": false,
231
+ "notNull": true,
232
+ "default": "now()"
233
+ }
234
+ },
235
+ "indexes": {
236
+ "chat_message_chatId_idx": {
237
+ "name": "chat_message_chatId_idx",
238
+ "columns": [
239
+ {
240
+ "expression": "chat_id",
241
+ "isExpression": false,
242
+ "asc": true,
243
+ "nulls": "last"
244
+ }
245
+ ],
246
+ "isUnique": false,
247
+ "concurrently": false,
248
+ "method": "btree",
249
+ "with": {}
250
+ },
251
+ "chat_message_createdAt_idx": {
252
+ "name": "chat_message_createdAt_idx",
253
+ "columns": [
254
+ {
255
+ "expression": "created_at",
256
+ "isExpression": false,
257
+ "asc": true,
258
+ "nulls": "last"
259
+ }
260
+ ],
261
+ "isUnique": false,
262
+ "concurrently": false,
263
+ "method": "btree",
264
+ "with": {}
265
+ }
266
+ },
267
+ "foreignKeys": {
268
+ "chat_message_chat_id_chat_id_fk": {
269
+ "name": "chat_message_chat_id_chat_id_fk",
270
+ "tableFrom": "chat_message",
271
+ "tableTo": "chat",
272
+ "columnsFrom": [
273
+ "chat_id"
274
+ ],
275
+ "columnsTo": [
276
+ "id"
277
+ ],
278
+ "onDelete": "cascade",
279
+ "onUpdate": "no action"
280
+ }
281
+ },
282
+ "compositePrimaryKeys": {},
283
+ "uniqueConstraints": {},
284
+ "policies": {},
285
+ "checkConstraints": {},
286
+ "isRLSEnabled": false
287
+ },
288
+ "public.message_feedback": {
289
+ "name": "message_feedback",
290
+ "schema": "",
291
+ "columns": {
292
+ "message_id": {
293
+ "name": "message_id",
294
+ "type": "text",
295
+ "primaryKey": true,
296
+ "notNull": true
297
+ },
298
+ "vote": {
299
+ "name": "vote",
300
+ "type": "text",
301
+ "primaryKey": false,
302
+ "notNull": true
303
+ },
304
+ "explanation": {
305
+ "name": "explanation",
306
+ "type": "text",
307
+ "primaryKey": false,
308
+ "notNull": false
309
+ },
310
+ "created_at": {
311
+ "name": "created_at",
312
+ "type": "timestamp",
313
+ "primaryKey": false,
314
+ "notNull": true,
315
+ "default": "now()"
316
+ },
317
+ "updated_at": {
318
+ "name": "updated_at",
319
+ "type": "timestamp",
320
+ "primaryKey": false,
321
+ "notNull": true,
322
+ "default": "now()"
323
+ }
324
+ },
325
+ "indexes": {},
326
+ "foreignKeys": {
327
+ "message_feedback_message_id_chat_message_id_fk": {
328
+ "name": "message_feedback_message_id_chat_message_id_fk",
329
+ "tableFrom": "message_feedback",
330
+ "tableTo": "chat_message",
331
+ "columnsFrom": [
332
+ "message_id"
333
+ ],
334
+ "columnsTo": [
335
+ "id"
336
+ ],
337
+ "onDelete": "cascade",
338
+ "onUpdate": "no action"
339
+ }
340
+ },
341
+ "compositePrimaryKeys": {},
342
+ "uniqueConstraints": {},
343
+ "policies": {},
344
+ "checkConstraints": {},
345
+ "isRLSEnabled": false
346
+ },
347
+ "public.message_part": {
348
+ "name": "message_part",
349
+ "schema": "",
350
+ "columns": {
351
+ "id": {
352
+ "name": "id",
353
+ "type": "text",
354
+ "primaryKey": true,
355
+ "notNull": true
356
+ },
357
+ "message_id": {
358
+ "name": "message_id",
359
+ "type": "text",
360
+ "primaryKey": false,
361
+ "notNull": true
362
+ },
363
+ "order": {
364
+ "name": "order",
365
+ "type": "integer",
366
+ "primaryKey": false,
367
+ "notNull": true
368
+ },
369
+ "created_at": {
370
+ "name": "created_at",
371
+ "type": "timestamp",
372
+ "primaryKey": false,
373
+ "notNull": true,
374
+ "default": "now()"
375
+ },
376
+ "type": {
377
+ "name": "type",
378
+ "type": "text",
379
+ "primaryKey": false,
380
+ "notNull": true
381
+ },
382
+ "text": {
383
+ "name": "text",
384
+ "type": "text",
385
+ "primaryKey": false,
386
+ "notNull": false
387
+ },
388
+ "reasoning_text": {
389
+ "name": "reasoning_text",
390
+ "type": "text",
391
+ "primaryKey": false,
392
+ "notNull": false
393
+ },
394
+ "tool_call_id": {
395
+ "name": "tool_call_id",
396
+ "type": "text",
397
+ "primaryKey": false,
398
+ "notNull": false
399
+ },
400
+ "tool_name": {
401
+ "name": "tool_name",
402
+ "type": "text",
403
+ "primaryKey": false,
404
+ "notNull": false
405
+ },
406
+ "tool_state": {
407
+ "name": "tool_state",
408
+ "type": "text",
409
+ "primaryKey": false,
410
+ "notNull": false
411
+ },
412
+ "tool_error_text": {
413
+ "name": "tool_error_text",
414
+ "type": "text",
415
+ "primaryKey": false,
416
+ "notNull": false
417
+ },
418
+ "tool_input": {
419
+ "name": "tool_input",
420
+ "type": "jsonb",
421
+ "primaryKey": false,
422
+ "notNull": false
423
+ },
424
+ "tool_output": {
425
+ "name": "tool_output",
426
+ "type": "jsonb",
427
+ "primaryKey": false,
428
+ "notNull": false
429
+ },
430
+ "tool_approval_id": {
431
+ "name": "tool_approval_id",
432
+ "type": "text",
433
+ "primaryKey": false,
434
+ "notNull": false
435
+ },
436
+ "tool_approval_approved": {
437
+ "name": "tool_approval_approved",
438
+ "type": "boolean",
439
+ "primaryKey": false,
440
+ "notNull": false
441
+ },
442
+ "tool_approval_reason": {
443
+ "name": "tool_approval_reason",
444
+ "type": "text",
445
+ "primaryKey": false,
446
+ "notNull": false
447
+ }
448
+ },
449
+ "indexes": {
450
+ "parts_message_id_idx": {
451
+ "name": "parts_message_id_idx",
452
+ "columns": [
453
+ {
454
+ "expression": "message_id",
455
+ "isExpression": false,
456
+ "asc": true,
457
+ "nulls": "last"
458
+ }
459
+ ],
460
+ "isUnique": false,
461
+ "concurrently": false,
462
+ "method": "btree",
463
+ "with": {}
464
+ },
465
+ "parts_message_id_order_idx": {
466
+ "name": "parts_message_id_order_idx",
467
+ "columns": [
468
+ {
469
+ "expression": "message_id",
470
+ "isExpression": false,
471
+ "asc": true,
472
+ "nulls": "last"
473
+ },
474
+ {
475
+ "expression": "order",
476
+ "isExpression": false,
477
+ "asc": true,
478
+ "nulls": "last"
479
+ }
480
+ ],
481
+ "isUnique": false,
482
+ "concurrently": false,
483
+ "method": "btree",
484
+ "with": {}
485
+ }
486
+ },
487
+ "foreignKeys": {
488
+ "message_part_message_id_chat_message_id_fk": {
489
+ "name": "message_part_message_id_chat_message_id_fk",
490
+ "tableFrom": "message_part",
491
+ "tableTo": "chat_message",
492
+ "columnsFrom": [
493
+ "message_id"
494
+ ],
495
+ "columnsTo": [
496
+ "id"
497
+ ],
498
+ "onDelete": "cascade",
499
+ "onUpdate": "no action"
500
+ }
501
+ },
502
+ "compositePrimaryKeys": {},
503
+ "uniqueConstraints": {},
504
+ "policies": {},
505
+ "checkConstraints": {
506
+ "text_required_if_type_is_text": {
507
+ "name": "text_required_if_type_is_text",
508
+ "value": "CASE WHEN \"message_part\".\"type\" = 'text' THEN \"message_part\".\"text\" IS NOT NULL ELSE TRUE END"
509
+ },
510
+ "reasoning_text_required_if_type_is_reasoning": {
511
+ "name": "reasoning_text_required_if_type_is_reasoning",
512
+ "value": "CASE WHEN \"message_part\".\"type\" = 'reasoning' THEN \"message_part\".\"reasoning_text\" IS NOT NULL ELSE TRUE END"
513
+ },
514
+ "tool_call_fields_required": {
515
+ "name": "tool_call_fields_required",
516
+ "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"
517
+ }
518
+ },
519
+ "isRLSEnabled": false
520
+ },
521
+ "public.session": {
522
+ "name": "session",
523
+ "schema": "",
524
+ "columns": {
525
+ "id": {
526
+ "name": "id",
527
+ "type": "text",
528
+ "primaryKey": true,
529
+ "notNull": true
530
+ },
531
+ "expires_at": {
532
+ "name": "expires_at",
533
+ "type": "timestamp",
534
+ "primaryKey": false,
535
+ "notNull": true
536
+ },
537
+ "token": {
538
+ "name": "token",
539
+ "type": "text",
540
+ "primaryKey": false,
541
+ "notNull": true
542
+ },
543
+ "created_at": {
544
+ "name": "created_at",
545
+ "type": "timestamp",
546
+ "primaryKey": false,
547
+ "notNull": true,
548
+ "default": "now()"
549
+ },
550
+ "updated_at": {
551
+ "name": "updated_at",
552
+ "type": "timestamp",
553
+ "primaryKey": false,
554
+ "notNull": true
555
+ },
556
+ "ip_address": {
557
+ "name": "ip_address",
558
+ "type": "text",
559
+ "primaryKey": false,
560
+ "notNull": false
561
+ },
562
+ "user_agent": {
563
+ "name": "user_agent",
564
+ "type": "text",
565
+ "primaryKey": false,
566
+ "notNull": false
567
+ },
568
+ "user_id": {
569
+ "name": "user_id",
570
+ "type": "text",
571
+ "primaryKey": false,
572
+ "notNull": true
573
+ }
574
+ },
575
+ "indexes": {
576
+ "session_userId_idx": {
577
+ "name": "session_userId_idx",
578
+ "columns": [
579
+ {
580
+ "expression": "user_id",
581
+ "isExpression": false,
582
+ "asc": true,
583
+ "nulls": "last"
584
+ }
585
+ ],
586
+ "isUnique": false,
587
+ "concurrently": false,
588
+ "method": "btree",
589
+ "with": {}
590
+ }
591
+ },
592
+ "foreignKeys": {
593
+ "session_user_id_user_id_fk": {
594
+ "name": "session_user_id_user_id_fk",
595
+ "tableFrom": "session",
596
+ "tableTo": "user",
597
+ "columnsFrom": [
598
+ "user_id"
599
+ ],
600
+ "columnsTo": [
601
+ "id"
602
+ ],
603
+ "onDelete": "cascade",
604
+ "onUpdate": "no action"
605
+ }
606
+ },
607
+ "compositePrimaryKeys": {},
608
+ "uniqueConstraints": {
609
+ "session_token_unique": {
610
+ "name": "session_token_unique",
611
+ "nullsNotDistinct": false,
612
+ "columns": [
613
+ "token"
614
+ ]
615
+ }
616
+ },
617
+ "policies": {},
618
+ "checkConstraints": {},
619
+ "isRLSEnabled": false
620
+ },
621
+ "public.user": {
622
+ "name": "user",
623
+ "schema": "",
624
+ "columns": {
625
+ "id": {
626
+ "name": "id",
627
+ "type": "text",
628
+ "primaryKey": true,
629
+ "notNull": true
630
+ },
631
+ "name": {
632
+ "name": "name",
633
+ "type": "text",
634
+ "primaryKey": false,
635
+ "notNull": true
636
+ },
637
+ "email": {
638
+ "name": "email",
639
+ "type": "text",
640
+ "primaryKey": false,
641
+ "notNull": true
642
+ },
643
+ "email_verified": {
644
+ "name": "email_verified",
645
+ "type": "boolean",
646
+ "primaryKey": false,
647
+ "notNull": true,
648
+ "default": false
649
+ },
650
+ "image": {
651
+ "name": "image",
652
+ "type": "text",
653
+ "primaryKey": false,
654
+ "notNull": false
655
+ },
656
+ "created_at": {
657
+ "name": "created_at",
658
+ "type": "timestamp",
659
+ "primaryKey": false,
660
+ "notNull": true,
661
+ "default": "now()"
662
+ },
663
+ "updated_at": {
664
+ "name": "updated_at",
665
+ "type": "timestamp",
666
+ "primaryKey": false,
667
+ "notNull": true,
668
+ "default": "now()"
669
+ }
670
+ },
671
+ "indexes": {},
672
+ "foreignKeys": {},
673
+ "compositePrimaryKeys": {},
674
+ "uniqueConstraints": {
675
+ "user_email_unique": {
676
+ "name": "user_email_unique",
677
+ "nullsNotDistinct": false,
678
+ "columns": [
679
+ "email"
680
+ ]
681
+ }
682
+ },
683
+ "policies": {},
684
+ "checkConstraints": {},
685
+ "isRLSEnabled": false
686
+ },
687
+ "public.verification": {
688
+ "name": "verification",
689
+ "schema": "",
690
+ "columns": {
691
+ "id": {
692
+ "name": "id",
693
+ "type": "text",
694
+ "primaryKey": true,
695
+ "notNull": true
696
+ },
697
+ "identifier": {
698
+ "name": "identifier",
699
+ "type": "text",
700
+ "primaryKey": false,
701
+ "notNull": true
702
+ },
703
+ "value": {
704
+ "name": "value",
705
+ "type": "text",
706
+ "primaryKey": false,
707
+ "notNull": true
708
+ },
709
+ "expires_at": {
710
+ "name": "expires_at",
711
+ "type": "timestamp",
712
+ "primaryKey": false,
713
+ "notNull": true
714
+ },
715
+ "created_at": {
716
+ "name": "created_at",
717
+ "type": "timestamp",
718
+ "primaryKey": false,
719
+ "notNull": true,
720
+ "default": "now()"
721
+ },
722
+ "updated_at": {
723
+ "name": "updated_at",
724
+ "type": "timestamp",
725
+ "primaryKey": false,
726
+ "notNull": true,
727
+ "default": "now()"
728
+ }
729
+ },
730
+ "indexes": {
731
+ "verification_identifier_idx": {
732
+ "name": "verification_identifier_idx",
733
+ "columns": [
734
+ {
735
+ "expression": "identifier",
736
+ "isExpression": false,
737
+ "asc": true,
738
+ "nulls": "last"
739
+ }
740
+ ],
741
+ "isUnique": false,
742
+ "concurrently": false,
743
+ "method": "btree",
744
+ "with": {}
745
+ }
746
+ },
747
+ "foreignKeys": {},
748
+ "compositePrimaryKeys": {},
749
+ "uniqueConstraints": {},
750
+ "policies": {},
751
+ "checkConstraints": {},
752
+ "isRLSEnabled": false
753
+ }
754
+ },
755
+ "enums": {},
756
+ "schemas": {},
757
+ "sequences": {},
758
+ "roles": {},
759
+ "policies": {},
760
+ "views": {},
761
+ "_meta": {
762
+ "columns": {},
763
+ "schemas": {},
764
+ "tables": {}
765
+ }
766
+ }