truecourse 0.1.9 → 0.1.10

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.
@@ -0,0 +1,1955 @@
1
+ {
2
+ "id": "c0ff4482-3cc6-4538-9baf-fbde2a81ad22",
3
+ "prevId": "65582501-2c39-47b4-acce-107365293880",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.analyses": {
8
+ "name": "analyses",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "repo_id": {
19
+ "name": "repo_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "branch": {
25
+ "name": "branch",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": false
29
+ },
30
+ "architecture": {
31
+ "name": "architecture",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "metadata": {
37
+ "name": "metadata",
38
+ "type": "jsonb",
39
+ "primaryKey": false,
40
+ "notNull": false
41
+ },
42
+ "node_positions": {
43
+ "name": "node_positions",
44
+ "type": "jsonb",
45
+ "primaryKey": false,
46
+ "notNull": false
47
+ },
48
+ "created_at": {
49
+ "name": "created_at",
50
+ "type": "timestamp with time zone",
51
+ "primaryKey": false,
52
+ "notNull": true,
53
+ "default": "now()"
54
+ }
55
+ },
56
+ "indexes": {},
57
+ "foreignKeys": {
58
+ "analyses_repo_id_repos_id_fk": {
59
+ "name": "analyses_repo_id_repos_id_fk",
60
+ "tableFrom": "analyses",
61
+ "tableTo": "repos",
62
+ "columnsFrom": [
63
+ "repo_id"
64
+ ],
65
+ "columnsTo": [
66
+ "id"
67
+ ],
68
+ "onDelete": "cascade",
69
+ "onUpdate": "no action"
70
+ }
71
+ },
72
+ "compositePrimaryKeys": {},
73
+ "uniqueConstraints": {},
74
+ "policies": {},
75
+ "checkConstraints": {},
76
+ "isRLSEnabled": false
77
+ },
78
+ "public.code_violations": {
79
+ "name": "code_violations",
80
+ "schema": "",
81
+ "columns": {
82
+ "id": {
83
+ "name": "id",
84
+ "type": "uuid",
85
+ "primaryKey": true,
86
+ "notNull": true,
87
+ "default": "gen_random_uuid()"
88
+ },
89
+ "analysis_id": {
90
+ "name": "analysis_id",
91
+ "type": "uuid",
92
+ "primaryKey": false,
93
+ "notNull": true
94
+ },
95
+ "file_path": {
96
+ "name": "file_path",
97
+ "type": "text",
98
+ "primaryKey": false,
99
+ "notNull": true
100
+ },
101
+ "line_start": {
102
+ "name": "line_start",
103
+ "type": "integer",
104
+ "primaryKey": false,
105
+ "notNull": true
106
+ },
107
+ "line_end": {
108
+ "name": "line_end",
109
+ "type": "integer",
110
+ "primaryKey": false,
111
+ "notNull": true
112
+ },
113
+ "column_start": {
114
+ "name": "column_start",
115
+ "type": "integer",
116
+ "primaryKey": false,
117
+ "notNull": true
118
+ },
119
+ "column_end": {
120
+ "name": "column_end",
121
+ "type": "integer",
122
+ "primaryKey": false,
123
+ "notNull": true
124
+ },
125
+ "rule_key": {
126
+ "name": "rule_key",
127
+ "type": "text",
128
+ "primaryKey": false,
129
+ "notNull": true
130
+ },
131
+ "severity": {
132
+ "name": "severity",
133
+ "type": "text",
134
+ "primaryKey": false,
135
+ "notNull": true
136
+ },
137
+ "status": {
138
+ "name": "status",
139
+ "type": "text",
140
+ "primaryKey": false,
141
+ "notNull": true,
142
+ "default": "'new'"
143
+ },
144
+ "title": {
145
+ "name": "title",
146
+ "type": "text",
147
+ "primaryKey": false,
148
+ "notNull": true
149
+ },
150
+ "content": {
151
+ "name": "content",
152
+ "type": "text",
153
+ "primaryKey": false,
154
+ "notNull": true
155
+ },
156
+ "snippet": {
157
+ "name": "snippet",
158
+ "type": "text",
159
+ "primaryKey": false,
160
+ "notNull": true
161
+ },
162
+ "fix_prompt": {
163
+ "name": "fix_prompt",
164
+ "type": "text",
165
+ "primaryKey": false,
166
+ "notNull": false
167
+ },
168
+ "first_seen_analysis_id": {
169
+ "name": "first_seen_analysis_id",
170
+ "type": "uuid",
171
+ "primaryKey": false,
172
+ "notNull": false
173
+ },
174
+ "first_seen_at": {
175
+ "name": "first_seen_at",
176
+ "type": "timestamp with time zone",
177
+ "primaryKey": false,
178
+ "notNull": false
179
+ },
180
+ "previous_code_violation_id": {
181
+ "name": "previous_code_violation_id",
182
+ "type": "uuid",
183
+ "primaryKey": false,
184
+ "notNull": false
185
+ },
186
+ "resolved_at": {
187
+ "name": "resolved_at",
188
+ "type": "timestamp with time zone",
189
+ "primaryKey": false,
190
+ "notNull": false
191
+ },
192
+ "created_at": {
193
+ "name": "created_at",
194
+ "type": "timestamp with time zone",
195
+ "primaryKey": false,
196
+ "notNull": true,
197
+ "default": "now()"
198
+ }
199
+ },
200
+ "indexes": {},
201
+ "foreignKeys": {
202
+ "code_violations_analysis_id_analyses_id_fk": {
203
+ "name": "code_violations_analysis_id_analyses_id_fk",
204
+ "tableFrom": "code_violations",
205
+ "tableTo": "analyses",
206
+ "columnsFrom": [
207
+ "analysis_id"
208
+ ],
209
+ "columnsTo": [
210
+ "id"
211
+ ],
212
+ "onDelete": "cascade",
213
+ "onUpdate": "no action"
214
+ },
215
+ "code_violations_first_seen_analysis_id_analyses_id_fk": {
216
+ "name": "code_violations_first_seen_analysis_id_analyses_id_fk",
217
+ "tableFrom": "code_violations",
218
+ "tableTo": "analyses",
219
+ "columnsFrom": [
220
+ "first_seen_analysis_id"
221
+ ],
222
+ "columnsTo": [
223
+ "id"
224
+ ],
225
+ "onDelete": "set null",
226
+ "onUpdate": "no action"
227
+ }
228
+ },
229
+ "compositePrimaryKeys": {},
230
+ "uniqueConstraints": {},
231
+ "policies": {},
232
+ "checkConstraints": {},
233
+ "isRLSEnabled": false
234
+ },
235
+ "public.conversations": {
236
+ "name": "conversations",
237
+ "schema": "",
238
+ "columns": {
239
+ "id": {
240
+ "name": "id",
241
+ "type": "uuid",
242
+ "primaryKey": true,
243
+ "notNull": true,
244
+ "default": "gen_random_uuid()"
245
+ },
246
+ "repo_id": {
247
+ "name": "repo_id",
248
+ "type": "uuid",
249
+ "primaryKey": false,
250
+ "notNull": true
251
+ },
252
+ "branch": {
253
+ "name": "branch",
254
+ "type": "text",
255
+ "primaryKey": false,
256
+ "notNull": false
257
+ },
258
+ "created_at": {
259
+ "name": "created_at",
260
+ "type": "timestamp with time zone",
261
+ "primaryKey": false,
262
+ "notNull": true,
263
+ "default": "now()"
264
+ },
265
+ "updated_at": {
266
+ "name": "updated_at",
267
+ "type": "timestamp with time zone",
268
+ "primaryKey": false,
269
+ "notNull": true,
270
+ "default": "now()"
271
+ }
272
+ },
273
+ "indexes": {},
274
+ "foreignKeys": {
275
+ "conversations_repo_id_repos_id_fk": {
276
+ "name": "conversations_repo_id_repos_id_fk",
277
+ "tableFrom": "conversations",
278
+ "tableTo": "repos",
279
+ "columnsFrom": [
280
+ "repo_id"
281
+ ],
282
+ "columnsTo": [
283
+ "id"
284
+ ],
285
+ "onDelete": "cascade",
286
+ "onUpdate": "no action"
287
+ }
288
+ },
289
+ "compositePrimaryKeys": {},
290
+ "uniqueConstraints": {},
291
+ "policies": {},
292
+ "checkConstraints": {},
293
+ "isRLSEnabled": false
294
+ },
295
+ "public.database_connections": {
296
+ "name": "database_connections",
297
+ "schema": "",
298
+ "columns": {
299
+ "id": {
300
+ "name": "id",
301
+ "type": "uuid",
302
+ "primaryKey": true,
303
+ "notNull": true,
304
+ "default": "gen_random_uuid()"
305
+ },
306
+ "analysis_id": {
307
+ "name": "analysis_id",
308
+ "type": "uuid",
309
+ "primaryKey": false,
310
+ "notNull": true
311
+ },
312
+ "service_id": {
313
+ "name": "service_id",
314
+ "type": "uuid",
315
+ "primaryKey": false,
316
+ "notNull": true
317
+ },
318
+ "database_id": {
319
+ "name": "database_id",
320
+ "type": "uuid",
321
+ "primaryKey": false,
322
+ "notNull": true
323
+ },
324
+ "driver": {
325
+ "name": "driver",
326
+ "type": "text",
327
+ "primaryKey": false,
328
+ "notNull": true
329
+ }
330
+ },
331
+ "indexes": {},
332
+ "foreignKeys": {
333
+ "database_connections_analysis_id_analyses_id_fk": {
334
+ "name": "database_connections_analysis_id_analyses_id_fk",
335
+ "tableFrom": "database_connections",
336
+ "tableTo": "analyses",
337
+ "columnsFrom": [
338
+ "analysis_id"
339
+ ],
340
+ "columnsTo": [
341
+ "id"
342
+ ],
343
+ "onDelete": "cascade",
344
+ "onUpdate": "no action"
345
+ },
346
+ "database_connections_service_id_services_id_fk": {
347
+ "name": "database_connections_service_id_services_id_fk",
348
+ "tableFrom": "database_connections",
349
+ "tableTo": "services",
350
+ "columnsFrom": [
351
+ "service_id"
352
+ ],
353
+ "columnsTo": [
354
+ "id"
355
+ ],
356
+ "onDelete": "cascade",
357
+ "onUpdate": "no action"
358
+ },
359
+ "database_connections_database_id_databases_id_fk": {
360
+ "name": "database_connections_database_id_databases_id_fk",
361
+ "tableFrom": "database_connections",
362
+ "tableTo": "databases",
363
+ "columnsFrom": [
364
+ "database_id"
365
+ ],
366
+ "columnsTo": [
367
+ "id"
368
+ ],
369
+ "onDelete": "cascade",
370
+ "onUpdate": "no action"
371
+ }
372
+ },
373
+ "compositePrimaryKeys": {},
374
+ "uniqueConstraints": {},
375
+ "policies": {},
376
+ "checkConstraints": {},
377
+ "isRLSEnabled": false
378
+ },
379
+ "public.databases": {
380
+ "name": "databases",
381
+ "schema": "",
382
+ "columns": {
383
+ "id": {
384
+ "name": "id",
385
+ "type": "uuid",
386
+ "primaryKey": true,
387
+ "notNull": true,
388
+ "default": "gen_random_uuid()"
389
+ },
390
+ "analysis_id": {
391
+ "name": "analysis_id",
392
+ "type": "uuid",
393
+ "primaryKey": false,
394
+ "notNull": true
395
+ },
396
+ "name": {
397
+ "name": "name",
398
+ "type": "text",
399
+ "primaryKey": false,
400
+ "notNull": true
401
+ },
402
+ "type": {
403
+ "name": "type",
404
+ "type": "text",
405
+ "primaryKey": false,
406
+ "notNull": true
407
+ },
408
+ "driver": {
409
+ "name": "driver",
410
+ "type": "text",
411
+ "primaryKey": false,
412
+ "notNull": true
413
+ },
414
+ "connection_config": {
415
+ "name": "connection_config",
416
+ "type": "jsonb",
417
+ "primaryKey": false,
418
+ "notNull": false
419
+ },
420
+ "tables": {
421
+ "name": "tables",
422
+ "type": "jsonb",
423
+ "primaryKey": false,
424
+ "notNull": false
425
+ },
426
+ "db_relations": {
427
+ "name": "db_relations",
428
+ "type": "jsonb",
429
+ "primaryKey": false,
430
+ "notNull": false
431
+ },
432
+ "connected_services": {
433
+ "name": "connected_services",
434
+ "type": "jsonb",
435
+ "primaryKey": false,
436
+ "notNull": false
437
+ },
438
+ "created_at": {
439
+ "name": "created_at",
440
+ "type": "timestamp with time zone",
441
+ "primaryKey": false,
442
+ "notNull": true,
443
+ "default": "now()"
444
+ }
445
+ },
446
+ "indexes": {},
447
+ "foreignKeys": {
448
+ "databases_analysis_id_analyses_id_fk": {
449
+ "name": "databases_analysis_id_analyses_id_fk",
450
+ "tableFrom": "databases",
451
+ "tableTo": "analyses",
452
+ "columnsFrom": [
453
+ "analysis_id"
454
+ ],
455
+ "columnsTo": [
456
+ "id"
457
+ ],
458
+ "onDelete": "cascade",
459
+ "onUpdate": "no action"
460
+ }
461
+ },
462
+ "compositePrimaryKeys": {},
463
+ "uniqueConstraints": {},
464
+ "policies": {},
465
+ "checkConstraints": {},
466
+ "isRLSEnabled": false
467
+ },
468
+ "public.deterministic_violations": {
469
+ "name": "deterministic_violations",
470
+ "schema": "",
471
+ "columns": {
472
+ "id": {
473
+ "name": "id",
474
+ "type": "uuid",
475
+ "primaryKey": true,
476
+ "notNull": true,
477
+ "default": "gen_random_uuid()"
478
+ },
479
+ "analysis_id": {
480
+ "name": "analysis_id",
481
+ "type": "uuid",
482
+ "primaryKey": false,
483
+ "notNull": true
484
+ },
485
+ "rule_key": {
486
+ "name": "rule_key",
487
+ "type": "text",
488
+ "primaryKey": false,
489
+ "notNull": true
490
+ },
491
+ "category": {
492
+ "name": "category",
493
+ "type": "text",
494
+ "primaryKey": false,
495
+ "notNull": true
496
+ },
497
+ "title": {
498
+ "name": "title",
499
+ "type": "text",
500
+ "primaryKey": false,
501
+ "notNull": true
502
+ },
503
+ "description": {
504
+ "name": "description",
505
+ "type": "text",
506
+ "primaryKey": false,
507
+ "notNull": true
508
+ },
509
+ "severity": {
510
+ "name": "severity",
511
+ "type": "text",
512
+ "primaryKey": false,
513
+ "notNull": true
514
+ },
515
+ "service_name": {
516
+ "name": "service_name",
517
+ "type": "text",
518
+ "primaryKey": false,
519
+ "notNull": true
520
+ },
521
+ "module_name": {
522
+ "name": "module_name",
523
+ "type": "text",
524
+ "primaryKey": false,
525
+ "notNull": false
526
+ },
527
+ "method_name": {
528
+ "name": "method_name",
529
+ "type": "text",
530
+ "primaryKey": false,
531
+ "notNull": false
532
+ },
533
+ "file_path": {
534
+ "name": "file_path",
535
+ "type": "text",
536
+ "primaryKey": false,
537
+ "notNull": false
538
+ },
539
+ "related_module_name": {
540
+ "name": "related_module_name",
541
+ "type": "text",
542
+ "primaryKey": false,
543
+ "notNull": false
544
+ },
545
+ "related_service_name": {
546
+ "name": "related_service_name",
547
+ "type": "text",
548
+ "primaryKey": false,
549
+ "notNull": false
550
+ },
551
+ "is_dependency_violation": {
552
+ "name": "is_dependency_violation",
553
+ "type": "boolean",
554
+ "primaryKey": false,
555
+ "notNull": true,
556
+ "default": false
557
+ },
558
+ "created_at": {
559
+ "name": "created_at",
560
+ "type": "timestamp with time zone",
561
+ "primaryKey": false,
562
+ "notNull": true,
563
+ "default": "now()"
564
+ }
565
+ },
566
+ "indexes": {},
567
+ "foreignKeys": {
568
+ "deterministic_violations_analysis_id_analyses_id_fk": {
569
+ "name": "deterministic_violations_analysis_id_analyses_id_fk",
570
+ "tableFrom": "deterministic_violations",
571
+ "tableTo": "analyses",
572
+ "columnsFrom": [
573
+ "analysis_id"
574
+ ],
575
+ "columnsTo": [
576
+ "id"
577
+ ],
578
+ "onDelete": "cascade",
579
+ "onUpdate": "no action"
580
+ }
581
+ },
582
+ "compositePrimaryKeys": {},
583
+ "uniqueConstraints": {},
584
+ "policies": {},
585
+ "checkConstraints": {},
586
+ "isRLSEnabled": false
587
+ },
588
+ "public.flow_steps": {
589
+ "name": "flow_steps",
590
+ "schema": "",
591
+ "columns": {
592
+ "id": {
593
+ "name": "id",
594
+ "type": "uuid",
595
+ "primaryKey": true,
596
+ "notNull": true,
597
+ "default": "gen_random_uuid()"
598
+ },
599
+ "flow_id": {
600
+ "name": "flow_id",
601
+ "type": "uuid",
602
+ "primaryKey": false,
603
+ "notNull": true
604
+ },
605
+ "step_order": {
606
+ "name": "step_order",
607
+ "type": "integer",
608
+ "primaryKey": false,
609
+ "notNull": true
610
+ },
611
+ "source_service": {
612
+ "name": "source_service",
613
+ "type": "text",
614
+ "primaryKey": false,
615
+ "notNull": true
616
+ },
617
+ "source_module": {
618
+ "name": "source_module",
619
+ "type": "text",
620
+ "primaryKey": false,
621
+ "notNull": true
622
+ },
623
+ "source_method": {
624
+ "name": "source_method",
625
+ "type": "text",
626
+ "primaryKey": false,
627
+ "notNull": true
628
+ },
629
+ "target_service": {
630
+ "name": "target_service",
631
+ "type": "text",
632
+ "primaryKey": false,
633
+ "notNull": true
634
+ },
635
+ "target_module": {
636
+ "name": "target_module",
637
+ "type": "text",
638
+ "primaryKey": false,
639
+ "notNull": true
640
+ },
641
+ "target_method": {
642
+ "name": "target_method",
643
+ "type": "text",
644
+ "primaryKey": false,
645
+ "notNull": true
646
+ },
647
+ "step_type": {
648
+ "name": "step_type",
649
+ "type": "text",
650
+ "primaryKey": false,
651
+ "notNull": true
652
+ },
653
+ "data_description": {
654
+ "name": "data_description",
655
+ "type": "text",
656
+ "primaryKey": false,
657
+ "notNull": false
658
+ },
659
+ "is_async": {
660
+ "name": "is_async",
661
+ "type": "boolean",
662
+ "primaryKey": false,
663
+ "notNull": true,
664
+ "default": false
665
+ },
666
+ "is_conditional": {
667
+ "name": "is_conditional",
668
+ "type": "boolean",
669
+ "primaryKey": false,
670
+ "notNull": true,
671
+ "default": false
672
+ }
673
+ },
674
+ "indexes": {},
675
+ "foreignKeys": {
676
+ "flow_steps_flow_id_flows_id_fk": {
677
+ "name": "flow_steps_flow_id_flows_id_fk",
678
+ "tableFrom": "flow_steps",
679
+ "tableTo": "flows",
680
+ "columnsFrom": [
681
+ "flow_id"
682
+ ],
683
+ "columnsTo": [
684
+ "id"
685
+ ],
686
+ "onDelete": "cascade",
687
+ "onUpdate": "no action"
688
+ }
689
+ },
690
+ "compositePrimaryKeys": {},
691
+ "uniqueConstraints": {},
692
+ "policies": {},
693
+ "checkConstraints": {},
694
+ "isRLSEnabled": false
695
+ },
696
+ "public.flows": {
697
+ "name": "flows",
698
+ "schema": "",
699
+ "columns": {
700
+ "id": {
701
+ "name": "id",
702
+ "type": "uuid",
703
+ "primaryKey": true,
704
+ "notNull": true,
705
+ "default": "gen_random_uuid()"
706
+ },
707
+ "analysis_id": {
708
+ "name": "analysis_id",
709
+ "type": "uuid",
710
+ "primaryKey": false,
711
+ "notNull": true
712
+ },
713
+ "name": {
714
+ "name": "name",
715
+ "type": "text",
716
+ "primaryKey": false,
717
+ "notNull": true
718
+ },
719
+ "description": {
720
+ "name": "description",
721
+ "type": "text",
722
+ "primaryKey": false,
723
+ "notNull": false
724
+ },
725
+ "entry_service": {
726
+ "name": "entry_service",
727
+ "type": "text",
728
+ "primaryKey": false,
729
+ "notNull": true
730
+ },
731
+ "entry_method": {
732
+ "name": "entry_method",
733
+ "type": "text",
734
+ "primaryKey": false,
735
+ "notNull": true
736
+ },
737
+ "category": {
738
+ "name": "category",
739
+ "type": "text",
740
+ "primaryKey": false,
741
+ "notNull": true
742
+ },
743
+ "trigger": {
744
+ "name": "trigger",
745
+ "type": "text",
746
+ "primaryKey": false,
747
+ "notNull": true
748
+ },
749
+ "step_count": {
750
+ "name": "step_count",
751
+ "type": "integer",
752
+ "primaryKey": false,
753
+ "notNull": true,
754
+ "default": 0
755
+ },
756
+ "created_at": {
757
+ "name": "created_at",
758
+ "type": "timestamp with time zone",
759
+ "primaryKey": false,
760
+ "notNull": true,
761
+ "default": "now()"
762
+ }
763
+ },
764
+ "indexes": {},
765
+ "foreignKeys": {
766
+ "flows_analysis_id_analyses_id_fk": {
767
+ "name": "flows_analysis_id_analyses_id_fk",
768
+ "tableFrom": "flows",
769
+ "tableTo": "analyses",
770
+ "columnsFrom": [
771
+ "analysis_id"
772
+ ],
773
+ "columnsTo": [
774
+ "id"
775
+ ],
776
+ "onDelete": "cascade",
777
+ "onUpdate": "no action"
778
+ }
779
+ },
780
+ "compositePrimaryKeys": {},
781
+ "uniqueConstraints": {},
782
+ "policies": {},
783
+ "checkConstraints": {},
784
+ "isRLSEnabled": false
785
+ },
786
+ "public.layers": {
787
+ "name": "layers",
788
+ "schema": "",
789
+ "columns": {
790
+ "id": {
791
+ "name": "id",
792
+ "type": "uuid",
793
+ "primaryKey": true,
794
+ "notNull": true,
795
+ "default": "gen_random_uuid()"
796
+ },
797
+ "analysis_id": {
798
+ "name": "analysis_id",
799
+ "type": "uuid",
800
+ "primaryKey": false,
801
+ "notNull": true
802
+ },
803
+ "service_id": {
804
+ "name": "service_id",
805
+ "type": "uuid",
806
+ "primaryKey": false,
807
+ "notNull": true
808
+ },
809
+ "service_name": {
810
+ "name": "service_name",
811
+ "type": "text",
812
+ "primaryKey": false,
813
+ "notNull": true
814
+ },
815
+ "layer": {
816
+ "name": "layer",
817
+ "type": "text",
818
+ "primaryKey": false,
819
+ "notNull": true
820
+ },
821
+ "file_count": {
822
+ "name": "file_count",
823
+ "type": "integer",
824
+ "primaryKey": false,
825
+ "notNull": true
826
+ },
827
+ "file_paths": {
828
+ "name": "file_paths",
829
+ "type": "jsonb",
830
+ "primaryKey": false,
831
+ "notNull": true
832
+ },
833
+ "confidence": {
834
+ "name": "confidence",
835
+ "type": "integer",
836
+ "primaryKey": false,
837
+ "notNull": true
838
+ },
839
+ "evidence": {
840
+ "name": "evidence",
841
+ "type": "jsonb",
842
+ "primaryKey": false,
843
+ "notNull": true
844
+ }
845
+ },
846
+ "indexes": {},
847
+ "foreignKeys": {
848
+ "layers_analysis_id_analyses_id_fk": {
849
+ "name": "layers_analysis_id_analyses_id_fk",
850
+ "tableFrom": "layers",
851
+ "tableTo": "analyses",
852
+ "columnsFrom": [
853
+ "analysis_id"
854
+ ],
855
+ "columnsTo": [
856
+ "id"
857
+ ],
858
+ "onDelete": "cascade",
859
+ "onUpdate": "no action"
860
+ },
861
+ "layers_service_id_services_id_fk": {
862
+ "name": "layers_service_id_services_id_fk",
863
+ "tableFrom": "layers",
864
+ "tableTo": "services",
865
+ "columnsFrom": [
866
+ "service_id"
867
+ ],
868
+ "columnsTo": [
869
+ "id"
870
+ ],
871
+ "onDelete": "cascade",
872
+ "onUpdate": "no action"
873
+ }
874
+ },
875
+ "compositePrimaryKeys": {},
876
+ "uniqueConstraints": {},
877
+ "policies": {},
878
+ "checkConstraints": {},
879
+ "isRLSEnabled": false
880
+ },
881
+ "public.messages": {
882
+ "name": "messages",
883
+ "schema": "",
884
+ "columns": {
885
+ "id": {
886
+ "name": "id",
887
+ "type": "uuid",
888
+ "primaryKey": true,
889
+ "notNull": true,
890
+ "default": "gen_random_uuid()"
891
+ },
892
+ "conversation_id": {
893
+ "name": "conversation_id",
894
+ "type": "uuid",
895
+ "primaryKey": false,
896
+ "notNull": true
897
+ },
898
+ "role": {
899
+ "name": "role",
900
+ "type": "text",
901
+ "primaryKey": false,
902
+ "notNull": true
903
+ },
904
+ "content": {
905
+ "name": "content",
906
+ "type": "text",
907
+ "primaryKey": false,
908
+ "notNull": true
909
+ },
910
+ "node_context": {
911
+ "name": "node_context",
912
+ "type": "jsonb",
913
+ "primaryKey": false,
914
+ "notNull": false
915
+ },
916
+ "created_at": {
917
+ "name": "created_at",
918
+ "type": "timestamp with time zone",
919
+ "primaryKey": false,
920
+ "notNull": true,
921
+ "default": "now()"
922
+ }
923
+ },
924
+ "indexes": {},
925
+ "foreignKeys": {
926
+ "messages_conversation_id_conversations_id_fk": {
927
+ "name": "messages_conversation_id_conversations_id_fk",
928
+ "tableFrom": "messages",
929
+ "tableTo": "conversations",
930
+ "columnsFrom": [
931
+ "conversation_id"
932
+ ],
933
+ "columnsTo": [
934
+ "id"
935
+ ],
936
+ "onDelete": "cascade",
937
+ "onUpdate": "no action"
938
+ }
939
+ },
940
+ "compositePrimaryKeys": {},
941
+ "uniqueConstraints": {},
942
+ "policies": {},
943
+ "checkConstraints": {},
944
+ "isRLSEnabled": false
945
+ },
946
+ "public.method_dependencies": {
947
+ "name": "method_dependencies",
948
+ "schema": "",
949
+ "columns": {
950
+ "id": {
951
+ "name": "id",
952
+ "type": "uuid",
953
+ "primaryKey": true,
954
+ "notNull": true,
955
+ "default": "gen_random_uuid()"
956
+ },
957
+ "analysis_id": {
958
+ "name": "analysis_id",
959
+ "type": "uuid",
960
+ "primaryKey": false,
961
+ "notNull": true
962
+ },
963
+ "source_method_id": {
964
+ "name": "source_method_id",
965
+ "type": "uuid",
966
+ "primaryKey": false,
967
+ "notNull": true
968
+ },
969
+ "target_method_id": {
970
+ "name": "target_method_id",
971
+ "type": "uuid",
972
+ "primaryKey": false,
973
+ "notNull": true
974
+ },
975
+ "call_count": {
976
+ "name": "call_count",
977
+ "type": "integer",
978
+ "primaryKey": false,
979
+ "notNull": true,
980
+ "default": 1
981
+ }
982
+ },
983
+ "indexes": {},
984
+ "foreignKeys": {
985
+ "method_dependencies_analysis_id_analyses_id_fk": {
986
+ "name": "method_dependencies_analysis_id_analyses_id_fk",
987
+ "tableFrom": "method_dependencies",
988
+ "tableTo": "analyses",
989
+ "columnsFrom": [
990
+ "analysis_id"
991
+ ],
992
+ "columnsTo": [
993
+ "id"
994
+ ],
995
+ "onDelete": "cascade",
996
+ "onUpdate": "no action"
997
+ },
998
+ "method_dependencies_source_method_id_methods_id_fk": {
999
+ "name": "method_dependencies_source_method_id_methods_id_fk",
1000
+ "tableFrom": "method_dependencies",
1001
+ "tableTo": "methods",
1002
+ "columnsFrom": [
1003
+ "source_method_id"
1004
+ ],
1005
+ "columnsTo": [
1006
+ "id"
1007
+ ],
1008
+ "onDelete": "cascade",
1009
+ "onUpdate": "no action"
1010
+ },
1011
+ "method_dependencies_target_method_id_methods_id_fk": {
1012
+ "name": "method_dependencies_target_method_id_methods_id_fk",
1013
+ "tableFrom": "method_dependencies",
1014
+ "tableTo": "methods",
1015
+ "columnsFrom": [
1016
+ "target_method_id"
1017
+ ],
1018
+ "columnsTo": [
1019
+ "id"
1020
+ ],
1021
+ "onDelete": "cascade",
1022
+ "onUpdate": "no action"
1023
+ }
1024
+ },
1025
+ "compositePrimaryKeys": {},
1026
+ "uniqueConstraints": {},
1027
+ "policies": {},
1028
+ "checkConstraints": {},
1029
+ "isRLSEnabled": false
1030
+ },
1031
+ "public.methods": {
1032
+ "name": "methods",
1033
+ "schema": "",
1034
+ "columns": {
1035
+ "id": {
1036
+ "name": "id",
1037
+ "type": "uuid",
1038
+ "primaryKey": true,
1039
+ "notNull": true,
1040
+ "default": "gen_random_uuid()"
1041
+ },
1042
+ "analysis_id": {
1043
+ "name": "analysis_id",
1044
+ "type": "uuid",
1045
+ "primaryKey": false,
1046
+ "notNull": true
1047
+ },
1048
+ "module_id": {
1049
+ "name": "module_id",
1050
+ "type": "uuid",
1051
+ "primaryKey": false,
1052
+ "notNull": true
1053
+ },
1054
+ "name": {
1055
+ "name": "name",
1056
+ "type": "text",
1057
+ "primaryKey": false,
1058
+ "notNull": true
1059
+ },
1060
+ "signature": {
1061
+ "name": "signature",
1062
+ "type": "text",
1063
+ "primaryKey": false,
1064
+ "notNull": true
1065
+ },
1066
+ "param_count": {
1067
+ "name": "param_count",
1068
+ "type": "integer",
1069
+ "primaryKey": false,
1070
+ "notNull": true,
1071
+ "default": 0
1072
+ },
1073
+ "return_type": {
1074
+ "name": "return_type",
1075
+ "type": "text",
1076
+ "primaryKey": false,
1077
+ "notNull": false
1078
+ },
1079
+ "is_async": {
1080
+ "name": "is_async",
1081
+ "type": "boolean",
1082
+ "primaryKey": false,
1083
+ "notNull": true,
1084
+ "default": false
1085
+ },
1086
+ "is_exported": {
1087
+ "name": "is_exported",
1088
+ "type": "boolean",
1089
+ "primaryKey": false,
1090
+ "notNull": true,
1091
+ "default": false
1092
+ },
1093
+ "line_count": {
1094
+ "name": "line_count",
1095
+ "type": "integer",
1096
+ "primaryKey": false,
1097
+ "notNull": false
1098
+ },
1099
+ "statement_count": {
1100
+ "name": "statement_count",
1101
+ "type": "integer",
1102
+ "primaryKey": false,
1103
+ "notNull": false
1104
+ },
1105
+ "max_nesting_depth": {
1106
+ "name": "max_nesting_depth",
1107
+ "type": "integer",
1108
+ "primaryKey": false,
1109
+ "notNull": false
1110
+ }
1111
+ },
1112
+ "indexes": {},
1113
+ "foreignKeys": {
1114
+ "methods_analysis_id_analyses_id_fk": {
1115
+ "name": "methods_analysis_id_analyses_id_fk",
1116
+ "tableFrom": "methods",
1117
+ "tableTo": "analyses",
1118
+ "columnsFrom": [
1119
+ "analysis_id"
1120
+ ],
1121
+ "columnsTo": [
1122
+ "id"
1123
+ ],
1124
+ "onDelete": "cascade",
1125
+ "onUpdate": "no action"
1126
+ },
1127
+ "methods_module_id_modules_id_fk": {
1128
+ "name": "methods_module_id_modules_id_fk",
1129
+ "tableFrom": "methods",
1130
+ "tableTo": "modules",
1131
+ "columnsFrom": [
1132
+ "module_id"
1133
+ ],
1134
+ "columnsTo": [
1135
+ "id"
1136
+ ],
1137
+ "onDelete": "cascade",
1138
+ "onUpdate": "no action"
1139
+ }
1140
+ },
1141
+ "compositePrimaryKeys": {},
1142
+ "uniqueConstraints": {},
1143
+ "policies": {},
1144
+ "checkConstraints": {},
1145
+ "isRLSEnabled": false
1146
+ },
1147
+ "public.module_dependencies": {
1148
+ "name": "module_dependencies",
1149
+ "schema": "",
1150
+ "columns": {
1151
+ "id": {
1152
+ "name": "id",
1153
+ "type": "uuid",
1154
+ "primaryKey": true,
1155
+ "notNull": true,
1156
+ "default": "gen_random_uuid()"
1157
+ },
1158
+ "analysis_id": {
1159
+ "name": "analysis_id",
1160
+ "type": "uuid",
1161
+ "primaryKey": false,
1162
+ "notNull": true
1163
+ },
1164
+ "source_module_id": {
1165
+ "name": "source_module_id",
1166
+ "type": "uuid",
1167
+ "primaryKey": false,
1168
+ "notNull": true
1169
+ },
1170
+ "target_module_id": {
1171
+ "name": "target_module_id",
1172
+ "type": "uuid",
1173
+ "primaryKey": false,
1174
+ "notNull": true
1175
+ },
1176
+ "imported_names": {
1177
+ "name": "imported_names",
1178
+ "type": "jsonb",
1179
+ "primaryKey": false,
1180
+ "notNull": true
1181
+ },
1182
+ "dependency_count": {
1183
+ "name": "dependency_count",
1184
+ "type": "integer",
1185
+ "primaryKey": false,
1186
+ "notNull": true,
1187
+ "default": 1
1188
+ }
1189
+ },
1190
+ "indexes": {},
1191
+ "foreignKeys": {
1192
+ "module_dependencies_analysis_id_analyses_id_fk": {
1193
+ "name": "module_dependencies_analysis_id_analyses_id_fk",
1194
+ "tableFrom": "module_dependencies",
1195
+ "tableTo": "analyses",
1196
+ "columnsFrom": [
1197
+ "analysis_id"
1198
+ ],
1199
+ "columnsTo": [
1200
+ "id"
1201
+ ],
1202
+ "onDelete": "cascade",
1203
+ "onUpdate": "no action"
1204
+ },
1205
+ "module_dependencies_source_module_id_modules_id_fk": {
1206
+ "name": "module_dependencies_source_module_id_modules_id_fk",
1207
+ "tableFrom": "module_dependencies",
1208
+ "tableTo": "modules",
1209
+ "columnsFrom": [
1210
+ "source_module_id"
1211
+ ],
1212
+ "columnsTo": [
1213
+ "id"
1214
+ ],
1215
+ "onDelete": "cascade",
1216
+ "onUpdate": "no action"
1217
+ },
1218
+ "module_dependencies_target_module_id_modules_id_fk": {
1219
+ "name": "module_dependencies_target_module_id_modules_id_fk",
1220
+ "tableFrom": "module_dependencies",
1221
+ "tableTo": "modules",
1222
+ "columnsFrom": [
1223
+ "target_module_id"
1224
+ ],
1225
+ "columnsTo": [
1226
+ "id"
1227
+ ],
1228
+ "onDelete": "cascade",
1229
+ "onUpdate": "no action"
1230
+ }
1231
+ },
1232
+ "compositePrimaryKeys": {},
1233
+ "uniqueConstraints": {},
1234
+ "policies": {},
1235
+ "checkConstraints": {},
1236
+ "isRLSEnabled": false
1237
+ },
1238
+ "public.modules": {
1239
+ "name": "modules",
1240
+ "schema": "",
1241
+ "columns": {
1242
+ "id": {
1243
+ "name": "id",
1244
+ "type": "uuid",
1245
+ "primaryKey": true,
1246
+ "notNull": true,
1247
+ "default": "gen_random_uuid()"
1248
+ },
1249
+ "analysis_id": {
1250
+ "name": "analysis_id",
1251
+ "type": "uuid",
1252
+ "primaryKey": false,
1253
+ "notNull": true
1254
+ },
1255
+ "layer_id": {
1256
+ "name": "layer_id",
1257
+ "type": "uuid",
1258
+ "primaryKey": false,
1259
+ "notNull": true
1260
+ },
1261
+ "service_id": {
1262
+ "name": "service_id",
1263
+ "type": "uuid",
1264
+ "primaryKey": false,
1265
+ "notNull": true
1266
+ },
1267
+ "name": {
1268
+ "name": "name",
1269
+ "type": "text",
1270
+ "primaryKey": false,
1271
+ "notNull": true
1272
+ },
1273
+ "kind": {
1274
+ "name": "kind",
1275
+ "type": "text",
1276
+ "primaryKey": false,
1277
+ "notNull": true
1278
+ },
1279
+ "file_path": {
1280
+ "name": "file_path",
1281
+ "type": "text",
1282
+ "primaryKey": false,
1283
+ "notNull": true
1284
+ },
1285
+ "method_count": {
1286
+ "name": "method_count",
1287
+ "type": "integer",
1288
+ "primaryKey": false,
1289
+ "notNull": true,
1290
+ "default": 0
1291
+ },
1292
+ "property_count": {
1293
+ "name": "property_count",
1294
+ "type": "integer",
1295
+ "primaryKey": false,
1296
+ "notNull": true,
1297
+ "default": 0
1298
+ },
1299
+ "import_count": {
1300
+ "name": "import_count",
1301
+ "type": "integer",
1302
+ "primaryKey": false,
1303
+ "notNull": true,
1304
+ "default": 0
1305
+ },
1306
+ "export_count": {
1307
+ "name": "export_count",
1308
+ "type": "integer",
1309
+ "primaryKey": false,
1310
+ "notNull": true,
1311
+ "default": 0
1312
+ },
1313
+ "super_class": {
1314
+ "name": "super_class",
1315
+ "type": "text",
1316
+ "primaryKey": false,
1317
+ "notNull": false
1318
+ },
1319
+ "line_count": {
1320
+ "name": "line_count",
1321
+ "type": "integer",
1322
+ "primaryKey": false,
1323
+ "notNull": false
1324
+ }
1325
+ },
1326
+ "indexes": {},
1327
+ "foreignKeys": {
1328
+ "modules_analysis_id_analyses_id_fk": {
1329
+ "name": "modules_analysis_id_analyses_id_fk",
1330
+ "tableFrom": "modules",
1331
+ "tableTo": "analyses",
1332
+ "columnsFrom": [
1333
+ "analysis_id"
1334
+ ],
1335
+ "columnsTo": [
1336
+ "id"
1337
+ ],
1338
+ "onDelete": "cascade",
1339
+ "onUpdate": "no action"
1340
+ },
1341
+ "modules_layer_id_layers_id_fk": {
1342
+ "name": "modules_layer_id_layers_id_fk",
1343
+ "tableFrom": "modules",
1344
+ "tableTo": "layers",
1345
+ "columnsFrom": [
1346
+ "layer_id"
1347
+ ],
1348
+ "columnsTo": [
1349
+ "id"
1350
+ ],
1351
+ "onDelete": "cascade",
1352
+ "onUpdate": "no action"
1353
+ },
1354
+ "modules_service_id_services_id_fk": {
1355
+ "name": "modules_service_id_services_id_fk",
1356
+ "tableFrom": "modules",
1357
+ "tableTo": "services",
1358
+ "columnsFrom": [
1359
+ "service_id"
1360
+ ],
1361
+ "columnsTo": [
1362
+ "id"
1363
+ ],
1364
+ "onDelete": "cascade",
1365
+ "onUpdate": "no action"
1366
+ }
1367
+ },
1368
+ "compositePrimaryKeys": {},
1369
+ "uniqueConstraints": {},
1370
+ "policies": {},
1371
+ "checkConstraints": {},
1372
+ "isRLSEnabled": false
1373
+ },
1374
+ "public.repos": {
1375
+ "name": "repos",
1376
+ "schema": "",
1377
+ "columns": {
1378
+ "id": {
1379
+ "name": "id",
1380
+ "type": "uuid",
1381
+ "primaryKey": true,
1382
+ "notNull": true,
1383
+ "default": "gen_random_uuid()"
1384
+ },
1385
+ "name": {
1386
+ "name": "name",
1387
+ "type": "text",
1388
+ "primaryKey": false,
1389
+ "notNull": true
1390
+ },
1391
+ "path": {
1392
+ "name": "path",
1393
+ "type": "text",
1394
+ "primaryKey": false,
1395
+ "notNull": true
1396
+ },
1397
+ "last_analyzed_at": {
1398
+ "name": "last_analyzed_at",
1399
+ "type": "timestamp with time zone",
1400
+ "primaryKey": false,
1401
+ "notNull": false
1402
+ },
1403
+ "created_at": {
1404
+ "name": "created_at",
1405
+ "type": "timestamp with time zone",
1406
+ "primaryKey": false,
1407
+ "notNull": true,
1408
+ "default": "now()"
1409
+ },
1410
+ "updated_at": {
1411
+ "name": "updated_at",
1412
+ "type": "timestamp with time zone",
1413
+ "primaryKey": false,
1414
+ "notNull": true,
1415
+ "default": "now()"
1416
+ }
1417
+ },
1418
+ "indexes": {},
1419
+ "foreignKeys": {},
1420
+ "compositePrimaryKeys": {},
1421
+ "uniqueConstraints": {
1422
+ "repos_path_unique": {
1423
+ "name": "repos_path_unique",
1424
+ "nullsNotDistinct": false,
1425
+ "columns": [
1426
+ "path"
1427
+ ]
1428
+ }
1429
+ },
1430
+ "policies": {},
1431
+ "checkConstraints": {},
1432
+ "isRLSEnabled": false
1433
+ },
1434
+ "public.rules": {
1435
+ "name": "rules",
1436
+ "schema": "",
1437
+ "columns": {
1438
+ "key": {
1439
+ "name": "key",
1440
+ "type": "text",
1441
+ "primaryKey": true,
1442
+ "notNull": true
1443
+ },
1444
+ "category": {
1445
+ "name": "category",
1446
+ "type": "text",
1447
+ "primaryKey": false,
1448
+ "notNull": true
1449
+ },
1450
+ "name": {
1451
+ "name": "name",
1452
+ "type": "text",
1453
+ "primaryKey": false,
1454
+ "notNull": true
1455
+ },
1456
+ "description": {
1457
+ "name": "description",
1458
+ "type": "text",
1459
+ "primaryKey": false,
1460
+ "notNull": true
1461
+ },
1462
+ "prompt": {
1463
+ "name": "prompt",
1464
+ "type": "text",
1465
+ "primaryKey": false,
1466
+ "notNull": false
1467
+ },
1468
+ "enabled": {
1469
+ "name": "enabled",
1470
+ "type": "boolean",
1471
+ "primaryKey": false,
1472
+ "notNull": true,
1473
+ "default": true
1474
+ },
1475
+ "severity": {
1476
+ "name": "severity",
1477
+ "type": "text",
1478
+ "primaryKey": false,
1479
+ "notNull": true
1480
+ },
1481
+ "type": {
1482
+ "name": "type",
1483
+ "type": "text",
1484
+ "primaryKey": false,
1485
+ "notNull": true
1486
+ },
1487
+ "is_dependency_violation": {
1488
+ "name": "is_dependency_violation",
1489
+ "type": "boolean",
1490
+ "primaryKey": false,
1491
+ "notNull": true,
1492
+ "default": false
1493
+ },
1494
+ "created_at": {
1495
+ "name": "created_at",
1496
+ "type": "timestamp with time zone",
1497
+ "primaryKey": false,
1498
+ "notNull": true,
1499
+ "default": "now()"
1500
+ },
1501
+ "updated_at": {
1502
+ "name": "updated_at",
1503
+ "type": "timestamp with time zone",
1504
+ "primaryKey": false,
1505
+ "notNull": true,
1506
+ "default": "now()"
1507
+ }
1508
+ },
1509
+ "indexes": {},
1510
+ "foreignKeys": {},
1511
+ "compositePrimaryKeys": {},
1512
+ "uniqueConstraints": {},
1513
+ "policies": {},
1514
+ "checkConstraints": {},
1515
+ "isRLSEnabled": false
1516
+ },
1517
+ "public.service_dependencies": {
1518
+ "name": "service_dependencies",
1519
+ "schema": "",
1520
+ "columns": {
1521
+ "id": {
1522
+ "name": "id",
1523
+ "type": "uuid",
1524
+ "primaryKey": true,
1525
+ "notNull": true,
1526
+ "default": "gen_random_uuid()"
1527
+ },
1528
+ "analysis_id": {
1529
+ "name": "analysis_id",
1530
+ "type": "uuid",
1531
+ "primaryKey": false,
1532
+ "notNull": true
1533
+ },
1534
+ "source_service_id": {
1535
+ "name": "source_service_id",
1536
+ "type": "uuid",
1537
+ "primaryKey": false,
1538
+ "notNull": true
1539
+ },
1540
+ "target_service_id": {
1541
+ "name": "target_service_id",
1542
+ "type": "uuid",
1543
+ "primaryKey": false,
1544
+ "notNull": true
1545
+ },
1546
+ "dependency_count": {
1547
+ "name": "dependency_count",
1548
+ "type": "integer",
1549
+ "primaryKey": false,
1550
+ "notNull": false
1551
+ },
1552
+ "dependency_type": {
1553
+ "name": "dependency_type",
1554
+ "type": "text",
1555
+ "primaryKey": false,
1556
+ "notNull": false
1557
+ }
1558
+ },
1559
+ "indexes": {},
1560
+ "foreignKeys": {
1561
+ "service_dependencies_analysis_id_analyses_id_fk": {
1562
+ "name": "service_dependencies_analysis_id_analyses_id_fk",
1563
+ "tableFrom": "service_dependencies",
1564
+ "tableTo": "analyses",
1565
+ "columnsFrom": [
1566
+ "analysis_id"
1567
+ ],
1568
+ "columnsTo": [
1569
+ "id"
1570
+ ],
1571
+ "onDelete": "cascade",
1572
+ "onUpdate": "no action"
1573
+ },
1574
+ "service_dependencies_source_service_id_services_id_fk": {
1575
+ "name": "service_dependencies_source_service_id_services_id_fk",
1576
+ "tableFrom": "service_dependencies",
1577
+ "tableTo": "services",
1578
+ "columnsFrom": [
1579
+ "source_service_id"
1580
+ ],
1581
+ "columnsTo": [
1582
+ "id"
1583
+ ],
1584
+ "onDelete": "cascade",
1585
+ "onUpdate": "no action"
1586
+ },
1587
+ "service_dependencies_target_service_id_services_id_fk": {
1588
+ "name": "service_dependencies_target_service_id_services_id_fk",
1589
+ "tableFrom": "service_dependencies",
1590
+ "tableTo": "services",
1591
+ "columnsFrom": [
1592
+ "target_service_id"
1593
+ ],
1594
+ "columnsTo": [
1595
+ "id"
1596
+ ],
1597
+ "onDelete": "cascade",
1598
+ "onUpdate": "no action"
1599
+ }
1600
+ },
1601
+ "compositePrimaryKeys": {},
1602
+ "uniqueConstraints": {},
1603
+ "policies": {},
1604
+ "checkConstraints": {},
1605
+ "isRLSEnabled": false
1606
+ },
1607
+ "public.services": {
1608
+ "name": "services",
1609
+ "schema": "",
1610
+ "columns": {
1611
+ "id": {
1612
+ "name": "id",
1613
+ "type": "uuid",
1614
+ "primaryKey": true,
1615
+ "notNull": true,
1616
+ "default": "gen_random_uuid()"
1617
+ },
1618
+ "analysis_id": {
1619
+ "name": "analysis_id",
1620
+ "type": "uuid",
1621
+ "primaryKey": false,
1622
+ "notNull": true
1623
+ },
1624
+ "name": {
1625
+ "name": "name",
1626
+ "type": "text",
1627
+ "primaryKey": false,
1628
+ "notNull": true
1629
+ },
1630
+ "root_path": {
1631
+ "name": "root_path",
1632
+ "type": "text",
1633
+ "primaryKey": false,
1634
+ "notNull": true
1635
+ },
1636
+ "type": {
1637
+ "name": "type",
1638
+ "type": "text",
1639
+ "primaryKey": false,
1640
+ "notNull": true
1641
+ },
1642
+ "framework": {
1643
+ "name": "framework",
1644
+ "type": "text",
1645
+ "primaryKey": false,
1646
+ "notNull": false
1647
+ },
1648
+ "file_count": {
1649
+ "name": "file_count",
1650
+ "type": "integer",
1651
+ "primaryKey": false,
1652
+ "notNull": false
1653
+ },
1654
+ "description": {
1655
+ "name": "description",
1656
+ "type": "text",
1657
+ "primaryKey": false,
1658
+ "notNull": false
1659
+ },
1660
+ "layer_summary": {
1661
+ "name": "layer_summary",
1662
+ "type": "jsonb",
1663
+ "primaryKey": false,
1664
+ "notNull": false
1665
+ },
1666
+ "created_at": {
1667
+ "name": "created_at",
1668
+ "type": "timestamp with time zone",
1669
+ "primaryKey": false,
1670
+ "notNull": true,
1671
+ "default": "now()"
1672
+ }
1673
+ },
1674
+ "indexes": {},
1675
+ "foreignKeys": {
1676
+ "services_analysis_id_analyses_id_fk": {
1677
+ "name": "services_analysis_id_analyses_id_fk",
1678
+ "tableFrom": "services",
1679
+ "tableTo": "analyses",
1680
+ "columnsFrom": [
1681
+ "analysis_id"
1682
+ ],
1683
+ "columnsTo": [
1684
+ "id"
1685
+ ],
1686
+ "onDelete": "cascade",
1687
+ "onUpdate": "no action"
1688
+ }
1689
+ },
1690
+ "compositePrimaryKeys": {},
1691
+ "uniqueConstraints": {},
1692
+ "policies": {},
1693
+ "checkConstraints": {},
1694
+ "isRLSEnabled": false
1695
+ },
1696
+ "public.violations": {
1697
+ "name": "violations",
1698
+ "schema": "",
1699
+ "columns": {
1700
+ "id": {
1701
+ "name": "id",
1702
+ "type": "uuid",
1703
+ "primaryKey": true,
1704
+ "notNull": true,
1705
+ "default": "gen_random_uuid()"
1706
+ },
1707
+ "repo_id": {
1708
+ "name": "repo_id",
1709
+ "type": "uuid",
1710
+ "primaryKey": false,
1711
+ "notNull": true
1712
+ },
1713
+ "analysis_id": {
1714
+ "name": "analysis_id",
1715
+ "type": "uuid",
1716
+ "primaryKey": false,
1717
+ "notNull": true
1718
+ },
1719
+ "type": {
1720
+ "name": "type",
1721
+ "type": "text",
1722
+ "primaryKey": false,
1723
+ "notNull": true
1724
+ },
1725
+ "title": {
1726
+ "name": "title",
1727
+ "type": "text",
1728
+ "primaryKey": false,
1729
+ "notNull": true
1730
+ },
1731
+ "content": {
1732
+ "name": "content",
1733
+ "type": "text",
1734
+ "primaryKey": false,
1735
+ "notNull": true
1736
+ },
1737
+ "severity": {
1738
+ "name": "severity",
1739
+ "type": "text",
1740
+ "primaryKey": false,
1741
+ "notNull": true
1742
+ },
1743
+ "status": {
1744
+ "name": "status",
1745
+ "type": "text",
1746
+ "primaryKey": false,
1747
+ "notNull": true,
1748
+ "default": "'new'"
1749
+ },
1750
+ "target_service_id": {
1751
+ "name": "target_service_id",
1752
+ "type": "uuid",
1753
+ "primaryKey": false,
1754
+ "notNull": false
1755
+ },
1756
+ "target_database_id": {
1757
+ "name": "target_database_id",
1758
+ "type": "uuid",
1759
+ "primaryKey": false,
1760
+ "notNull": false
1761
+ },
1762
+ "target_module_id": {
1763
+ "name": "target_module_id",
1764
+ "type": "uuid",
1765
+ "primaryKey": false,
1766
+ "notNull": false
1767
+ },
1768
+ "target_method_id": {
1769
+ "name": "target_method_id",
1770
+ "type": "uuid",
1771
+ "primaryKey": false,
1772
+ "notNull": false
1773
+ },
1774
+ "target_table": {
1775
+ "name": "target_table",
1776
+ "type": "text",
1777
+ "primaryKey": false,
1778
+ "notNull": false
1779
+ },
1780
+ "fix_prompt": {
1781
+ "name": "fix_prompt",
1782
+ "type": "text",
1783
+ "primaryKey": false,
1784
+ "notNull": false
1785
+ },
1786
+ "rule_key": {
1787
+ "name": "rule_key",
1788
+ "type": "text",
1789
+ "primaryKey": false,
1790
+ "notNull": false
1791
+ },
1792
+ "deterministic_violation_id": {
1793
+ "name": "deterministic_violation_id",
1794
+ "type": "uuid",
1795
+ "primaryKey": false,
1796
+ "notNull": false
1797
+ },
1798
+ "first_seen_analysis_id": {
1799
+ "name": "first_seen_analysis_id",
1800
+ "type": "uuid",
1801
+ "primaryKey": false,
1802
+ "notNull": false
1803
+ },
1804
+ "first_seen_at": {
1805
+ "name": "first_seen_at",
1806
+ "type": "timestamp with time zone",
1807
+ "primaryKey": false,
1808
+ "notNull": false
1809
+ },
1810
+ "previous_violation_id": {
1811
+ "name": "previous_violation_id",
1812
+ "type": "uuid",
1813
+ "primaryKey": false,
1814
+ "notNull": false
1815
+ },
1816
+ "resolved_at": {
1817
+ "name": "resolved_at",
1818
+ "type": "timestamp with time zone",
1819
+ "primaryKey": false,
1820
+ "notNull": false
1821
+ },
1822
+ "created_at": {
1823
+ "name": "created_at",
1824
+ "type": "timestamp with time zone",
1825
+ "primaryKey": false,
1826
+ "notNull": true,
1827
+ "default": "now()"
1828
+ }
1829
+ },
1830
+ "indexes": {},
1831
+ "foreignKeys": {
1832
+ "violations_repo_id_repos_id_fk": {
1833
+ "name": "violations_repo_id_repos_id_fk",
1834
+ "tableFrom": "violations",
1835
+ "tableTo": "repos",
1836
+ "columnsFrom": [
1837
+ "repo_id"
1838
+ ],
1839
+ "columnsTo": [
1840
+ "id"
1841
+ ],
1842
+ "onDelete": "cascade",
1843
+ "onUpdate": "no action"
1844
+ },
1845
+ "violations_analysis_id_analyses_id_fk": {
1846
+ "name": "violations_analysis_id_analyses_id_fk",
1847
+ "tableFrom": "violations",
1848
+ "tableTo": "analyses",
1849
+ "columnsFrom": [
1850
+ "analysis_id"
1851
+ ],
1852
+ "columnsTo": [
1853
+ "id"
1854
+ ],
1855
+ "onDelete": "cascade",
1856
+ "onUpdate": "no action"
1857
+ },
1858
+ "violations_target_service_id_services_id_fk": {
1859
+ "name": "violations_target_service_id_services_id_fk",
1860
+ "tableFrom": "violations",
1861
+ "tableTo": "services",
1862
+ "columnsFrom": [
1863
+ "target_service_id"
1864
+ ],
1865
+ "columnsTo": [
1866
+ "id"
1867
+ ],
1868
+ "onDelete": "set null",
1869
+ "onUpdate": "no action"
1870
+ },
1871
+ "violations_target_database_id_databases_id_fk": {
1872
+ "name": "violations_target_database_id_databases_id_fk",
1873
+ "tableFrom": "violations",
1874
+ "tableTo": "databases",
1875
+ "columnsFrom": [
1876
+ "target_database_id"
1877
+ ],
1878
+ "columnsTo": [
1879
+ "id"
1880
+ ],
1881
+ "onDelete": "set null",
1882
+ "onUpdate": "no action"
1883
+ },
1884
+ "violations_target_module_id_modules_id_fk": {
1885
+ "name": "violations_target_module_id_modules_id_fk",
1886
+ "tableFrom": "violations",
1887
+ "tableTo": "modules",
1888
+ "columnsFrom": [
1889
+ "target_module_id"
1890
+ ],
1891
+ "columnsTo": [
1892
+ "id"
1893
+ ],
1894
+ "onDelete": "set null",
1895
+ "onUpdate": "no action"
1896
+ },
1897
+ "violations_target_method_id_methods_id_fk": {
1898
+ "name": "violations_target_method_id_methods_id_fk",
1899
+ "tableFrom": "violations",
1900
+ "tableTo": "methods",
1901
+ "columnsFrom": [
1902
+ "target_method_id"
1903
+ ],
1904
+ "columnsTo": [
1905
+ "id"
1906
+ ],
1907
+ "onDelete": "set null",
1908
+ "onUpdate": "no action"
1909
+ },
1910
+ "violations_deterministic_violation_id_deterministic_violations_id_fk": {
1911
+ "name": "violations_deterministic_violation_id_deterministic_violations_id_fk",
1912
+ "tableFrom": "violations",
1913
+ "tableTo": "deterministic_violations",
1914
+ "columnsFrom": [
1915
+ "deterministic_violation_id"
1916
+ ],
1917
+ "columnsTo": [
1918
+ "id"
1919
+ ],
1920
+ "onDelete": "set null",
1921
+ "onUpdate": "no action"
1922
+ },
1923
+ "violations_first_seen_analysis_id_analyses_id_fk": {
1924
+ "name": "violations_first_seen_analysis_id_analyses_id_fk",
1925
+ "tableFrom": "violations",
1926
+ "tableTo": "analyses",
1927
+ "columnsFrom": [
1928
+ "first_seen_analysis_id"
1929
+ ],
1930
+ "columnsTo": [
1931
+ "id"
1932
+ ],
1933
+ "onDelete": "set null",
1934
+ "onUpdate": "no action"
1935
+ }
1936
+ },
1937
+ "compositePrimaryKeys": {},
1938
+ "uniqueConstraints": {},
1939
+ "policies": {},
1940
+ "checkConstraints": {},
1941
+ "isRLSEnabled": false
1942
+ }
1943
+ },
1944
+ "enums": {},
1945
+ "schemas": {},
1946
+ "sequences": {},
1947
+ "roles": {},
1948
+ "policies": {},
1949
+ "views": {},
1950
+ "_meta": {
1951
+ "columns": {},
1952
+ "schemas": {},
1953
+ "tables": {}
1954
+ }
1955
+ }