@creeperhost/modlens-mcp 1.6.0 → 1.6.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.
- package/README.md +950 -938
- package/dist/cli.js +267 -267
- package/dist/generated/sqlite/internal/class.d.ts.map +1 -1
- package/dist/generated/sqlite/internal/class.js +4 -3
- package/dist/generated/sqlite/internal/class.js.map +1 -1
- package/dist/launcher.js +4 -1
- package/dist/launcher.js.map +1 -1
- package/dist/repositories/embeddings-sqlite.js +21 -21
- package/dist/repositories/embeddings.js +28 -28
- package/dist/repositories/mod.js +2 -2
- package/dist/search-adapter.js +51 -51
- package/dist/tools/compat-check.js +9 -9
- package/dist/tools/embed-registry.js +9 -9
- package/dist/tools/graphify.js +14 -14
- package/dist/tools/mc-fts.js +2 -2
- package/dist/tools/mixin-scan.d.ts +1 -1
- package/dist/tools/mixin-scan.js +16 -16
- package/dist/tools/version-diff.js +3 -3
- package/package.json +70 -62
- package/prisma/backends/schema.sqlite.prisma +215 -215
- package/prisma/schema.prisma +303 -303
- package/scripts/backup.mjs +151 -151
- package/scripts/check-atm10.mjs +27 -27
- package/scripts/check-sync.mjs +13 -13
- package/scripts/create-fts-index.mjs +50 -50
- package/scripts/enable-pgvector.mjs +90 -90
- package/scripts/enable-sqlite-vec.mjs +158 -158
- package/scripts/migrate-backend.mjs +188 -188
- package/scripts/migrate-embed-provenance.mjs +80 -80
- package/scripts/migrate-metadata-source.mjs +62 -62
- package/scripts/migrate-mod-source-files.mjs +67 -67
- package/scripts/post-update.mjs +77 -77
- package/scripts/verify-atm10.mjs +63 -63
- package/dist/access-flags.test.d.ts +0 -2
- package/dist/access-flags.test.d.ts.map +0 -1
- package/dist/access-flags.test.js +0 -189
- package/dist/access-flags.test.js.map +0 -1
- package/dist/fetch-utils.test.d.ts +0 -2
- package/dist/fetch-utils.test.d.ts.map +0 -1
- package/dist/fetch-utils.test.js +0 -133
- package/dist/fetch-utils.test.js.map +0 -1
- package/dist/mappings.test.d.ts +0 -2
- package/dist/mappings.test.d.ts.map +0 -1
- package/dist/mappings.test.js +0 -161
- package/dist/mappings.test.js.map +0 -1
- package/dist/processor.test.d.ts +0 -2
- package/dist/processor.test.d.ts.map +0 -1
- package/dist/processor.test.js +0 -629
- package/dist/processor.test.js.map +0 -1
- package/dist/search.test.d.ts +0 -2
- package/dist/search.test.d.ts.map +0 -1
- package/dist/search.test.js +0 -71
- package/dist/search.test.js.map +0 -1
- package/dist/security.test.d.ts +0 -2
- package/dist/security.test.d.ts.map +0 -1
- package/dist/security.test.js +0 -687
- package/dist/security.test.js.map +0 -1
- package/dist/tools/compat-check.test.d.ts +0 -2
- package/dist/tools/compat-check.test.d.ts.map +0 -1
- package/dist/tools/compat-check.test.js +0 -179
- package/dist/tools/compat-check.test.js.map +0 -1
- package/dist/tools/diagnostics.test.d.ts +0 -2
- package/dist/tools/diagnostics.test.d.ts.map +0 -1
- package/dist/tools/diagnostics.test.js +0 -168
- package/dist/tools/diagnostics.test.js.map +0 -1
- package/dist/tools/graphify.test.d.ts +0 -2
- package/dist/tools/graphify.test.d.ts.map +0 -1
- package/dist/tools/graphify.test.js +0 -39
- package/dist/tools/graphify.test.js.map +0 -1
- package/dist/tools/ingest.test.d.ts +0 -2
- package/dist/tools/ingest.test.d.ts.map +0 -1
- package/dist/tools/ingest.test.js +0 -340
- package/dist/tools/ingest.test.js.map +0 -1
- package/dist/tools/mod-tags.test.d.ts +0 -2
- package/dist/tools/mod-tags.test.d.ts.map +0 -1
- package/dist/tools/mod-tags.test.js +0 -75
- package/dist/tools/mod-tags.test.js.map +0 -1
- package/dist/tools/packtools.test.d.ts +0 -2
- package/dist/tools/packtools.test.d.ts.map +0 -1
- package/dist/tools/packtools.test.js +0 -99
- package/dist/tools/packtools.test.js.map +0 -1
- package/dist/tools/version-diff.test.d.ts +0 -2
- package/dist/tools/version-diff.test.d.ts.map +0 -1
- package/dist/tools/version-diff.test.js +0 -102
- package/dist/tools/version-diff.test.js.map +0 -1
- package/dist/validate.test.d.ts +0 -2
- package/dist/validate.test.d.ts.map +0 -1
- package/dist/validate.test.js +0 -73
- package/dist/validate.test.js.map +0 -1
package/dist/search.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.test.d.ts","sourceRoot":"","sources":["../src/search.test.ts"],"names":[],"mappings":""}
|
package/dist/search.test.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { searchClasses } from "./search.js";
|
|
3
|
-
const CLASSES = [
|
|
4
|
-
"net/minecraft/world/entity/LivingEntity",
|
|
5
|
-
"net/minecraft/world/entity/player/Player",
|
|
6
|
-
"net/minecraft/world/level/block/Block",
|
|
7
|
-
"net/minecraft/world/level/block/entity/BlockEntity",
|
|
8
|
-
"net/minecraft/world/item/Item",
|
|
9
|
-
"net/minecraft/world/item/ItemStack",
|
|
10
|
-
"com/example/mod/EnergyStorage",
|
|
11
|
-
"com/example/mod/EnergyStorageBlockEntity",
|
|
12
|
-
"com/example/mod/ExampleMod",
|
|
13
|
-
"com/example/mod/integration/jei/JEIPlugin",
|
|
14
|
-
];
|
|
15
|
-
describe("searchClasses", () => {
|
|
16
|
-
it("returns empty array for empty query", () => {
|
|
17
|
-
expect(searchClasses(CLASSES, "")).toHaveLength(0);
|
|
18
|
-
expect(searchClasses(CLASSES, " ")).toHaveLength(0);
|
|
19
|
-
});
|
|
20
|
-
it("exact simple name match ranks first", () => {
|
|
21
|
-
const results = searchClasses(CLASSES, "Block");
|
|
22
|
-
expect(results[0]).toBe("net/minecraft/world/level/block/Block");
|
|
23
|
-
});
|
|
24
|
-
it("prefix match ranks before substring match", () => {
|
|
25
|
-
const results = searchClasses(CLASSES, "Item");
|
|
26
|
-
// "Item" exact match before "ItemStack" prefix match
|
|
27
|
-
expect(results[0]).toBe("net/minecraft/world/item/Item");
|
|
28
|
-
expect(results[1]).toBe("net/minecraft/world/item/ItemStack");
|
|
29
|
-
});
|
|
30
|
-
it("CamelCase acronym match works", () => {
|
|
31
|
-
const results = searchClasses(CLASSES, "LE");
|
|
32
|
-
expect(results).toContain("net/minecraft/world/entity/LivingEntity");
|
|
33
|
-
});
|
|
34
|
-
it("CamelCase acronym is case-insensitive", () => {
|
|
35
|
-
const results = searchClasses(CLASSES, "le");
|
|
36
|
-
expect(results).toContain("net/minecraft/world/entity/LivingEntity");
|
|
37
|
-
});
|
|
38
|
-
it("case-insensitive prefix match works", () => {
|
|
39
|
-
const results = searchClasses(CLASSES, "block");
|
|
40
|
-
expect(results).toContain("net/minecraft/world/level/block/Block");
|
|
41
|
-
expect(results).toContain("net/minecraft/world/level/block/entity/BlockEntity");
|
|
42
|
-
});
|
|
43
|
-
it("substring match works", () => {
|
|
44
|
-
const results = searchClasses(CLASSES, "Storage");
|
|
45
|
-
expect(results).toContain("com/example/mod/EnergyStorage");
|
|
46
|
-
expect(results).toContain("com/example/mod/EnergyStorageBlockEntity");
|
|
47
|
-
});
|
|
48
|
-
it("substring match on full internal path works", () => {
|
|
49
|
-
const results = searchClasses(CLASSES, "jei");
|
|
50
|
-
expect(results).toContain("com/example/mod/integration/jei/JEIPlugin");
|
|
51
|
-
});
|
|
52
|
-
it("returns at most 100 results", () => {
|
|
53
|
-
const many = Array.from({ length: 200 }, (_, i) => `com/example/Foo${i}`);
|
|
54
|
-
const results = searchClasses(many, "Foo");
|
|
55
|
-
expect(results.length).toBeLessThanOrEqual(100);
|
|
56
|
-
});
|
|
57
|
-
it("returns empty array when nothing matches", () => {
|
|
58
|
-
expect(searchClasses(CLASSES, "Zzzzz")).toHaveLength(0);
|
|
59
|
-
});
|
|
60
|
-
it("results are sorted — lower score before higher score", () => {
|
|
61
|
-
// "ES" is a CamelCase match for EnergyStorage — should appear before a pure substring match
|
|
62
|
-
const results = searchClasses(CLASSES, "ES");
|
|
63
|
-
const esIdx = results.findIndex(r => r.includes("EnergyStorage"));
|
|
64
|
-
const exIdx = results.findIndex(r => r.includes("ExampleMod"));
|
|
65
|
-
// EnergyStorage "ES" acronym should rank before ExampleMod "EM" — which shouldn't match at all
|
|
66
|
-
expect(esIdx).toBeGreaterThanOrEqual(0);
|
|
67
|
-
if (exIdx !== -1)
|
|
68
|
-
expect(esIdx).toBeLessThan(exIdx);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=search.test.js.map
|
package/dist/search.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.test.js","sourceRoot":"","sources":["../src/search.test.ts"],"names":[],"mappings":"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"}
|
package/dist/security.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"security.test.d.ts","sourceRoot":"","sources":["../src/security.test.ts"],"names":[],"mappings":""}
|