@creeperhost/modlens-mcp 1.6.18 → 1.6.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +97 -10
  2. package/TESTING.md +69 -0
  3. package/dist/cli.js +21 -5
  4. package/dist/cli.js.map +1 -1
  5. package/dist/curseforge.d.ts +9 -7
  6. package/dist/curseforge.d.ts.map +1 -1
  7. package/dist/curseforge.js +48 -55
  8. package/dist/curseforge.js.map +1 -1
  9. package/dist/db.d.ts.map +1 -1
  10. package/dist/db.js +31 -1
  11. package/dist/db.js.map +1 -1
  12. package/dist/embeddings.d.ts.map +1 -1
  13. package/dist/embeddings.js +1 -0
  14. package/dist/embeddings.js.map +1 -1
  15. package/dist/feed-the-beast.d.ts +5 -5
  16. package/dist/feed-the-beast.d.ts.map +1 -1
  17. package/dist/feed-the-beast.js +5 -21
  18. package/dist/feed-the-beast.js.map +1 -1
  19. package/dist/java-tools.d.ts +1 -0
  20. package/dist/java-tools.d.ts.map +1 -1
  21. package/dist/java-tools.js +31 -7
  22. package/dist/java-tools.js.map +1 -1
  23. package/dist/launcher.js +15 -0
  24. package/dist/launcher.js.map +1 -1
  25. package/dist/mappings.d.ts +4 -1
  26. package/dist/mappings.d.ts.map +1 -1
  27. package/dist/mappings.js +120 -52
  28. package/dist/mappings.js.map +1 -1
  29. package/dist/minecraft.d.ts +0 -4
  30. package/dist/minecraft.d.ts.map +1 -1
  31. package/dist/minecraft.js +7 -23
  32. package/dist/minecraft.js.map +1 -1
  33. package/dist/mod-artifacts.d.ts +4 -0
  34. package/dist/mod-artifacts.d.ts.map +1 -0
  35. package/dist/mod-artifacts.js +58 -0
  36. package/dist/mod-artifacts.js.map +1 -0
  37. package/dist/modpacks-ch.d.ts +72 -46
  38. package/dist/modpacks-ch.d.ts.map +1 -1
  39. package/dist/modpacks-ch.js +134 -20
  40. package/dist/modpacks-ch.js.map +1 -1
  41. package/dist/modrinth.d.ts +14 -6
  42. package/dist/modrinth.d.ts.map +1 -1
  43. package/dist/modrinth.js +70 -55
  44. package/dist/modrinth.js.map +1 -1
  45. package/dist/platform-adapter.d.ts +1 -0
  46. package/dist/platform-adapter.d.ts.map +1 -1
  47. package/dist/platform.d.ts.map +1 -1
  48. package/dist/platform.js +20 -44
  49. package/dist/platform.js.map +1 -1
  50. package/dist/processor.d.ts +5 -0
  51. package/dist/processor.d.ts.map +1 -1
  52. package/dist/processor.js +166 -46
  53. package/dist/processor.js.map +1 -1
  54. package/dist/registry-submission.d.ts +34 -0
  55. package/dist/registry-submission.d.ts.map +1 -0
  56. package/dist/registry-submission.js +128 -0
  57. package/dist/registry-submission.js.map +1 -0
  58. package/dist/repositories/array-fields.d.ts +3 -0
  59. package/dist/repositories/array-fields.d.ts.map +1 -0
  60. package/dist/repositories/array-fields.js +8 -0
  61. package/dist/repositories/array-fields.js.map +1 -0
  62. package/dist/repositories/embeddings-sqlite.d.ts +1 -0
  63. package/dist/repositories/embeddings-sqlite.d.ts.map +1 -1
  64. package/dist/repositories/embeddings-sqlite.js +26 -58
  65. package/dist/repositories/embeddings-sqlite.js.map +1 -1
  66. package/dist/repositories/embeddings.d.ts.map +1 -1
  67. package/dist/repositories/embeddings.js +26 -3
  68. package/dist/repositories/embeddings.js.map +1 -1
  69. package/dist/repositories/index.d.ts +1 -1
  70. package/dist/repositories/index.d.ts.map +1 -1
  71. package/dist/repositories/mod.d.ts +8 -5
  72. package/dist/repositories/mod.d.ts.map +1 -1
  73. package/dist/repositories/mod.js +25 -11
  74. package/dist/repositories/mod.js.map +1 -1
  75. package/dist/repositories/packs.d.ts.map +1 -1
  76. package/dist/repositories/packs.js +10 -2
  77. package/dist/repositories/packs.js.map +1 -1
  78. package/dist/search-adapter.d.ts +2 -0
  79. package/dist/search-adapter.d.ts.map +1 -1
  80. package/dist/search-adapter.js +21 -9
  81. package/dist/search-adapter.js.map +1 -1
  82. package/dist/security.d.ts +2 -0
  83. package/dist/security.d.ts.map +1 -1
  84. package/dist/security.js +5 -1
  85. package/dist/security.js.map +1 -1
  86. package/dist/server.js +63 -25
  87. package/dist/server.js.map +1 -1
  88. package/dist/sqlite-json.d.ts +3 -0
  89. package/dist/sqlite-json.d.ts.map +1 -0
  90. package/dist/sqlite-json.js +78 -0
  91. package/dist/sqlite-json.js.map +1 -0
  92. package/dist/sqlite-parameters.d.ts +3 -0
  93. package/dist/sqlite-parameters.d.ts.map +1 -0
  94. package/dist/sqlite-parameters.js +19 -0
  95. package/dist/sqlite-parameters.js.map +1 -0
  96. package/dist/sqlite-schema.d.ts +4 -0
  97. package/dist/sqlite-schema.d.ts.map +1 -0
  98. package/dist/sqlite-schema.js +76 -0
  99. package/dist/sqlite-schema.js.map +1 -0
  100. package/dist/tools/catalog.d.ts +1 -6
  101. package/dist/tools/catalog.d.ts.map +1 -1
  102. package/dist/tools/catalog.js +10 -14
  103. package/dist/tools/catalog.js.map +1 -1
  104. package/dist/tools/compat-check.d.ts.map +1 -1
  105. package/dist/tools/compat-check.js +18 -30
  106. package/dist/tools/compat-check.js.map +1 -1
  107. package/dist/tools/diagnostics.js.map +1 -1
  108. package/dist/tools/docs.d.ts.map +1 -1
  109. package/dist/tools/docs.js +8 -3
  110. package/dist/tools/docs.js.map +1 -1
  111. package/dist/tools/embed-registry.d.ts +20 -4
  112. package/dist/tools/embed-registry.d.ts.map +1 -1
  113. package/dist/tools/embed-registry.js +30 -19
  114. package/dist/tools/embed-registry.js.map +1 -1
  115. package/dist/tools/graphify.d.ts +19 -4
  116. package/dist/tools/graphify.d.ts.map +1 -1
  117. package/dist/tools/graphify.js +61 -13
  118. package/dist/tools/graphify.js.map +1 -1
  119. package/dist/tools/ingest.d.ts.map +1 -1
  120. package/dist/tools/ingest.js +4 -4
  121. package/dist/tools/ingest.js.map +1 -1
  122. package/dist/tools/kubejs.js +1 -1
  123. package/dist/tools/kubejs.js.map +1 -1
  124. package/dist/tools/mc-fts.d.ts.map +1 -1
  125. package/dist/tools/mc-fts.js +9 -4
  126. package/dist/tools/mc-fts.js.map +1 -1
  127. package/dist/tools/mcmeta.d.ts +10 -1
  128. package/dist/tools/mcmeta.d.ts.map +1 -1
  129. package/dist/tools/mcmeta.js +43 -29
  130. package/dist/tools/mcmeta.js.map +1 -1
  131. package/dist/tools/mixin-scan.d.ts +12 -6
  132. package/dist/tools/mixin-scan.d.ts.map +1 -1
  133. package/dist/tools/mixin-scan.js +12 -7
  134. package/dist/tools/mixin-scan.js.map +1 -1
  135. package/dist/tools/mod-data.d.ts.map +1 -1
  136. package/dist/tools/mod-data.js +40 -27
  137. package/dist/tools/mod-data.js.map +1 -1
  138. package/dist/tools/modpacks-ch.d.ts +9 -5
  139. package/dist/tools/modpacks-ch.d.ts.map +1 -1
  140. package/dist/tools/modpacks-ch.js +54 -33
  141. package/dist/tools/modpacks-ch.js.map +1 -1
  142. package/dist/tools/packtools.js +3 -3
  143. package/dist/tools/packtools.js.map +1 -1
  144. package/dist/tools/platform.d.ts +2 -2
  145. package/dist/tools/platform.d.ts.map +1 -1
  146. package/dist/tools/platform.js +33 -23
  147. package/dist/tools/platform.js.map +1 -1
  148. package/dist/tools/project.d.ts +342 -0
  149. package/dist/tools/project.d.ts.map +1 -0
  150. package/dist/tools/project.js +519 -0
  151. package/dist/tools/project.js.map +1 -0
  152. package/dist/tools/reports.d.ts.map +1 -1
  153. package/dist/tools/reports.js +5 -3
  154. package/dist/tools/reports.js.map +1 -1
  155. package/dist/tools/vanilla-data.d.ts.map +1 -1
  156. package/dist/tools/vanilla-data.js +3 -33
  157. package/dist/tools/vanilla-data.js.map +1 -1
  158. package/dist/tools/vanilla.d.ts +3 -1
  159. package/dist/tools/vanilla.d.ts.map +1 -1
  160. package/dist/tools/vanilla.js +26 -12
  161. package/dist/tools/vanilla.js.map +1 -1
  162. package/dist/tools/version-diff.d.ts.map +1 -1
  163. package/dist/tools/version-diff.js +4 -24
  164. package/dist/tools/version-diff.js.map +1 -1
  165. package/dist/version-ranges.d.ts +5 -0
  166. package/dist/version-ranges.d.ts.map +1 -0
  167. package/dist/version-ranges.js +93 -0
  168. package/dist/version-ranges.js.map +1 -0
  169. package/package.json +5 -1
  170. package/prisma/backends/template.db +0 -0
  171. package/scripts/build-template-db.mjs +3 -1
  172. package/scripts/enable-sqlite-vec.mjs +2 -106
  173. package/scripts/gradle/modlens.init.gradle +154 -0
  174. package/scripts/project-upload.mjs +74 -0
  175. package/scripts/test-minecraft-eras.mjs +202 -0
  176. package/scripts/test-package.mjs +8 -0
  177. package/scripts/test-project-gradle.mjs +76 -0
  178. package/scripts/test-project-http.mjs +98 -0
  179. package/scripts/test-setup.mjs +18 -0
package/README.md CHANGED
@@ -49,6 +49,80 @@ npm run start # start the server
49
49
 
50
50
  ---
51
51
 
52
+ ## Gradle project environments
53
+
54
+ ModLens can import the **actual compile classpath** of a Gradle project. The ModDevGradle adapter also exports the matching prepared Minecraft sources and hashes of the AT files used by its artifact task. This lets the AI see project-specific access changes, loader patches and mapped names.
55
+
56
+ Imports are private, immutable snapshots, separate from the shared vanilla/mod caches and database. Re-export and import after changing ATs, dependencies or mappings. The returned `environmentId` selects the new snapshot; earlier IDs still describe their original inputs. This is compile-time context, not a simulation of runtime mixins/coremods.
57
+
58
+ ### Export from Gradle
59
+
60
+ In a checkout, run your mod project's wrapper with the supplied init script:
61
+
62
+ ```bash
63
+ ./gradlew -I /path/to/modlens-mcp/scripts/gradle/modlens.init.gradle :modlensExport
64
+ ```
65
+
66
+ For an installed package, locate its script first:
67
+
68
+ ```bash
69
+ npx @creeperhost/modlens-mcp --gradle-init-script
70
+ # Pass the printed path to your project's ./gradlew -I command.
71
+ ```
72
+
73
+ On Windows, use `gradlew.bat -I "H:\Git\modlens-mcp\scripts\gradle\modlens.init.gradle" :modlensExport`.
74
+
75
+ The task produces `build/modlens/main/environment.zip` and creates a persistent private key at `.gradle/modlens/project-key.txt` in the selected project. The key is not included in the bundle or printed. Keep it out of source control and share it only with clients that should access this project.
76
+
77
+ Use `:subproject:modlensExport` for a module, and `-PmodlensSourceSet=client` to select a different source set. The task runs the classpath's prerequisite tasks, including Minecraft artifact preparation, without launching the game. Referenced project/source-set outputs may need compilation. It does not support Gradle's configuration cache; use `--no-configuration-cache` if necessary.
78
+
79
+ Supported adapter: **ModDevGradle 2.x**, exercised with 2.0.141 / NeoForge 21.1.209 / Minecraft 1.21.1 and Gradle 8.14. Other Java projects can export their resolved compile classpath, including directory dependencies. Automatic source discovery for ForgeGradle/NeoGradle/Loom is not implemented; absent supplied sources, individual classes are decompiled from the exported binaries on demand. Do not interpret generic exports as proof that runtime-only transformations have been applied.
80
+
81
+ Optional metadata overrides: `-PmodlensMinecraftVersion=...`, `-PmodlensMappings=...`. The exporter also reads the common `minecraft_version`, `neo_version` and `forge_version` properties. It exports artifact names/content hashes and selected version metadata, not the project's entire Gradle configuration, repository credentials or absolute dependency paths.
82
+
83
+ ### Import locally or remotely
84
+
85
+ Local import and query examples:
86
+
87
+ ```bash
88
+ npx @creeperhost/modlens-mcp --project import-local build/modlens/main/environment.zip --key-file=.gradle/modlens/project-key.txt
89
+ npx @creeperhost/modlens-mcp --project list --key-file=.gradle/modlens/project-key.txt
90
+ npx @creeperhost/modlens-mcp --project members --environment-id=<returned-id> --class-name=net.minecraft.world.level.Level --key-file=.gradle/modlens/project-key.txt
91
+ ```
92
+
93
+ From a checkout, the equivalent is `node dist/cli.js project ...`.
94
+
95
+ For a remote server, run the uploader **on the developer's machine**, where the bundle exists:
96
+
97
+ ```bash
98
+ npx @creeperhost/modlens-mcp --project-upload https://modlens.example/mcp build/modlens/main/environment.zip .gradle/modlens/project-key.txt
99
+ # Checkout equivalent:
100
+ node /path/to/modlens-mcp/scripts/project-upload.mjs https://modlens.example/mcp build/modlens/main/environment.zip .gradle/modlens/project-key.txt
101
+ ```
102
+
103
+ Set `MODLENS_AUTH_TOKEN` if the deployment's reverse proxy requires a bearer token. Remote uploads require HTTPS; loopback HTTP is supported for local testing. The uploader transfers 1 MiB chunks, verifies the full bundle hash, retries acknowledged chunks safely and prints the imported snapshot metadata. The remote server never runs Gradle or needs the developer's local paths. Host-local import is disabled when `MCP_PORT` is set.
104
+
105
+ Configure the AI to use the MCP **`project` tool** with `projectKey` (the key file's contents) and `environmentId`. Use `project` source/member/search queries for this environment; the existing `mc_source` and `mod` tools continue to describe their shared inputs. Key possession grants access to that project's snapshots; use the deployment's normal authentication to control access to the service and its upload resources.
106
+
107
+ | Action | Additional arguments | Result |
108
+ | --- | --- | --- |
109
+ | `list` | none | Snapshots belonging to this project key only |
110
+ | `info` | `environmentId` | Versions, artifacts, counts and snapshot provenance |
111
+ | `classes` | `environmentId`, optional `query`, `offset`, `limit` | Classes in compile classpath order of precedence |
112
+ | `source` | `environmentId`, `className`, optional `startLine`, `maxLines` | Supplied Gradle source or an on-demand binary decompile |
113
+ | `members` / `bytecode` | `environmentId`, `className` | Inspection of the project's prepared binary |
114
+ | `search` | `environmentId`, `query`, optional `limit` | Literal, case-insensitive search of supplied sources and cached decompiles |
115
+ | `import_local` | `bundlePath` | Import an absolute host-local ZIP path (stdio only) |
116
+ | `upload_begin` | `size`, `sha256` | Upload ID and chunk size |
117
+ | `upload_chunk` | `uploadId`, `offset`, `data` | Next offset; `data` is base64 |
118
+ | `upload_finish` / `upload_abort` | `uploadId` | Commit a complete upload or remove upload state |
119
+
120
+ Search reports its coverage: a missing match does not prove absence from binaries without sources. Duplicate classes follow the first compile classpath entry; sources from shadowed dependencies are excluded. Multi-release JARs use the compile Java release, with stale base sources excluded when a versioned class overrides them. Limits are 512 MiB per bundle, 1 GiB expanded content, 2 MiB per Java source, and four unfinished uploads per project. Abandoned uploads expire after 24 hours and are cleaned up when the next upload begins. Snapshot files live under `MODLENS_CACHE_ROOT/projects` and work with all database backends.
121
+
122
+ Contributor validation: `npm run test:project:http` exercises the real uploader and HTTP transport. Set `JAVA_HOME` and `MODLENS_TEST_GRADLE_HOME`, then run `npm run test:project:gradle` for a Java dependency fixture, or `npm run test:project:gradle -- moddev` for a real AT before/after check. The Gradle tests use disposable projects and may download build dependencies; they never launch Minecraft.
123
+
124
+ Minecraft compatibility validation: `npm run test:minecraft:eras` exercises the local MCP server across Beta 1.7.3 through 26.1.2, plus real legacy Forge, Fabric and NeoForge mods, using temporary databases and caches. See [TESTING.md](TESTING.md) for the version matrix, offline format coverage and upstream gaps.
125
+
52
126
  ## Prerequisites
53
127
 
54
128
  | Requirement | Notes |
@@ -63,7 +137,7 @@ npm run start # start the server
63
137
 
64
138
  | Variable | Purpose |
65
139
  |----------|---------|
66
- | `CURSEFORGE_API_KEY` | CurseForge platform sync (`sync_curseforge` action) |
140
+ | `CURSEFORGE_API_KEY` | Optional direct fingerprint lookup and authenticated CurseForge downloads; normal metadata/sync uses modpacks.ch |
67
141
  | `MODRINTH_TOKEN` | Modrinth API — increases rate limit for batch operations |
68
142
  | `JAVA_HOME` | Override Java discovery (falls back to PATH if not set) |
69
143
 
@@ -154,10 +228,24 @@ node dist/cli.js backfill-embeddings
154
228
  node dist/cli.js backfill-embeddings --type source --version 26.1.2
155
229
  ```
156
230
 
157
- After this, the `docs` and `primers` MCP tools will have a `semantic_search` action, and the `mc_source` tool will have `search_semantic` and `index_semantic`. Semantic search is **opt-in** if `OLLAMA_URL` is not reachable, tools fall back to keyword search automatically.
231
+ After this, the `docs` and `primers` MCP tools provide `semantic_search`, and `mc_source` provides `search_semantic` and `index_semantic`. Semantic search requires a reachable Ollama service and the configured embedding model. Keyword search remains available separately. SQLite uses the bundled `sqlite-vec` dependency; `db:vector` above is for PostgreSQL.
158
232
 
159
233
  > **Note:** The `npm run db:vector` script is safe to re-run. It creates the `pgvector` extension and `embedding` columns using `IF NOT EXISTS` guards.
160
234
 
235
+ ## Data sources and shared bundles
236
+
237
+ ModLens uses [modpacks.ch](https://modpacks.ch/api/openapi.json) for supported mod and pack searches, provider records, release histories, hash lookups, parsed pack manifests and loader versions. Maven artifacts and metadata come from [CreeperHost Maven](https://maven.creeperhost.net/). Download URLs supplied by modpacks.ch may point to the original provider's CDN. An API failure or missing result does not silently switch to another metadata service.
238
+
239
+ When a mod file has no loader label, loader-filtered searches, version listings and update checks automatically download and inspect its JAR. Existing modpacks.ch labels take precedence. Inspection supports Forge/FML, Fabric, Quilt and NeoForge, including multiple loader declarations in one JAR; unknown or mismatched loaders are excluded. Recovered labels report `loaderSource: "jar"`. The first lookup can download several candidate files; subsequent queries and ingestion reuse the artifact cache. `mod_info` defaults to the latest 20 matches and reports `versionLimit`; increase `limit` (CLI: `--limit`) for more history. Download, checksum and unreadable-JAR failures are reported as errors.
240
+
241
+ Existing sources remain for capabilities these services do not cover: Mojang manifests, game files and official mappings; mcmeta's extracted data and history; RetroMCP legacy mappings; Adoptium runtime provisioning; the ModLens indexer release; metadata-provided source repositories; and the selected GitHub graph and embedding registries. Existing local Java installations are preferred.
242
+
243
+ `mod graph_build` can build a class and inheritance graph directly from the mod JAR, without Graphify or an AI service. Set `backend=ast-only` to select this mode explicitly. `graph_enrich_next` and `graph_enrich_submit` add relationships supplied by the client. Automatic semantic extraction still needs a configured Graphify backend.
244
+
245
+ `graph_export` and `embed_export` produce portable gzip bundles. Pass the resulting `bundlePath` to `graph_submit` or `embed_submit` to propose the bundle and its index entry together in a draft pull request. The defaults are [Mattabase/modlens-graphs](https://github.com/Mattabase/modlens-graphs) and [Mattabase/modlens-embeddings](https://github.com/Mattabase/modlens-embeddings). Submissions require `MODLENS_REGISTRY_TOKEN` or `GITHUB_TOKEN` with access to write the branch and open the pull request; a personal fork is used when the account cannot push to the registry. Submission does not merge the pull request.
246
+
247
+ Custom registries use `MODLENS_GRAPH_REGISTRY_URL` or `MODLENS_EMBED_REGISTRY_URL`. For submission, the corresponding `MODLENS_GRAPH_REGISTRY_REPO` / `MODLENS_EMBED_REGISTRY_REPO`, `_BRANCH` and `_INDEX_PATH` settings override the destination inferred from a GitHub raw-content URL.
248
+
161
249
  ---
162
250
 
163
251
  ## MCP Configuration
@@ -456,10 +544,10 @@ Run without arguments (or `--help`) to print the full command list. Every MCP to
456
544
  | `modpacks manifest <packId> <verId>` | Pack manifest |
457
545
  | MCP `modpacks_ch action=resolve_pack` | Resolve FTB/CurseForge/Modrinth/Feed The Beast pack names, IDs, version IDs, or version names |
458
546
  | MCP `modpacks_ch action=list_versions` | List remote pack versions and optionally mark matches for a short `versionRef` like `7.1` |
459
- | MCP `modpacks_ch action=ingest_pack` | Download and ingest a resolved pack version from modpacks.ch, Modrinth, or the official Feed The Beast API |
547
+ | MCP `modpacks_ch action=ingest_pack` | Resolve metadata through modpacks.ch, then download and ingest the selected pack version |
460
548
  | `modpacks list-versions` | Pack version list |
461
549
  | `modpacks list-files` | Pack file list |
462
- | `modpacks ftb-mod-info <modId>` | FTB mod info |
550
+ | `modpacks mod-info <modId>` | Mod metadata from modpacks.ch (`ftb-mod-info` remains an alias) |
463
551
  | `modpacks find-mod` | Find a mod across packs |
464
552
 
465
553
  **Diagnostics**
@@ -568,8 +656,8 @@ All tool actions have been consolidated into **24 grouped tools** to stay within
568
656
 
569
657
  | action | Key params | Description |
570
658
  |--------|-----------|-------------|
571
- | `sync_modrinth` | dbId | SHA-512 lookup store project ID + source URL |
572
- | `sync_curseforge` | dbId | Murmur2 fingerprint lookup (needs `CURSEFORGE_API_KEY`) |
659
+ | `sync_modrinth` | dbId | Resolve a known project or JAR SHA-1 through modpacks.ch; store project ID and source URL |
660
+ | `sync_curseforge` | dbId | Resolve a known project or JAR SHA-1 through modpacks.ch; no CurseForge API key required |
573
661
  | `check_updates` | dbId | Check both platforms for newer version |
574
662
  | `batch_sync` | syncModrinth, syncCurseforge, downloadSources, modIdFilter, limit | Bulk sync all unmatched mods |
575
663
  | `download_source` | dbId | Download GitHub/GitLab source ZIP |
@@ -836,7 +924,7 @@ modpacks_ch action=ingest_pack namespace=modrinth packRef=<slug-or-project-id
836
924
  modpacks_ch action=ingest_pack namespace=modrinth packRef="https://modrinth.com/modpack/fabulously-optimized" versionRef=6.4.0
837
925
 
838
926
  # Official Feed The Beast API packs use namespace=feedthebeast.
839
- # Use namespace=ftb for the modpacks.ch FTB namespace; use feedthebeast for api.feed-the-beast.com.
927
+ # Both use modpacks.ch: namespace=ftb selects /modpack; feedthebeast selects /ftb.
840
928
  modpacks_ch action=list_versions namespace=feedthebeast packRef="Architect's" versionRef=1.1
841
929
  modpacks_ch action=ingest_pack namespace=feedthebeast packRef="Architect's" versionRef=1.1
842
930
 
@@ -942,9 +1030,9 @@ node dist/cli.js check-updates 2
942
1030
 
943
1031
  ### Services & APIs
944
1032
  - **[CreeperHost](https://www.creeperhost.net)** — for the free [modpacks.ch](https://www.modpacks.ch) public API powering modpack search, sync, and mod downloads.
945
- - **[Feed The Beast](https://www.feed-the-beast.com)** — for the public Feed The Beast modpack API powering official FTB pack lookup and ingest.
1033
+ - **[Feed The Beast](https://www.feed-the-beast.com)** — for the official FTB pack catalog, accessed through modpacks.ch.
946
1034
  - **[Modrinth](https://modrinth.com)** — for the free [Modrinth API](https://docs.modrinth.com) powering mod search, metadata lookup, and version sync.
947
- - **[CurseForge](https://www.curseforge.com)** — for the [CurseForge API](https://docs.curseforge.com) powering mod and modpack browsing and sync.
1035
+ - **[CurseForge](https://www.curseforge.com)** — for mod and modpack hosting; metadata and release history are accessed through modpacks.ch.
948
1036
  - **[misode](https://github.com/misode)** — for [mcmeta](https://github.com/misode/mcmeta), the version-controlled Minecraft data repository that powers the `mc_data`, `mc_files`, and `mc_registry` tools.
949
1037
  - **[Mojang](https://www.minecraft.net)** — for publishing official Mojmap mappings and the Piston Meta API used for version discovery and JAR downloads.
950
1038
 
@@ -977,4 +1065,3 @@ node dist/cli.js check-updates 2
977
1065
  ### Special thanks
978
1066
 
979
1067
  A heartfelt thank you to all the members of the **ForgeCraft Discord and Minecraft server** for being a genuinely great community, for your feedback, and for supporting my development endeavours over the years. This project wouldn't be what it is without you.
980
-
package/TESTING.md ADDED
@@ -0,0 +1,69 @@
1
+ # Compatibility testing
2
+
3
+ Run the deterministic regressions with `npm test`. Run `npm run build` before the MCP and package checks below.
4
+
5
+ `npm test` works directly after `npm ci`, before a build. Vitest generates the SQLite client before importing the tests. SQLite integration tests create a temporary template from the Prisma schema, use a fresh database for each test, and isolate their artifact cache. They do not depend on `dist/`, the packaged `template.db`, or earlier test results.
6
+
7
+ ## Minecraft era matrix
8
+
9
+ `npm run test:minecraft:eras` starts a local MCP server with a fresh temporary SQLite database, home and cache. It downloads public artifacts using the application's configured source policy. Every interaction with game/mod source goes through MCP. Results and the server log are retained in the printed temporary directory.
10
+
11
+ The vanilla checks verify named class discovery, decompiled source, methods/fields, bytecode and inheritance:
12
+
13
+ | Mapping generation | Minecraft versions |
14
+ | --- | --- |
15
+ | RetroMCP, separate client/server namespaces | Beta 1.7.3, 1.2.5 |
16
+ | RetroMCP, joined mappings | 1.5.2 |
17
+ | Legacy SRG, with MCP member names where available | 1.6.4, 1.7.10, 1.8.9, 1.12.2 |
18
+ | MCPConfig TSRG | 1.13.2 |
19
+ | Official Mojang mappings | 1.16.5, 1.18.2, 1.20.1, 1.20.6, 1.21.1 |
20
+ | Unobfuscated game artifacts | 26.1.2 |
21
+
22
+ The 1.5.2 checks also verify the explicit `MinecraftServer.tick` and `IntegratedServer.tickIntegrated` mappings. This catches differences between the joined mapping's declared names and TinyRemapper's inherited-name guesses.
23
+
24
+ Real-mod checks cover metadata resolution, the compatibility action alias, download/ingestion, database identity, language discovery, indexing, members, bytecode and single-class decompilation:
25
+
26
+ | Mod | Minecraft / loader |
27
+ | --- | --- |
28
+ | Waila | 1.6.4 Forge, 1.7.10 Forge |
29
+ | JEI | 1.8.9 Forge, 1.12.2 Forge, 1.16.5 Forge, 1.20.1 Forge, 1.21.1 NeoForge |
30
+ | Sodium | 1.16.5 Fabric |
31
+
32
+ Select individual game versions or run only the mod checks:
33
+
34
+ ```sh
35
+ npm run test:minecraft:eras -- b1.7.3 1.7.10 1.12.2
36
+ npm run test:minecraft:eras -- --mods
37
+ ```
38
+
39
+ Set `JAVA_HOME` for the Java runtime used by remapping. Public services must be reachable. Optional `MODLENS_TEST_TOOL_CACHE` and `MODLENS_TEST_ARTIFACT_CACHE` directories are read-only seeds: the harness copies their files into its temporary cache. Credentials, live database settings, MCP server settings and automatic graph/embedding settings are removed from the test server environment. The harness retains evidence and never starts Minecraft gameplay.
40
+
41
+ ## Offline format regressions
42
+
43
+ The unit suite builds small disposable JARs and mapping archives. Assertions cover the behavior that changed between eras:
44
+
45
+ - `mcmod.info` arrays, wrapper objects and bare objects from 1.2.5 through 1.12.2.
46
+ - Java 6/7/8 Forge annotations, accepted Minecraft ranges, required versus optional dependencies, version bounds and duplicate declarations.
47
+ - Legacy `FMLAT` files and folded JAR manifest headers.
48
+ - Forge `mods.toml`, JAR implementation-version substitution, early NeoForge `mods.toml` and later `neoforge.mods.toml` dependency types.
49
+ - Fabric declared mixin filenames, optional dependencies, array predicates and access wideners; Quilt metadata, dependencies and its `mixin` key.
50
+ - SRG/TSRG archives, MCP CSV names, object descriptors, CRLF mappings and consistency between version listing and source access.
51
+ - Pre-1.13 resources under `assets/`, later data packs under `data/`, and the 1.21 plural-to-singular directory changes.
52
+ - Legacy `.lang` files, JSON translations, namespace filtering and resource deduplication.
53
+ - Automatic loader inspection for unlabeled files, provider-label precedence, multiple loader declarations, pagination after filtering, artifact reuse, forced refresh, checksum failures and range-filtered update checks.
54
+
55
+ ## Package validation
56
+
57
+ `npm run test:package` installs the packed npm artifact into an isolated consumer. It checks setup, the MCP handshake, SQLite bootstrap, database types, transactions and restart persistence. Run this after changes to public commands, packaging or database setup.
58
+
59
+ ## Current coverage and upstream gaps
60
+
61
+ The 2026-09-13 housekeeping and loader-fallback passes verified the matrix above. These are selected compatibility boundaries, not an exhaustive test of every Minecraft release or mod.
62
+
63
+ Clean-install validation on 2026-09-13 passed `npm ci` → `npm test` (523 tests across 28 files) → `npm run build` on Ubuntu 24.04 and Windows using Node 22.21.1. The SQLite suite also passed in shuffled order, and the schema-repair test passed on its own.
64
+
65
+ The final mod matrix passed 116 MCP checks across all eight builds, including filtered search, mismatch rejection and database isolation. The installed npm-consumer checks also passed.
66
+
67
+ Some modpacks.ch historical file records, including the tested Waila releases and JEI 1.8.9, include the Minecraft version but omit the loader target. The matrix now supplies the loader filter for every release. ModLens keeps the API's version order, uses supplied loader labels, and downloads and inspects unlabeled candidate JARs before accepting a match. Result limits apply after filtering, including across pages. This also recovers a newer unlabeled file when older labeled versions exist.
68
+
69
+ The fallback is automatic for mod searches, details, downloads and provider update checks. Recovered labels carry `loaderSource: "jar"`; the artifact cache is shared with ingestion. `mod_info` returns up to 20 matches by default; its `limit` parameter allows a larger history. The MCP matrix also checks loader-filtered Waila search, rejects Waila for Fabric, and verifies that metadata inspection does not ingest candidates into the database. JARs with no recognised loader are excluded, and failed downloads or unreadable artifacts produce errors. API errors still surface, and no other metadata service supplies replacement records. Upstream labels can be populated later; they take precedence immediately when present.
package/dist/cli.js CHANGED
@@ -23,13 +23,14 @@ import { getModGradleFiles, searchGradleFiles, compareGradleDeps } from "./tools
23
23
  import { generateReport } from "./tools/reports.js";
24
24
  import { findAssetConflicts, findVanillaOverrides, analyzeModSidedness, analyzePackSidedness, computeModComplexity, computePackChangelog, findDataConflicts } from "./tools/packtools.js";
25
25
  import { indexKubeJsScripts, searchKubeJsScripts } from "./tools/kubejs.js";
26
- import { searchPacksAction, featuredPacksAction, packInfoAction, packManifestAction, ftbModInfoAction, listPackVersionsAction, listPackFilesAction, findModInPacksAction, } from "./tools/modpacks-ch.js";
26
+ import { searchPacksAction, featuredPacksAction, packInfoAction, packManifestAction, modInfoAction, listPackVersionsAction, listPackFilesAction, findModInPacksAction, } from "./tools/modpacks-ch.js";
27
27
  import { analyzeCrashLog, findMissingDeps } from "./tools/diagnostics.js";
28
28
  import { checkModCompat } from "./tools/compat-check.js";
29
29
  import { listModJarFiles, getModJarFile, getModLang, getModSounds, getModAtlas, getModManifest, listModConfigs, getModConfig, listModData, getModData, listModDataTags, getModDataTag, getModModel as getModModelData, diffModData, traceRecipeChain, } from "./tools/mod-data.js";
30
30
  import { mcPaths } from "./minecraft.js";
31
31
  import { findModById } from "./repositories/mod.js";
32
32
  import { CACHE_ROOT } from "./cache.js";
33
+ import { projectAction } from "./tools/project.js";
33
34
  import { getDb, disconnect } from "./db.js";
34
35
  import { readdir, readFile } from "fs/promises";
35
36
  import { join, resolve } from "path";
@@ -291,6 +292,10 @@ MOD TAGS (cross-mod data-pack tags)
291
292
  mod-tags search <query> Search tags [--registry=] [--limit=]
292
293
 
293
294
  GRADLE
295
+ project import-local <bundle.zip> --key-file=<file> Import a private Gradle environment
296
+ project list --key-file=<file> List this project's snapshots
297
+ project info|classes|source|search|members|bytecode --key-file=<file> --environment-id=<id>
298
+ [--class-name=<name>] [--query=<text>] [--limit=20] [--offset=0] [--start-line=1] [--max-lines=200]
294
299
  gradle get-files <modId> Extract Gradle build files
295
300
  gradle search <query> Search Gradle files across mods [--mod-id-filter=] [--limit=]
296
301
  gradle compare-deps Compare dependency versions across mods [--group-filter=] [--mod-id-filter=]
@@ -327,7 +332,7 @@ MODPACKS.CH
327
332
  modpacks manifest <packId> <verId> Pack manifest [--namespace=]
328
333
  modpacks list-versions Pack version list [--namespace=] [--pack-id=]
329
334
  modpacks list-files Pack file list [--namespace=] [--pack-id=] [--version-id=] [--file-type=]
330
- modpacks ftb-mod-info <modId> FTB mod info [--mc-version=] [--loader=]
335
+ modpacks mod-info <modId> Mod metadata [--mc-version=] [--loader=] [--limit=20]
331
336
  modpacks find-mod Find a mod across packs [--mod-db-id=] [--cf-project=]
332
337
 
333
338
  DIAGNOSTICS
@@ -1144,6 +1149,16 @@ try {
1144
1149
  break;
1145
1150
  }
1146
1151
  // ── Gradle ────────────────────────────────────────────────────────────
1152
+ case "project": {
1153
+ const action = requireArg(positional[0], "project action").replace(/-/g, "_");
1154
+ const keyFile = requireArg(typeof flags.keyFile === "string" ? flags.keyFile : undefined, "--key-file=/path/to/project-key.txt");
1155
+ const projectKey = (await readFile(resolve(keyFile), "utf8")).trim();
1156
+ const { keyFile: ignored, ...options } = flags;
1157
+ out(await projectAction({ ...options, action, projectKey,
1158
+ ...(action === "import_local" ? { bundlePath: resolve(requireArg(positional[1], "bundle.zip")) } : {}),
1159
+ }));
1160
+ break;
1161
+ }
1147
1162
  case "gradle": {
1148
1163
  const sub = requireArg(positional[0], "gradle action");
1149
1164
  switch (sub) {
@@ -1253,14 +1268,15 @@ try {
1253
1268
  case "list-files":
1254
1269
  out(await listPackFilesAction({ namespace: flags.namespace, packId: flags.packId, versionId: flags.versionId, fileType: flags.fileType }));
1255
1270
  break;
1256
- case "ftb-mod-info":
1257
- out(await ftbModInfoAction(modIdArg(positional[1], "modId"), { mcVersion: flags.mcVersion, loader: flags.loader }));
1271
+ case "mod-info":
1272
+ case "ftb-mod-info": // Compatibility with older CLI clients.
1273
+ out(await modInfoAction(modIdArg(positional[1], "modId"), { mcVersion: flags.mcVersion, loader: flags.loader, limit: flags.limit }));
1258
1274
  break;
1259
1275
  case "find-mod":
1260
1276
  out(await findModInPacksAction({ modDbId: flags.modDbId, cfProject: flags.cfProject }));
1261
1277
  break;
1262
1278
  default:
1263
- die(`Unknown modpacks action: ${sub}. Use: search|featured|info|manifest|list-versions|list-files|ftb-mod-info|find-mod`);
1279
+ die(`Unknown modpacks action: ${sub}. Use: search|featured|info|manifest|list-versions|list-files|mod-info|find-mod`);
1264
1280
  }
1265
1281
  break;
1266
1282
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -11,15 +11,18 @@ export interface CFProject {
11
11
  }
12
12
  export interface CFFile {
13
13
  id: number;
14
+ sha1?: string;
14
15
  displayName: string;
15
16
  fileName: string;
16
17
  fileDate: string;
17
18
  downloadUrl: string;
18
19
  gameVersions: string[];
20
+ loaderSource?: "jar";
19
21
  }
20
22
  export declare function lookupByFingerprint(murmur2: number): Promise<CFProject | null>;
21
23
  export declare function getProject(modId: number): Promise<CFProject | null>;
22
- export declare function getLatestFile(modId: number, mcVersion?: string): Promise<CFFile | null>;
24
+ export declare function lookupProjectByHash(hash: string): Promise<CFProject | null>;
25
+ export declare function getLatestFile(modId: number, mcVersion?: string, loader?: string): Promise<CFFile | null>;
23
26
  export interface CFSearchHit {
24
27
  id: number;
25
28
  name: string;
@@ -28,25 +31,24 @@ export interface CFSearchHit {
28
31
  downloadCount: number;
29
32
  dateModified: string;
30
33
  latestFiles: CFFile[];
34
+ loaders?: string[];
35
+ loaderSource?: "jar";
31
36
  links: {
32
37
  sourceUrl?: string;
33
38
  websiteUrl?: string;
34
39
  };
35
40
  }
36
41
  /**
37
- * Search CurseForge mods by name/keyword. Requires CURSEFORGE_API_KEY.
38
- * Returns null if no API key is configured.
42
+ * Search CurseForge mods through modpacks.ch; no API key is required.
39
43
  */
40
44
  export declare function searchMods(query: string, opts?: {
41
45
  loader?: string;
42
46
  mcVersion?: string;
43
47
  limit?: number;
44
- }): Promise<CFSearchHit[] | null>;
45
- /**
46
- * Get all files for a CF project, optionally filtered by MC version.
47
- */
48
+ }): Promise<CFSearchHit[]>;
48
49
  export declare function getProjectFiles(modId: number, opts?: {
49
50
  mcVersion?: string;
51
+ loader?: string;
50
52
  limit?: number;
51
53
  }): Promise<CFFile[]>;
52
54
  export declare const curseforgePlatformAdapter: PlatformAdapter;
@@ -1 +1 @@
1
- {"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../src/curseforge.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY7D,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KAAE,CAAC;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAapF;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKzE;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO7F;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC5B,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACnE,OAAO,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,CAc/B;AAUD;;GAEG;AACH,wBAAsB,eAAe,CACjC,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAClD,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED,eAAO,MAAM,yBAAyB,EAAE,eAevC,CAAC"}
1
+ {"version":3,"file":"curseforge.d.ts","sourceRoot":"","sources":["../src/curseforge.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAY7D,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;KAAE,CAAC;IACpD,WAAW,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC;CACxB;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAapF;AA4BD,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAGzE;AACD,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAIjF;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAM9G;AAED,MAAM,WAAW,WAAW;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,KAAK,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACtD;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAMxI;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAExI;AAED,eAAO,MAAM,yBAAyB,EAAE,eAavC,CAAC"}