@creeperhost/modlens-mcp 1.6.18 → 1.6.20

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 (194) hide show
  1. package/README.md +112 -15
  2. package/TESTING.md +69 -0
  3. package/dist/cli.js +49 -13
  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/primer-catalog.d.ts +15 -0
  51. package/dist/primer-catalog.d.ts.map +1 -0
  52. package/dist/primer-catalog.js +43 -0
  53. package/dist/primer-catalog.js.map +1 -0
  54. package/dist/primer-content.d.ts +7 -0
  55. package/dist/primer-content.d.ts.map +1 -0
  56. package/dist/primer-content.js +185 -0
  57. package/dist/primer-content.js.map +1 -0
  58. package/dist/processor.d.ts +5 -0
  59. package/dist/processor.d.ts.map +1 -1
  60. package/dist/processor.js +166 -46
  61. package/dist/processor.js.map +1 -1
  62. package/dist/registry-submission.d.ts +34 -0
  63. package/dist/registry-submission.d.ts.map +1 -0
  64. package/dist/registry-submission.js +128 -0
  65. package/dist/registry-submission.js.map +1 -0
  66. package/dist/repositories/array-fields.d.ts +3 -0
  67. package/dist/repositories/array-fields.d.ts.map +1 -0
  68. package/dist/repositories/array-fields.js +8 -0
  69. package/dist/repositories/array-fields.js.map +1 -0
  70. package/dist/repositories/embeddings-sqlite.d.ts +1 -0
  71. package/dist/repositories/embeddings-sqlite.d.ts.map +1 -1
  72. package/dist/repositories/embeddings-sqlite.js +26 -58
  73. package/dist/repositories/embeddings-sqlite.js.map +1 -1
  74. package/dist/repositories/embeddings.d.ts.map +1 -1
  75. package/dist/repositories/embeddings.js +26 -3
  76. package/dist/repositories/embeddings.js.map +1 -1
  77. package/dist/repositories/index.d.ts +1 -1
  78. package/dist/repositories/index.d.ts.map +1 -1
  79. package/dist/repositories/mod.d.ts +8 -5
  80. package/dist/repositories/mod.d.ts.map +1 -1
  81. package/dist/repositories/mod.js +25 -11
  82. package/dist/repositories/mod.js.map +1 -1
  83. package/dist/repositories/packs.d.ts.map +1 -1
  84. package/dist/repositories/packs.js +10 -2
  85. package/dist/repositories/packs.js.map +1 -1
  86. package/dist/search-adapter.d.ts +2 -0
  87. package/dist/search-adapter.d.ts.map +1 -1
  88. package/dist/search-adapter.js +21 -9
  89. package/dist/search-adapter.js.map +1 -1
  90. package/dist/security.d.ts +2 -0
  91. package/dist/security.d.ts.map +1 -1
  92. package/dist/security.js +5 -1
  93. package/dist/security.js.map +1 -1
  94. package/dist/server.js +80 -35
  95. package/dist/server.js.map +1 -1
  96. package/dist/setup.js +9 -4
  97. package/dist/setup.js.map +1 -1
  98. package/dist/sqlite-json.d.ts +3 -0
  99. package/dist/sqlite-json.d.ts.map +1 -0
  100. package/dist/sqlite-json.js +78 -0
  101. package/dist/sqlite-json.js.map +1 -0
  102. package/dist/sqlite-parameters.d.ts +3 -0
  103. package/dist/sqlite-parameters.d.ts.map +1 -0
  104. package/dist/sqlite-parameters.js +19 -0
  105. package/dist/sqlite-parameters.js.map +1 -0
  106. package/dist/sqlite-schema.d.ts +4 -0
  107. package/dist/sqlite-schema.d.ts.map +1 -0
  108. package/dist/sqlite-schema.js +76 -0
  109. package/dist/sqlite-schema.js.map +1 -0
  110. package/dist/tools/catalog.d.ts +1 -6
  111. package/dist/tools/catalog.d.ts.map +1 -1
  112. package/dist/tools/catalog.js +10 -14
  113. package/dist/tools/catalog.js.map +1 -1
  114. package/dist/tools/compat-check.d.ts.map +1 -1
  115. package/dist/tools/compat-check.js +18 -30
  116. package/dist/tools/compat-check.js.map +1 -1
  117. package/dist/tools/diagnostics.js.map +1 -1
  118. package/dist/tools/docs.d.ts.map +1 -1
  119. package/dist/tools/docs.js +8 -3
  120. package/dist/tools/docs.js.map +1 -1
  121. package/dist/tools/embed-registry.d.ts +20 -4
  122. package/dist/tools/embed-registry.d.ts.map +1 -1
  123. package/dist/tools/embed-registry.js +30 -19
  124. package/dist/tools/embed-registry.js.map +1 -1
  125. package/dist/tools/graphify.d.ts +19 -4
  126. package/dist/tools/graphify.d.ts.map +1 -1
  127. package/dist/tools/graphify.js +61 -13
  128. package/dist/tools/graphify.js.map +1 -1
  129. package/dist/tools/ingest.d.ts.map +1 -1
  130. package/dist/tools/ingest.js +4 -4
  131. package/dist/tools/ingest.js.map +1 -1
  132. package/dist/tools/kubejs.js +1 -1
  133. package/dist/tools/kubejs.js.map +1 -1
  134. package/dist/tools/mc-fts.d.ts.map +1 -1
  135. package/dist/tools/mc-fts.js +9 -4
  136. package/dist/tools/mc-fts.js.map +1 -1
  137. package/dist/tools/mcmeta.d.ts +10 -1
  138. package/dist/tools/mcmeta.d.ts.map +1 -1
  139. package/dist/tools/mcmeta.js +43 -29
  140. package/dist/tools/mcmeta.js.map +1 -1
  141. package/dist/tools/mixin-scan.d.ts +12 -6
  142. package/dist/tools/mixin-scan.d.ts.map +1 -1
  143. package/dist/tools/mixin-scan.js +12 -7
  144. package/dist/tools/mixin-scan.js.map +1 -1
  145. package/dist/tools/mod-data.d.ts.map +1 -1
  146. package/dist/tools/mod-data.js +40 -27
  147. package/dist/tools/mod-data.js.map +1 -1
  148. package/dist/tools/modpacks-ch.d.ts +9 -5
  149. package/dist/tools/modpacks-ch.d.ts.map +1 -1
  150. package/dist/tools/modpacks-ch.js +54 -33
  151. package/dist/tools/modpacks-ch.js.map +1 -1
  152. package/dist/tools/packtools.js +3 -3
  153. package/dist/tools/packtools.js.map +1 -1
  154. package/dist/tools/platform.d.ts +2 -2
  155. package/dist/tools/platform.d.ts.map +1 -1
  156. package/dist/tools/platform.js +33 -23
  157. package/dist/tools/platform.js.map +1 -1
  158. package/dist/tools/primers.d.ts +133 -22
  159. package/dist/tools/primers.d.ts.map +1 -1
  160. package/dist/tools/primers.js +391 -386
  161. package/dist/tools/primers.js.map +1 -1
  162. package/dist/tools/project.d.ts +342 -0
  163. package/dist/tools/project.d.ts.map +1 -0
  164. package/dist/tools/project.js +519 -0
  165. package/dist/tools/project.js.map +1 -0
  166. package/dist/tools/reports.d.ts.map +1 -1
  167. package/dist/tools/reports.js +5 -3
  168. package/dist/tools/reports.js.map +1 -1
  169. package/dist/tools/vanilla-data.d.ts.map +1 -1
  170. package/dist/tools/vanilla-data.js +3 -33
  171. package/dist/tools/vanilla-data.js.map +1 -1
  172. package/dist/tools/vanilla.d.ts +3 -1
  173. package/dist/tools/vanilla.d.ts.map +1 -1
  174. package/dist/tools/vanilla.js +26 -12
  175. package/dist/tools/vanilla.js.map +1 -1
  176. package/dist/tools/version-diff.d.ts.map +1 -1
  177. package/dist/tools/version-diff.js +4 -24
  178. package/dist/tools/version-diff.js.map +1 -1
  179. package/dist/version-ranges.d.ts +5 -0
  180. package/dist/version-ranges.d.ts.map +1 -0
  181. package/dist/version-ranges.js +93 -0
  182. package/dist/version-ranges.js.map +1 -0
  183. package/package.json +9 -1
  184. package/prisma/backends/template.db +0 -0
  185. package/scripts/build-template-db.mjs +3 -1
  186. package/scripts/enable-sqlite-vec.mjs +2 -106
  187. package/scripts/gradle/modlens.init.gradle +154 -0
  188. package/scripts/project-upload.mjs +74 -0
  189. package/scripts/test-minecraft-eras.mjs +202 -0
  190. package/scripts/test-package.mjs +105 -5
  191. package/scripts/test-primers-live.mjs +93 -0
  192. package/scripts/test-project-gradle.mjs +76 -0
  193. package/scripts/test-project-http.mjs +98 -0
  194. package/scripts/test-setup.mjs +18 -0
@@ -0,0 +1,128 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import { gzipSync, gunzipSync } from "node:zlib";
3
+ import { createHash } from "node:crypto";
4
+ import { validateEmbeddingBundle, validateGraphBundle, validateEmbedRegistryIndex, validateGraphRegistryIndex } from "./security.js";
5
+ export async function prepareRegistryBundle(kind, path) {
6
+ if (!path)
7
+ throw new Error("Provide bundlePath from graph_export or embed_export");
8
+ if ((await stat(path)).size > 95_000_000)
9
+ throw new Error("Registry submissions must be smaller than 95 MB");
10
+ const input = await readFile(path);
11
+ const compressed = input[0] === 0x1f && input[1] === 0x8b;
12
+ const raw = compressed ? gunzipSync(input, { maxOutputLength: 200_000_000 }) : input;
13
+ const bundle = JSON.parse(raw.toString("utf8"));
14
+ const check = kind === "graph" ? validateGraphBundle(bundle.graph) : validateEmbeddingBundle(bundle);
15
+ if (!check.valid)
16
+ throw new Error(`Invalid ${kind} bundle: ${check.reason}`);
17
+ const targetType = bundle.targetType ?? "mod";
18
+ const targetId = bundle.targetId ?? bundle.modId;
19
+ const targetVersion = bundle.targetVersion ?? bundle.modVersion;
20
+ if (bundle.version !== 1 || !["mod", "vanilla", "modloader"].includes(targetType)
21
+ || typeof targetId !== "string" || !targetId || typeof targetVersion !== "string" || !targetVersion) {
22
+ throw new Error("Bundle must specify version 1 and a target type, identifier and version");
23
+ }
24
+ const data = compressed ? input : gzipSync(raw);
25
+ const sha256 = createHash("sha256").update(data).digest("hex");
26
+ const file = `bundles/${kind}/${sha256}.json.gz`;
27
+ const common = { targetType, targetId, targetVersion, loader: bundle.loader ?? "", mcVersion: bundle.mcVersion ?? "", sha256 };
28
+ const entry = kind === "graph" ? { ...common, modId: targetId, version: targetVersion, graphUrl: file,
29
+ nodeCount: bundle.graph.nodes.length, edgeCount: bundle.graph.edges.length,
30
+ enriched: bundle.graph.nodes.some((n) => n.community != null), updatedAt: new Date().toISOString() }
31
+ : { ...common, url: file, model: bundle.model, dimensions: bundle.dimensions, entryCount: bundle.entries.length, sizeBytes: data.length };
32
+ return { data, file, entry };
33
+ }
34
+ /** Atomically propose the bundle and index together on a branch, then open a draft PR. */
35
+ export async function submitRegistryBundle(kind, registryUrl, submission) {
36
+ const prepared = await prepareRegistryBundle(kind, submission.bundlePath);
37
+ const token = process.env.MODLENS_REGISTRY_TOKEN ?? process.env.GITHUB_TOKEN;
38
+ if (!token)
39
+ throw new Error("Set MODLENS_REGISTRY_TOKEN or GITHUB_TOKEN with repository Contents and Pull requests write permissions");
40
+ const prefix = `MODLENS_${kind.toUpperCase()}_REGISTRY`;
41
+ const url = new URL(registryUrl);
42
+ const parts = url.pathname.split("/").filter(Boolean);
43
+ const repo = process.env[`${prefix}_REPO`] ?? (url.hostname === "raw.githubusercontent.com" ? parts.slice(0, 2).join("/") : "");
44
+ if (!/^[\w.-]+\/[\w.-]+$/.test(repo))
45
+ throw new Error(`Set ${prefix}_REPO to the GitHub owner/repository for this registry`);
46
+ const base = process.env[`${prefix}_BRANCH`] ?? (url.hostname === "raw.githubusercontent.com" ? parts[2] : undefined) ?? "main";
47
+ const indexPath = process.env[`${prefix}_INDEX_PATH`] ?? (url.hostname === "raw.githubusercontent.com" ? parts.slice(3).join("/") : "index.json");
48
+ if (!indexPath || indexPath.split("/").some(p => p === ".." || p === "." || !p))
49
+ throw new Error("Invalid registry index path");
50
+ const request = async (path, body, allowMissing = false, accept = "application/vnd.github+json") => {
51
+ const response = await fetch(`https://api.github.com${path}`, {
52
+ method: body === undefined ? "GET" : "POST", redirect: "error", signal: AbortSignal.timeout(30_000),
53
+ headers: { Authorization: `Bearer ${token}`, Accept: accept, "Content-Type": "application/json", "User-Agent": "modlens-mcp", "X-GitHub-Api-Version": "2026-03-10" },
54
+ ...(body === undefined ? {} : { body: JSON.stringify(body) }),
55
+ });
56
+ if (allowMissing && response.status === 404)
57
+ return null;
58
+ // Do not include responses or headers: proxies may echo authorization material.
59
+ if (!response.ok)
60
+ throw new Error(`GitHub registry request failed (${response.status}) for ${path.split("?")[0]}`);
61
+ return response.json();
62
+ };
63
+ const upstream = await request(`/repos/${repo}`);
64
+ const ref = await request(`/repos/${repo}/git/ref/heads/${encodeURIComponent(base)}`);
65
+ const commit = await request(`/repos/${repo}/git/commits/${ref.object.sha}`);
66
+ const key = kind === "graph" ? "graphs" : "bundles";
67
+ const index = await request(`/repos/${repo}/contents/${indexPath.split("/").map(encodeURIComponent).join("/")}?ref=${ref.object.sha}`, undefined, true, "application/vnd.github.raw+json")
68
+ ?? (kind === "graph" ? { version: 1, graphs: [] } : { version: 1, models: [], bundles: [] });
69
+ const check = kind === "graph" ? validateGraphRegistryIndex(index) : validateEmbedRegistryIndex(index);
70
+ if (!check.valid)
71
+ throw new Error(`Invalid registry index: ${check.reason}`);
72
+ if (index[key].some((e) => e.sha256 === prepared.entry.sha256)) {
73
+ return { status: "already_published", repository: repo, sha256: prepared.entry.sha256 };
74
+ }
75
+ const identity = (e) => JSON.stringify([e.targetType ?? "mod", e.targetId ?? e.modId, e.targetVersion ?? e.modVersion ?? e.version, e.loader ?? "", e.mcVersion ?? "", e.model ?? "", e.dimensions ?? ""]);
76
+ index[key] = [...index[key].filter((e) => identity(e) !== identity(prepared.entry)), prepared.entry];
77
+ if (kind === "embed")
78
+ index.models = [...new Set([...(index.models ?? []), prepared.entry.model])];
79
+ let destination = repo;
80
+ if (!upstream.permissions?.push) {
81
+ const user = await request("/user");
82
+ destination = `${user.login}/${repo.split("/")[1]}`;
83
+ let fork = await request(`/repos/${destination}`, undefined, true);
84
+ if (!fork) {
85
+ fork = await request(`/repos/${repo}/forks`, { default_branch_only: false });
86
+ // GitHub can return before the new fork's Git objects are ready.
87
+ let ready = false;
88
+ for (let attempt = 0; attempt < 5; attempt++) {
89
+ if (await request(`/repos/${destination}/git/commits/${ref.object.sha}`, undefined, true)) {
90
+ ready = true;
91
+ break;
92
+ }
93
+ await new Promise(resolve => setTimeout(resolve, 1000 * (attempt + 1)));
94
+ }
95
+ if (!ready)
96
+ throw new Error("Registry fork is still being created. Retry the same bundle shortly.");
97
+ }
98
+ if (fork.parent?.full_name?.toLowerCase() !== repo.toLowerCase())
99
+ throw new Error(`Repository ${destination} is not a fork of ${repo}`);
100
+ }
101
+ const branch = `wip/modlens-${kind}-${prepared.entry.sha256.slice(0, 20)}`;
102
+ const head = `${destination.split("/")[0]}:${branch}`;
103
+ const existing = await request(`/repos/${repo}/pulls?state=open&head=${encodeURIComponent(head)}&base=${encodeURIComponent(base)}`);
104
+ if (existing[0])
105
+ return { status: "submitted", url: existing[0].html_url, repository: repo, branch };
106
+ const branchRef = await request(`/repos/${destination}/git/ref/heads/${encodeURIComponent(branch)}`, undefined, true);
107
+ if (!branchRef) {
108
+ const blob = await request(`/repos/${destination}/git/blobs`, { content: prepared.data.toString("base64"), encoding: "base64" });
109
+ const parentDir = indexPath.includes("/") ? indexPath.slice(0, indexPath.lastIndexOf("/") + 1) : "";
110
+ const tree = await request(`/repos/${destination}/git/trees`, { base_tree: commit.tree.sha, tree: [
111
+ { path: parentDir + prepared.file, mode: "100644", type: "blob", sha: blob.sha },
112
+ { path: indexPath, mode: "100644", type: "blob", content: JSON.stringify(index, null, 2) + "\n" },
113
+ ] });
114
+ const next = await request(`/repos/${destination}/git/commits`, {
115
+ message: `Add ${kind} bundle for ${prepared.entry.targetId} ${prepared.entry.targetVersion}`,
116
+ tree: tree.sha, parents: [ref.object.sha],
117
+ });
118
+ await request(`/repos/${destination}/git/refs`, { ref: `refs/heads/${branch}`, sha: next.sha });
119
+ }
120
+ const pr = await request(`/repos/${repo}/pulls`, {
121
+ title: `Add ${kind} bundle for ${prepared.entry.targetId} ${prepared.entry.targetVersion}`, head, base, draft: true,
122
+ body: [`Add a validated ${kind} bundle and its registry entry.`,
123
+ `Target: ${prepared.entry.targetType} ${prepared.entry.targetId} ${prepared.entry.targetVersion}`,
124
+ `SHA-256: ${prepared.entry.sha256}`, submission.contributor ? `Contributor: ${submission.contributor}` : "", submission.note ?? ""].filter(Boolean).join("\n\n"),
125
+ });
126
+ return { status: "submitted", url: pr.html_url, repository: repo, branch, sha256: prepared.entry.sha256 };
127
+ }
128
+ //# sourceMappingURL=registry-submission.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-submission.js","sourceRoot":"","sources":["../src/registry-submission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Exact JSON-array membership, including escaped strings, on SQLite. */
2
+ export declare function sqliteArrayMemberIds(table: "mod_classes" | "doc_entries", column: "interfaces" | "tags", value: string): Promise<number[]>;
3
+ //# sourceMappingURL=array-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-fields.d.ts","sourceRoot":"","sources":["../../src/repositories/array-fields.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,wBAAsB,oBAAoB,CACtC,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,KAAK,EAAE,MAAM,GACnF,OAAO,CAAC,MAAM,EAAE,CAAC,CAMnB"}
@@ -0,0 +1,8 @@
1
+ import { getDb } from "../db.js";
2
+ /** Exact JSON-array membership, including escaped strings, on SQLite. */
3
+ export async function sqliteArrayMemberIds(table, column, value) {
4
+ const db = await getDb();
5
+ const rows = await db.$queryRawUnsafe(`SELECT DISTINCT t.id FROM ${table} t, json_each(t.${column}) j WHERE j.value = $1`, value);
6
+ return rows.map(row => row.id);
7
+ }
8
+ //# sourceMappingURL=array-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-fields.js","sourceRoot":"","sources":["../../src/repositories/array-fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,KAAoC,EAAE,MAA6B,EAAE,KAAa;IAElF,MAAM,EAAE,GAAG,MAAM,KAAK,EAAE,CAAC;IACzB,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,eAAe,CACjC,6BAA6B,KAAK,mBAAmB,MAAM,wBAAwB,EAAE,KAAK,CAC7F,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC"}
@@ -2,6 +2,7 @@ type VecRow = {
2
2
  id: number;
3
3
  similarity: number;
4
4
  };
5
+ export declare function closeVecDb(): void;
5
6
  export declare function upsertDocEmbedding(id: number, vec: number[]): Promise<void>;
6
7
  export declare function searchDocsByVector(vec: number[], limit?: number): Promise<VecRow[]>;
7
8
  export declare function upsertPrimerEmbedding(id: number, vec: number[]): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings-sqlite.d.ts","sourceRoot":"","sources":["../../src/repositories/embeddings-sqlite.ts"],"names":[],"mappings":"AAQA,KAAK,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AA8BjD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYpF;AAID,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYvF;AAID,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9G;AAED,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,UAAU,CAAC,EAAE,MAAM,GACpE,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAoBrG;AAID,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjH;AAED,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,UAAU,CAAC,EAAE,MAAM,GAC9D,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAoBrG;AAID,wBAAsB,yBAAyB,CAC3C,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,UAAO,GACnE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAc9B;AAED,wBAAsB,4BAA4B,CAC9C,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,UAAO,GAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAc9B;AAED,4DAA4D;AAC5D,wBAAsB,eAAe,CACjC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,GAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAgBzE;AAED,6CAA6C;AAC7C,wBAAsB,mBAAmB,CACrC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GACpF,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBlF"}
1
+ {"version":3,"file":"embeddings-sqlite.d.ts","sourceRoot":"","sources":["../../src/repositories/embeddings-sqlite.ts"],"names":[],"mappings":"AAQA,KAAK,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAuBjD,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAWD,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CASjF;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKpF;AAID,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAOpF;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAKvF;AAID,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9G;AAED,wBAAsB,oBAAoB,CACtC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,UAAU,CAAC,EAAE,MAAM,GACpE,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAMrG;AAID,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,MAAM,GAAE,MAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOjH;AAED,wBAAsB,uBAAuB,CACzC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,UAAU,CAAC,EAAE,MAAM,GAC9D,OAAO,CAAC,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAMrG;AAID,wBAAsB,yBAAyB,CAC3C,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,UAAO,GACnE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAc9B;AAED,wBAAsB,4BAA4B,CAC9C,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,UAAO,GAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAc9B;AAED,4DAA4D;AAC5D,wBAAsB,eAAe,CACjC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,GAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,IAAI,GAAG,IAAI,CAAA;CAAE,CAAC,CAAC,CAgBzE;AAED,6CAA6C;AAC7C,wBAAsB,mBAAmB,CACrC,KAAK,EAAE,kBAAkB,GAAG,iBAAiB,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GACpF,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAiBlF"}
@@ -1,9 +1,16 @@
1
+ /**
2
+ * sqlite-vec helpers for vector operations on a SQLite backend.
3
+ * Uses float32 blobs and cosine distance, with scope filters before the limit.
4
+ * Existing vec0 tables are kept in sync when present; searches also work on
5
+ * databases created without those optional indexes.
6
+ */
7
+ import { sqliteDatabasePath } from "../sqlite-schema.js";
1
8
  let _vecDb = null;
2
9
  async function getVecDb() {
3
10
  if (_vecDb)
4
11
  return _vecDb;
5
12
  const url = process.env.DATABASE_URL ?? "";
6
- const path = url.replace(/^file:\/\//, "").replace(/^file:/, "");
13
+ const path = sqliteDatabasePath(url);
7
14
  const Database = (await import("better-sqlite3")).default;
8
15
  const db = new Database(path);
9
16
  try {
@@ -13,12 +20,19 @@ async function getVecDb() {
13
20
  sqliteVec.load(db);
14
21
  }
15
22
  catch {
16
- // sqlite-vec not installed — vector search unavailable
23
+ db.close();
24
+ throw new Error("SQLite vector search requires the sqlite-vec package. Reinstall ModLens with optional dependencies enabled.");
17
25
  }
18
26
  _vecDb = db;
19
27
  return db;
20
28
  }
29
+ export function closeVecDb() {
30
+ _vecDb?.close();
31
+ _vecDb = null;
32
+ }
21
33
  function float32Blob(vec) {
34
+ if (!vec.length || vec.some(value => !Number.isFinite(value)))
35
+ throw new Error("Embedding must be a non-empty finite vector");
22
36
  const buf = Buffer.allocUnsafe(vec.length * 4);
23
37
  for (let i = 0; i < vec.length; i++)
24
38
  buf.writeFloatLE(vec[i], i * 4);
@@ -38,15 +52,8 @@ export async function upsertDocEmbedding(id, vec) {
38
52
  }
39
53
  export async function searchDocsByVector(vec, limit = 5) {
40
54
  const db = await getVecDb();
41
- try {
42
- const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_doc_entries
43
- WHERE embedding MATCH ? AND k = ?
44
- ORDER BY distance`).all(float32Blob(vec), limit);
45
- return rows.map((r) => ({ id: r.id, similarity: 1 - r.distance }));
46
- }
47
- catch {
48
- return [];
49
- }
55
+ return db.prepare(`SELECT id, 1 - vec_distance_cosine(embedding, ?) AS similarity
56
+ FROM doc_entries WHERE embedding IS NOT NULL ORDER BY similarity DESC LIMIT ?`).all(float32Blob(vec), limit);
50
57
  }
51
58
  // ── primers ───────────────────────────────────────────────────────────────────
52
59
  export async function upsertPrimerEmbedding(id, vec) {
@@ -60,15 +67,8 @@ export async function upsertPrimerEmbedding(id, vec) {
60
67
  }
61
68
  export async function searchPrimersByVector(vec, limit = 5) {
62
69
  const db = await getVecDb();
63
- try {
64
- const rows = db.prepare(`SELECT rowid AS id, distance FROM vec_primers
65
- WHERE embedding MATCH ? AND k = ?
66
- ORDER BY distance`).all(float32Blob(vec), limit);
67
- return rows.map((r) => ({ id: r.id, similarity: 1 - r.distance }));
68
- }
69
- catch {
70
- return [];
71
- }
70
+ return db.prepare(`SELECT id, 1 - vec_distance_cosine(embedding, ?) AS similarity
71
+ FROM primers WHERE embedding IS NOT NULL ORDER BY similarity DESC LIMIT ?`).all(float32Blob(vec), limit);
72
72
  }
73
73
  // ── mc_source_files ───────────────────────────────────────────────────────────
74
74
  export async function upsertSourceEmbedding(id, vec, source = "local") {
@@ -82,25 +82,9 @@ export async function upsertSourceEmbedding(id, vec, source = "local") {
82
82
  }
83
83
  export async function searchSourceByVector(vec, mcVersionId, limit = 10, provenance) {
84
84
  const db = await getVecDb();
85
- try {
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 = ?
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 = ?
94
- ORDER BY v.distance`;
95
- const args = provenance
96
- ? [float32Blob(vec), limit, mcVersionId, provenance]
97
- : [float32Blob(vec), limit, mcVersionId];
98
- const rows = db.prepare(sql).all(...args);
99
- return rows.map((r) => ({ id: r.id, class_name: r.class_name, embed_source: r.embed_source, similarity: 1 - r.distance }));
100
- }
101
- catch {
102
- return [];
103
- }
85
+ return db.prepare(`SELECT id, class_name, embed_source, 1 - vec_distance_cosine(embedding, ?) AS similarity
86
+ FROM mc_source_files WHERE mc_version_id = ? AND embedding IS NOT NULL
87
+ ${provenance ? "AND embed_source = ?" : ""} ORDER BY similarity DESC LIMIT ?`).all(float32Blob(vec), mcVersionId, ...(provenance ? [provenance] : []), limit);
104
88
  }
105
89
  // ── mod_source_files ──────────────────────────────────────────────────────────
106
90
  export async function upsertModSourceEmbedding(id, vec, source = "local") {
@@ -114,25 +98,9 @@ export async function upsertModSourceEmbedding(id, vec, source = "local") {
114
98
  }
115
99
  export async function searchModSourceByVector(vec, modId, limit = 10, provenance) {
116
100
  const db = await getVecDb();
117
- try {
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 = ?
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 = ?
126
- ORDER BY v.distance`;
127
- const args = provenance
128
- ? [float32Blob(vec), limit, modId, provenance]
129
- : [float32Blob(vec), limit, modId];
130
- const rows = db.prepare(sql).all(...args);
131
- return rows.map((r) => ({ id: r.id, class_name: r.class_name, embed_source: r.embed_source, similarity: 1 - r.distance }));
132
- }
133
- catch {
134
- return [];
135
- }
101
+ return db.prepare(`SELECT id, class_name, embed_source, 1 - vec_distance_cosine(embedding, ?) AS similarity
102
+ FROM mod_source_files WHERE mod_id = ? AND embedding IS NOT NULL
103
+ ${provenance ? "AND embed_source = ?" : ""} ORDER BY similarity DESC LIMIT ?`).all(float32Blob(vec), modId, ...(provenance ? [provenance] : []), limit);
136
104
  }
137
105
  // ── Class-name → ID lookups (for diff semantic enrichment) ───────────────────
138
106
  export async function findSourceIdsByClassNames(classNames, mcVersionId, requireEmbedding = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings-sqlite.js","sourceRoot":"","sources":["../../src/repositories/embeddings-sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings-sqlite.js","sourceRoot":"","sources":["../../src/repositories/embeddings-sqlite.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/repositories/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/repositories/embeddings.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,20 @@
7
7
  * Run `npm run db:vector` once after docker-compose up to enable the extension.
8
8
  */
9
9
  import { getDb } from "../db.js";
10
+ import { detectBackend } from "../db-backend.js";
10
11
  function vecLiteral(vec) {
11
12
  return `[${vec.join(",")}]`;
12
13
  }
13
14
  // ── doc_entries ───────────────────────────────────────────────────────────────
14
15
  export async function upsertDocEmbedding(id, vec) {
16
+ if (detectBackend() === "sqlite")
17
+ return (await import("./embeddings-sqlite.js")).upsertDocEmbedding(id, vec);
15
18
  const db = await getDb();
16
19
  await db.$executeRawUnsafe(`UPDATE doc_entries SET embedding = $1::vector WHERE id = $2`, vecLiteral(vec), id);
17
20
  }
18
21
  export async function searchDocsByVector(vec, limit = 5) {
22
+ if (detectBackend() === "sqlite")
23
+ return (await import("./embeddings-sqlite.js")).searchDocsByVector(vec, limit);
19
24
  const db = await getDb();
20
25
  return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
21
26
  FROM doc_entries
@@ -25,10 +30,14 @@ export async function searchDocsByVector(vec, limit = 5) {
25
30
  }
26
31
  // ── primers ───────────────────────────────────────────────────────────────────
27
32
  export async function upsertPrimerEmbedding(id, vec) {
33
+ if (detectBackend() === "sqlite")
34
+ return (await import("./embeddings-sqlite.js")).upsertPrimerEmbedding(id, vec);
28
35
  const db = await getDb();
29
36
  await db.$executeRawUnsafe(`UPDATE primers SET embedding = $1::vector WHERE id = $2`, vecLiteral(vec), id);
30
37
  }
31
38
  export async function searchPrimersByVector(vec, limit = 5) {
39
+ if (detectBackend() === "sqlite")
40
+ return (await import("./embeddings-sqlite.js")).searchPrimersByVector(vec, limit);
32
41
  const db = await getDb();
33
42
  return db.$queryRawUnsafe(`SELECT id, (1 - (embedding <=> $1::vector))::float AS similarity
34
43
  FROM primers
@@ -38,10 +47,14 @@ export async function searchPrimersByVector(vec, limit = 5) {
38
47
  }
39
48
  // ── mc_source_files ───────────────────────────────────────────────────────────
40
49
  export async function upsertSourceEmbedding(id, vec, source = "local") {
50
+ if (detectBackend() === "sqlite")
51
+ return (await import("./embeddings-sqlite.js")).upsertSourceEmbedding(id, vec, source);
41
52
  const db = await getDb();
42
53
  await db.$executeRawUnsafe(`UPDATE mc_source_files SET embedding = $1::vector, embed_source = $3, embed_updated_at = NOW() WHERE id = $2`, vecLiteral(vec), id, source);
43
54
  }
44
55
  export async function searchSourceByVector(vec, mcVersionId, limit = 10, provenance) {
56
+ if (detectBackend() === "sqlite")
57
+ return (await import("./embeddings-sqlite.js")).searchSourceByVector(vec, mcVersionId, limit, provenance);
45
58
  const db = await getDb();
46
59
  if (provenance) {
47
60
  return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
@@ -60,18 +73,22 @@ export async function searchSourceByVector(vec, mcVersionId, limit = 10, provena
60
73
  export async function countUnembedded(table, mcVersionId) {
61
74
  const db = await getDb();
62
75
  if (table === "mc_source_files" && mcVersionId !== undefined) {
63
- const rows = await db.$queryRawUnsafe(`SELECT COUNT(*)::text AS count FROM mc_source_files WHERE mc_version_id = $1 AND embedding IS NULL`, mcVersionId);
76
+ const rows = await db.$queryRawUnsafe(`SELECT CAST(COUNT(*) AS TEXT) AS count FROM mc_source_files WHERE mc_version_id = $1 AND embedding IS NULL`, mcVersionId);
64
77
  return parseInt(rows[0].count, 10);
65
78
  }
66
- const rows = await db.$queryRawUnsafe(`SELECT COUNT(*)::text AS count FROM ${table} WHERE embedding IS NULL`);
79
+ const rows = await db.$queryRawUnsafe(`SELECT CAST(COUNT(*) AS TEXT) AS count FROM ${table} WHERE embedding IS NULL`);
67
80
  return parseInt(rows[0].count, 10);
68
81
  }
69
82
  // ── mod_source_files ──────────────────────────────────────────────────────────
70
83
  export async function upsertModSourceEmbedding(id, vec, source = "local") {
84
+ if (detectBackend() === "sqlite")
85
+ return (await import("./embeddings-sqlite.js")).upsertModSourceEmbedding(id, vec, source);
71
86
  const db = await getDb();
72
87
  await db.$executeRawUnsafe(`UPDATE mod_source_files SET embedding = $1::vector, embed_source = $3, embed_updated_at = NOW() WHERE id = $2`, vecLiteral(vec), id, source);
73
88
  }
74
89
  export async function searchModSourceByVector(vec, modId, limit = 10, provenance) {
90
+ if (detectBackend() === "sqlite")
91
+ return (await import("./embeddings-sqlite.js")).searchModSourceByVector(vec, modId, limit, provenance);
75
92
  const db = await getDb();
76
93
  if (provenance) {
77
94
  return db.$queryRawUnsafe(`SELECT id, class_name, embed_source, (1 - (embedding <=> $1::vector))::float AS similarity
@@ -88,6 +105,8 @@ export async function searchModSourceByVector(vec, modId, limit = 10, provenance
88
105
  }
89
106
  // ── Class-name → ID lookups (for diff semantic enrichment) ───────────────────
90
107
  export async function findSourceIdsByClassNames(classNames, mcVersionId, requireEmbedding = true) {
108
+ if (detectBackend() === "sqlite")
109
+ return (await import("./embeddings-sqlite.js")).findSourceIdsByClassNames(classNames, mcVersionId, requireEmbedding);
91
110
  if (classNames.length === 0)
92
111
  return new Map();
93
112
  const db = await getDb();
@@ -97,6 +116,8 @@ export async function findSourceIdsByClassNames(classNames, mcVersionId, require
97
116
  return new Map(rows.map((r) => [r.class_name, r.id]));
98
117
  }
99
118
  export async function findModSourceIdsByClassNames(classNames, modId, requireEmbedding = true) {
119
+ if (detectBackend() === "sqlite")
120
+ return (await import("./embeddings-sqlite.js")).findModSourceIdsByClassNames(classNames, modId, requireEmbedding);
100
121
  if (classNames.length === 0)
101
122
  return new Map();
102
123
  const db = await getDb();
@@ -107,6 +128,8 @@ export async function findModSourceIdsByClassNames(classNames, modId, requireEmb
107
128
  }
108
129
  /** Get embed_source values for a set of source file IDs. */
109
130
  export async function getEmbedSources(table, ids) {
131
+ if (detectBackend() === "sqlite")
132
+ return (await import("./embeddings-sqlite.js")).getEmbedSources(table, ids);
110
133
  if (ids.length === 0)
111
134
  return new Map();
112
135
  const db = await getDb();
@@ -116,7 +139,7 @@ export async function getEmbedSources(table, ids) {
116
139
  /** Count embeddings by source provenance. */
117
140
  export async function countEmbedsBySource(table, scopeColumn, scopeId) {
118
141
  const db = await getDb();
119
- const rows = await db.$queryRawUnsafe(`SELECT embed_source, COUNT(*)::text AS count FROM ${table}
142
+ const rows = await db.$queryRawUnsafe(`SELECT embed_source, CAST(COUNT(*) AS TEXT) AS count FROM ${table}
120
143
  WHERE ${scopeColumn} = $1 AND embedding IS NOT NULL
121
144
  GROUP BY embed_source`, scopeId);
122
145
  const result = { local: 0, registry: 0, community: 0, unknown: 0 };
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/repositories/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/repositories/embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function getEmbeddingsRepo(): Promise<typeof import("./embeddings-sqlite.js")>;
1
+ export declare function getEmbeddingsRepo(): Promise<typeof import("./embeddings-sqlite.js") | typeof import("./embeddings.js")>;
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"AAQA,wBAAsB,iBAAiB,qDAMtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repositories/index.ts"],"names":[],"mappings":"AAQA,wBAAsB,iBAAiB,wFAMtC"}
@@ -36,6 +36,9 @@ export type SyncModRow = {
36
36
  id: number;
37
37
  modId: string;
38
38
  version: string;
39
+ mcVersion: string;
40
+ loader: string;
41
+ jarPath: string;
39
42
  sha512: string | null;
40
43
  murmur2: string | null;
41
44
  modrinthId: string | null;
@@ -49,7 +52,7 @@ export type SyncModRow = {
49
52
  * "1.21.1" from matching "1.21.11" — different patch releases are not
50
53
  * cross-compatible, so a query for one must never pull in the other.
51
54
  */
52
- export declare function mcVersionWhere(mcVersion: string): Prisma.ModWhereInput;
55
+ export declare function mcVersionWhere(mcVersion: string): Promise<Prisma.ModWhereInput>;
53
56
  export declare function findModById(id: number): Promise<Mod | null>;
54
57
  export declare function findModByJarPath(jarPath: string): Promise<Mod | null>;
55
58
  export declare function findModByModId(modId: string): Promise<Mod | null>;
@@ -105,9 +108,9 @@ export declare function searchModsFts(query: string, opts?: {
105
108
  export declare function listModsForSourceUrls(query?: string): Promise<{
106
109
  version: string;
107
110
  modId: string;
111
+ loader: string;
108
112
  metadata: Prisma.JsonValue;
109
113
  displayName: string;
110
- loader: string;
111
114
  }[]>;
112
115
  export declare function createMod(data: Prisma.ModCreateInput): Promise<Mod>;
113
116
  export declare function updateMod(id: number, data: Prisma.ModUpdateInput): Promise<Mod>;
@@ -127,8 +130,8 @@ export declare function findModClassesForCrossModSearch(where1: Prisma.ModClassW
127
130
  id: number;
128
131
  modId: number;
129
132
  className: string;
130
- superClass: string | null;
131
133
  interfaces: string[];
134
+ superClass: string | null;
132
135
  accessFlags: number;
133
136
  })[], ({
134
137
  mod: {
@@ -140,8 +143,8 @@ export declare function findModClassesForCrossModSearch(where1: Prisma.ModClassW
140
143
  id: number;
141
144
  modId: number;
142
145
  className: string;
143
- superClass: string | null;
144
146
  interfaces: string[];
147
+ superClass: string | null;
145
148
  accessFlags: number;
146
149
  })[]]>;
147
150
  /**
@@ -163,9 +166,9 @@ export declare function findModTagsByPath(tagPath: string, registry?: string): P
163
166
  mod: {
164
167
  version: string;
165
168
  modId: string;
169
+ loader: string;
166
170
  displayName: string;
167
171
  mcVersion: string;
168
- loader: string;
169
172
  };
170
173
  } & {
171
174
  id: number;