@monoes/monograph 1.2.8 → 1.2.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/index.d.ts +0 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +0 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +0 -1
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +0 -1
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/search/hybrid-query.d.ts +11 -17
- package/dist/src/search/hybrid-query.d.ts.map +1 -1
- package/dist/src/search/hybrid-query.js +10 -95
- package/dist/src/search/hybrid-query.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +0 -7
- package/src/mcp-tools/index.ts +0 -1
- package/src/search/hybrid-query.ts +13 -120
- package/dist/src/__tests__/mcp-tools/embed.test.d.ts +0 -2
- package/dist/src/__tests__/mcp-tools/embed.test.d.ts.map +0 -1
- package/dist/src/__tests__/mcp-tools/embed.test.js +0 -12
- package/dist/src/__tests__/mcp-tools/embed.test.js.map +0 -1
- package/dist/src/__tests__/search/embed-stale.test.d.ts +0 -2
- package/dist/src/__tests__/search/embed-stale.test.d.ts.map +0 -1
- package/dist/src/__tests__/search/embed-stale.test.js +0 -38
- package/dist/src/__tests__/search/embed-stale.test.js.map +0 -1
- package/dist/src/__tests__/search/exact-search.test.d.ts +0 -2
- package/dist/src/__tests__/search/exact-search.test.d.ts.map +0 -1
- package/dist/src/__tests__/search/exact-search.test.js +0 -49
- package/dist/src/__tests__/search/exact-search.test.js.map +0 -1
- package/dist/src/mcp-tools/embed.d.ts +0 -25
- package/dist/src/mcp-tools/embed.d.ts.map +0 -1
- package/dist/src/mcp-tools/embed.js +0 -33
- package/dist/src/mcp-tools/embed.js.map +0 -1
- package/dist/src/pipeline/phases/embeddings.d.ts +0 -6
- package/dist/src/pipeline/phases/embeddings.d.ts.map +0 -1
- package/dist/src/pipeline/phases/embeddings.js +0 -12
- package/dist/src/pipeline/phases/embeddings.js.map +0 -1
- package/dist/src/search/device-config.d.ts +0 -16
- package/dist/src/search/device-config.d.ts.map +0 -1
- package/dist/src/search/device-config.js +0 -22
- package/dist/src/search/device-config.js.map +0 -1
- package/dist/src/search/embed-batch.d.ts +0 -30
- package/dist/src/search/embed-batch.d.ts.map +0 -1
- package/dist/src/search/embed-batch.js +0 -99
- package/dist/src/search/embed-batch.js.map +0 -1
- package/dist/src/search/embedder.d.ts +0 -26
- package/dist/src/search/embedder.d.ts.map +0 -1
- package/dist/src/search/embedder.js +0 -49
- package/dist/src/search/embedder.js.map +0 -1
- package/dist/src/search/exact-search.d.ts +0 -10
- package/dist/src/search/exact-search.d.ts.map +0 -1
- package/dist/src/search/exact-search.js +0 -28
- package/dist/src/search/exact-search.js.map +0 -1
- package/dist/src/search/http-embedder.d.ts +0 -17
- package/dist/src/search/http-embedder.d.ts.map +0 -1
- package/dist/src/search/http-embedder.js +0 -57
- package/dist/src/search/http-embedder.js.map +0 -1
- package/dist/src/storage/embedding-store.d.ts +0 -29
- package/dist/src/storage/embedding-store.d.ts.map +0 -1
- package/dist/src/storage/embedding-store.js +0 -77
- package/dist/src/storage/embedding-store.js.map +0 -1
- package/src/__tests__/mcp-tools/embed.test.ts +0 -13
- package/src/__tests__/search/embed-stale.test.ts +0 -42
- package/src/__tests__/search/exact-search.test.ts +0 -54
- package/src/mcp-tools/embed.ts +0 -56
- package/src/pipeline/phases/embeddings.ts +0 -17
- package/src/search/device-config.ts +0 -31
- package/src/search/embed-batch.ts +0 -151
- package/src/search/embedder.ts +0 -60
- package/src/search/exact-search.ts +0 -45
- package/src/search/http-embedder.ts +0 -78
- package/src/storage/embedding-store.ts +0 -108
package/dist/src/index.d.ts
CHANGED
|
@@ -18,12 +18,8 @@ export * from './export/graphml.js';
|
|
|
18
18
|
export * from './export/svg.js';
|
|
19
19
|
export * from './mcp-tools/index.js';
|
|
20
20
|
export * from './staleness/git-staleness.js';
|
|
21
|
-
export * from './storage/embedding-store.js';
|
|
22
21
|
export * from './search/rrf.js';
|
|
23
|
-
export * from './search/embedder.js';
|
|
24
|
-
export * from './search/embed-batch.js';
|
|
25
22
|
export * from './search/hybrid-query.js';
|
|
26
|
-
export * from './mcp-tools/embed.js';
|
|
27
23
|
export * from './groups/group-config.js';
|
|
28
24
|
export * from './groups/group-search.js';
|
|
29
25
|
export * from './groups/contract-bridge.js';
|
|
@@ -70,8 +66,6 @@ export * from './analysis/file-classifier.js';
|
|
|
70
66
|
export * from './pipeline/phases/evidence.js';
|
|
71
67
|
export * from './registry/repo-registry.js';
|
|
72
68
|
export * from './search/ast-chunker.js';
|
|
73
|
-
export * from './search/http-embedder.js';
|
|
74
|
-
export * from './search/device-config.js';
|
|
75
69
|
export * from './wiki/providers.js';
|
|
76
70
|
export * from './pipeline/phases/variables-phase.js';
|
|
77
71
|
export * from './pipeline/phases/wildcard-phase.js';
|
|
@@ -92,7 +86,6 @@ export * from './mcp-tools/query.js';
|
|
|
92
86
|
export * from './search/diacritic.js';
|
|
93
87
|
export * from './ingest/url-ingest.js';
|
|
94
88
|
export * from './analysis/corpus-health.js';
|
|
95
|
-
export * from './search/exact-search.js';
|
|
96
89
|
export * from './groups/grpc-extractor.js';
|
|
97
90
|
export * from './groups/topic-extractor.js';
|
|
98
91
|
export * from './groups/service-boundary.js';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.js
CHANGED
|
@@ -18,12 +18,8 @@ export * from './export/graphml.js';
|
|
|
18
18
|
export * from './export/svg.js';
|
|
19
19
|
export * from './mcp-tools/index.js';
|
|
20
20
|
export * from './staleness/git-staleness.js';
|
|
21
|
-
export * from './storage/embedding-store.js';
|
|
22
21
|
export * from './search/rrf.js';
|
|
23
|
-
export * from './search/embedder.js';
|
|
24
|
-
export * from './search/embed-batch.js';
|
|
25
22
|
export * from './search/hybrid-query.js';
|
|
26
|
-
export * from './mcp-tools/embed.js';
|
|
27
23
|
export * from './groups/group-config.js';
|
|
28
24
|
export * from './groups/group-search.js';
|
|
29
25
|
export * from './groups/contract-bridge.js';
|
|
@@ -72,8 +68,6 @@ export * from './analysis/file-classifier.js';
|
|
|
72
68
|
export * from './pipeline/phases/evidence.js';
|
|
73
69
|
export * from './registry/repo-registry.js';
|
|
74
70
|
export * from './search/ast-chunker.js';
|
|
75
|
-
export * from './search/http-embedder.js';
|
|
76
|
-
export * from './search/device-config.js';
|
|
77
71
|
export * from './wiki/providers.js';
|
|
78
72
|
export * from './pipeline/phases/variables-phase.js';
|
|
79
73
|
export * from './pipeline/phases/wildcard-phase.js';
|
|
@@ -94,7 +88,6 @@ export * from './mcp-tools/query.js';
|
|
|
94
88
|
export * from './search/diacritic.js';
|
|
95
89
|
export * from './ingest/url-ingest.js';
|
|
96
90
|
export * from './analysis/corpus-health.js';
|
|
97
|
-
export * from './search/exact-search.js';
|
|
98
91
|
export * from './groups/grpc-extractor.js';
|
|
99
92
|
export * from './groups/topic-extractor.js';
|
|
100
93
|
export * from './groups/service-boundary.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,6 @@ export * from './shape-check.js';
|
|
|
16
16
|
export * from './neighbors.js';
|
|
17
17
|
export * from './graph-query.js';
|
|
18
18
|
export * from './explain.js';
|
|
19
|
-
export * from './embed.js';
|
|
20
19
|
export * from './group-sync.js';
|
|
21
20
|
export * from './list-repos.js';
|
|
22
21
|
export * from './query.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -16,7 +16,6 @@ export * from './shape-check.js';
|
|
|
16
16
|
export * from './neighbors.js';
|
|
17
17
|
export * from './graph-query.js';
|
|
18
18
|
export * from './explain.js';
|
|
19
|
-
export * from './embed.js';
|
|
20
19
|
export * from './group-sync.js';
|
|
21
20
|
export * from './list-repos.js';
|
|
22
21
|
export * from './query.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp-tools/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* BM25 search (FTS5) with the historical "hybrid" entry-point signature.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the function falls back to BM25 only — same behaviour as before.
|
|
4
|
+
* Monograph search is BM25-only. The former embedding/vector branch
|
|
5
|
+
* (gated on MONOGRAPH_EMBEDDINGS=true) was removed — it was never run in
|
|
6
|
+
* practice (the embeddings table stayed empty) and did a JS cosine full
|
|
7
|
+
* scan. The exported function signatures are unchanged so callers do not
|
|
8
|
+
* need to change.
|
|
10
9
|
*/
|
|
11
10
|
import type Database from 'better-sqlite3';
|
|
12
|
-
import type {
|
|
13
|
-
import { type RankedResult } from './rrf.js';
|
|
11
|
+
import type { RankedResult } from './rrf.js';
|
|
14
12
|
export interface HybridQueryOptions {
|
|
15
13
|
limit?: number;
|
|
16
14
|
label?: string;
|
|
17
|
-
/**
|
|
18
|
-
embedder?:
|
|
15
|
+
/** @deprecated Embeddings are disabled — this option is ignored; search is BM25-only. */
|
|
16
|
+
embedder?: unknown;
|
|
19
17
|
}
|
|
20
18
|
export interface HybridResult extends RankedResult {
|
|
21
19
|
id: string;
|
|
@@ -30,12 +28,8 @@ export interface HybridResult extends RankedResult {
|
|
|
30
28
|
endLine?: number | null;
|
|
31
29
|
}
|
|
32
30
|
/**
|
|
33
|
-
* Run a
|
|
34
|
-
*
|
|
35
|
-
* Falls back to BM25-only when:
|
|
36
|
-
* - MONOGRAPH_EMBEDDINGS env var is not 'true' AND no explicit embedder is given
|
|
37
|
-
* - The embeddings table is empty
|
|
38
|
-
* - Embedding the query string fails
|
|
31
|
+
* Run a BM25 (FTS5) search. Despite the name, this is BM25-only — the
|
|
32
|
+
* vector branch was removed; the `embedder` option is ignored.
|
|
39
33
|
*/
|
|
40
34
|
export declare function hybridQuery(db: Database.Database, query: string, options?: HybridQueryOptions): Promise<HybridResult[]>;
|
|
41
35
|
//# sourceMappingURL=hybrid-query.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-query.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hybrid-query.d.ts","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB"}
|
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* BM25 search (FTS5) with the historical "hybrid" entry-point signature.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* the function falls back to BM25 only — same behaviour as before.
|
|
4
|
+
* Monograph search is BM25-only. The former embedding/vector branch
|
|
5
|
+
* (gated on MONOGRAPH_EMBEDDINGS=true) was removed — it was never run in
|
|
6
|
+
* practice (the embeddings table stayed empty) and did a JS cosine full
|
|
7
|
+
* scan. The exported function signatures are unchanged so callers do not
|
|
8
|
+
* need to change.
|
|
10
9
|
*/
|
|
11
|
-
import { mergeRanks } from './rrf.js';
|
|
12
|
-
import { getAllEmbeddings, countEmbeddings } from '../storage/embedding-store.js';
|
|
13
|
-
import { embedText } from './embedder.js';
|
|
14
10
|
import { ftsSearch } from '../storage/fts-store.js';
|
|
15
11
|
import { normalizeSearchTerm } from './diacritic.js';
|
|
16
12
|
/**
|
|
17
|
-
* Run a
|
|
18
|
-
*
|
|
19
|
-
* Falls back to BM25-only when:
|
|
20
|
-
* - MONOGRAPH_EMBEDDINGS env var is not 'true' AND no explicit embedder is given
|
|
21
|
-
* - The embeddings table is empty
|
|
22
|
-
* - Embedding the query string fails
|
|
13
|
+
* Run a BM25 (FTS5) search. Despite the name, this is BM25-only — the
|
|
14
|
+
* vector branch was removed; the `embedder` option is ignored.
|
|
23
15
|
*/
|
|
24
16
|
export async function hybridQuery(db, query, options = {}) {
|
|
25
|
-
const { limit = 20, label
|
|
17
|
+
const { limit = 20, label } = options;
|
|
26
18
|
// Normalize the query for text-based lookups (strip diacritics, lowercase, trim)
|
|
27
19
|
const normalizedQuery = normalizeSearchTerm(query);
|
|
28
20
|
// ── BM25 via FTS5 ──────────────────────────────────────────────────────────
|
|
@@ -38,83 +30,6 @@ export async function hybridQuery(db, query, options = {}) {
|
|
|
38
30
|
startLine: r.startLine,
|
|
39
31
|
endLine: r.endLine,
|
|
40
32
|
}));
|
|
41
|
-
|
|
42
|
-
const embeddingsEnabled = embedder !== undefined || process.env['MONOGRAPH_EMBEDDINGS'] === 'true';
|
|
43
|
-
if (!embeddingsEnabled)
|
|
44
|
-
return sliceHybrid(bm25Results, limit);
|
|
45
|
-
const embeddingCount = countEmbeddings(db);
|
|
46
|
-
if (embeddingCount === 0)
|
|
47
|
-
return sliceHybrid(bm25Results, limit);
|
|
48
|
-
// ── Embed the query ────────────────────────────────────────────────────────
|
|
49
|
-
let queryVec;
|
|
50
|
-
try {
|
|
51
|
-
const fn = embedder ?? (await import('./embedder.js').then((m) => m.getEmbedder()));
|
|
52
|
-
queryVec = await embedText(normalizedQuery, fn);
|
|
53
|
-
}
|
|
54
|
-
catch {
|
|
55
|
-
// Embedding failed — degrade gracefully to BM25
|
|
56
|
-
return sliceHybrid(bm25Results, limit);
|
|
57
|
-
}
|
|
58
|
-
// ── Cosine similarity against stored vectors ──────────────────────────────
|
|
59
|
-
const allVecs = getAllEmbeddings(db);
|
|
60
|
-
const vectorScored = [];
|
|
61
|
-
for (const [nodeId, vec] of allVecs) {
|
|
62
|
-
const sim = dotProduct(queryVec, vec); // valid because vectors are L2-normalised
|
|
63
|
-
vectorScored.push({ id: nodeId, cosine: sim });
|
|
64
|
-
}
|
|
65
|
-
// Sort descending by cosine similarity
|
|
66
|
-
vectorScored.sort((a, b) => b.cosine - a.cosine);
|
|
67
|
-
// Build vector RankedResult list with node metadata joined from BM25 cache
|
|
68
|
-
const bm25ById = new Map(bm25Results.map((r) => [r.id, r]));
|
|
69
|
-
const vectorResults = vectorScored.map((vs) => {
|
|
70
|
-
const meta = bm25ById.get(vs.id);
|
|
71
|
-
return {
|
|
72
|
-
id: vs.id,
|
|
73
|
-
name: meta?.name ?? '',
|
|
74
|
-
normLabel: meta?.normLabel ?? '',
|
|
75
|
-
filePath: meta?.filePath ?? null,
|
|
76
|
-
label: meta?.label ?? '',
|
|
77
|
-
score: vs.cosine,
|
|
78
|
-
};
|
|
79
|
-
});
|
|
80
|
-
// ── Merge via RRF ──────────────────────────────────────────────────────────
|
|
81
|
-
const merged = mergeRanks(bm25Results, vectorResults);
|
|
82
|
-
// Enrich nodes not in bm25 cache with a DB lookup
|
|
83
|
-
const enrichable = merged;
|
|
84
|
-
const unknownIds = enrichable
|
|
85
|
-
.filter((r) => !r.name)
|
|
86
|
-
.map((r) => r.id);
|
|
87
|
-
if (unknownIds.length > 0) {
|
|
88
|
-
const placeholders = unknownIds.map(() => '?').join(',');
|
|
89
|
-
const rows = db
|
|
90
|
-
.prepare(`SELECT id, name, norm_label, file_path, label, start_line, end_line FROM nodes WHERE id IN (${placeholders})`)
|
|
91
|
-
.all(...unknownIds);
|
|
92
|
-
const rowMap = new Map(rows.map((r) => [r.id, r]));
|
|
93
|
-
for (const item of enrichable) {
|
|
94
|
-
if (!item.name) {
|
|
95
|
-
const row = rowMap.get(item.id);
|
|
96
|
-
if (row) {
|
|
97
|
-
item.name = row.name;
|
|
98
|
-
item.normLabel = row.norm_label;
|
|
99
|
-
item.filePath = row.file_path;
|
|
100
|
-
item.label = row.label;
|
|
101
|
-
item.startLine = row.start_line;
|
|
102
|
-
item.endLine = row.end_line;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return sliceHybrid(merged, limit);
|
|
108
|
-
}
|
|
109
|
-
// ── Helpers ───────────────────────────────────────────────────────────────────
|
|
110
|
-
function sliceHybrid(results, limit) {
|
|
111
|
-
return results.slice(0, limit);
|
|
112
|
-
}
|
|
113
|
-
function dotProduct(a, b) {
|
|
114
|
-
let sum = 0;
|
|
115
|
-
const len = Math.min(a.length, b.length);
|
|
116
|
-
for (let i = 0; i < len; i++)
|
|
117
|
-
sum += a[i] * b[i];
|
|
118
|
-
return sum;
|
|
33
|
+
return bm25Results.slice(0, limit);
|
|
119
34
|
}
|
|
120
35
|
//# sourceMappingURL=hybrid-query.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid-query.js","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"hybrid-query.js","sourceRoot":"","sources":["../../../src/search/hybrid-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAsBrD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,EAAqB,EACrB,KAAa,EACb,UAA8B,EAAE;IAEhC,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAEtC,iFAAiF;IACjF,MAAM,eAAe,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAEnD,8EAA8E;IAC9E,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACjE,MAAM,WAAW,GAAmB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,KAAK,EAAE,CAAC,CAAC,IAAI;QACb,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;KACnB,CAAC,CAAC,CAAC;IAEJ,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAmB,CAAC;AACvD,CAAC"}
|