truecourse 0.2.0 → 0.2.1

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