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