@creeperhost/modlens-mcp 1.6.0 → 1.6.4

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 (135) hide show
  1. package/README.md +950 -938
  2. package/dist/cli.js +267 -267
  3. package/dist/db-backend.d.ts +14 -1
  4. package/dist/db-backend.d.ts.map +1 -1
  5. package/dist/db-backend.js +13 -0
  6. package/dist/db-backend.js.map +1 -1
  7. package/dist/generated/sqlite/internal/class.d.ts.map +1 -1
  8. package/dist/generated/sqlite/internal/class.js +5 -4
  9. package/dist/generated/sqlite/internal/class.js.map +1 -1
  10. package/dist/launcher.js +4 -1
  11. package/dist/launcher.js.map +1 -1
  12. package/dist/platform.d.ts.map +1 -1
  13. package/dist/platform.js +6 -2
  14. package/dist/platform.js.map +1 -1
  15. package/dist/repositories/embeddings-sqlite.js +21 -21
  16. package/dist/repositories/embeddings.js +28 -28
  17. package/dist/repositories/mod.d.ts +7 -0
  18. package/dist/repositories/mod.d.ts.map +1 -1
  19. package/dist/repositories/mod.js +56 -15
  20. package/dist/repositories/mod.js.map +1 -1
  21. package/dist/search-adapter.js +51 -51
  22. package/dist/security.d.ts +9 -0
  23. package/dist/security.d.ts.map +1 -1
  24. package/dist/security.js +19 -0
  25. package/dist/security.js.map +1 -1
  26. package/dist/server.js +1248 -1217
  27. package/dist/server.js.map +1 -1
  28. package/dist/tools/compat-check.js +9 -9
  29. package/dist/tools/docs.d.ts.map +1 -1
  30. package/dist/tools/docs.js +4 -3
  31. package/dist/tools/docs.js.map +1 -1
  32. package/dist/tools/embed-registry.js +9 -9
  33. package/dist/tools/graphify.js +14 -14
  34. package/dist/tools/ingest.d.ts.map +1 -1
  35. package/dist/tools/ingest.js +4 -3
  36. package/dist/tools/ingest.js.map +1 -1
  37. package/dist/tools/kubejs.d.ts.map +1 -1
  38. package/dist/tools/kubejs.js +2 -0
  39. package/dist/tools/kubejs.js.map +1 -1
  40. package/dist/tools/mappings.d.ts.map +1 -1
  41. package/dist/tools/mappings.js +2 -1
  42. package/dist/tools/mappings.js.map +1 -1
  43. package/dist/tools/mc-fts.js +2 -2
  44. package/dist/tools/mcmeta.js +2 -2
  45. package/dist/tools/mcmeta.js.map +1 -1
  46. package/dist/tools/mixin-scan.d.ts +1 -1
  47. package/dist/tools/mixin-scan.d.ts.map +1 -1
  48. package/dist/tools/mixin-scan.js +29 -35
  49. package/dist/tools/mixin-scan.js.map +1 -1
  50. package/dist/tools/mod-data.js +2 -2
  51. package/dist/tools/mod-data.js.map +1 -1
  52. package/dist/tools/modpacks-ch.js +2 -2
  53. package/dist/tools/modpacks-ch.js.map +1 -1
  54. package/dist/tools/packtools.js +4 -4
  55. package/dist/tools/packtools.js.map +1 -1
  56. package/dist/tools/primers.d.ts.map +1 -1
  57. package/dist/tools/primers.js +4 -3
  58. package/dist/tools/primers.js.map +1 -1
  59. package/dist/tools/reports.d.ts.map +1 -1
  60. package/dist/tools/reports.js +8 -4
  61. package/dist/tools/reports.js.map +1 -1
  62. package/dist/tools/vanilla-data.js +2 -2
  63. package/dist/tools/vanilla-data.js.map +1 -1
  64. package/dist/tools/version-diff.js +3 -3
  65. package/package.json +70 -62
  66. package/prisma/backends/schema.sqlite.prisma +215 -215
  67. package/prisma/schema.prisma +303 -303
  68. package/scripts/backup.mjs +151 -151
  69. package/scripts/check-atm10.mjs +27 -27
  70. package/scripts/check-sync.mjs +13 -13
  71. package/scripts/create-fts-index.mjs +50 -50
  72. package/scripts/enable-pgvector.mjs +90 -90
  73. package/scripts/enable-sqlite-vec.mjs +158 -158
  74. package/scripts/migrate-backend.mjs +188 -188
  75. package/scripts/migrate-embed-provenance.mjs +80 -80
  76. package/scripts/migrate-metadata-source.mjs +62 -62
  77. package/scripts/migrate-mod-source-files.mjs +67 -67
  78. package/scripts/post-update.mjs +77 -77
  79. package/scripts/verify-atm10.mjs +63 -63
  80. package/dist/access-flags.test.d.ts +0 -2
  81. package/dist/access-flags.test.d.ts.map +0 -1
  82. package/dist/access-flags.test.js +0 -189
  83. package/dist/access-flags.test.js.map +0 -1
  84. package/dist/fetch-utils.test.d.ts +0 -2
  85. package/dist/fetch-utils.test.d.ts.map +0 -1
  86. package/dist/fetch-utils.test.js +0 -133
  87. package/dist/fetch-utils.test.js.map +0 -1
  88. package/dist/mappings.test.d.ts +0 -2
  89. package/dist/mappings.test.d.ts.map +0 -1
  90. package/dist/mappings.test.js +0 -161
  91. package/dist/mappings.test.js.map +0 -1
  92. package/dist/processor.test.d.ts +0 -2
  93. package/dist/processor.test.d.ts.map +0 -1
  94. package/dist/processor.test.js +0 -629
  95. package/dist/processor.test.js.map +0 -1
  96. package/dist/search.test.d.ts +0 -2
  97. package/dist/search.test.d.ts.map +0 -1
  98. package/dist/search.test.js +0 -71
  99. package/dist/search.test.js.map +0 -1
  100. package/dist/security.test.d.ts +0 -2
  101. package/dist/security.test.d.ts.map +0 -1
  102. package/dist/security.test.js +0 -687
  103. package/dist/security.test.js.map +0 -1
  104. package/dist/tools/compat-check.test.d.ts +0 -2
  105. package/dist/tools/compat-check.test.d.ts.map +0 -1
  106. package/dist/tools/compat-check.test.js +0 -179
  107. package/dist/tools/compat-check.test.js.map +0 -1
  108. package/dist/tools/diagnostics.test.d.ts +0 -2
  109. package/dist/tools/diagnostics.test.d.ts.map +0 -1
  110. package/dist/tools/diagnostics.test.js +0 -168
  111. package/dist/tools/diagnostics.test.js.map +0 -1
  112. package/dist/tools/graphify.test.d.ts +0 -2
  113. package/dist/tools/graphify.test.d.ts.map +0 -1
  114. package/dist/tools/graphify.test.js +0 -39
  115. package/dist/tools/graphify.test.js.map +0 -1
  116. package/dist/tools/ingest.test.d.ts +0 -2
  117. package/dist/tools/ingest.test.d.ts.map +0 -1
  118. package/dist/tools/ingest.test.js +0 -340
  119. package/dist/tools/ingest.test.js.map +0 -1
  120. package/dist/tools/mod-tags.test.d.ts +0 -2
  121. package/dist/tools/mod-tags.test.d.ts.map +0 -1
  122. package/dist/tools/mod-tags.test.js +0 -75
  123. package/dist/tools/mod-tags.test.js.map +0 -1
  124. package/dist/tools/packtools.test.d.ts +0 -2
  125. package/dist/tools/packtools.test.d.ts.map +0 -1
  126. package/dist/tools/packtools.test.js +0 -99
  127. package/dist/tools/packtools.test.js.map +0 -1
  128. package/dist/tools/version-diff.test.d.ts +0 -2
  129. package/dist/tools/version-diff.test.d.ts.map +0 -1
  130. package/dist/tools/version-diff.test.js +0 -102
  131. package/dist/tools/version-diff.test.js.map +0 -1
  132. package/dist/validate.test.d.ts +0 -2
  133. package/dist/validate.test.d.ts.map +0 -1
  134. package/dist/validate.test.js +0 -73
  135. package/dist/validate.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../../src/generated/sqlite/internal/class.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../../../src/generated/sqlite/internal/class.ts"],"names":[],"mappings":"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"}
@@ -18,23 +18,23 @@ const config = {
18
18
  "value": "prisma-client"
19
19
  },
20
20
  "output": {
21
- "value": "C:\\Users\\Aaron\\git\\modlens-mcp\\src\\generated\\sqlite",
21
+ "value": "/home/runner/work/modlens-mcp/modlens-mcp/src/generated/sqlite",
22
22
  "fromEnvVar": null
23
23
  },
24
24
  "config": {
25
- "engineType": "client",
26
25
  "moduleFormat": "esm",
26
+ "engineType": "client",
27
27
  "runtime": "nodejs"
28
28
  },
29
29
  "binaryTargets": [
30
30
  {
31
31
  "fromEnvVar": null,
32
- "value": "windows",
32
+ "value": "debian-openssl-3.0.x",
33
33
  "native": true
34
34
  }
35
35
  ],
36
36
  "previewFeatures": [],
37
- "sourceFilePath": "C:\\Users\\Aaron\\git\\modlens-mcp\\prisma\\backends\\schema.sqlite.prisma",
37
+ "sourceFilePath": "/home/runner/work/modlens-mcp/modlens-mcp/prisma/backends/schema.sqlite.prisma",
38
38
  "isCustomOutput": true
39
39
  },
40
40
  "relativePath": "../../../prisma/backends",
@@ -45,6 +45,7 @@ const config = {
45
45
  ],
46
46
  "activeProvider": "sqlite",
47
47
  "postinstall": false,
48
+ "ciName": "GitHub Actions",
48
49
  "inlineDatasources": {
49
50
  "db": {
50
51
  "url": {
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../../src/generated/sqlite/internal/class.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,oBAAoB;AACpB,wCAAwC;AACxC,eAAe;AACf;;;;;;GAMG;AAEH,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AAIxD,MAAM,MAAM,GAAkC;IAC5C,WAAW,EAAE;QACX,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE;YACV,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,eAAe;SACzB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,4DAA4D;YACrE,YAAY,EAAE,IAAI;SACnB;QACD,QAAQ,EAAE;YACR,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,KAAK;YACrB,SAAS,EAAE,QAAQ;SACpB;QACD,eAAe,EAAE;YACf;gBACE,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,4EAA4E;QAC9F,gBAAgB,EAAE,IAAI;KACvB;IACD,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,0CAA0C;IAC3D,iBAAiB,EAAE;QACjB,IAAI;KACL;IACD,gBAAgB,EAAE,QAAQ;IAC1B,aAAa,EAAE,KAAK;IACpB,mBAAmB,EAAE;QACnB,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,YAAY,EAAE,cAAc;gBAC5B,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,cAAc,EAAE,6uOAA6uO;IAC7vO,kBAAkB,EAAE,kEAAkE;IACtF,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE;QAClB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ;IACD,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,yxSAAyxS,CAAC,CAAA;AAC/zS,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;AAE7B,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,qDAAqD,CAAC;IAE3F,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,iEAAiE,CAAC,CAAA;QAChG,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;CACF,CAAA;AA0OD,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAuC,CAAA;AAC9E,CAAC"}
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../../../src/generated/sqlite/internal/class.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,oBAAoB;AACpB,wCAAwC;AACxC,eAAe;AACf;;;;;;GAMG;AAEH,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AAIxD,MAAM,MAAM,GAAkC;IAC5C,WAAW,EAAE;QACX,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE;YACV,YAAY,EAAE,IAAI;YAClB,OAAO,EAAE,eAAe;SACzB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,gEAAgE;YACzE,YAAY,EAAE,IAAI;SACnB;QACD,QAAQ,EAAE;YACR,cAAc,EAAE,KAAK;YACrB,YAAY,EAAE,QAAQ;YACtB,SAAS,EAAE,QAAQ;SACpB;QACD,eAAe,EAAE;YACf;gBACE,YAAY,EAAE,IAAI;gBAClB,OAAO,EAAE,sBAAsB;gBAC/B,QAAQ,EAAE,IAAI;aACf;SACF;QACD,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,gFAAgF;QAClG,gBAAgB,EAAE,IAAI;KACvB;IACD,cAAc,EAAE,0BAA0B;IAC1C,eAAe,EAAE,QAAQ;IACzB,eAAe,EAAE,0CAA0C;IAC3D,iBAAiB,EAAE;QACjB,IAAI;KACL;IACD,gBAAgB,EAAE,QAAQ;IAC1B,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,gBAAgB;IAC1B,mBAAmB,EAAE;QACnB,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL,YAAY,EAAE,cAAc;gBAC5B,OAAO,EAAE,IAAI;aACd;SACF;KACF;IACD,cAAc,EAAE,6uOAA6uO;IAC7vO,kBAAkB,EAAE,kEAAkE;IACtF,YAAY,EAAE,IAAI;IAClB,kBAAkB,EAAE;QAClB,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ;IACD,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,yxSAAyxS,CAAC,CAAA;AAC/zS,MAAM,CAAC,UAAU,GAAG,SAAS,CAAA;AAE7B,KAAK,UAAU,kBAAkB,CAAC,UAAkB;IAClD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAA;IAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;IACnD,OAAO,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;AAC1C,CAAC;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,qDAAqD,CAAC;IAE3F,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,iEAAiE,CAAC,CAAA;QAChG,OAAO,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;IACvC,CAAC;CACF,CAAA;AA0OD,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAuC,CAAA;AAC9E,CAAC"}
package/dist/launcher.js CHANGED
@@ -41,7 +41,10 @@ for (const ep of [ENV_FILE, join(PKG_ROOT, ".env")]) {
41
41
  }
42
42
  const args = process.argv.slice(2);
43
43
  const wantSetup = args.includes("--setup");
44
- const isFirstRun = IS_INSTALLED && !existsSync(ENV_FILE);
44
+ // Bootstrap embedded SQLite only when nothing else is configured. A
45
+ // pre-supplied DATABASE_URL (e.g. Postgres via a container env var) opts out, so
46
+ // `docker run -e DATABASE_URL=postgresql://…` works without a stray SQLite db.
47
+ const isFirstRun = IS_INSTALLED && !existsSync(ENV_FILE) && !process.env.DATABASE_URL;
45
48
  // ── Explicit setup wizard (--setup) ─────────────────────────────────────────
46
49
  // Opt-in interactive configuration (Postgres, semantic search, MCP client, …).
47
50
  if (wantSetup) {
@@ -1 +1 @@
1
- {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launcher.js","sourceRoot":"","sources":["../src/launcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAahG;AAED,wBAAsB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAqBrG;AAED,wBAAsB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoBvG;AAED,wBAAsB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmD/F;AAYD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IACzB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAMD,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAahG;AAED,wBAAsB,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAuBrG;AAED,wBAAsB,qBAAqB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAoBvG;AAED,wBAAsB,iBAAiB,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAqD/F;AAYD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAUxF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBxE"}
package/dist/platform.js CHANGED
@@ -42,8 +42,10 @@ export async function listNeoForgeVersions(mcVersion, limit = 20) {
42
42
  })
43
43
  .reverse(); // newest first
44
44
  }
45
+ // Exact MC version, or a version-segment prefix family (e.g. "1.21" → all
46
+ // "1.21.x"). The trailing "." prevents "1.21.1" from matching "1.21.11".
45
47
  const filtered = mcVersion
46
- ? neoforgeCache.filter((v) => v.mcVersion === mcVersion || v.mcVersion.startsWith(mcVersion))
48
+ ? neoforgeCache.filter((v) => v.mcVersion === mcVersion || v.mcVersion.startsWith(mcVersion + "."))
47
49
  : neoforgeCache;
48
50
  return filtered.slice(0, limit);
49
51
  }
@@ -107,8 +109,10 @@ export async function listForgeVersions(mcVersion, limit = 20) {
107
109
  }
108
110
  forgeCache = allVersions.reverse(); // newest first
109
111
  }
112
+ // Exact MC version, or a version-segment prefix family (e.g. "1.21" → all
113
+ // "1.21.x"). The trailing "." prevents "1.21.1" from matching "1.21.11".
110
114
  const filtered = mcVersion
111
- ? forgeCache.filter((v) => v.mcVersion === mcVersion || v.mcVersion.startsWith(mcVersion))
115
+ ? forgeCache.filter((v) => v.mcVersion === mcVersion || v.mcVersion.startsWith(mcVersion + "."))
112
116
  : forgeCache;
113
117
  return filtered.slice(0, limit);
114
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
@@ -39,8 +39,8 @@ export async function upsertDocEmbedding(id, vec) {
39
39
  export async function searchDocsByVector(vec, limit = 5) {
40
40
  const db = await getVecDb();
41
41
  try {
42
- const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_doc_entries
43
- WHERE embedding MATCH ? AND k = ?
42
+ const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_doc_entries
43
+ WHERE embedding MATCH ? AND k = ?
44
44
  ORDER BY distance`).all(float32Blob(vec), limit);
45
45
  return rows.map((r) => ({ id: r.id, similarity: 1 - r.distance }));
46
46
  }
@@ -61,8 +61,8 @@ export async function upsertPrimerEmbedding(id, vec) {
61
61
  export async function searchPrimersByVector(vec, limit = 5) {
62
62
  const db = await getVecDb();
63
63
  try {
64
- const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_primers
65
- WHERE embedding MATCH ? AND k = ?
64
+ const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_primers
65
+ WHERE embedding MATCH ? AND k = ?
66
66
  ORDER BY distance`).all(float32Blob(vec), limit);
67
67
  return rows.map((r) => ({ id: r.id, similarity: 1 - r.distance }));
68
68
  }
@@ -84,13 +84,13 @@ export async function searchSourceByVector(vec, mcVersionId, limit = 10, provena
84
84
  const db = await getVecDb();
85
85
  try {
86
86
  const sql = provenance
87
- ? `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mc_source v
88
- JOIN mc_source_files s ON s.id = v.rowid
89
- WHERE v.embedding MATCH ? AND v.k = ? AND s.mc_version_id = ? AND s.embed_source = ?
87
+ ? `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mc_source v
88
+ JOIN mc_source_files s ON s.id = v.rowid
89
+ WHERE v.embedding MATCH ? AND v.k = ? AND s.mc_version_id = ? AND s.embed_source = ?
90
90
  ORDER BY v.distance`
91
- : `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mc_source v
92
- JOIN mc_source_files s ON s.id = v.rowid
93
- WHERE v.embedding MATCH ? AND v.k = ? AND s.mc_version_id = ?
91
+ : `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mc_source v
92
+ JOIN mc_source_files s ON s.id = v.rowid
93
+ WHERE v.embedding MATCH ? AND v.k = ? AND s.mc_version_id = ?
94
94
  ORDER BY v.distance`;
95
95
  const args = provenance
96
96
  ? [float32Blob(vec), limit, mcVersionId, provenance]
@@ -116,13 +116,13 @@ export async function searchModSourceByVector(vec, modId, limit = 10, provenance
116
116
  const db = await getVecDb();
117
117
  try {
118
118
  const sql = provenance
119
- ? `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mod_source v
120
- JOIN mod_source_files s ON s.id = v.rowid
121
- WHERE v.embedding MATCH ? AND v.k = ? AND s.mod_id = ? AND s.embed_source = ?
119
+ ? `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mod_source v
120
+ JOIN mod_source_files s ON s.id = v.rowid
121
+ WHERE v.embedding MATCH ? AND v.k = ? AND s.mod_id = ? AND s.embed_source = ?
122
122
  ORDER BY v.distance`
123
- : `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mod_source v
124
- JOIN mod_source_files s ON s.id = v.rowid
125
- WHERE v.embedding MATCH ? AND v.k = ? AND s.mod_id = ?
123
+ : `SELECT v.rowid AS id, s.class_name, s.embed_source, v.distance FROM vec_mod_source v
124
+ JOIN mod_source_files s ON s.id = v.rowid
125
+ WHERE v.embedding MATCH ? AND v.k = ? AND s.mod_id = ?
126
126
  ORDER BY v.distance`;
127
127
  const args = provenance
128
128
  ? [float32Blob(vec), limit, modId, provenance]
@@ -142,7 +142,7 @@ export async function findSourceIdsByClassNames(classNames, mcVersionId, require
142
142
  const placeholders = classNames.map(() => "?").join(",");
143
143
  const embFilter = requireEmbedding ? " AND embedding IS NOT NULL" : "";
144
144
  try {
145
- const rows = db.prepare(`SELECT id, class_name FROM mc_source_files
145
+ const rows = db.prepare(`SELECT id, class_name FROM mc_source_files
146
146
  WHERE mc_version_id = ? AND class_name IN (${placeholders})${embFilter}`).all(mcVersionId, ...classNames);
147
147
  return new Map(rows.map((r) => [r.class_name, r.id]));
148
148
  }
@@ -157,7 +157,7 @@ export async function findModSourceIdsByClassNames(classNames, modId, requireEmb
157
157
  const placeholders = classNames.map(() => "?").join(",");
158
158
  const embFilter = requireEmbedding ? " AND embedding IS NOT NULL" : "";
159
159
  try {
160
- const rows = db.prepare(`SELECT id, class_name FROM mod_source_files
160
+ const rows = db.prepare(`SELECT id, class_name FROM mod_source_files
161
161
  WHERE mod_id = ? AND class_name IN (${placeholders})${embFilter}`).all(modId, ...classNames);
162
162
  return new Map(rows.map((r) => [r.class_name, r.id]));
163
163
  }
@@ -172,7 +172,7 @@ export async function getEmbedSources(table, ids) {
172
172
  const db = await getVecDb();
173
173
  const placeholders = ids.map(() => "?").join(",");
174
174
  try {
175
- const rows = db.prepare(`SELECT id, embed_source, embed_updated_at FROM ${table}
175
+ const rows = db.prepare(`SELECT id, embed_source, embed_updated_at FROM ${table}
176
176
  WHERE id IN (${placeholders}) AND embedding IS NOT NULL`).all(...ids);
177
177
  return new Map(rows.map((r) => [r.id, {
178
178
  source: r.embed_source,
@@ -188,8 +188,8 @@ export async function countEmbedsBySource(table, scopeColumn, scopeId) {
188
188
  const db = await getVecDb();
189
189
  const result = { local: 0, registry: 0, community: 0, unknown: 0 };
190
190
  try {
191
- const rows = db.prepare(`SELECT embed_source, COUNT(*) AS count FROM ${table}
192
- WHERE ${scopeColumn} = ? AND embedding IS NOT NULL
191
+ const rows = db.prepare(`SELECT embed_source, COUNT(*) AS count FROM ${table}
192
+ WHERE ${scopeColumn} = ? AND embedding IS NOT NULL
193
193
  GROUP BY embed_source`).all(scopeId);
194
194
  for (const r of rows) {
195
195
  if (r.embed_source === "local")
@@ -17,10 +17,10 @@ export async function upsertDocEmbedding(id, vec) {
17
17
  }
18
18
  export async function searchDocsByVector(vec, limit = 5) {
19
19
  const db = await getDb();
20
- return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
21
- FROM doc_entries
22
- WHERE embedding IS NOT NULL
23
- ORDER BY embedding <=> $1::vector
20
+ return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
21
+ FROM doc_entries
22
+ WHERE embedding IS NOT NULL
23
+ ORDER BY embedding <=> $1::vector
24
24
  LIMIT $2`, vecLiteral(vec), limit);
25
25
  }
26
26
  // ── primers ───────────────────────────────────────────────────────────────────
@@ -30,10 +30,10 @@ export async function upsertPrimerEmbedding(id, vec) {
30
30
  }
31
31
  export async function searchPrimersByVector(vec, limit = 5) {
32
32
  const db = await getDb();
33
- return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
34
- FROM primers
35
- WHERE embedding IS NOT NULL
36
- ORDER BY embedding <=> $1::vector
33
+ return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
34
+ FROM primers
35
+ WHERE embedding IS NOT NULL
36
+ ORDER BY embedding <=> $1::vector
37
37
  LIMIT $2`, vecLiteral(vec), limit);
38
38
  }
39
39
  // ── mc_source_files ───────────────────────────────────────────────────────────
@@ -44,16 +44,16 @@ export async function upsertSourceEmbedding(id, vec, source = "local") {
44
44
  export async function searchSourceByVector(vec, mcVersionId, limit = 10, provenance) {
45
45
  const db = await getDb();
46
46
  if (provenance) {
47
- return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
48
- FROM mc_source_files
49
- WHERE mc_version_id = $3 AND embedding IS NOT NULL AND embed_source = $4
50
- ORDER BY embedding <=> $1::vector
47
+ return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
48
+ FROM mc_source_files
49
+ WHERE mc_version_id = $3 AND embedding IS NOT NULL AND embed_source = $4
50
+ ORDER BY embedding <=> $1::vector
51
51
  LIMIT $2`, vecLiteral(vec), limit, mcVersionId, provenance);
52
52
  }
53
- return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
54
- FROM mc_source_files
55
- WHERE mc_version_id = $3 AND embedding IS NOT NULL
56
- ORDER BY embedding <=> $1::vector
53
+ return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
54
+ FROM mc_source_files
55
+ WHERE mc_version_id = $3 AND embedding IS NOT NULL
56
+ ORDER BY embedding <=> $1::vector
57
57
  LIMIT $2`, vecLiteral(vec), limit, mcVersionId);
58
58
  }
59
59
  /** Count rows with no embedding yet (for backfill progress). */
@@ -74,16 +74,16 @@ export async function upsertModSourceEmbedding(id, vec, source = "local") {
74
74
  export async function searchModSourceByVector(vec, modId, limit = 10, provenance) {
75
75
  const db = await getDb();
76
76
  if (provenance) {
77
- return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
78
- FROM mod_source_files
79
- WHERE mod_id = $3 AND embedding IS NOT NULL AND embed_source = $4
80
- ORDER BY embedding <=> $1::vector
77
+ return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
78
+ FROM mod_source_files
79
+ WHERE mod_id = $3 AND embedding IS NOT NULL AND embed_source = $4
80
+ ORDER BY embedding <=> $1::vector
81
81
  LIMIT $2`, vecLiteral(vec), limit, modId, provenance);
82
82
  }
83
- return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
84
- FROM mod_source_files
85
- WHERE mod_id = $3 AND embedding IS NOT NULL
86
- ORDER BY embedding <=> $1::vector
83
+ return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
84
+ FROM mod_source_files
85
+ WHERE mod_id = $3 AND embedding IS NOT NULL
86
+ ORDER BY embedding <=> $1::vector
87
87
  LIMIT $2`, vecLiteral(vec), limit, modId);
88
88
  }
89
89
  // ── Class-name → ID lookups (for diff semantic enrichment) ───────────────────
@@ -92,7 +92,7 @@ export async function findSourceIdsByClassNames(classNames, mcVersionId, require
92
92
  return new Map();
93
93
  const db = await getDb();
94
94
  const embFilter = requireEmbedding ? " AND embedding IS NOT NULL" : "";
95
- const rows = await db.$queryRawUnsafe(`SELECT id, class_name FROM mc_source_files
95
+ const rows = await db.$queryRawUnsafe(`SELECT id, class_name FROM mc_source_files
96
96
  WHERE mc_version_id = $1 AND class_name = ANY($2::text[])${embFilter}`, mcVersionId, classNames);
97
97
  return new Map(rows.map((r) => [r.class_name, r.id]));
98
98
  }
@@ -101,7 +101,7 @@ export async function findModSourceIdsByClassNames(classNames, modId, requireEmb
101
101
  return new Map();
102
102
  const db = await getDb();
103
103
  const embFilter = requireEmbedding ? " AND embedding IS NOT NULL" : "";
104
- const rows = await db.$queryRawUnsafe(`SELECT id, class_name FROM mod_source_files
104
+ const rows = await db.$queryRawUnsafe(`SELECT id, class_name FROM mod_source_files
105
105
  WHERE mod_id = $1 AND class_name = ANY($2::text[])${embFilter}`, modId, classNames);
106
106
  return new Map(rows.map((r) => [r.class_name, r.id]));
107
107
  }
@@ -116,8 +116,8 @@ export async function getEmbedSources(table, ids) {
116
116
  /** Count embeddings by source provenance. */
117
117
  export async function countEmbedsBySource(table, scopeColumn, scopeId) {
118
118
  const db = await getDb();
119
- const rows = await db.$queryRawUnsafe(`SELECT embed_source, COUNT(*)::text AS count FROM ${table}
120
- WHERE ${scopeColumn} = $1 AND embedding IS NOT NULL
119
+ const rows = await db.$queryRawUnsafe(`SELECT embed_source, COUNT(*)::text AS count FROM ${table}
120
+ WHERE ${scopeColumn} = $1 AND embedding IS NOT NULL
121
121
  GROUP BY embed_source`, scopeId);
122
122
  const result = { local: 0, registry: 0, community: 0, unknown: 0 };
123
123
  for (const r of rows) {
@@ -43,6 +43,13 @@ export type SyncModRow = {
43
43
  sourcePath: string | null;
44
44
  metadata: unknown;
45
45
  };
46
+ /**
47
+ * Prisma `where` fragment matching an exact MC version, or a version-segment
48
+ * family prefix ("1.21" → every "1.21.x"). The trailing "." is what stops
49
+ * "1.21.1" from matching "1.21.11" — different patch releases are not
50
+ * cross-compatible, so a query for one must never pull in the other.
51
+ */
52
+ export declare function mcVersionWhere(mcVersion: string): Prisma.ModWhereInput;
46
53
  export declare function findModById(id: number): Promise<Mod | null>;
47
54
  export declare function findModByJarPath(jarPath: string): Promise<Mod | null>;
48
55
  export declare function findModByModId(modId: string): Promise<Mod | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/repositories/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../src/repositories/mod.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,16 @@
5
5
  */
6
6
  import { getDb } from "../db.js";
7
7
  import { ftsSearchModSource } from "../search-adapter.js";
8
+ import { caseInsensitive, detectBackend } from "../db-backend.js";
9
+ /**
10
+ * Prisma `where` fragment matching an exact MC version, or a version-segment
11
+ * family prefix ("1.21" → every "1.21.x"). The trailing "." is what stops
12
+ * "1.21.1" from matching "1.21.11" — different patch releases are not
13
+ * cross-compatible, so a query for one must never pull in the other.
14
+ */
15
+ export function mcVersionWhere(mcVersion) {
16
+ return { OR: [{ mcVersion }, { mcVersion: { startsWith: mcVersion + "." } }] };
17
+ }
8
18
  // ── Mod queries ───────────────────────────────────────────────────────────────
9
19
  export async function findModById(id) {
10
20
  const db = await getDb();
@@ -70,10 +80,10 @@ export async function listMods(opts) {
70
80
  return db.mod.findMany({
71
81
  where: {
72
82
  ...(opts.loader ? { loader: opts.loader } : {}),
73
- ...(opts.mcVersion ? { mcVersion: { contains: opts.mcVersion } } : {}),
83
+ ...(opts.mcVersion ? mcVersionWhere(opts.mcVersion) : {}),
74
84
  ...(opts.hasMixins !== undefined ? { hasMixins: opts.hasMixins } : {}),
75
85
  ...(opts.decompiled !== undefined ? { decompiled: opts.decompiled } : {}),
76
- ...(opts.modIdFilter ? { modId: { contains: opts.modIdFilter, mode: "insensitive" } } : {}),
86
+ ...(opts.modIdFilter ? { modId: { contains: opts.modIdFilter, ...caseInsensitive() } } : {}),
77
87
  },
78
88
  orderBy: { ingestedAt: "desc" },
79
89
  take: opts.limit ?? 100,
@@ -84,7 +94,7 @@ export async function listModsSlim(opts) {
84
94
  return db.mod.findMany({
85
95
  where: {
86
96
  ...(opts?.loader ? { loader: opts.loader } : {}),
87
- ...(opts?.mcVersion ? { mcVersion: { contains: opts.mcVersion } } : {}),
97
+ ...(opts?.mcVersion ? mcVersionWhere(opts.mcVersion) : {}),
88
98
  ...(opts?.hasMixins !== undefined ? { hasMixins: opts.hasMixins } : {}),
89
99
  ...(opts?.decompiled !== undefined ? { decompiled: opts.decompiled } : {}),
90
100
  ...(opts?.modIdFilter ? { modId: { contains: opts.modIdFilter } } : {}),
@@ -98,7 +108,7 @@ export async function listModsForMixinScan(opts) {
98
108
  where: {
99
109
  ...(opts?.hasMixins !== undefined ? { hasMixins: opts.hasMixins } : {}),
100
110
  ...(opts?.loader ? { loader: opts.loader } : {}),
101
- ...(opts?.mcVersion ? { mcVersion: { contains: opts.mcVersion } } : {}),
111
+ ...(opts?.mcVersion ? mcVersionWhere(opts.mcVersion) : {}),
102
112
  },
103
113
  select: {
104
114
  id: true, modId: true, displayName: true, version: true,
@@ -110,7 +120,7 @@ export async function listModsForMixinScan(opts) {
110
120
  export async function listModsForDepGraph(mcVersion) {
111
121
  const db = await getDb();
112
122
  return db.mod.findMany({
113
- where: mcVersion ? { mcVersion: { contains: mcVersion } } : undefined,
123
+ where: mcVersion ? mcVersionWhere(mcVersion) : undefined,
114
124
  select: {
115
125
  id: true, modId: true, displayName: true, version: true,
116
126
  mcVersion: true, loader: true, dependencies: true, metadata: true,
@@ -158,19 +168,24 @@ export async function groupModsByLoader() {
158
168
  }
159
169
  export async function searchModsFts(query, opts) {
160
170
  const q = query.toLowerCase();
171
+ // metadata is a JSON column on Postgres/PGlite (filter the `description`
172
+ // path) but a TEXT column on SQLite (filter the raw JSON via substring).
173
+ const metadataMatch = detectBackend() === "sqlite"
174
+ ? { metadata: { contains: q } }
175
+ : { metadata: { path: ["description"], string_contains: q } };
161
176
  const db = await getDb();
162
177
  return db.mod.findMany({
163
178
  where: {
164
179
  AND: [
165
180
  {
166
181
  OR: [
167
- { modId: { contains: q, mode: "insensitive" } },
168
- { displayName: { contains: q, mode: "insensitive" } },
169
- { metadata: { path: ["description"], string_contains: q } },
182
+ { modId: { contains: q, ...caseInsensitive() } },
183
+ { displayName: { contains: q, ...caseInsensitive() } },
184
+ metadataMatch,
170
185
  ],
171
186
  },
172
187
  ...(opts?.loader ? [{ loader: opts.loader }] : []),
173
- ...(opts?.mcVersion ? [{ mcVersion: { contains: opts.mcVersion } }] : []),
188
+ ...(opts?.mcVersion ? [mcVersionWhere(opts.mcVersion)] : []),
174
189
  ],
175
190
  },
176
191
  orderBy: { ingestedAt: "desc" },
@@ -181,19 +196,45 @@ export async function listModsForSourceUrls(query) {
181
196
  const db = await getDb();
182
197
  return db.mod.findMany({
183
198
  where: query
184
- ? { OR: [{ modId: { contains: query, mode: "insensitive" } }, { displayName: { contains: query, mode: "insensitive" } }] }
199
+ ? { OR: [{ modId: { contains: query, ...caseInsensitive() } }, { displayName: { contains: query, ...caseInsensitive() } }] }
185
200
  : undefined,
186
201
  select: { modId: true, displayName: true, version: true, loader: true, metadata: true },
187
202
  orderBy: { modId: "asc" },
188
203
  });
189
204
  }
205
+ /**
206
+ * Mod columns that are native JSON/array on Postgres/PGlite but plain TEXT
207
+ * (holding serialized JSON) on SQLite. The Prisma types are generated from the
208
+ * Postgres schema (arrays/objects), so on SQLite these must be stringified
209
+ * before a write — `deserializeArray` / JSON.parse reverse this on read.
210
+ */
211
+ const SQLITE_JSON_FIELDS = [
212
+ "mixinConfigs", "mixinTargets", "atEntries", "awEntries", "dependencies", "tags", "metadata",
213
+ ];
214
+ /**
215
+ * Pre-serialize JSON-text columns for SQLite writes. No-op on Postgres/PGlite,
216
+ * where the columns are native JSON/array. Only touches fields that are present
217
+ * and not already strings, so partial update inputs are safe.
218
+ */
219
+ function serializeModWrite(data) {
220
+ if (detectBackend() !== "sqlite")
221
+ return data;
222
+ const out = { ...data };
223
+ for (const field of SQLITE_JSON_FIELDS) {
224
+ const value = out[field];
225
+ if (value != null && typeof value !== "string") {
226
+ out[field] = JSON.stringify(value);
227
+ }
228
+ }
229
+ return out;
230
+ }
190
231
  export async function createMod(data) {
191
232
  const db = await getDb();
192
- return db.mod.create({ data });
233
+ return db.mod.create({ data: serializeModWrite(data) });
193
234
  }
194
235
  export async function updateMod(id, data) {
195
236
  const db = await getDb();
196
- return db.mod.update({ where: { id }, data });
237
+ return db.mod.update({ where: { id }, data: serializeModWrite(data) });
197
238
  }
198
239
  export async function getModMetadata(id) {
199
240
  const db = await getDb();
@@ -292,7 +333,7 @@ export async function searchModTagsByPath(query, registry, limit = 50) {
292
333
  const db = await getDb();
293
334
  return db.modTag.findMany({
294
335
  where: {
295
- tagPath: { contains: query, mode: "insensitive" },
336
+ tagPath: { contains: query, ...caseInsensitive() },
296
337
  ...(registry ? { registry } : {}),
297
338
  },
298
339
  include: { mod: { select: { modId: true, displayName: true, version: true } } },
@@ -327,8 +368,8 @@ export async function countModSourceFiles(modId) {
327
368
  }
328
369
  export async function findModSourceFilesUnembedded(modId, limit, offset) {
329
370
  const db = await getDb();
330
- return db.$queryRawUnsafe(`SELECT id, class_name AS "className", content FROM mod_source_files
331
- WHERE mod_id = $1 AND embedding IS NULL
371
+ return db.$queryRawUnsafe(`SELECT id, class_name AS "className", content FROM mod_source_files
372
+ WHERE mod_id = $1 AND embedding IS NULL
332
373
  ORDER BY id LIMIT $2 OFFSET $3`, modId, limit, offset);
333
374
  }
334
375
  export async function countUnembeddedModSourceFiles(modId) {