@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":"mappings.js","sourceRoot":"","sources":["../src/mappings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.test.d.ts","sourceRoot":"","sources":["../src/mappings.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { describe, it, expect, beforeAll } from "vitest";
|
|
2
|
+
import { parseTinyV2, lookupInIndex, hasSrgMappings, hasRetroMcpMappings } from "./mappings.js";
|
|
3
|
+
const FIXTURE_TINY = [
|
|
4
|
+
"tiny\t2\t0\tofficial\tintermediary",
|
|
5
|
+
"c\tnet/minecraft/world/World\tnet/minecraft/class_234",
|
|
6
|
+
"\tf\tI\tfield_1234\tfield_1234_",
|
|
7
|
+
"\tm\t()V\tmethod_1234\tmethod_1234_",
|
|
8
|
+
"c\tnet/minecraft/entity/Entity\tnet/minecraft/class_100",
|
|
9
|
+
"\tm\t(Ljava/lang/String;)Z\tmethod_5678\tmethod_5678_",
|
|
10
|
+
].join("\n");
|
|
11
|
+
// ── parseTinyV2 ────────────────────────────────────────────────────────────
|
|
12
|
+
describe("parseTinyV2", () => {
|
|
13
|
+
it("reads namespace headers from first line", () => {
|
|
14
|
+
const idx = parseTinyV2(FIXTURE_TINY);
|
|
15
|
+
expect(idx.ns[0]).toBe("official");
|
|
16
|
+
expect(idx.ns[1]).toBe("intermediary");
|
|
17
|
+
});
|
|
18
|
+
it("maps official class name to intermediary name", () => {
|
|
19
|
+
const idx = parseTinyV2(FIXTURE_TINY);
|
|
20
|
+
expect(idx.classes.get("net/minecraft/world/World")).toBe("net/minecraft/class_234");
|
|
21
|
+
expect(idx.classes.get("net/minecraft/entity/Entity")).toBe("net/minecraft/class_100");
|
|
22
|
+
});
|
|
23
|
+
it("maps method key 'name+descriptor' within the correct class", () => {
|
|
24
|
+
const idx = parseTinyV2(FIXTURE_TINY);
|
|
25
|
+
const worldMethods = idx.methods.get("net/minecraft/world/World");
|
|
26
|
+
expect(worldMethods).toBeDefined();
|
|
27
|
+
expect(worldMethods.get("method_1234()V")).toBe("method_1234_");
|
|
28
|
+
});
|
|
29
|
+
it("maps field key 'name:descriptor' within the correct class", () => {
|
|
30
|
+
const idx = parseTinyV2(FIXTURE_TINY);
|
|
31
|
+
const worldFields = idx.fields.get("net/minecraft/world/World");
|
|
32
|
+
expect(worldFields).toBeDefined();
|
|
33
|
+
expect(worldFields.get("field_1234:I")).toBe("field_1234_");
|
|
34
|
+
});
|
|
35
|
+
it("handles class with no fields or methods", () => {
|
|
36
|
+
const tiny = "tiny\t2\t0\tofficial\tintermediary\nc\tnet/minecraft/A\tnet/minecraft/class_1";
|
|
37
|
+
const idx = parseTinyV2(tiny);
|
|
38
|
+
expect(idx.classes.get("net/minecraft/A")).toBe("net/minecraft/class_1");
|
|
39
|
+
expect(idx.methods.get("net/minecraft/A")).toBeDefined();
|
|
40
|
+
expect(idx.methods.get("net/minecraft/A").size).toBe(0);
|
|
41
|
+
});
|
|
42
|
+
it("ignores comment lines starting with #", () => {
|
|
43
|
+
const tiny = [
|
|
44
|
+
"tiny\t2\t0\tofficial\tintermediary",
|
|
45
|
+
"# this is a comment",
|
|
46
|
+
"c\tnet/minecraft/A\tnet/minecraft/class_1",
|
|
47
|
+
].join("\n");
|
|
48
|
+
const idx = parseTinyV2(tiny);
|
|
49
|
+
expect(idx.classes.size).toBe(1);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
// ── lookupInIndex — forward ────────────────────────────────────────────────
|
|
53
|
+
describe("lookupInIndex — forward (official → intermediary)", () => {
|
|
54
|
+
let idx;
|
|
55
|
+
beforeAll(() => { idx = parseTinyV2(FIXTURE_TINY); });
|
|
56
|
+
it("finds a class by official name", () => {
|
|
57
|
+
const r = lookupInIndex(idx, "net/minecraft/world/World", false);
|
|
58
|
+
expect(r.found).toBe(true);
|
|
59
|
+
expect(r.target).toBe("net/minecraft/class_234");
|
|
60
|
+
expect(r.type).toBe("class");
|
|
61
|
+
});
|
|
62
|
+
it("finds a method by name only (no descriptor)", () => {
|
|
63
|
+
const r = lookupInIndex(idx, "method_1234", false);
|
|
64
|
+
expect(r.found).toBe(true);
|
|
65
|
+
expect(r.target).toBe("method_1234_");
|
|
66
|
+
expect(r.type).toBe("method");
|
|
67
|
+
});
|
|
68
|
+
it("finds a field by name", () => {
|
|
69
|
+
const r = lookupInIndex(idx, "field_1234", false);
|
|
70
|
+
expect(r.found).toBe(true);
|
|
71
|
+
expect(r.target).toBe("field_1234_");
|
|
72
|
+
expect(r.type).toBe("field");
|
|
73
|
+
});
|
|
74
|
+
it("returns found=false for unknown symbol", () => {
|
|
75
|
+
const r = lookupInIndex(idx, "nonexistent_method", false);
|
|
76
|
+
expect(r.found).toBe(false);
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
// ── lookupInIndex — reverse ────────────────────────────────────────────────
|
|
80
|
+
describe("lookupInIndex — reverse (intermediary → official)", () => {
|
|
81
|
+
let idx;
|
|
82
|
+
beforeAll(() => { idx = parseTinyV2(FIXTURE_TINY); });
|
|
83
|
+
it("reverse-finds a class by intermediary name", () => {
|
|
84
|
+
const r = lookupInIndex(idx, "net/minecraft/class_234", true);
|
|
85
|
+
expect(r.found).toBe(true);
|
|
86
|
+
expect(r.target).toBe("net/minecraft/world/World");
|
|
87
|
+
expect(r.type).toBe("class");
|
|
88
|
+
});
|
|
89
|
+
it("reverse-finds a method by intermediary name", () => {
|
|
90
|
+
const r = lookupInIndex(idx, "method_1234_", true);
|
|
91
|
+
expect(r.found).toBe(true);
|
|
92
|
+
expect(r.type).toBe("method");
|
|
93
|
+
});
|
|
94
|
+
it("reverse-finds a field by intermediary name", () => {
|
|
95
|
+
const r = lookupInIndex(idx, "field_1234_", true);
|
|
96
|
+
expect(r.found).toBe(true);
|
|
97
|
+
expect(r.type).toBe("field");
|
|
98
|
+
});
|
|
99
|
+
it("returns found=false for unknown reverse symbol", () => {
|
|
100
|
+
const r = lookupInIndex(idx, "class_9999_unknown", true);
|
|
101
|
+
expect(r.found).toBe(false);
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
// ── hasSrgMappings ─────────────────────────────────────────────────────────
|
|
105
|
+
describe("hasSrgMappings", () => {
|
|
106
|
+
it("returns true for known SRG versions", () => {
|
|
107
|
+
expect(hasSrgMappings("1.7.10")).toBe(true);
|
|
108
|
+
expect(hasSrgMappings("1.8")).toBe(true);
|
|
109
|
+
expect(hasSrgMappings("1.8.9")).toBe(true);
|
|
110
|
+
expect(hasSrgMappings("1.12.2")).toBe(true);
|
|
111
|
+
expect(hasSrgMappings("1.10.2")).toBe(true);
|
|
112
|
+
expect(hasSrgMappings("1.9.2")).toBe(true);
|
|
113
|
+
expect(hasSrgMappings("1.10")).toBe(true);
|
|
114
|
+
expect(hasSrgMappings("1.11.1")).toBe(true);
|
|
115
|
+
expect(hasSrgMappings("1.13")).toBe(true);
|
|
116
|
+
expect(hasSrgMappings("1.14.4")).toBe(true);
|
|
117
|
+
expect(hasSrgMappings("1.15")).toBe(true);
|
|
118
|
+
});
|
|
119
|
+
it("returns false for post-MCP and newer versions", () => {
|
|
120
|
+
expect(hasSrgMappings("1.15.1")).toBe(false);
|
|
121
|
+
expect(hasSrgMappings("1.16.5")).toBe(false);
|
|
122
|
+
expect(hasSrgMappings("1.20.1")).toBe(false);
|
|
123
|
+
expect(hasSrgMappings("26.1.2")).toBe(false);
|
|
124
|
+
});
|
|
125
|
+
it("returns false for versions without SRG", () => {
|
|
126
|
+
expect(hasSrgMappings("1.6.4")).toBe(false);
|
|
127
|
+
expect(hasSrgMappings("1.5.2")).toBe(false);
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
// ── hasRetroMcpMappings ────────────────────────────────────────────────────
|
|
131
|
+
describe("hasRetroMcpMappings", () => {
|
|
132
|
+
it("returns true for known RetroMCP release versions", () => {
|
|
133
|
+
expect(hasRetroMcpMappings("1.5.2")).toBe(true);
|
|
134
|
+
expect(hasRetroMcpMappings("1.2.5")).toBe(true);
|
|
135
|
+
expect(hasRetroMcpMappings("1.1")).toBe(true);
|
|
136
|
+
expect(hasRetroMcpMappings("1.0")).toBe(true);
|
|
137
|
+
});
|
|
138
|
+
it("returns true for known RetroMCP beta versions", () => {
|
|
139
|
+
expect(hasRetroMcpMappings("b1.8.1")).toBe(true);
|
|
140
|
+
expect(hasRetroMcpMappings("b1.7.3")).toBe(true);
|
|
141
|
+
expect(hasRetroMcpMappings("b1.6")).toBe(true);
|
|
142
|
+
});
|
|
143
|
+
it("returns true for known RetroMCP alpha versions", () => {
|
|
144
|
+
expect(hasRetroMcpMappings("a1.2.6")).toBe(true);
|
|
145
|
+
expect(hasRetroMcpMappings("a1.0.4")).toBe(true);
|
|
146
|
+
});
|
|
147
|
+
it("returns false for versions without RetroMCP mappings", () => {
|
|
148
|
+
expect(hasRetroMcpMappings("1.7.10")).toBe(false);
|
|
149
|
+
expect(hasRetroMcpMappings("1.6.4")).toBe(false);
|
|
150
|
+
expect(hasRetroMcpMappings("1.20.1")).toBe(false);
|
|
151
|
+
expect(hasRetroMcpMappings("26.1.2")).toBe(false);
|
|
152
|
+
});
|
|
153
|
+
it("does not overlap with SRG versions", () => {
|
|
154
|
+
// No version should be in both sets
|
|
155
|
+
const retroVersions = ["1.5.2", "1.2.5", "1.1", "1.0", "b1.8.1", "a1.2.6"];
|
|
156
|
+
for (const v of retroVersions) {
|
|
157
|
+
expect(hasSrgMappings(v)).toBe(false);
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
});
|
|
161
|
+
//# sourceMappingURL=mappings.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappings.test.js","sourceRoot":"","sources":["../src/mappings.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Versions with SRG/MCP mappings that we explicitly support even before 1.14 */
|
|
2
|
+
export declare const LEGACY_SRG_VERSIONS: Set<string>;
|
|
3
|
+
/** Pre-1.7.10 release versions with RetroMCP Tiny v2 mappings */
|
|
4
|
+
export declare const LEGACY_RETROMCP_VERSIONS: Set<string>;
|
|
5
|
+
export interface McVersionEntry {
|
|
6
|
+
id: string;
|
|
7
|
+
type: "release" | "snapshot" | "old_beta" | "old_alpha";
|
|
8
|
+
url: string;
|
|
9
|
+
releaseTime: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function fetchMcVersionList(includeSnapshots?: boolean): Promise<McVersionEntry[]>;
|
|
12
|
+
/** Paths under ~/.modlens-cache for vanilla MC assets. */
|
|
13
|
+
export declare const mcPaths: {
|
|
14
|
+
jar: (version: string) => string;
|
|
15
|
+
index: (version: string) => string;
|
|
16
|
+
decompiled: (version: string) => string;
|
|
17
|
+
classFile: (version: string, className: string) => string;
|
|
18
|
+
};
|
|
19
|
+
/** Download the MC client JAR for a version if not cached, return local path. */
|
|
20
|
+
export declare function getMcJarPath(version: string): Promise<string>;
|
|
21
|
+
//# sourceMappingURL=minecraft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minecraft.d.ts","sourceRoot":"","sources":["../src/minecraft.ts"],"names":[],"mappings":"AAYA,iFAAiF;AACjF,eAAO,MAAM,mBAAmB,aAQ9B,CAAC;AAEH,iEAAiE;AACjE,eAAO,MAAM,wBAAwB,aAKnC,CAAC;AAEH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACvB;AAID,wBAAsB,kBAAkB,CAAC,gBAAgB,UAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAc5F;AAED,0DAA0D;AAC1D,eAAO,MAAM,OAAO;mBACQ,MAAM;qBACN,MAAM;0BACN,MAAM;yBACN,MAAM,aAAa,MAAM;CAEpD,CAAC;AAEF,iFAAiF;AACjF,wBAAsB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBnE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vanilla Minecraft JAR download + version listing.
|
|
3
|
+
* Adapted from mcsrc-mcp's mojang.ts — uses modlens's CACHE_ROOT.
|
|
4
|
+
*/
|
|
5
|
+
import { createWriteStream } from "fs";
|
|
6
|
+
import { pipeline } from "stream/promises";
|
|
7
|
+
import { join } from "path";
|
|
8
|
+
import { CACHE_ROOT, ensureDir, exists } from "./cache.js";
|
|
9
|
+
import { fetchWithRetry, DOWNLOAD_OPTS } from "./fetch-utils.js";
|
|
10
|
+
const VERSIONS_URL = "https://piston-meta.mojang.com/mc/game/version_manifest_v2.json";
|
|
11
|
+
/** Versions with SRG/MCP mappings that we explicitly support even before 1.14 */
|
|
12
|
+
export const LEGACY_SRG_VERSIONS = new Set([
|
|
13
|
+
"1.7.10",
|
|
14
|
+
"1.8", "1.8.8", "1.8.9",
|
|
15
|
+
"1.9", "1.9.2", "1.9.4",
|
|
16
|
+
"1.10", "1.10.2",
|
|
17
|
+
"1.11", "1.11.1", "1.11.2",
|
|
18
|
+
"1.12", "1.12.1", "1.12.2",
|
|
19
|
+
"1.13", "1.13.1", "1.13.2",
|
|
20
|
+
]);
|
|
21
|
+
/** Pre-1.7.10 release versions with RetroMCP Tiny v2 mappings */
|
|
22
|
+
export const LEGACY_RETROMCP_VERSIONS = new Set([
|
|
23
|
+
"1.5.2",
|
|
24
|
+
"1.2.5", "1.2.4", "1.2.3",
|
|
25
|
+
"1.1",
|
|
26
|
+
"1.0",
|
|
27
|
+
]);
|
|
28
|
+
let manifestCache = null;
|
|
29
|
+
export async function fetchMcVersionList(includeSnapshots = false) {
|
|
30
|
+
if (!manifestCache) {
|
|
31
|
+
const res = await fetchWithRetry(VERSIONS_URL);
|
|
32
|
+
if (!res.ok)
|
|
33
|
+
throw new Error(`Failed to fetch MC version manifest: ${res.status}`);
|
|
34
|
+
const data = await res.json();
|
|
35
|
+
// Filter to 1.14+ (mojmap era) plus legacy SRG versions (1.7.10–1.12.2) plus RetroMCP versions
|
|
36
|
+
manifestCache = data.versions.filter((v) => v.type !== "old_beta" && v.type !== "old_alpha" &&
|
|
37
|
+
(new Date(v.releaseTime) >= new Date("2019-04-23") || LEGACY_SRG_VERSIONS.has(v.id) || LEGACY_RETROMCP_VERSIONS.has(v.id)));
|
|
38
|
+
}
|
|
39
|
+
return includeSnapshots
|
|
40
|
+
? manifestCache
|
|
41
|
+
: manifestCache.filter((v) => v.type === "release");
|
|
42
|
+
}
|
|
43
|
+
/** Paths under ~/.modlens-cache for vanilla MC assets. */
|
|
44
|
+
export const mcPaths = {
|
|
45
|
+
jar: (version) => join(CACHE_ROOT, "mc-jars", `${version}.jar`),
|
|
46
|
+
index: (version) => join(CACHE_ROOT, "mc-index", `${version}.json`),
|
|
47
|
+
decompiled: (version) => join(CACHE_ROOT, "mc-decompiled", version),
|
|
48
|
+
classFile: (version, className) => join(CACHE_ROOT, "mc-decompiled", version, `${className}.java`),
|
|
49
|
+
};
|
|
50
|
+
/** Download the MC client JAR for a version if not cached, return local path. */
|
|
51
|
+
export async function getMcJarPath(version) {
|
|
52
|
+
const jarPath = mcPaths.jar(version);
|
|
53
|
+
if (await exists(jarPath))
|
|
54
|
+
return jarPath;
|
|
55
|
+
const versions = await fetchMcVersionList(true);
|
|
56
|
+
const entry = versions.find((v) => v.id === version);
|
|
57
|
+
if (!entry)
|
|
58
|
+
throw new Error(`Unknown Minecraft version: ${version}. Use list_mc_versions to see valid IDs.`);
|
|
59
|
+
const manifestRes = await fetchWithRetry(entry.url);
|
|
60
|
+
if (!manifestRes.ok)
|
|
61
|
+
throw new Error(`Failed to fetch manifest for ${version}: ${manifestRes.status}`);
|
|
62
|
+
const manifest = await manifestRes.json();
|
|
63
|
+
await ensureDir(jarPath);
|
|
64
|
+
const jarRes = await fetchWithRetry(manifest.downloads.client.url, undefined, DOWNLOAD_OPTS);
|
|
65
|
+
if (!jarRes.ok || !jarRes.body)
|
|
66
|
+
throw new Error(`Failed to download MC JAR for ${version}: ${jarRes.status}`);
|
|
67
|
+
await pipeline(jarRes.body, createWriteStream(jarPath));
|
|
68
|
+
return jarPath;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=minecraft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minecraft.js","sourceRoot":"","sources":["../src/minecraft.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
export declare const FTBAPI = "https://api.modpacks.ch/public";
|
|
2
|
+
/** User-Agent as requested by the modpacks.ch (CreeperHost) team for usage tracking. */
|
|
3
|
+
export declare const USER_AGENT = "modlens-mcp/1.0 (github.com/CreeperHost/modlens-mcp)";
|
|
4
|
+
export interface FtbArt {
|
|
5
|
+
id: number;
|
|
6
|
+
url: string;
|
|
7
|
+
type: string;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
compressed: boolean;
|
|
11
|
+
sha1: string;
|
|
12
|
+
size: number;
|
|
13
|
+
updated: number;
|
|
14
|
+
}
|
|
15
|
+
export interface FtbLink {
|
|
16
|
+
id: number;
|
|
17
|
+
name: string;
|
|
18
|
+
link: string;
|
|
19
|
+
type: string;
|
|
20
|
+
}
|
|
21
|
+
export interface FtbTag {
|
|
22
|
+
id: number;
|
|
23
|
+
name: string;
|
|
24
|
+
}
|
|
25
|
+
export interface FtbAuthor {
|
|
26
|
+
id: number;
|
|
27
|
+
name: string;
|
|
28
|
+
type: string;
|
|
29
|
+
updated: number;
|
|
30
|
+
website: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A single version/file entry inside GET /mod/{id}.
|
|
34
|
+
* Contains full file metadata and CDN download URL — no CF API key required.
|
|
35
|
+
*/
|
|
36
|
+
export interface FtbModVersion {
|
|
37
|
+
id: number;
|
|
38
|
+
name: string;
|
|
39
|
+
version: string;
|
|
40
|
+
type: string;
|
|
41
|
+
path: string;
|
|
42
|
+
url: string;
|
|
43
|
+
mirrors: string[];
|
|
44
|
+
sha1: string;
|
|
45
|
+
size: number;
|
|
46
|
+
clientonly: boolean;
|
|
47
|
+
updated: number;
|
|
48
|
+
targets: FtbTarget[];
|
|
49
|
+
dependencies: FtbModDependency[];
|
|
50
|
+
}
|
|
51
|
+
export interface FtbModDependency {
|
|
52
|
+
id: number | string;
|
|
53
|
+
name: string;
|
|
54
|
+
type: string;
|
|
55
|
+
version?: string;
|
|
56
|
+
updated: number;
|
|
57
|
+
}
|
|
58
|
+
/** Response from GET /mod/{id} */
|
|
59
|
+
export interface FtbMod {
|
|
60
|
+
id: number | string;
|
|
61
|
+
name: string;
|
|
62
|
+
synopsis: string;
|
|
63
|
+
art: FtbArt[];
|
|
64
|
+
links: FtbLink[];
|
|
65
|
+
versions: FtbModVersion[];
|
|
66
|
+
installs: number;
|
|
67
|
+
plays: number;
|
|
68
|
+
status: string;
|
|
69
|
+
updated: number;
|
|
70
|
+
refreshed: number;
|
|
71
|
+
}
|
|
72
|
+
/** Response from GET /mod/search/{limit}?term={q} */
|
|
73
|
+
export interface FtbModSearchResult {
|
|
74
|
+
mods: (number | string)[];
|
|
75
|
+
total: number;
|
|
76
|
+
limit: number;
|
|
77
|
+
term: string;
|
|
78
|
+
}
|
|
79
|
+
export interface FtbPackVersionRef {
|
|
80
|
+
id: number;
|
|
81
|
+
name: string;
|
|
82
|
+
type: string;
|
|
83
|
+
updated: number;
|
|
84
|
+
targets: FtbTarget[];
|
|
85
|
+
}
|
|
86
|
+
export interface FtbTarget {
|
|
87
|
+
id: number;
|
|
88
|
+
name: string;
|
|
89
|
+
version: string;
|
|
90
|
+
type: string;
|
|
91
|
+
updated: number;
|
|
92
|
+
}
|
|
93
|
+
/** Response from GET /modpack/{id} */
|
|
94
|
+
export interface FtbPack {
|
|
95
|
+
id: number;
|
|
96
|
+
name: string;
|
|
97
|
+
synopsis: string;
|
|
98
|
+
description: string;
|
|
99
|
+
art: FtbArt[];
|
|
100
|
+
links: FtbLink[];
|
|
101
|
+
authors: FtbAuthor[];
|
|
102
|
+
versions: FtbPackVersionRef[];
|
|
103
|
+
installs: number;
|
|
104
|
+
plays: number;
|
|
105
|
+
tags: FtbTag[];
|
|
106
|
+
status: string;
|
|
107
|
+
provider: string;
|
|
108
|
+
updated: number;
|
|
109
|
+
rating: {
|
|
110
|
+
id: number;
|
|
111
|
+
likes: number;
|
|
112
|
+
dislikes: number;
|
|
113
|
+
stars: number;
|
|
114
|
+
reviews: number;
|
|
115
|
+
} | null;
|
|
116
|
+
}
|
|
117
|
+
/** Response from GET /modpack/search/{limit}?term={q} */
|
|
118
|
+
export interface FtbPackSearchResult {
|
|
119
|
+
packs: number[];
|
|
120
|
+
curseforge?: number[];
|
|
121
|
+
total: number;
|
|
122
|
+
limit: number;
|
|
123
|
+
term?: string;
|
|
124
|
+
refreshed?: number;
|
|
125
|
+
}
|
|
126
|
+
export interface FtbManifestFile {
|
|
127
|
+
id: number;
|
|
128
|
+
name: string;
|
|
129
|
+
/**
|
|
130
|
+
* File type — key distinction for ingestion:
|
|
131
|
+
* "mod" → JAR, has curseforge field, downloadable and ingestable
|
|
132
|
+
* "resource" → resource/data pack ZIP, downloadable
|
|
133
|
+
* "config" → config file, downloadable
|
|
134
|
+
* "script" → CraftTweaker/KubeJS script, downloadable
|
|
135
|
+
* "override" → misc override file
|
|
136
|
+
*/
|
|
137
|
+
type: string;
|
|
138
|
+
path: string;
|
|
139
|
+
url: string;
|
|
140
|
+
mirror: string;
|
|
141
|
+
sha1: string;
|
|
142
|
+
size: number;
|
|
143
|
+
clientonly: boolean;
|
|
144
|
+
serveronly: boolean;
|
|
145
|
+
optional: boolean;
|
|
146
|
+
tags: string[];
|
|
147
|
+
/** Present on mod-type files — provides direct CF project/file IDs (no CF API key needed). */
|
|
148
|
+
curseforge?: {
|
|
149
|
+
project: number;
|
|
150
|
+
file: number;
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/** Response from GET /modpack/{packId}/{versionId} */
|
|
154
|
+
export interface FtbManifest {
|
|
155
|
+
id: number;
|
|
156
|
+
parent: number;
|
|
157
|
+
name: string;
|
|
158
|
+
type: string;
|
|
159
|
+
version: string;
|
|
160
|
+
targets: FtbTarget[];
|
|
161
|
+
files: FtbManifestFile[];
|
|
162
|
+
specs: {
|
|
163
|
+
id: number;
|
|
164
|
+
minimum: number;
|
|
165
|
+
recommended: number;
|
|
166
|
+
};
|
|
167
|
+
installs: number;
|
|
168
|
+
plays: number;
|
|
169
|
+
updated: number;
|
|
170
|
+
refreshed: number;
|
|
171
|
+
status: string;
|
|
172
|
+
}
|
|
173
|
+
export declare function searchMods(term: string, limit?: number): Promise<FtbModSearchResult | null>;
|
|
174
|
+
export declare function getMod(id: number | string): Promise<FtbMod | null>;
|
|
175
|
+
/**
|
|
176
|
+
* Batch-fetch multiple mods by their IDs. Useful after a search to enrich
|
|
177
|
+
* result IDs into full mod objects. Runs requests in parallel.
|
|
178
|
+
*/
|
|
179
|
+
export declare function getModsBatch(ids: (number | string)[]): Promise<FtbMod[]>;
|
|
180
|
+
/**
|
|
181
|
+
* Resolve the download URL for a mod version.
|
|
182
|
+
* Some entries have url="" — in that case the CDN URL is constructed from
|
|
183
|
+
* the file ID using the same cfCdnUrl pattern as pack manifests.
|
|
184
|
+
*/
|
|
185
|
+
export declare function resolveModVersionUrl(version: FtbModVersion): string | null;
|
|
186
|
+
export declare function searchPacks(term: string, limit?: number): Promise<FtbPackSearchResult | null>;
|
|
187
|
+
export declare function getFeaturedPacks(limit?: number): Promise<{
|
|
188
|
+
packs: number[];
|
|
189
|
+
total: number;
|
|
190
|
+
} | null>;
|
|
191
|
+
export declare function getPack(packId: number): Promise<FtbPack | null>;
|
|
192
|
+
export declare function getPackManifest(packId: number, versionId: number): Promise<FtbManifest | null>;
|
|
193
|
+
/**
|
|
194
|
+
* Search CurseForge packs via the unified FTB search endpoint.
|
|
195
|
+
* The /curseforge/search/ endpoint does NOT exist — CF packs are returned
|
|
196
|
+
* in the `curseforge` array of the main /modpack/search/ response.
|
|
197
|
+
*/
|
|
198
|
+
export declare function searchCfPacks(term: string, limit?: number): Promise<FtbPackSearchResult | null>;
|
|
199
|
+
export declare function getCfPack(packId: number): Promise<FtbPack | null>;
|
|
200
|
+
export declare function getCfPackManifest(packId: number, versionId: number): Promise<FtbManifest | null>;
|
|
201
|
+
/**
|
|
202
|
+
* Build a direct CurseForge CDN download URL for a manifest file whose `url`
|
|
203
|
+
* is empty (CF packs return url: "" for mod-type files).
|
|
204
|
+
*
|
|
205
|
+
* Pattern: https://edge.forgecdn.net/files/{fileId÷1000}/{fileId%1000}/{name}
|
|
206
|
+
*/
|
|
207
|
+
export declare function cfCdnUrl(fileId: number, filename: string): string;
|
|
208
|
+
/**
|
|
209
|
+
* Resolve the download URL for any manifest file, regardless of whether it
|
|
210
|
+
* comes from an FTB pack (direct URL) or a CurseForge pack (empty url →
|
|
211
|
+
* reconstruct from the embedded curseforge metadata).
|
|
212
|
+
*
|
|
213
|
+
* Returns null if the file type is not downloadable (e.g. "cf-extract"
|
|
214
|
+
* overrides ZIPs that have their own url should still be fine, this only
|
|
215
|
+
* returns null if there is genuinely no URL to construct).
|
|
216
|
+
*/
|
|
217
|
+
export declare function resolveFileUrl(file: FtbManifestFile): string | null;
|
|
218
|
+
/**
|
|
219
|
+
* Download a single FTB/CF manifest file to a local destination path.
|
|
220
|
+
* Handles both FTB packs (direct CDN `url`) and CurseForge packs (empty `url`
|
|
221
|
+
* → reconstruct via cfCdnUrl from embedded curseforge metadata).
|
|
222
|
+
*/
|
|
223
|
+
export declare function downloadManifestFile(file: FtbManifestFile, destPath: string): Promise<void>;
|
|
224
|
+
//# sourceMappingURL=modpacks-ch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modpacks-ch.d.ts","sourceRoot":"","sources":["../src/modpacks-ch.ts"],"names":[],"mappings":"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"}
|