lurqrun 0.0.1 → 0.0.2

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,575 @@
1
+ {
2
+ "id": "6874609b-d4c8-479c-b282-fa5c57bb1bd0",
3
+ "prevId": "40d3e18c-6ec9-4a71-b866-96ee426cfcdd",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.api_keys": {
8
+ "name": "api_keys",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "serial",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "key_hash": {
18
+ "name": "key_hash",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "prefix": {
24
+ "name": "prefix",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ },
29
+ "label": {
30
+ "name": "label",
31
+ "type": "text",
32
+ "primaryKey": false,
33
+ "notNull": false
34
+ },
35
+ "owner_id": {
36
+ "name": "owner_id",
37
+ "type": "text",
38
+ "primaryKey": false,
39
+ "notNull": false
40
+ },
41
+ "tier": {
42
+ "name": "tier",
43
+ "type": "text",
44
+ "primaryKey": false,
45
+ "notNull": true,
46
+ "default": "'free'"
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
+ "last_used_at": {
56
+ "name": "last_used_at",
57
+ "type": "timestamp with time zone",
58
+ "primaryKey": false,
59
+ "notNull": false
60
+ },
61
+ "revoked_at": {
62
+ "name": "revoked_at",
63
+ "type": "timestamp with time zone",
64
+ "primaryKey": false,
65
+ "notNull": false
66
+ }
67
+ },
68
+ "indexes": {
69
+ "api_keys_owner_idx": {
70
+ "name": "api_keys_owner_idx",
71
+ "columns": [
72
+ {
73
+ "expression": "owner_id",
74
+ "isExpression": false,
75
+ "asc": true,
76
+ "nulls": "last"
77
+ }
78
+ ],
79
+ "isUnique": false,
80
+ "concurrently": false,
81
+ "method": "btree",
82
+ "with": {}
83
+ }
84
+ },
85
+ "foreignKeys": {},
86
+ "compositePrimaryKeys": {},
87
+ "uniqueConstraints": {
88
+ "api_keys_key_hash_unique": {
89
+ "name": "api_keys_key_hash_unique",
90
+ "nullsNotDistinct": false,
91
+ "columns": [
92
+ "key_hash"
93
+ ]
94
+ }
95
+ },
96
+ "policies": {},
97
+ "checkConstraints": {},
98
+ "isRLSEnabled": false
99
+ },
100
+ "public.discovery_queue": {
101
+ "name": "discovery_queue",
102
+ "schema": "",
103
+ "columns": {
104
+ "id": {
105
+ "name": "id",
106
+ "type": "serial",
107
+ "primaryKey": true,
108
+ "notNull": true
109
+ },
110
+ "name": {
111
+ "name": "name",
112
+ "type": "text",
113
+ "primaryKey": false,
114
+ "notNull": true
115
+ },
116
+ "discovered_via": {
117
+ "name": "discovered_via",
118
+ "type": "text",
119
+ "primaryKey": false,
120
+ "notNull": true
121
+ },
122
+ "pre_score": {
123
+ "name": "pre_score",
124
+ "type": "integer",
125
+ "primaryKey": false,
126
+ "notNull": false
127
+ },
128
+ "status": {
129
+ "name": "status",
130
+ "type": "text",
131
+ "primaryKey": false,
132
+ "notNull": true,
133
+ "default": "'pending'"
134
+ },
135
+ "discovered_at": {
136
+ "name": "discovered_at",
137
+ "type": "timestamp with time zone",
138
+ "primaryKey": false,
139
+ "notNull": true,
140
+ "default": "now()"
141
+ }
142
+ },
143
+ "indexes": {
144
+ "discovery_queue_status_idx": {
145
+ "name": "discovery_queue_status_idx",
146
+ "columns": [
147
+ {
148
+ "expression": "status",
149
+ "isExpression": false,
150
+ "asc": true,
151
+ "nulls": "last"
152
+ }
153
+ ],
154
+ "isUnique": false,
155
+ "concurrently": false,
156
+ "method": "btree",
157
+ "with": {}
158
+ }
159
+ },
160
+ "foreignKeys": {},
161
+ "compositePrimaryKeys": {},
162
+ "uniqueConstraints": {
163
+ "discovery_queue_name_unique": {
164
+ "name": "discovery_queue_name_unique",
165
+ "nullsNotDistinct": false,
166
+ "columns": [
167
+ "name"
168
+ ]
169
+ }
170
+ },
171
+ "policies": {},
172
+ "checkConstraints": {},
173
+ "isRLSEnabled": false
174
+ },
175
+ "public.packages": {
176
+ "name": "packages",
177
+ "schema": "",
178
+ "columns": {
179
+ "id": {
180
+ "name": "id",
181
+ "type": "serial",
182
+ "primaryKey": true,
183
+ "notNull": true
184
+ },
185
+ "name": {
186
+ "name": "name",
187
+ "type": "text",
188
+ "primaryKey": false,
189
+ "notNull": true
190
+ },
191
+ "ecosystem": {
192
+ "name": "ecosystem",
193
+ "type": "text",
194
+ "primaryKey": false,
195
+ "notNull": true,
196
+ "default": "'npm'"
197
+ },
198
+ "category": {
199
+ "name": "category",
200
+ "type": "text",
201
+ "primaryKey": false,
202
+ "notNull": false
203
+ },
204
+ "category_source": {
205
+ "name": "category_source",
206
+ "type": "text",
207
+ "primaryKey": false,
208
+ "notNull": false
209
+ },
210
+ "description": {
211
+ "name": "description",
212
+ "type": "text",
213
+ "primaryKey": false,
214
+ "notNull": false
215
+ },
216
+ "summary": {
217
+ "name": "summary",
218
+ "type": "text",
219
+ "primaryKey": false,
220
+ "notNull": false
221
+ },
222
+ "repo_url": {
223
+ "name": "repo_url",
224
+ "type": "text",
225
+ "primaryKey": false,
226
+ "notNull": false
227
+ },
228
+ "homepage": {
229
+ "name": "homepage",
230
+ "type": "text",
231
+ "primaryKey": false,
232
+ "notNull": false
233
+ },
234
+ "latest_version": {
235
+ "name": "latest_version",
236
+ "type": "text",
237
+ "primaryKey": false,
238
+ "notNull": false
239
+ },
240
+ "license": {
241
+ "name": "license",
242
+ "type": "text",
243
+ "primaryKey": false,
244
+ "notNull": false
245
+ },
246
+ "deprecated": {
247
+ "name": "deprecated",
248
+ "type": "boolean",
249
+ "primaryKey": false,
250
+ "notNull": true,
251
+ "default": false
252
+ },
253
+ "archived": {
254
+ "name": "archived",
255
+ "type": "boolean",
256
+ "primaryKey": false,
257
+ "notNull": true,
258
+ "default": false
259
+ },
260
+ "first_published_at": {
261
+ "name": "first_published_at",
262
+ "type": "timestamp with time zone",
263
+ "primaryKey": false,
264
+ "notNull": false
265
+ },
266
+ "last_release_at": {
267
+ "name": "last_release_at",
268
+ "type": "timestamp with time zone",
269
+ "primaryKey": false,
270
+ "notNull": false
271
+ },
272
+ "weekly_downloads": {
273
+ "name": "weekly_downloads",
274
+ "type": "bigint",
275
+ "primaryKey": false,
276
+ "notNull": false
277
+ },
278
+ "download_growth_90d": {
279
+ "name": "download_growth_90d",
280
+ "type": "real",
281
+ "primaryKey": false,
282
+ "notNull": false
283
+ },
284
+ "dependents_count": {
285
+ "name": "dependents_count",
286
+ "type": "integer",
287
+ "primaryKey": false,
288
+ "notNull": false
289
+ },
290
+ "stars": {
291
+ "name": "stars",
292
+ "type": "integer",
293
+ "primaryKey": false,
294
+ "notNull": false
295
+ },
296
+ "open_issues": {
297
+ "name": "open_issues",
298
+ "type": "integer",
299
+ "primaryKey": false,
300
+ "notNull": false
301
+ },
302
+ "closed_issues": {
303
+ "name": "closed_issues",
304
+ "type": "integer",
305
+ "primaryKey": false,
306
+ "notNull": false
307
+ },
308
+ "scorecard": {
309
+ "name": "scorecard",
310
+ "type": "real",
311
+ "primaryKey": false,
312
+ "notNull": false
313
+ },
314
+ "bundle_min_gzip_kb": {
315
+ "name": "bundle_min_gzip_kb",
316
+ "type": "real",
317
+ "primaryKey": false,
318
+ "notNull": false
319
+ },
320
+ "advisories": {
321
+ "name": "advisories",
322
+ "type": "jsonb",
323
+ "primaryKey": false,
324
+ "notNull": false
325
+ },
326
+ "health_score": {
327
+ "name": "health_score",
328
+ "type": "integer",
329
+ "primaryKey": false,
330
+ "notNull": false
331
+ },
332
+ "quality_score": {
333
+ "name": "quality_score",
334
+ "type": "integer",
335
+ "primaryKey": false,
336
+ "notNull": false
337
+ },
338
+ "confidence": {
339
+ "name": "confidence",
340
+ "type": "text",
341
+ "primaryKey": false,
342
+ "notNull": false
343
+ },
344
+ "score_breakdown": {
345
+ "name": "score_breakdown",
346
+ "type": "jsonb",
347
+ "primaryKey": false,
348
+ "notNull": false
349
+ },
350
+ "usage_guide": {
351
+ "name": "usage_guide",
352
+ "type": "jsonb",
353
+ "primaryKey": false,
354
+ "notNull": false
355
+ },
356
+ "embedding": {
357
+ "name": "embedding",
358
+ "type": "vector(1536)",
359
+ "primaryKey": false,
360
+ "notNull": false
361
+ },
362
+ "search_vector": {
363
+ "name": "search_vector",
364
+ "type": "tsvector",
365
+ "primaryKey": false,
366
+ "notNull": false,
367
+ "generated": {
368
+ "as": "setweight(to_tsvector('english', coalesce(name, '')), 'A') || setweight(to_tsvector('english', coalesce(category, '')), 'B') || setweight(to_tsvector('english', coalesce(summary, description, '')), 'C')",
369
+ "type": "stored"
370
+ }
371
+ },
372
+ "data_as_of": {
373
+ "name": "data_as_of",
374
+ "type": "timestamp with time zone",
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
+ "packages_category_idx": {
395
+ "name": "packages_category_idx",
396
+ "columns": [
397
+ {
398
+ "expression": "category",
399
+ "isExpression": false,
400
+ "asc": true,
401
+ "nulls": "last"
402
+ }
403
+ ],
404
+ "isUnique": false,
405
+ "concurrently": false,
406
+ "method": "btree",
407
+ "with": {}
408
+ },
409
+ "packages_health_score_idx": {
410
+ "name": "packages_health_score_idx",
411
+ "columns": [
412
+ {
413
+ "expression": "health_score",
414
+ "isExpression": false,
415
+ "asc": true,
416
+ "nulls": "last"
417
+ }
418
+ ],
419
+ "isUnique": false,
420
+ "concurrently": false,
421
+ "method": "btree",
422
+ "with": {}
423
+ },
424
+ "packages_embedding_idx": {
425
+ "name": "packages_embedding_idx",
426
+ "columns": [
427
+ {
428
+ "expression": "embedding",
429
+ "isExpression": false,
430
+ "asc": true,
431
+ "nulls": "last",
432
+ "opclass": "vector_cosine_ops"
433
+ }
434
+ ],
435
+ "isUnique": false,
436
+ "concurrently": false,
437
+ "method": "hnsw",
438
+ "with": {}
439
+ },
440
+ "packages_search_vector_idx": {
441
+ "name": "packages_search_vector_idx",
442
+ "columns": [
443
+ {
444
+ "expression": "search_vector",
445
+ "isExpression": false,
446
+ "asc": true,
447
+ "nulls": "last"
448
+ }
449
+ ],
450
+ "isUnique": false,
451
+ "concurrently": false,
452
+ "method": "gin",
453
+ "with": {}
454
+ }
455
+ },
456
+ "foreignKeys": {},
457
+ "compositePrimaryKeys": {},
458
+ "uniqueConstraints": {
459
+ "packages_name_unique": {
460
+ "name": "packages_name_unique",
461
+ "nullsNotDistinct": false,
462
+ "columns": [
463
+ "name"
464
+ ]
465
+ }
466
+ },
467
+ "policies": {},
468
+ "checkConstraints": {},
469
+ "isRLSEnabled": false
470
+ },
471
+ "public.seed_packages": {
472
+ "name": "seed_packages",
473
+ "schema": "",
474
+ "columns": {
475
+ "name": {
476
+ "name": "name",
477
+ "type": "text",
478
+ "primaryKey": true,
479
+ "notNull": true
480
+ },
481
+ "category": {
482
+ "name": "category",
483
+ "type": "text",
484
+ "primaryKey": false,
485
+ "notNull": false
486
+ },
487
+ "added_at": {
488
+ "name": "added_at",
489
+ "type": "timestamp with time zone",
490
+ "primaryKey": false,
491
+ "notNull": true,
492
+ "default": "now()"
493
+ }
494
+ },
495
+ "indexes": {},
496
+ "foreignKeys": {},
497
+ "compositePrimaryKeys": {},
498
+ "uniqueConstraints": {},
499
+ "policies": {},
500
+ "checkConstraints": {},
501
+ "isRLSEnabled": false
502
+ },
503
+ "public.sync_runs": {
504
+ "name": "sync_runs",
505
+ "schema": "",
506
+ "columns": {
507
+ "id": {
508
+ "name": "id",
509
+ "type": "serial",
510
+ "primaryKey": true,
511
+ "notNull": true
512
+ },
513
+ "started_at": {
514
+ "name": "started_at",
515
+ "type": "timestamp with time zone",
516
+ "primaryKey": false,
517
+ "notNull": true,
518
+ "default": "now()"
519
+ },
520
+ "finished_at": {
521
+ "name": "finished_at",
522
+ "type": "timestamp with time zone",
523
+ "primaryKey": false,
524
+ "notNull": false
525
+ },
526
+ "packages_seen": {
527
+ "name": "packages_seen",
528
+ "type": "integer",
529
+ "primaryKey": false,
530
+ "notNull": true,
531
+ "default": 0
532
+ },
533
+ "packages_updated": {
534
+ "name": "packages_updated",
535
+ "type": "integer",
536
+ "primaryKey": false,
537
+ "notNull": true,
538
+ "default": 0
539
+ },
540
+ "errors": {
541
+ "name": "errors",
542
+ "type": "jsonb",
543
+ "primaryKey": false,
544
+ "notNull": true,
545
+ "default": "'[]'::jsonb"
546
+ },
547
+ "status": {
548
+ "name": "status",
549
+ "type": "text",
550
+ "primaryKey": false,
551
+ "notNull": true,
552
+ "default": "'running'"
553
+ }
554
+ },
555
+ "indexes": {},
556
+ "foreignKeys": {},
557
+ "compositePrimaryKeys": {},
558
+ "uniqueConstraints": {},
559
+ "policies": {},
560
+ "checkConstraints": {},
561
+ "isRLSEnabled": false
562
+ }
563
+ },
564
+ "enums": {},
565
+ "schemas": {},
566
+ "sequences": {},
567
+ "roles": {},
568
+ "policies": {},
569
+ "views": {},
570
+ "_meta": {
571
+ "columns": {},
572
+ "schemas": {},
573
+ "tables": {}
574
+ }
575
+ }
@@ -8,6 +8,20 @@
8
8
  "when": 1781995269888,
9
9
  "tag": "0000_confused_fabian_cortez",
10
10
  "breakpoints": true
11
+ },
12
+ {
13
+ "idx": 1,
14
+ "version": "7",
15
+ "when": 1782265543425,
16
+ "tag": "0001_aspiring_timeslip",
17
+ "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "7",
22
+ "when": 1782267534496,
23
+ "tag": "0002_lyrical_lila_cheney",
24
+ "breakpoints": true
11
25
  }
12
26
  ]
13
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lurqrun",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "A continuously-updated, evidence-scored index of JS/TS frameworks and libraries, exposed as an MCP server, CLI, and agent skill — so AI coding assistants get fresh, objective dependency recommendations.",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -54,15 +54,20 @@
54
54
  "prepublishOnly": "npm run build"
55
55
  },
56
56
  "dependencies": {
57
+ "@inquirer/prompts": "^8.5.2",
57
58
  "@modelcontextprotocol/sdk": "^1.29.0",
58
59
  "commander": "^12.1.0",
59
60
  "dotenv": "^16.4.5",
60
61
  "drizzle-orm": "^0.45.2",
62
+ "express": "^5.2.1",
63
+ "express-rate-limit": "^8.5.2",
64
+ "helmet": "^8.2.0",
61
65
  "postgres": "^3.4.9",
62
66
  "zod": "^3.23.8"
63
67
  },
64
68
  "devDependencies": {
65
69
  "@eslint/js": "^9.9.0",
70
+ "@types/express": "^5.0.6",
66
71
  "@types/node": "^22.5.0",
67
72
  "drizzle-kit": "^0.31.10",
68
73
  "eslint": "^9.9.0",