@creeperhost/modlens-mcp 1.6.0
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 +938 -0
- package/dist/access-flags.d.ts +58 -0
- package/dist/access-flags.d.ts.map +1 -0
- package/dist/access-flags.js +79 -0
- package/dist/access-flags.js.map +1 -0
- package/dist/access-flags.test.d.ts +2 -0
- package/dist/access-flags.test.d.ts.map +1 -0
- package/dist/access-flags.test.js +189 -0
- package/dist/access-flags.test.js.map +1 -0
- package/dist/batch-ingest.d.ts +2 -0
- package/dist/batch-ingest.d.ts.map +1 -0
- package/dist/batch-ingest.js +54 -0
- package/dist/batch-ingest.js.map +1 -0
- package/dist/batch-resolve-mixins.d.ts +2 -0
- package/dist/batch-resolve-mixins.d.ts.map +1 -0
- package/dist/batch-resolve-mixins.js +36 -0
- package/dist/batch-resolve-mixins.js.map +1 -0
- package/dist/cache.d.ts +16 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +36 -0
- package/dist/cache.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1318 -0
- package/dist/cli.js.map +1 -0
- package/dist/curseforge.d.ts +53 -0
- package/dist/curseforge.d.ts.map +1 -0
- package/dist/curseforge.js +104 -0
- package/dist/curseforge.js.map +1 -0
- package/dist/db-backend.d.ts +17 -0
- package/dist/db-backend.d.ts.map +1 -0
- package/dist/db-backend.js +40 -0
- package/dist/db-backend.js.map +1 -0
- package/dist/db.d.ts +11 -0
- package/dist/db.d.ts.map +1 -0
- package/dist/db.js +55 -0
- package/dist/db.js.map +1 -0
- package/dist/embed-queue.d.ts +12 -0
- package/dist/embed-queue.d.ts.map +1 -0
- package/dist/embed-queue.js +103 -0
- package/dist/embed-queue.js.map +1 -0
- package/dist/embeddings.d.ts +21 -0
- package/dist/embeddings.d.ts.map +1 -0
- package/dist/embeddings.js +55 -0
- package/dist/embeddings.js.map +1 -0
- package/dist/env-path.d.ts +19 -0
- package/dist/env-path.d.ts.map +1 -0
- package/dist/env-path.js +40 -0
- package/dist/env-path.js.map +1 -0
- package/dist/fetch-utils.d.ts +24 -0
- package/dist/fetch-utils.d.ts.map +1 -0
- package/dist/fetch-utils.js +73 -0
- package/dist/fetch-utils.js.map +1 -0
- package/dist/fetch-utils.test.d.ts +2 -0
- package/dist/fetch-utils.test.d.ts.map +1 -0
- package/dist/fetch-utils.test.js +133 -0
- package/dist/fetch-utils.test.js.map +1 -0
- package/dist/generated/sqlite/browser.d.ts +55 -0
- package/dist/generated/sqlite/browser.d.ts.map +1 -0
- package/dist/generated/sqlite/browser.js +18 -0
- package/dist/generated/sqlite/browser.js.map +1 -0
- package/dist/generated/sqlite/client.d.ts +72 -0
- package/dist/generated/sqlite/client.d.ts.map +1 -0
- package/dist/generated/sqlite/client.js +33 -0
- package/dist/generated/sqlite/client.js.map +1 -0
- package/dist/generated/sqlite/commonInputTypes.d.ts +387 -0
- package/dist/generated/sqlite/commonInputTypes.d.ts.map +1 -0
- package/dist/generated/sqlite/commonInputTypes.js +11 -0
- package/dist/generated/sqlite/commonInputTypes.js.map +1 -0
- package/dist/generated/sqlite/enums.d.ts +2 -0
- package/dist/generated/sqlite/enums.d.ts.map +1 -0
- package/dist/generated/sqlite/enums.js +11 -0
- package/dist/generated/sqlite/enums.js.map +1 -0
- package/dist/generated/sqlite/internal/class.d.ts +226 -0
- package/dist/generated/sqlite/internal/class.d.ts.map +1 -0
- package/dist/generated/sqlite/internal/class.js +84 -0
- package/dist/generated/sqlite/internal/class.js.map +1 -0
- package/dist/generated/sqlite/internal/prismaNamespace.d.ts +1344 -0
- package/dist/generated/sqlite/internal/prismaNamespace.d.ts.map +1 -0
- package/dist/generated/sqlite/internal/prismaNamespace.js +220 -0
- package/dist/generated/sqlite/internal/prismaNamespace.js.map +1 -0
- package/dist/generated/sqlite/internal/prismaNamespaceBrowser.d.ts +204 -0
- package/dist/generated/sqlite/internal/prismaNamespaceBrowser.d.ts.map +1 -0
- package/dist/generated/sqlite/internal/prismaNamespaceBrowser.js +191 -0
- package/dist/generated/sqlite/internal/prismaNamespaceBrowser.js.map +1 -0
- package/dist/generated/sqlite/models/DocEntry.d.ts +1223 -0
- package/dist/generated/sqlite/models/DocEntry.d.ts.map +1 -0
- package/dist/generated/sqlite/models/DocEntry.js +2 -0
- package/dist/generated/sqlite/models/DocEntry.js.map +1 -0
- package/dist/generated/sqlite/models/McSourceFile.d.ts +1289 -0
- package/dist/generated/sqlite/models/McSourceFile.d.ts.map +1 -0
- package/dist/generated/sqlite/models/McSourceFile.js +2 -0
- package/dist/generated/sqlite/models/McSourceFile.js.map +1 -0
- package/dist/generated/sqlite/models/McVersion.d.ts +1315 -0
- package/dist/generated/sqlite/models/McVersion.d.ts.map +1 -0
- package/dist/generated/sqlite/models/McVersion.js +2 -0
- package/dist/generated/sqlite/models/McVersion.js.map +1 -0
- package/dist/generated/sqlite/models/McVersionDiff.d.ts +1061 -0
- package/dist/generated/sqlite/models/McVersionDiff.d.ts.map +1 -0
- package/dist/generated/sqlite/models/McVersionDiff.js +2 -0
- package/dist/generated/sqlite/models/McVersionDiff.js.map +1 -0
- package/dist/generated/sqlite/models/Mod.d.ts +2396 -0
- package/dist/generated/sqlite/models/Mod.d.ts.map +1 -0
- package/dist/generated/sqlite/models/Mod.js +2 -0
- package/dist/generated/sqlite/models/Mod.js.map +1 -0
- package/dist/generated/sqlite/models/ModClass.d.ts +1254 -0
- package/dist/generated/sqlite/models/ModClass.d.ts.map +1 -0
- package/dist/generated/sqlite/models/ModClass.js +2 -0
- package/dist/generated/sqlite/models/ModClass.js.map +1 -0
- package/dist/generated/sqlite/models/ModSourceFile.d.ts +1283 -0
- package/dist/generated/sqlite/models/ModSourceFile.d.ts.map +1 -0
- package/dist/generated/sqlite/models/ModSourceFile.js +2 -0
- package/dist/generated/sqlite/models/ModSourceFile.js.map +1 -0
- package/dist/generated/sqlite/models/ModTag.d.ts +1278 -0
- package/dist/generated/sqlite/models/ModTag.d.ts.map +1 -0
- package/dist/generated/sqlite/models/ModTag.js +2 -0
- package/dist/generated/sqlite/models/ModTag.js.map +1 -0
- package/dist/generated/sqlite/models/ModVersionDiff.d.ts +1073 -0
- package/dist/generated/sqlite/models/ModVersionDiff.d.ts.map +1 -0
- package/dist/generated/sqlite/models/ModVersionDiff.js +2 -0
- package/dist/generated/sqlite/models/ModVersionDiff.js.map +1 -0
- package/dist/generated/sqlite/models/Primer.d.ts +1319 -0
- package/dist/generated/sqlite/models/Primer.d.ts.map +1 -0
- package/dist/generated/sqlite/models/Primer.js +2 -0
- package/dist/generated/sqlite/models/Primer.js.map +1 -0
- package/dist/generated/sqlite/models.d.ts +12 -0
- package/dist/generated/sqlite/models.d.ts.map +1 -0
- package/dist/generated/sqlite/models.js +2 -0
- package/dist/generated/sqlite/models.js.map +1 -0
- package/dist/jar.d.ts +7 -0
- package/dist/jar.d.ts.map +1 -0
- package/dist/jar.js +52 -0
- package/dist/jar.js.map +1 -0
- package/dist/java-tools.d.ts +46 -0
- package/dist/java-tools.d.ts.map +1 -0
- package/dist/java-tools.js +263 -0
- package/dist/java-tools.js.map +1 -0
- package/dist/launcher.d.ts +3 -0
- package/dist/launcher.d.ts.map +1 -0
- package/dist/launcher.js +105 -0
- package/dist/launcher.js.map +1 -0
- package/dist/mappings.d.ts +95 -0
- package/dist/mappings.d.ts.map +1 -0
- package/dist/mappings.js +1094 -0
- package/dist/mappings.js.map +1 -0
- package/dist/mappings.test.d.ts +2 -0
- package/dist/mappings.test.d.ts.map +1 -0
- package/dist/mappings.test.js +161 -0
- package/dist/mappings.test.js.map +1 -0
- package/dist/minecraft.d.ts +21 -0
- package/dist/minecraft.d.ts.map +1 -0
- package/dist/minecraft.js +70 -0
- package/dist/minecraft.js.map +1 -0
- package/dist/modpacks-ch.d.ts +224 -0
- package/dist/modpacks-ch.d.ts.map +1 -0
- package/dist/modpacks-ch.js +146 -0
- package/dist/modpacks-ch.js.map +1 -0
- package/dist/modrinth.d.ts +67 -0
- package/dist/modrinth.d.ts.map +1 -0
- package/dist/modrinth.js +88 -0
- package/dist/modrinth.js.map +1 -0
- package/dist/platform-adapter.d.ts +23 -0
- package/dist/platform-adapter.d.ts.map +1 -0
- package/dist/platform-adapter.js +2 -0
- package/dist/platform-adapter.js.map +1 -0
- package/dist/platform.d.ts +47 -0
- package/dist/platform.d.ts.map +1 -0
- package/dist/platform.js +175 -0
- package/dist/platform.js.map +1 -0
- package/dist/processor.d.ts +51 -0
- package/dist/processor.d.ts.map +1 -0
- package/dist/processor.js +655 -0
- package/dist/processor.js.map +1 -0
- package/dist/processor.test.d.ts +2 -0
- package/dist/processor.test.d.ts.map +1 -0
- package/dist/processor.test.js +629 -0
- package/dist/processor.test.js.map +1 -0
- package/dist/repositories/embeddings-sqlite.d.ts +38 -0
- package/dist/repositories/embeddings-sqlite.d.ts.map +1 -0
- package/dist/repositories/embeddings-sqlite.js +208 -0
- package/dist/repositories/embeddings-sqlite.js.map +1 -0
- package/dist/repositories/embeddings.d.ts +40 -0
- package/dist/repositories/embeddings.d.ts.map +1 -0
- package/dist/repositories/embeddings.js +136 -0
- package/dist/repositories/embeddings.js.map +1 -0
- package/dist/repositories/index.d.ts +2 -0
- package/dist/repositories/index.d.ts.map +1 -0
- package/dist/repositories/index.js +15 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/mcVersion.d.ts +16 -0
- package/dist/repositories/mcVersion.d.ts.map +1 -0
- package/dist/repositories/mcVersion.js +52 -0
- package/dist/repositories/mcVersion.js.map +1 -0
- package/dist/repositories/mod.d.ts +241 -0
- package/dist/repositories/mod.d.ts.map +1 -0
- package/dist/repositories/mod.js +342 -0
- package/dist/repositories/mod.js.map +1 -0
- package/dist/repositories/packs.d.ts +44 -0
- package/dist/repositories/packs.d.ts.map +1 -0
- package/dist/repositories/packs.js +138 -0
- package/dist/repositories/packs.js.map +1 -0
- package/dist/search-adapter.d.ts +34 -0
- package/dist/search-adapter.d.ts.map +1 -0
- package/dist/search-adapter.js +195 -0
- package/dist/search-adapter.js.map +1 -0
- package/dist/search.d.ts +6 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +54 -0
- package/dist/search.js.map +1 -0
- package/dist/search.test.d.ts +2 -0
- package/dist/search.test.d.ts.map +1 -0
- package/dist/search.test.js +71 -0
- package/dist/search.test.js.map +1 -0
- package/dist/security.d.ts +98 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +446 -0
- package/dist/security.js.map +1 -0
- package/dist/security.test.d.ts +2 -0
- package/dist/security.test.d.ts.map +1 -0
- package/dist/security.test.js +687 -0
- package/dist/security.test.js.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1465 -0
- package/dist/server.js.map +1 -0
- package/dist/setup.d.ts +2 -0
- package/dist/setup.d.ts.map +1 -0
- package/dist/setup.js +1113 -0
- package/dist/setup.js.map +1 -0
- package/dist/tools/bytecode.d.ts +129 -0
- package/dist/tools/bytecode.d.ts.map +1 -0
- package/dist/tools/bytecode.js +679 -0
- package/dist/tools/bytecode.js.map +1 -0
- package/dist/tools/catalog.d.ts +54 -0
- package/dist/tools/catalog.d.ts.map +1 -0
- package/dist/tools/catalog.js +249 -0
- package/dist/tools/catalog.js.map +1 -0
- package/dist/tools/compat-check.d.ts +23 -0
- package/dist/tools/compat-check.d.ts.map +1 -0
- package/dist/tools/compat-check.js +250 -0
- package/dist/tools/compat-check.js.map +1 -0
- package/dist/tools/compat-check.test.d.ts +2 -0
- package/dist/tools/compat-check.test.d.ts.map +1 -0
- package/dist/tools/compat-check.test.js +179 -0
- package/dist/tools/compat-check.test.js.map +1 -0
- package/dist/tools/diagnostics.d.ts +10 -0
- package/dist/tools/diagnostics.d.ts.map +1 -0
- package/dist/tools/diagnostics.js +133 -0
- package/dist/tools/diagnostics.js.map +1 -0
- package/dist/tools/diagnostics.test.d.ts +2 -0
- package/dist/tools/diagnostics.test.d.ts.map +1 -0
- package/dist/tools/diagnostics.test.js +168 -0
- package/dist/tools/diagnostics.test.js.map +1 -0
- package/dist/tools/docs.d.ts +19 -0
- package/dist/tools/docs.d.ts.map +1 -0
- package/dist/tools/docs.js +230 -0
- package/dist/tools/docs.js.map +1 -0
- package/dist/tools/embed-registry.d.ts +125 -0
- package/dist/tools/embed-registry.d.ts.map +1 -0
- package/dist/tools/embed-registry.js +560 -0
- package/dist/tools/embed-registry.js.map +1 -0
- package/dist/tools/gradle.d.ts +16 -0
- package/dist/tools/gradle.d.ts.map +1 -0
- package/dist/tools/gradle.js +182 -0
- package/dist/tools/gradle.js.map +1 -0
- package/dist/tools/graphify.d.ts +144 -0
- package/dist/tools/graphify.d.ts.map +1 -0
- package/dist/tools/graphify.js +798 -0
- package/dist/tools/graphify.js.map +1 -0
- package/dist/tools/graphify.test.d.ts +2 -0
- package/dist/tools/graphify.test.d.ts.map +1 -0
- package/dist/tools/graphify.test.js +39 -0
- package/dist/tools/graphify.test.js.map +1 -0
- package/dist/tools/ingest.d.ts +85 -0
- package/dist/tools/ingest.d.ts.map +1 -0
- package/dist/tools/ingest.js +477 -0
- package/dist/tools/ingest.js.map +1 -0
- package/dist/tools/ingest.test.d.ts +2 -0
- package/dist/tools/ingest.test.d.ts.map +1 -0
- package/dist/tools/ingest.test.js +340 -0
- package/dist/tools/ingest.test.js.map +1 -0
- package/dist/tools/kubejs.d.ts +37 -0
- package/dist/tools/kubejs.d.ts.map +1 -0
- package/dist/tools/kubejs.js +245 -0
- package/dist/tools/kubejs.js.map +1 -0
- package/dist/tools/mappings.d.ts +17 -0
- package/dist/tools/mappings.d.ts.map +1 -0
- package/dist/tools/mappings.js +85 -0
- package/dist/tools/mappings.js.map +1 -0
- package/dist/tools/mc-fts.d.ts +101 -0
- package/dist/tools/mc-fts.d.ts.map +1 -0
- package/dist/tools/mc-fts.js +279 -0
- package/dist/tools/mc-fts.js.map +1 -0
- package/dist/tools/mcmeta.d.ts +41 -0
- package/dist/tools/mcmeta.d.ts.map +1 -0
- package/dist/tools/mcmeta.js +365 -0
- package/dist/tools/mcmeta.js.map +1 -0
- package/dist/tools/mixin-scan.d.ts +113 -0
- package/dist/tools/mixin-scan.d.ts.map +1 -0
- package/dist/tools/mixin-scan.js +433 -0
- package/dist/tools/mixin-scan.js.map +1 -0
- package/dist/tools/mod-data.d.ts +83 -0
- package/dist/tools/mod-data.d.ts.map +1 -0
- package/dist/tools/mod-data.js +630 -0
- package/dist/tools/mod-data.js.map +1 -0
- package/dist/tools/mod-tags.d.ts +59 -0
- package/dist/tools/mod-tags.d.ts.map +1 -0
- package/dist/tools/mod-tags.js +279 -0
- package/dist/tools/mod-tags.js.map +1 -0
- package/dist/tools/mod-tags.test.d.ts +2 -0
- package/dist/tools/mod-tags.test.d.ts.map +1 -0
- package/dist/tools/mod-tags.test.js +75 -0
- package/dist/tools/mod-tags.test.js.map +1 -0
- package/dist/tools/modpacks-ch.d.ts +257 -0
- package/dist/tools/modpacks-ch.d.ts.map +1 -0
- package/dist/tools/modpacks-ch.js +516 -0
- package/dist/tools/modpacks-ch.js.map +1 -0
- package/dist/tools/packtools.d.ts +113 -0
- package/dist/tools/packtools.d.ts.map +1 -0
- package/dist/tools/packtools.js +809 -0
- package/dist/tools/packtools.js.map +1 -0
- package/dist/tools/packtools.test.d.ts +2 -0
- package/dist/tools/packtools.test.d.ts.map +1 -0
- package/dist/tools/packtools.test.js +99 -0
- package/dist/tools/packtools.test.js.map +1 -0
- package/dist/tools/platform.d.ts +68 -0
- package/dist/tools/platform.d.ts.map +1 -0
- package/dist/tools/platform.js +452 -0
- package/dist/tools/platform.js.map +1 -0
- package/dist/tools/primers.d.ts +36 -0
- package/dist/tools/primers.d.ts.map +1 -0
- package/dist/tools/primers.js +451 -0
- package/dist/tools/primers.js.map +1 -0
- package/dist/tools/reports.d.ts +19 -0
- package/dist/tools/reports.d.ts.map +1 -0
- package/dist/tools/reports.js +573 -0
- package/dist/tools/reports.js.map +1 -0
- package/dist/tools/source.d.ts +10 -0
- package/dist/tools/source.d.ts.map +1 -0
- package/dist/tools/source.js +101 -0
- package/dist/tools/source.js.map +1 -0
- package/dist/tools/vanilla-data.d.ts +127 -0
- package/dist/tools/vanilla-data.d.ts.map +1 -0
- package/dist/tools/vanilla-data.js +824 -0
- package/dist/tools/vanilla-data.js.map +1 -0
- package/dist/tools/vanilla.d.ts +171 -0
- package/dist/tools/vanilla.d.ts.map +1 -0
- package/dist/tools/vanilla.js +612 -0
- package/dist/tools/vanilla.js.map +1 -0
- package/dist/tools/version-diff.d.ts +113 -0
- package/dist/tools/version-diff.d.ts.map +1 -0
- package/dist/tools/version-diff.js +519 -0
- package/dist/tools/version-diff.js.map +1 -0
- package/dist/tools/version-diff.test.d.ts +2 -0
- package/dist/tools/version-diff.test.d.ts.map +1 -0
- package/dist/tools/version-diff.test.js +102 -0
- package/dist/tools/version-diff.test.js.map +1 -0
- package/dist/validate.d.ts +19 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +54 -0
- package/dist/validate.js.map +1 -0
- package/dist/validate.test.d.ts +2 -0
- package/dist/validate.test.d.ts.map +1 -0
- package/dist/validate.test.js +73 -0
- package/dist/validate.test.js.map +1 -0
- package/package.json +62 -0
- package/prisma/backends/schema.sqlite.prisma +215 -0
- package/prisma/backends/template.db +0 -0
- package/prisma/schema.prisma +303 -0
- package/scripts/backup.mjs +151 -0
- package/scripts/build-template-db.mjs +38 -0
- package/scripts/check-atm10.mjs +27 -0
- package/scripts/check-sync.mjs +13 -0
- package/scripts/create-fts-index.mjs +50 -0
- package/scripts/enable-pgvector.mjs +90 -0
- package/scripts/enable-sqlite-vec.mjs +158 -0
- package/scripts/migrate-backend.mjs +188 -0
- package/scripts/migrate-embed-provenance.mjs +80 -0
- package/scripts/migrate-metadata-source.mjs +62 -0
- package/scripts/migrate-mod-source-files.mjs +67 -0
- package/scripts/post-update.mjs +77 -0
- package/scripts/verify-atm10.mjs +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kubejs.js","sourceRoot":"","sources":["../../src/tools/kubejs.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tools for Minecraft mappings and JAR remapping.
|
|
3
|
+
*
|
|
4
|
+
* Tools:
|
|
5
|
+
* find_mapping - Translate a symbol name between official/intermediary/yarn/mojmap
|
|
6
|
+
* remap_mod_jar - Remap a mod JAR using TinyRemapper (official → yarn or mojmap)
|
|
7
|
+
* get_parchment - Get Parchment parameter names + javadocs for a class
|
|
8
|
+
* list_parchment_versions - List available Parchment builds for a MC version
|
|
9
|
+
*/
|
|
10
|
+
import { type MappingNs } from "../mappings.js";
|
|
11
|
+
export declare function findMapping(symbol: string, version: string, sourceNs: MappingNs, targetNs: MappingNs): Promise<object>;
|
|
12
|
+
export declare function remapModJar(inputJar: string, outputJar: string, version: string, toMapping: "yarn" | "mojmap"): Promise<object>;
|
|
13
|
+
export declare function getParchment(className: string, mcVersion: string): Promise<object>;
|
|
14
|
+
export declare function listParchmentVersions(mcVersion: string): Promise<object>;
|
|
15
|
+
/** Return a summary of all parchment data for a version (class names + counts). */
|
|
16
|
+
export declare function getParchmentSummary(mcVersion: string): Promise<object>;
|
|
17
|
+
//# sourceMappingURL=mappings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.d.ts","sourceRoot":"","sources":["../../src/tools/mappings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAkG,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAKhJ,wBAAsB,WAAW,CAC7B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,GACpB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAGD,wBAAsB,WAAW,CAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAAG,QAAQ,GAC7B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAGD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BxF;AAGD,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAGD,mFAAmF;AACnF,wBAAsB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa5E"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP tools for Minecraft mappings and JAR remapping.
|
|
3
|
+
*
|
|
4
|
+
* Tools:
|
|
5
|
+
* find_mapping - Translate a symbol name between official/intermediary/yarn/mojmap
|
|
6
|
+
* remap_mod_jar - Remap a mod JAR using TinyRemapper (official → yarn or mojmap)
|
|
7
|
+
* get_parchment - Get Parchment parameter names + javadocs for a class
|
|
8
|
+
* list_parchment_versions - List available Parchment builds for a MC version
|
|
9
|
+
*/
|
|
10
|
+
import { translateSymbol, remapJar, getParchmentClass, listAvailableParchmentVersions, getParchmentData } from "../mappings.js";
|
|
11
|
+
import { assertJarPath } from "../security.js";
|
|
12
|
+
import { extname } from "path";
|
|
13
|
+
// ── find_mapping ──────────────────────────────────────────────────────────────
|
|
14
|
+
export async function findMapping(symbol, version, sourceNs, targetNs) {
|
|
15
|
+
const result = await translateSymbol(symbol, sourceNs, targetNs, version);
|
|
16
|
+
return result;
|
|
17
|
+
}
|
|
18
|
+
// ── remap_mod_jar ─────────────────────────────────────────────────────────────
|
|
19
|
+
export async function remapModJar(inputJar, outputJar, version, toMapping) {
|
|
20
|
+
assertJarPath(inputJar);
|
|
21
|
+
if (extname(outputJar).toLowerCase() !== ".jar") {
|
|
22
|
+
throw new Error("outputJar must have a .jar extension");
|
|
23
|
+
}
|
|
24
|
+
const result = await remapJar(inputJar, outputJar, version, toMapping);
|
|
25
|
+
return {
|
|
26
|
+
success: true,
|
|
27
|
+
inputJar,
|
|
28
|
+
outputJar: result.outputJar,
|
|
29
|
+
mcVersion: version,
|
|
30
|
+
mapping: toMapping,
|
|
31
|
+
note: result.note,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
// ── get_parchment ─────────────────────────────────────────────────────────────
|
|
35
|
+
export async function getParchment(className, mcVersion) {
|
|
36
|
+
const cls = await getParchmentClass(className, mcVersion);
|
|
37
|
+
if (!cls) {
|
|
38
|
+
return {
|
|
39
|
+
found: false,
|
|
40
|
+
className,
|
|
41
|
+
mcVersion,
|
|
42
|
+
message: `No Parchment data for ${className} in MC ${mcVersion}. Parchment may not have a build for this MC version yet, or the class may not have parameter names documented.`,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
found: true,
|
|
47
|
+
className: cls.name,
|
|
48
|
+
mcVersion,
|
|
49
|
+
javadoc: cls.javadoc,
|
|
50
|
+
methods: [...cls.methods.entries()].map(([key, m]) => ({
|
|
51
|
+
key,
|
|
52
|
+
name: m.name,
|
|
53
|
+
descriptor: m.descriptor,
|
|
54
|
+
javadoc: m.javadoc,
|
|
55
|
+
parameters: m.parameters,
|
|
56
|
+
})),
|
|
57
|
+
fields: [...cls.fields.entries()].map(([key, f]) => ({
|
|
58
|
+
key,
|
|
59
|
+
name: f.name,
|
|
60
|
+
javadoc: f.javadoc,
|
|
61
|
+
})),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
// ── list_parchment_versions ───────────────────────────────────────────────────
|
|
65
|
+
export async function listParchmentVersions(mcVersion) {
|
|
66
|
+
const versions = await listAvailableParchmentVersions(mcVersion);
|
|
67
|
+
return { mcVersion, availableBuilds: versions, count: versions.length };
|
|
68
|
+
}
|
|
69
|
+
// ── get_parchment_summary ─────────────────────────────────────────────────────
|
|
70
|
+
/** Return a summary of all parchment data for a version (class names + counts). */
|
|
71
|
+
export async function getParchmentSummary(mcVersion) {
|
|
72
|
+
const data = await getParchmentData(mcVersion);
|
|
73
|
+
if (!data) {
|
|
74
|
+
return { found: false, mcVersion, message: "No Parchment data available for this MC version." };
|
|
75
|
+
}
|
|
76
|
+
const classes = [...data.classes.entries()].map(([name, cls]) => ({
|
|
77
|
+
name,
|
|
78
|
+
methodCount: cls.methods.size,
|
|
79
|
+
fieldCount: cls.fields.size,
|
|
80
|
+
hasJavadoc: !!(cls.javadoc?.length),
|
|
81
|
+
paramCount: [...cls.methods.values()].reduce((s, m) => s + m.parameters.length, 0),
|
|
82
|
+
}));
|
|
83
|
+
return { found: true, mcVersion, classCount: classes.length, classes };
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=mappings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.js","sourceRoot":"","sources":["../../src/tools/mappings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* index_minecraft_version
|
|
3
|
+
* Reads the already-decompiled source tree and upserts every .java file
|
|
4
|
+
* into mc_source_files for FTS. Decompilation must have finished first
|
|
5
|
+
* (run decompile_minecraft_version and wait for status "done").
|
|
6
|
+
*/
|
|
7
|
+
export declare function indexMcVersion(version: string, force?: boolean): Promise<{
|
|
8
|
+
status: string;
|
|
9
|
+
indexed: number;
|
|
10
|
+
skipped: number;
|
|
11
|
+
}>;
|
|
12
|
+
/**
|
|
13
|
+
* search_mc_indexed
|
|
14
|
+
* Fast FTS search over indexed MC source. Supports:
|
|
15
|
+
* - Plain text / keyword queries (uses plainto_tsquery 'simple' config — no stemming)
|
|
16
|
+
* - Boolean: "Entity AND tick", "player OR entity", "hurt -damage"
|
|
17
|
+
* - Phrase: wrap in double-quotes passed as tsquery: '"onHurt"'
|
|
18
|
+
*/
|
|
19
|
+
export declare function searchMcIndexed(query: string, version: string, limit?: number): Promise<Array<{
|
|
20
|
+
className: string;
|
|
21
|
+
snippet: string;
|
|
22
|
+
}>>;
|
|
23
|
+
/**
|
|
24
|
+
* Returns true if the FTS index has been built for this MC version.
|
|
25
|
+
* Checks `indexed` flag on the McVersion row.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isMcVersionIndexed(version: string): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* index_mc_source_semantic
|
|
30
|
+
* Embeds MC source files for a version using Ollama. Processes files that have
|
|
31
|
+
* no embedding yet (safe to re-run / resume after interruption).
|
|
32
|
+
*
|
|
33
|
+
* Only embeds the first chunk (class header ~1500 chars) — enough for semantic
|
|
34
|
+
* class-level search without spending hours on full-file embedding.
|
|
35
|
+
*
|
|
36
|
+
* @param version MC version string e.g. "26.1.2"
|
|
37
|
+
* @param batchSize Files per batch (pause between batches to avoid OOM)
|
|
38
|
+
*/
|
|
39
|
+
export declare function indexMcSourceSemantic(version: string, batchSize?: number): Promise<{
|
|
40
|
+
status: string;
|
|
41
|
+
embedded: number;
|
|
42
|
+
skipped: number;
|
|
43
|
+
remaining: number;
|
|
44
|
+
}>;
|
|
45
|
+
/**
|
|
46
|
+
* search_mc_source_semantic
|
|
47
|
+
* Semantic (vector) search over embedded MC source files.
|
|
48
|
+
* Falls back to FTS if Ollama is unavailable.
|
|
49
|
+
*/
|
|
50
|
+
export declare function searchMcSourceSemantic(query: string, version: string, limit?: number, provenance?: string): Promise<Array<{
|
|
51
|
+
className: string;
|
|
52
|
+
similarity: number;
|
|
53
|
+
source: string;
|
|
54
|
+
}>>;
|
|
55
|
+
/**
|
|
56
|
+
* index_mod_source_fts
|
|
57
|
+
* Walks the decompiled source tree of a mod and upserts every .java file into
|
|
58
|
+
* mod_source_files. This populates both the PostgreSQL GIN index and the SQLite
|
|
59
|
+
* FTS5 virtual table (via triggers) — no Ollama required.
|
|
60
|
+
* Safe to re-run; already-indexed files are updated in-place.
|
|
61
|
+
*/
|
|
62
|
+
export declare function indexModSourceFts(dbId: number): Promise<{
|
|
63
|
+
status: string;
|
|
64
|
+
indexed: number;
|
|
65
|
+
skipped: number;
|
|
66
|
+
}>;
|
|
67
|
+
/**
|
|
68
|
+
* search_mod_source_indexed
|
|
69
|
+
* BM25-ranked FTS search over indexed mod source files.
|
|
70
|
+
* Works for any loader (fabric, neoforge, forge, quilt) — mods are filtered by dbId.
|
|
71
|
+
* Requires index_fts (or index_semantic) to have been run first.
|
|
72
|
+
*/
|
|
73
|
+
export declare function searchModSourceIndexed(dbId: number, query: string, limit?: number): Promise<Array<{
|
|
74
|
+
className: string;
|
|
75
|
+
snippet: string;
|
|
76
|
+
}>>;
|
|
77
|
+
/**
|
|
78
|
+
* index_mod_source_semantic
|
|
79
|
+
* Walks the decompiled source tree of a mod (by dbId), upserts each .java file
|
|
80
|
+
* into mod_source_files (also populates FTS index), then embeds each file in
|
|
81
|
+
* batches using Ollama.
|
|
82
|
+
*/
|
|
83
|
+
export declare function indexModSourceSemantic(dbId: number, batchSize?: number, maxFiles?: number): Promise<{
|
|
84
|
+
status: string;
|
|
85
|
+
indexed: number;
|
|
86
|
+
embedded: number;
|
|
87
|
+
skipped: number;
|
|
88
|
+
remaining: number;
|
|
89
|
+
error?: string;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* search_mod_source_semantic
|
|
93
|
+
* Semantic (vector) search over embedded mod source files for a given dbId.
|
|
94
|
+
*/
|
|
95
|
+
export declare function searchModSourceSemantic(query: string, dbId: number, limit?: number, provenance?: string): Promise<Array<{
|
|
96
|
+
className: string;
|
|
97
|
+
modId: string;
|
|
98
|
+
similarity: number;
|
|
99
|
+
source: string;
|
|
100
|
+
}>>;
|
|
101
|
+
//# sourceMappingURL=mc-fts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mc-fts.d.ts","sourceRoot":"","sources":["../../src/tools/mc-fts.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;IAC1E,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CACpD,CAAC,CA0CD;AAID;;;;;;GAMG;AACH,wBAAsB,eAAe,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,SAAK,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAMxD;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG1E;AAID;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACvC,OAAO,EAAE,MAAM,EACf,SAAS,SAAK,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAyCnF;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,SAAK,EACV,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAQ3E;AAID;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACnC,IAAI,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB/D;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CACxC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,SAAK,GACX,OAAO,CAAC,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAIxD;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CACxC,IAAI,EAAE,MAAM,EACZ,SAAS,SAAK,EACd,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoCpH;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CACzC,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,SAAK,EACV,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAc1F"}
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostgreSQL full-text search for vanilla Minecraft source.
|
|
3
|
+
* index_minecraft_version: walks a completed Vineflower decompile, stores
|
|
4
|
+
* source in the mc_source_files table.
|
|
5
|
+
* search_mc_indexed: runs a fast FTS query via to_tsvector('simple', content).
|
|
6
|
+
*
|
|
7
|
+
* The GIN index is created automatically by `npm run db:setup`.
|
|
8
|
+
* (scripts/create-fts-index.mjs — runs after prisma migrate deploy)
|
|
9
|
+
*/
|
|
10
|
+
import { readFile, readdir } from "fs/promises";
|
|
11
|
+
import { join, relative } from "path";
|
|
12
|
+
import { mcPaths } from "../minecraft.js";
|
|
13
|
+
import { isDecompileDone } from "../java-tools.js";
|
|
14
|
+
import { ensureMcVersion, findMcVersionById, findMcVersionByVersionId, updateMcVersion, upsertMcSourceFile, searchMcSourceFiles } from "../repositories/mcVersion.js";
|
|
15
|
+
import { findModById, upsertModSourceFile, findModSourceFilesUnembedded, countUnembeddedModSourceFiles, searchModSourceFiles } from "../repositories/mod.js";
|
|
16
|
+
import { embed, isOllamaAvailable, chunkText } from "../embeddings.js";
|
|
17
|
+
import { upsertSourceEmbedding, searchSourceByVector, countUnembedded, upsertModSourceEmbedding, searchModSourceByVector } from "../repositories/embeddings.js";
|
|
18
|
+
async function ensureMcVersionRecord(version) {
|
|
19
|
+
return ensureMcVersion(version);
|
|
20
|
+
}
|
|
21
|
+
/** Collect all .java file paths under a directory tree. */
|
|
22
|
+
async function collectJavaFiles(dir) {
|
|
23
|
+
const out = [];
|
|
24
|
+
const entries = await readdir(dir, { withFileTypes: true }).catch(() => []);
|
|
25
|
+
for (const e of entries) {
|
|
26
|
+
const full = join(dir, e.name);
|
|
27
|
+
if (e.isDirectory())
|
|
28
|
+
out.push(...await collectJavaFiles(full));
|
|
29
|
+
else if (e.name.endsWith(".java"))
|
|
30
|
+
out.push(full);
|
|
31
|
+
}
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* index_minecraft_version
|
|
36
|
+
* Reads the already-decompiled source tree and upserts every .java file
|
|
37
|
+
* into mc_source_files for FTS. Decompilation must have finished first
|
|
38
|
+
* (run decompile_minecraft_version and wait for status "done").
|
|
39
|
+
*/
|
|
40
|
+
export async function indexMcVersion(version, force = false) {
|
|
41
|
+
const outDir = mcPaths.decompiled(version);
|
|
42
|
+
const decompStatus = await isDecompileDone(outDir);
|
|
43
|
+
if (decompStatus !== "done") {
|
|
44
|
+
throw new Error(`MC ${version} decompile is not complete (status: ${decompStatus}). ` +
|
|
45
|
+
`Run decompile_minecraft_version("${version}") first.`);
|
|
46
|
+
}
|
|
47
|
+
const mcVersionId = await ensureMcVersionRecord(version);
|
|
48
|
+
if (!force) {
|
|
49
|
+
const existing = await findMcVersionById(mcVersionId);
|
|
50
|
+
if (existing?.indexed)
|
|
51
|
+
return { status: "already_indexed", indexed: 0, skipped: 0 };
|
|
52
|
+
}
|
|
53
|
+
const javaFiles = await collectJavaFiles(outDir);
|
|
54
|
+
let indexed = 0;
|
|
55
|
+
let skipped = 0;
|
|
56
|
+
// Batch upserts in chunks of 50 to avoid huge transactions
|
|
57
|
+
const BATCH = 50;
|
|
58
|
+
for (let i = 0; i < javaFiles.length; i += BATCH) {
|
|
59
|
+
const chunk = javaFiles.slice(i, i + BATCH);
|
|
60
|
+
for (const filePath of chunk) {
|
|
61
|
+
const relPath = relative(outDir, filePath);
|
|
62
|
+
// Convert path to internal class name: com/example/Foo.java → com/example/Foo
|
|
63
|
+
const className = relPath.replace(/\\/g, "/").replace(/\.java$/, "");
|
|
64
|
+
try {
|
|
65
|
+
const content = await readFile(filePath, "utf8");
|
|
66
|
+
await upsertMcSourceFile(mcVersionId, className, content);
|
|
67
|
+
indexed++;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
skipped++;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
await updateMcVersion(mcVersionId, { indexed: true });
|
|
75
|
+
return { status: "done", indexed, skipped };
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* search_mc_indexed
|
|
79
|
+
* Fast FTS search over indexed MC source. Supports:
|
|
80
|
+
* - Plain text / keyword queries (uses plainto_tsquery 'simple' config — no stemming)
|
|
81
|
+
* - Boolean: "Entity AND tick", "player OR entity", "hurt -damage"
|
|
82
|
+
* - Phrase: wrap in double-quotes passed as tsquery: '"onHurt"'
|
|
83
|
+
*/
|
|
84
|
+
export async function searchMcIndexed(query, version, limit = 20) {
|
|
85
|
+
const row = await findMcVersionByVersionId(version);
|
|
86
|
+
if (!row) {
|
|
87
|
+
throw new Error(`Version "${version}" is not in the database. Run index_minecraft_version("${version}") first.`);
|
|
88
|
+
}
|
|
89
|
+
return searchMcSourceFiles(row.id, query, limit);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Returns true if the FTS index has been built for this MC version.
|
|
93
|
+
* Checks `indexed` flag on the McVersion row.
|
|
94
|
+
*/
|
|
95
|
+
export async function isMcVersionIndexed(version) {
|
|
96
|
+
const row = await findMcVersionByVersionId(version);
|
|
97
|
+
return row?.indexed === true;
|
|
98
|
+
}
|
|
99
|
+
// ── Semantic indexing ─────────────────────────────────────────────────────────
|
|
100
|
+
/**
|
|
101
|
+
* index_mc_source_semantic
|
|
102
|
+
* Embeds MC source files for a version using Ollama. Processes files that have
|
|
103
|
+
* no embedding yet (safe to re-run / resume after interruption).
|
|
104
|
+
*
|
|
105
|
+
* Only embeds the first chunk (class header ~1500 chars) — enough for semantic
|
|
106
|
+
* class-level search without spending hours on full-file embedding.
|
|
107
|
+
*
|
|
108
|
+
* @param version MC version string e.g. "26.1.2"
|
|
109
|
+
* @param batchSize Files per batch (pause between batches to avoid OOM)
|
|
110
|
+
*/
|
|
111
|
+
export async function indexMcSourceSemantic(version, batchSize = 50) {
|
|
112
|
+
if (!await isOllamaAvailable()) {
|
|
113
|
+
throw new Error("Ollama is not available. Set OLLAMA_URL and ensure Ollama is running with `ollama pull nomic-embed-text`.");
|
|
114
|
+
}
|
|
115
|
+
const row = await findMcVersionByVersionId(version);
|
|
116
|
+
if (!row) {
|
|
117
|
+
throw new Error(`Version "${version}" is not in the database. Run index_minecraft_version("${version}") first.`);
|
|
118
|
+
}
|
|
119
|
+
const mcVersionId = row.id;
|
|
120
|
+
const remaining0 = await countUnembedded("mc_source_files", mcVersionId);
|
|
121
|
+
if (remaining0 === 0) {
|
|
122
|
+
return { status: "already_embedded", embedded: 0, skipped: 0, remaining: 0 };
|
|
123
|
+
}
|
|
124
|
+
// Fetch rows without embeddings in batches — always from offset 0
|
|
125
|
+
// so re-runs pick up any rows that failed in a previous pass
|
|
126
|
+
let embedded = 0;
|
|
127
|
+
let skipped = 0;
|
|
128
|
+
while (true) {
|
|
129
|
+
const { getDb } = await import("../db.js");
|
|
130
|
+
const _db = await getDb();
|
|
131
|
+
const batch = await _db.$queryRawUnsafe(`SELECT id, class_name, content FROM mc_source_files
|
|
132
|
+
WHERE mc_version_id = $1 AND embedding IS NULL
|
|
133
|
+
ORDER BY id LIMIT $2`, mcVersionId, batchSize);
|
|
134
|
+
if (!batch.length)
|
|
135
|
+
break;
|
|
136
|
+
for (const file of batch) {
|
|
137
|
+
try {
|
|
138
|
+
const chunkSize = parseInt(process.env.OLLAMA_EMBED_CHUNK ?? "500", 10);
|
|
139
|
+
const chunk = chunkText(file.content, chunkSize)[0];
|
|
140
|
+
const vec = await embed(chunk);
|
|
141
|
+
await upsertSourceEmbedding(file.id, vec);
|
|
142
|
+
embedded++;
|
|
143
|
+
}
|
|
144
|
+
catch {
|
|
145
|
+
skipped++;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
await new Promise(r => setTimeout(r, 50));
|
|
149
|
+
}
|
|
150
|
+
const remaining = await countUnembedded("mc_source_files", mcVersionId);
|
|
151
|
+
return { status: "done", embedded, skipped, remaining };
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* search_mc_source_semantic
|
|
155
|
+
* Semantic (vector) search over embedded MC source files.
|
|
156
|
+
* Falls back to FTS if Ollama is unavailable.
|
|
157
|
+
*/
|
|
158
|
+
export async function searchMcSourceSemantic(query, version, limit = 10, provenance) {
|
|
159
|
+
const row = await findMcVersionByVersionId(version);
|
|
160
|
+
if (!row) {
|
|
161
|
+
throw new Error(`Version "${version}" is not in the database. Run index_minecraft_version("${version}") first.`);
|
|
162
|
+
}
|
|
163
|
+
const vec = await embed(query);
|
|
164
|
+
const rows = await searchSourceByVector(vec, row.id, limit, provenance);
|
|
165
|
+
return rows.map(r => ({ className: r.class_name, similarity: Math.round(r.similarity * 1000) / 1000, source: r.embed_source ?? "local" }));
|
|
166
|
+
}
|
|
167
|
+
// ── Mod source semantic index / search ────────────────────────────────────────
|
|
168
|
+
/**
|
|
169
|
+
* index_mod_source_fts
|
|
170
|
+
* Walks the decompiled source tree of a mod and upserts every .java file into
|
|
171
|
+
* mod_source_files. This populates both the PostgreSQL GIN index and the SQLite
|
|
172
|
+
* FTS5 virtual table (via triggers) — no Ollama required.
|
|
173
|
+
* Safe to re-run; already-indexed files are updated in-place.
|
|
174
|
+
*/
|
|
175
|
+
export async function indexModSourceFts(dbId) {
|
|
176
|
+
const mod = await findModById(dbId);
|
|
177
|
+
if (!mod)
|
|
178
|
+
throw new Error(`Mod #${dbId} not found`);
|
|
179
|
+
if (!mod.decompPath)
|
|
180
|
+
throw new Error(`Mod #${dbId} has no decompiled source. Run mod decompile first.`);
|
|
181
|
+
const javaFiles = await collectJavaFiles(mod.decompPath);
|
|
182
|
+
let indexed = 0;
|
|
183
|
+
let skipped = 0;
|
|
184
|
+
const BATCH = 50;
|
|
185
|
+
for (let i = 0; i < javaFiles.length; i += BATCH) {
|
|
186
|
+
for (const filePath of javaFiles.slice(i, i + BATCH)) {
|
|
187
|
+
const relPath = relative(mod.decompPath, filePath);
|
|
188
|
+
const className = relPath.replace(/\\/g, "/").replace(/\.java$/, "");
|
|
189
|
+
try {
|
|
190
|
+
const content = await readFile(filePath, "utf8");
|
|
191
|
+
await upsertModSourceFile(dbId, className, content);
|
|
192
|
+
indexed++;
|
|
193
|
+
}
|
|
194
|
+
catch {
|
|
195
|
+
skipped++;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
return { status: "done", indexed, skipped };
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* search_mod_source_indexed
|
|
203
|
+
* BM25-ranked FTS search over indexed mod source files.
|
|
204
|
+
* Works for any loader (fabric, neoforge, forge, quilt) — mods are filtered by dbId.
|
|
205
|
+
* Requires index_fts (or index_semantic) to have been run first.
|
|
206
|
+
*/
|
|
207
|
+
export async function searchModSourceIndexed(dbId, query, limit = 20) {
|
|
208
|
+
const mod = await findModById(dbId);
|
|
209
|
+
if (!mod)
|
|
210
|
+
throw new Error(`Mod #${dbId} not found`);
|
|
211
|
+
return searchModSourceFiles(dbId, query, limit);
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* index_mod_source_semantic
|
|
215
|
+
* Walks the decompiled source tree of a mod (by dbId), upserts each .java file
|
|
216
|
+
* into mod_source_files (also populates FTS index), then embeds each file in
|
|
217
|
+
* batches using Ollama.
|
|
218
|
+
*/
|
|
219
|
+
export async function indexModSourceSemantic(dbId, batchSize = 50, maxFiles) {
|
|
220
|
+
if (!await isOllamaAvailable()) {
|
|
221
|
+
throw new Error("Ollama is not available. Set OLLAMA_URL and ensure Ollama is running with `ollama pull nomic-embed-text`.");
|
|
222
|
+
}
|
|
223
|
+
// Reuse FTS indexer for the file-walk step (also populates FTS index)
|
|
224
|
+
const { indexed, skipped: walkSkipped } = await indexModSourceFts(dbId);
|
|
225
|
+
// Embed in batches — always fetch from offset 0 so we never skip
|
|
226
|
+
// unembedded rows that were inserted after a previous failed run
|
|
227
|
+
let embedded = 0;
|
|
228
|
+
let embedSkipped = 0;
|
|
229
|
+
let firstError = "";
|
|
230
|
+
const cap = maxFiles ?? Infinity;
|
|
231
|
+
while (embedded + embedSkipped < cap) {
|
|
232
|
+
const batch = await findModSourceFilesUnembedded(dbId, Math.min(batchSize, cap - embedded - embedSkipped), 0);
|
|
233
|
+
if (!batch.length)
|
|
234
|
+
break;
|
|
235
|
+
for (const file of batch) {
|
|
236
|
+
if (embedded + embedSkipped >= cap)
|
|
237
|
+
break;
|
|
238
|
+
try {
|
|
239
|
+
const chunkSize = parseInt(process.env.OLLAMA_EMBED_CHUNK ?? "500", 10);
|
|
240
|
+
const chunk = chunkText(file.content, chunkSize)[0];
|
|
241
|
+
const vec = await embed(chunk);
|
|
242
|
+
await upsertModSourceEmbedding(file.id, vec);
|
|
243
|
+
embedded++;
|
|
244
|
+
}
|
|
245
|
+
catch (err) {
|
|
246
|
+
embedSkipped++;
|
|
247
|
+
if (!firstError)
|
|
248
|
+
firstError = err instanceof Error ? err.message : String(err);
|
|
249
|
+
if (embedded + embedSkipped <= 3) {
|
|
250
|
+
console.error(`[embed] skip ${file.id}: ${err instanceof Error ? err.message : err}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
await new Promise(r => setTimeout(r, 50));
|
|
255
|
+
}
|
|
256
|
+
const remaining = await countUnembeddedModSourceFiles(dbId);
|
|
257
|
+
return { status: "done", indexed, embedded, skipped: walkSkipped + embedSkipped, remaining, ...(firstError ? { error: firstError } : {}) };
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* search_mod_source_semantic
|
|
261
|
+
* Semantic (vector) search over embedded mod source files for a given dbId.
|
|
262
|
+
*/
|
|
263
|
+
export async function searchModSourceSemantic(query, dbId, limit = 10, provenance) {
|
|
264
|
+
if (!await isOllamaAvailable()) {
|
|
265
|
+
throw new Error("Ollama is not available. Set OLLAMA_URL and ensure Ollama is running with `ollama pull nomic-embed-text`.");
|
|
266
|
+
}
|
|
267
|
+
const mod = await findModById(dbId);
|
|
268
|
+
if (!mod)
|
|
269
|
+
throw new Error(`Mod #${dbId} not found`);
|
|
270
|
+
const vec = await embed(query);
|
|
271
|
+
const rows = await searchModSourceByVector(vec, dbId, limit, provenance);
|
|
272
|
+
return rows.map(r => ({
|
|
273
|
+
className: r.class_name,
|
|
274
|
+
modId: mod.modId,
|
|
275
|
+
similarity: Math.round(r.similarity * 1000) / 1000,
|
|
276
|
+
source: r.embed_source ?? "local",
|
|
277
|
+
}));
|
|
278
|
+
}
|
|
279
|
+
//# sourceMappingURL=mc-fts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mc-fts.js","sourceRoot":"","sources":["../../src/tools/mc-fts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** List all available Minecraft versions from the summary branch. */
|
|
2
|
+
export declare function getMcmetaVersions(filter?: "release" | "snapshot" | "all"): Promise<object>;
|
|
3
|
+
/** Get block state properties and defaults for a MC version. */
|
|
4
|
+
export declare function getMcBlocks(version?: string): Promise<object>;
|
|
5
|
+
/** Get the Brigadier command tree for a MC version. */
|
|
6
|
+
export declare function getMcCommands(version?: string): Promise<object>;
|
|
7
|
+
/** Get registry list (summary) or a specific registry's entries. */
|
|
8
|
+
export declare function getMcRegistries(version?: string, registry?: string): Promise<object>;
|
|
9
|
+
/** Get sounds.json for a MC version. */
|
|
10
|
+
export declare function getMcSounds(version?: string): Promise<object>;
|
|
11
|
+
/** Get item component definitions for a MC version. */
|
|
12
|
+
export declare function getMcItemComponents(version?: string): Promise<object>;
|
|
13
|
+
/** Get or list files from the data/data-json branch (vanilla datapack). */
|
|
14
|
+
export declare function getMcDataFile(filePath: string, version?: string, jsonOnly?: boolean): Promise<object>;
|
|
15
|
+
/** Get or download a file from the assets branch. Binary files (png, ogg) return cached path. */
|
|
16
|
+
export declare function getMcAssetFile(filePath: string, version?: string, jsonOnly?: boolean): Promise<object>;
|
|
17
|
+
/** List files within a directory on a specific branch/version by reading cache or using the GitHub tree API. */
|
|
18
|
+
export declare function listMcDataFiles(dirPath: string, version: string, branch: string): Promise<object>;
|
|
19
|
+
/** Compare a data/asset file between two MC versions using the diff branch. */
|
|
20
|
+
export declare function diffMcData(filePath: string, versionA: string, versionB: string, branch?: string): Promise<object>;
|
|
21
|
+
/** Get texture atlas data from the atlas branch. */
|
|
22
|
+
export declare function getMcAtlas(version?: string, atlas?: string): Promise<object>;
|
|
23
|
+
/** Fetch any arbitrary file from mcmeta by specifying the full ref and path. */
|
|
24
|
+
export declare function getMcmetaRaw(ref: string, filePath: string): Promise<object>;
|
|
25
|
+
/** Get registry entries from the dedicated registries branch for a specific registry. */
|
|
26
|
+
export declare function getRegistryEntries(registry: string, version?: string): Promise<object>;
|
|
27
|
+
/**
|
|
28
|
+
* Compare two Minecraft versions using the GitHub compare API on the given branch.
|
|
29
|
+
* Returns the list of files added, modified, and removed between the two versions.
|
|
30
|
+
* Results are cached to ~/.modlens-cache/mcmeta/compare/{versionA}..{versionB}/{branch}.json
|
|
31
|
+
*/
|
|
32
|
+
export declare function compareVersions(versionA: string, versionB: string, branch?: string): Promise<object>;
|
|
33
|
+
/**
|
|
34
|
+
* Get the list of files changed in a specific Minecraft version
|
|
35
|
+
* by comparing it to its parent commit in the given branch.
|
|
36
|
+
*
|
|
37
|
+
* Uses the GitHub commits API to fetch the diff for the version's commit.
|
|
38
|
+
* Results are cached to ~/.modlens-cache/mcmeta/changelog/{version}/{branch}.json
|
|
39
|
+
*/
|
|
40
|
+
export declare function getVersionChangelog(version: string, branch?: string): Promise<object>;
|
|
41
|
+
//# sourceMappingURL=mcmeta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcmeta.d.ts","sourceRoot":"","sources":["../../src/tools/mcmeta.ts"],"names":[],"mappings":"AAqFA,qEAAqE;AACrE,wBAAsB,iBAAiB,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAShG;AAED,gEAAgE;AAChE,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,uDAAuD;AACvD,wBAAsB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIrE;AAED,oEAAoE;AACpE,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAkB1F;AAED,wCAAwC;AACxC,wBAAsB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE;AAED,uDAAuD;AACvD,wBAAsB,mBAAmB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3E;AAED,2EAA2E;AAC3E,wBAAsB,aAAa,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,iGAAiG;AACjG,wBAAsB,cAAc,CAChC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,QAAQ,UAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAED,gHAAgH;AAChH,wBAAsB,eAAe,CACjC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CA8BjB;AAED,+EAA+E;AAC/E,wBAAsB,UAAU,CAC5B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAS,GAChB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,oDAAoD;AACpD,wBAAsB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAalF;AAED,gFAAgF;AAChF,wBAAsB,YAAY,CAC9B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,yFAAyF;AACzF,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB5F;AAID;;;;GAIG;AACH,wBAAsB,eAAe,CACjC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,SAAS,GAChB,OAAO,CAAC,MAAM,CAAC,CA0CjB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACrC,OAAO,EAAE,MAAM,EACf,MAAM,SAAS,GAChB,OAAO,CAAC,MAAM,CAAC,CAsCjB"}
|