truecourse 0.1.2 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/cli.mjs +9417 -712
  2. package/db/migrations/0000_common_guardsmen.sql +227 -0
  3. package/db/migrations/meta/0000_snapshot.json +1101 -87
  4. package/db/migrations/meta/_journal.json +2 -2
  5. package/package.json +8 -8
  6. package/public/404.html +2 -2
  7. package/public/_next/static/chunks/381-85180243c39f893f.js +1 -0
  8. package/public/_next/static/chunks/552-6917726d81ee49a3.js +1 -0
  9. package/public/_next/static/chunks/572-f3883e9a1f12af9b.js +1 -0
  10. package/public/_next/static/chunks/597-bdc49f9b0afbcc65.js +1 -0
  11. package/public/_next/static/chunks/7273c211-cf17e181dbeacc49.js +1 -0
  12. package/public/_next/static/chunks/a51c26f2-8f567e78114a65f0.js +1 -0
  13. package/public/_next/static/chunks/app/_not-found/page-7ce89933d9d660c3.js +1 -0
  14. package/public/_next/static/chunks/app/layout-7b61f0cc08a2b70c.js +1 -0
  15. package/public/_next/static/chunks/app/page-cfec34672a92b197.js +1 -0
  16. package/public/_next/static/chunks/app/repos/[[...slug]]/page-775a75a81164bb72.js +1 -0
  17. package/public/_next/static/chunks/framework-56b72e8a5f911564.js +1 -0
  18. package/public/_next/static/chunks/main-19f32cbfea665136.js +1 -0
  19. package/public/_next/static/chunks/main-app-11a30c55aba12d50.js +1 -0
  20. package/public/_next/static/chunks/pages/_app-23d1cfabc23fb6da.js +1 -0
  21. package/public/_next/static/chunks/pages/{_error-b3f1a96c07a42193.js → _error-647008f4bf4249c2.js} +1 -1
  22. package/public/_next/static/chunks/webpack-f20a7a6e701c70d8.js +1 -0
  23. package/public/_next/static/css/bfb5d4bf473c84ea.css +1 -0
  24. package/public/_next/static/{qkaM-_kJMthFE7DbnSDij → kWvBK3M_UdFRGPFgNFXnS}/_buildManifest.js +1 -1
  25. package/public/index.html +2 -2
  26. package/public/index.txt +10 -10
  27. package/public/logo.svg +29 -0
  28. package/public/repos.html +12 -1
  29. package/public/repos.txt +15 -15
  30. package/server.mjs +6525 -3626
  31. package/db/migrations/0000_daily_paper_doll.sql +0 -82
  32. package/public/_next/static/chunks/414-8318b3e90e55d32a.js +0 -1
  33. package/public/_next/static/chunks/597-63908a91b482ecc2.js +0 -1
  34. package/public/_next/static/chunks/7273c211-8e9085ce5065411a.js +0 -1
  35. package/public/_next/static/chunks/728-8bf3f63c2116a9f4.js +0 -1
  36. package/public/_next/static/chunks/a51c26f2-7912c8e37f20294d.js +0 -1
  37. package/public/_next/static/chunks/app/_not-found/page-fa912e0095c03faf.js +0 -1
  38. package/public/_next/static/chunks/app/layout-8b7c9093ed7416a9.js +0 -1
  39. package/public/_next/static/chunks/app/page-a584f9a9455d99db.js +0 -1
  40. package/public/_next/static/chunks/app/repos/[[...slug]]/page-e5fdcbd6e95a0351.js +0 -1
  41. package/public/_next/static/chunks/framework-cd8a7ea2c29e04e3.js +0 -1
  42. package/public/_next/static/chunks/main-75f848718c47ce7f.js +0 -1
  43. package/public/_next/static/chunks/main-app-6713e5440a400899.js +0 -1
  44. package/public/_next/static/chunks/pages/_app-cbca4c5e73429fb7.js +0 -1
  45. package/public/_next/static/chunks/webpack-2f0ed87fd33e9d1c.js +0 -1
  46. package/public/_next/static/css/49e7ab4429e483d4.css +0 -1
  47. /package/public/_next/static/{qkaM-_kJMthFE7DbnSDij → kWvBK3M_UdFRGPFgNFXnS}/_ssgManifest.js +0 -0
@@ -0,0 +1,227 @@
1
+ CREATE TABLE "analyses" (
2
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
3
+ "repo_id" uuid NOT NULL,
4
+ "branch" text,
5
+ "architecture" text NOT NULL,
6
+ "metadata" jsonb,
7
+ "node_positions" jsonb,
8
+ "created_at" timestamp DEFAULT now() NOT NULL
9
+ );
10
+ --> statement-breakpoint
11
+ CREATE TABLE "conversations" (
12
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
13
+ "repo_id" uuid NOT NULL,
14
+ "branch" text,
15
+ "created_at" timestamp DEFAULT now() NOT NULL,
16
+ "updated_at" timestamp DEFAULT now() NOT NULL
17
+ );
18
+ --> statement-breakpoint
19
+ CREATE TABLE "database_connections" (
20
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
21
+ "analysis_id" uuid NOT NULL,
22
+ "service_id" uuid NOT NULL,
23
+ "database_id" uuid NOT NULL,
24
+ "driver" text NOT NULL
25
+ );
26
+ --> statement-breakpoint
27
+ CREATE TABLE "databases" (
28
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
29
+ "analysis_id" uuid NOT NULL,
30
+ "name" text NOT NULL,
31
+ "type" text NOT NULL,
32
+ "driver" text NOT NULL,
33
+ "connection_config" jsonb,
34
+ "tables" jsonb,
35
+ "db_relations" jsonb,
36
+ "connected_services" jsonb,
37
+ "created_at" timestamp DEFAULT now() NOT NULL
38
+ );
39
+ --> statement-breakpoint
40
+ CREATE TABLE "diff_checks" (
41
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
42
+ "repo_id" uuid NOT NULL,
43
+ "analysis_id" uuid NOT NULL,
44
+ "changed_files" jsonb NOT NULL,
45
+ "resolved_insight_ids" jsonb NOT NULL,
46
+ "new_insights" jsonb NOT NULL,
47
+ "affected_node_ids" jsonb NOT NULL,
48
+ "summary" jsonb NOT NULL,
49
+ "created_at" timestamp DEFAULT now() NOT NULL
50
+ );
51
+ --> statement-breakpoint
52
+ CREATE TABLE "layer_dependencies" (
53
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
54
+ "analysis_id" uuid NOT NULL,
55
+ "source_service_name" text NOT NULL,
56
+ "source_layer" text NOT NULL,
57
+ "target_service_name" text NOT NULL,
58
+ "target_layer" text NOT NULL,
59
+ "dependency_count" integer NOT NULL,
60
+ "is_violation" boolean DEFAULT false NOT NULL,
61
+ "violation_reason" text
62
+ );
63
+ --> statement-breakpoint
64
+ CREATE TABLE "layers" (
65
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
66
+ "analysis_id" uuid NOT NULL,
67
+ "service_id" uuid NOT NULL,
68
+ "service_name" text NOT NULL,
69
+ "layer" text NOT NULL,
70
+ "file_count" integer NOT NULL,
71
+ "file_paths" jsonb NOT NULL,
72
+ "confidence" integer NOT NULL,
73
+ "evidence" jsonb NOT NULL
74
+ );
75
+ --> statement-breakpoint
76
+ CREATE TABLE "messages" (
77
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
78
+ "conversation_id" uuid NOT NULL,
79
+ "role" text NOT NULL,
80
+ "content" text NOT NULL,
81
+ "node_context" jsonb,
82
+ "created_at" timestamp DEFAULT now() NOT NULL
83
+ );
84
+ --> statement-breakpoint
85
+ CREATE TABLE "method_dependencies" (
86
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
87
+ "analysis_id" uuid NOT NULL,
88
+ "source_method_id" uuid NOT NULL,
89
+ "target_method_id" uuid NOT NULL,
90
+ "call_count" integer DEFAULT 1 NOT NULL
91
+ );
92
+ --> statement-breakpoint
93
+ CREATE TABLE "methods" (
94
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
95
+ "analysis_id" uuid NOT NULL,
96
+ "module_id" uuid NOT NULL,
97
+ "name" text NOT NULL,
98
+ "signature" text NOT NULL,
99
+ "param_count" integer DEFAULT 0 NOT NULL,
100
+ "return_type" text,
101
+ "is_async" boolean DEFAULT false NOT NULL,
102
+ "is_exported" boolean DEFAULT false NOT NULL,
103
+ "line_count" integer,
104
+ "statement_count" integer,
105
+ "max_nesting_depth" integer
106
+ );
107
+ --> statement-breakpoint
108
+ CREATE TABLE "module_dependencies" (
109
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
110
+ "analysis_id" uuid NOT NULL,
111
+ "source_module_id" uuid NOT NULL,
112
+ "target_module_id" uuid NOT NULL,
113
+ "imported_names" jsonb NOT NULL,
114
+ "dependency_count" integer DEFAULT 1 NOT NULL
115
+ );
116
+ --> statement-breakpoint
117
+ CREATE TABLE "modules" (
118
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
119
+ "analysis_id" uuid NOT NULL,
120
+ "layer_id" uuid NOT NULL,
121
+ "service_id" uuid NOT NULL,
122
+ "name" text NOT NULL,
123
+ "kind" text NOT NULL,
124
+ "file_path" text NOT NULL,
125
+ "method_count" integer DEFAULT 0 NOT NULL,
126
+ "property_count" integer DEFAULT 0 NOT NULL,
127
+ "import_count" integer DEFAULT 0 NOT NULL,
128
+ "export_count" integer DEFAULT 0 NOT NULL,
129
+ "super_class" text,
130
+ "line_count" integer
131
+ );
132
+ --> statement-breakpoint
133
+ CREATE TABLE "repos" (
134
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
135
+ "name" text NOT NULL,
136
+ "path" text NOT NULL,
137
+ "last_analyzed_at" timestamp,
138
+ "created_at" timestamp DEFAULT now() NOT NULL,
139
+ "updated_at" timestamp DEFAULT now() NOT NULL,
140
+ CONSTRAINT "repos_path_unique" UNIQUE("path")
141
+ );
142
+ --> statement-breakpoint
143
+ CREATE TABLE "rules" (
144
+ "key" text PRIMARY KEY NOT NULL,
145
+ "category" text NOT NULL,
146
+ "name" text NOT NULL,
147
+ "description" text NOT NULL,
148
+ "prompt" text,
149
+ "enabled" boolean DEFAULT true NOT NULL,
150
+ "severity" text NOT NULL,
151
+ "type" text NOT NULL,
152
+ "created_at" timestamp DEFAULT now() NOT NULL,
153
+ "updated_at" timestamp DEFAULT now() NOT NULL
154
+ );
155
+ --> statement-breakpoint
156
+ CREATE TABLE "service_dependencies" (
157
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
158
+ "analysis_id" uuid NOT NULL,
159
+ "source_service_id" uuid NOT NULL,
160
+ "target_service_id" uuid NOT NULL,
161
+ "dependency_count" integer,
162
+ "dependency_type" text
163
+ );
164
+ --> statement-breakpoint
165
+ CREATE TABLE "services" (
166
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
167
+ "analysis_id" uuid NOT NULL,
168
+ "name" text NOT NULL,
169
+ "root_path" text NOT NULL,
170
+ "type" text NOT NULL,
171
+ "framework" text,
172
+ "file_count" integer,
173
+ "description" text,
174
+ "layer_summary" jsonb,
175
+ "created_at" timestamp DEFAULT now() NOT NULL
176
+ );
177
+ --> statement-breakpoint
178
+ CREATE TABLE "violations" (
179
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
180
+ "repo_id" uuid NOT NULL,
181
+ "analysis_id" uuid NOT NULL,
182
+ "type" text NOT NULL,
183
+ "title" text NOT NULL,
184
+ "content" text NOT NULL,
185
+ "severity" text NOT NULL,
186
+ "target_service_id" uuid,
187
+ "target_database_id" uuid,
188
+ "target_module_id" uuid,
189
+ "target_method_id" uuid,
190
+ "target_table" text,
191
+ "fix_prompt" text,
192
+ "created_at" timestamp DEFAULT now() NOT NULL
193
+ );
194
+ --> statement-breakpoint
195
+ ALTER TABLE "analyses" ADD CONSTRAINT "analyses_repo_id_repos_id_fk" FOREIGN KEY ("repo_id") REFERENCES "public"."repos"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
196
+ ALTER TABLE "conversations" ADD CONSTRAINT "conversations_repo_id_repos_id_fk" FOREIGN KEY ("repo_id") REFERENCES "public"."repos"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
197
+ ALTER TABLE "database_connections" ADD CONSTRAINT "database_connections_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
198
+ ALTER TABLE "database_connections" ADD CONSTRAINT "database_connections_service_id_services_id_fk" FOREIGN KEY ("service_id") REFERENCES "public"."services"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
199
+ ALTER TABLE "database_connections" ADD CONSTRAINT "database_connections_database_id_databases_id_fk" FOREIGN KEY ("database_id") REFERENCES "public"."databases"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
200
+ ALTER TABLE "databases" ADD CONSTRAINT "databases_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
201
+ ALTER TABLE "diff_checks" ADD CONSTRAINT "diff_checks_repo_id_repos_id_fk" FOREIGN KEY ("repo_id") REFERENCES "public"."repos"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
202
+ ALTER TABLE "diff_checks" ADD CONSTRAINT "diff_checks_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
203
+ ALTER TABLE "layer_dependencies" ADD CONSTRAINT "layer_dependencies_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
204
+ ALTER TABLE "layers" ADD CONSTRAINT "layers_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
205
+ ALTER TABLE "layers" ADD CONSTRAINT "layers_service_id_services_id_fk" FOREIGN KEY ("service_id") REFERENCES "public"."services"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
206
+ ALTER TABLE "messages" ADD CONSTRAINT "messages_conversation_id_conversations_id_fk" FOREIGN KEY ("conversation_id") REFERENCES "public"."conversations"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
207
+ ALTER TABLE "method_dependencies" ADD CONSTRAINT "method_dependencies_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
208
+ ALTER TABLE "method_dependencies" ADD CONSTRAINT "method_dependencies_source_method_id_methods_id_fk" FOREIGN KEY ("source_method_id") REFERENCES "public"."methods"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
209
+ ALTER TABLE "method_dependencies" ADD CONSTRAINT "method_dependencies_target_method_id_methods_id_fk" FOREIGN KEY ("target_method_id") REFERENCES "public"."methods"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
210
+ ALTER TABLE "methods" ADD CONSTRAINT "methods_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
211
+ ALTER TABLE "methods" ADD CONSTRAINT "methods_module_id_modules_id_fk" FOREIGN KEY ("module_id") REFERENCES "public"."modules"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
212
+ ALTER TABLE "module_dependencies" ADD CONSTRAINT "module_dependencies_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
213
+ ALTER TABLE "module_dependencies" ADD CONSTRAINT "module_dependencies_source_module_id_modules_id_fk" FOREIGN KEY ("source_module_id") REFERENCES "public"."modules"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
214
+ ALTER TABLE "module_dependencies" ADD CONSTRAINT "module_dependencies_target_module_id_modules_id_fk" FOREIGN KEY ("target_module_id") REFERENCES "public"."modules"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
215
+ ALTER TABLE "modules" ADD CONSTRAINT "modules_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
216
+ ALTER TABLE "modules" ADD CONSTRAINT "modules_layer_id_layers_id_fk" FOREIGN KEY ("layer_id") REFERENCES "public"."layers"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
217
+ ALTER TABLE "modules" ADD CONSTRAINT "modules_service_id_services_id_fk" FOREIGN KEY ("service_id") REFERENCES "public"."services"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
218
+ ALTER TABLE "service_dependencies" ADD CONSTRAINT "service_dependencies_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
219
+ ALTER TABLE "service_dependencies" ADD CONSTRAINT "service_dependencies_source_service_id_services_id_fk" FOREIGN KEY ("source_service_id") REFERENCES "public"."services"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
220
+ ALTER TABLE "service_dependencies" ADD CONSTRAINT "service_dependencies_target_service_id_services_id_fk" FOREIGN KEY ("target_service_id") REFERENCES "public"."services"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
221
+ ALTER TABLE "services" ADD CONSTRAINT "services_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
222
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_repo_id_repos_id_fk" FOREIGN KEY ("repo_id") REFERENCES "public"."repos"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
223
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_analysis_id_analyses_id_fk" FOREIGN KEY ("analysis_id") REFERENCES "public"."analyses"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
224
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_target_service_id_services_id_fk" FOREIGN KEY ("target_service_id") REFERENCES "public"."services"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
225
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_target_database_id_databases_id_fk" FOREIGN KEY ("target_database_id") REFERENCES "public"."databases"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
226
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_target_module_id_modules_id_fk" FOREIGN KEY ("target_module_id") REFERENCES "public"."modules"("id") ON DELETE set null ON UPDATE no action;--> statement-breakpoint
227
+ ALTER TABLE "violations" ADD CONSTRAINT "violations_target_method_id_methods_id_fk" FOREIGN KEY ("target_method_id") REFERENCES "public"."methods"("id") ON DELETE set null ON UPDATE no action;