@mmnto/totem 1.123.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/artifacts/grounding.d.ts +27 -7
  2. package/dist/artifacts/grounding.d.ts.map +1 -1
  3. package/dist/artifacts/grounding.js +23 -5
  4. package/dist/artifacts/grounding.js.map +1 -1
  5. package/dist/artifacts/grounding.test.js +28 -0
  6. package/dist/artifacts/grounding.test.js.map +1 -1
  7. package/dist/artifacts/schema.d.ts +63 -18
  8. package/dist/artifacts/schema.d.ts.map +1 -1
  9. package/dist/artifacts/schema.js +13 -4
  10. package/dist/artifacts/schema.js.map +1 -1
  11. package/dist/config-schema.d.ts +70 -15
  12. package/dist/config-schema.d.ts.map +1 -1
  13. package/dist/config-schema.js +80 -14
  14. package/dist/config-schema.js.map +1 -1
  15. package/dist/config-schema.test.js +77 -1
  16. package/dist/config-schema.test.js.map +1 -1
  17. package/dist/index.d.ts +11 -5
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +10 -5
  20. package/dist/index.js.map +1 -1
  21. package/dist/ingest/pipeline.d.ts +12 -0
  22. package/dist/ingest/pipeline.d.ts.map +1 -1
  23. package/dist/ingest/pipeline.js +5 -0
  24. package/dist/ingest/pipeline.js.map +1 -1
  25. package/dist/ingest/pipeline.test.js +9 -0
  26. package/dist/ingest/pipeline.test.js.map +1 -1
  27. package/dist/semantic-dedup.d.ts.map +1 -1
  28. package/dist/semantic-dedup.js +2 -5
  29. package/dist/semantic-dedup.js.map +1 -1
  30. package/dist/semantic-dedup.test.js +32 -1
  31. package/dist/semantic-dedup.test.js.map +1 -1
  32. package/dist/store/lance-search.d.ts +1 -1
  33. package/dist/store/lance-search.d.ts.map +1 -1
  34. package/dist/store/lance-search.js +89 -18
  35. package/dist/store/lance-search.js.map +1 -1
  36. package/dist/store/lance-search.test.js +207 -26
  37. package/dist/store/lance-search.test.js.map +1 -1
  38. package/dist/store/lance-store.d.ts.map +1 -1
  39. package/dist/store/lance-store.js +1 -1
  40. package/dist/store/lance-store.js.map +1 -1
  41. package/dist/store/lance-store.test.js +23 -0
  42. package/dist/store/lance-store.test.js.map +1 -1
  43. package/dist/store/relevance.d.ts +70 -0
  44. package/dist/store/relevance.d.ts.map +1 -0
  45. package/dist/store/relevance.js +115 -0
  46. package/dist/store/relevance.js.map +1 -0
  47. package/dist/store/relevance.sdk.test.d.ts +20 -0
  48. package/dist/store/relevance.sdk.test.d.ts.map +1 -0
  49. package/dist/store/relevance.sdk.test.js +145 -0
  50. package/dist/store/relevance.sdk.test.js.map +1 -0
  51. package/dist/store/relevance.test.d.ts +2 -0
  52. package/dist/store/relevance.test.d.ts.map +1 -0
  53. package/dist/store/relevance.test.js +192 -0
  54. package/dist/store/relevance.test.js.map +1 -0
  55. package/dist/store/search-lessons.d.ts +18 -0
  56. package/dist/store/search-lessons.d.ts.map +1 -0
  57. package/dist/store/search-lessons.js +18 -0
  58. package/dist/store/search-lessons.js.map +1 -0
  59. package/dist/store/search-lessons.test.d.ts +2 -0
  60. package/dist/store/search-lessons.test.d.ts.map +1 -0
  61. package/dist/store/search-lessons.test.js +48 -0
  62. package/dist/store/search-lessons.test.js.map +1 -0
  63. package/dist/types.d.ts +4 -2
  64. package/dist/types.d.ts.map +1 -1
  65. package/dist/types.js.map +1 -1
  66. package/package.json +1 -1
@@ -217,6 +217,29 @@ describe('LanceStore', () => {
217
217
  const results = await store.search({ query: 'content', typeFilter: 'spec', maxResults: 10 });
218
218
  expect(results.every((r) => r.type === 'spec')).toBe(true);
219
219
  });
220
+ // The construction fact behind mmnto-ai/totem#2735: `typeFilter` is exact
221
+ // equality on ONE content type, so a spec-typed pool can never contain a
222
+ // lesson — partitioning lessons out of a `spec` query yields nothing.
223
+ it("a 'spec' pool never contains a lesson; lessons come only from a 'lesson' pool", async () => {
224
+ await store.insert([
225
+ makeChunk({ type: 'lesson', content: 'lesson content gamma', label: 'lesson gamma' }),
226
+ makeChunk({ type: 'spec', content: 'spec content gamma', label: 'spec gamma' }),
227
+ ]);
228
+ const lessonPool = await store.search({
229
+ query: 'content gamma',
230
+ typeFilter: 'lesson',
231
+ maxResults: 10,
232
+ });
233
+ expect(lessonPool.length).toBe(1);
234
+ expect(lessonPool.every((r) => r.type === 'lesson')).toBe(true);
235
+ const specPool = await store.search({
236
+ query: 'content gamma',
237
+ typeFilter: 'spec',
238
+ maxResults: 10,
239
+ });
240
+ expect(specPool.length).toBe(1);
241
+ expect(specPool.some((r) => r.type === 'lesson')).toBe(false);
242
+ });
220
243
  it('filters by boundary (file path prefix)', async () => {
221
244
  await store.insert([
222
245
  makeChunk({ filePath: 'packages/core/src/compiler.ts', content: 'core compiler logic' }),
@@ -1 +1 @@
1
- {"version":3,"file":"lance-store.test.js","sourceRoot":"","sources":["../../src/store/lance-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lance-store.test.js","sourceRoot":"","sources":["../../src/store/lance-store.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Metric-bound relevance (mmnto-ai/totem#2738).
3
+ *
4
+ * A distance is only interpretable against the metric that produced it. The
5
+ * pre-#2738 code hard-coded `1 / (1 + _distance)` at the row-mapping site with
6
+ * no record of which metric LanceDB had actually used, so a metric change
7
+ * anywhere would have silently re-scaled every relevance number in the system.
8
+ * This module makes the metric a named fact and the normalization a map keyed
9
+ * by it: one truth, stated once, quoted in the doc comments below from the
10
+ * LanceDB SDK's own definitions.
11
+ */
12
+ /** The distance metrics the LanceDB TypeScript SDK can be asked for (`VectorQuery.distanceType`). */
13
+ export type DistanceMetric = 'l2' | 'cosine' | 'dot';
14
+ /**
15
+ * Every spelling the SDK accepts — the allow-list `assertDistanceMetric` gates on.
16
+ * Frozen at runtime as well as `readonly` in the type: a JS caller that pushed a
17
+ * spelling onto it would otherwise pass the gate and reach an undefined map entry
18
+ * (CodeRabbit on mmnto-ai/totem#2761).
19
+ */
20
+ export declare const DISTANCE_METRICS: readonly DistanceMetric[];
21
+ /**
22
+ * The ONE metric every Totem vector query is issued with (mmnto-ai/totem#2738).
23
+ *
24
+ * Both query sites in `lance-search.ts` chain `.distanceType(VECTOR_DISTANCE_METRIC)`
25
+ * explicitly, so the metric is a recorded fact in the query rather than the SDK
26
+ * default it happens to coincide with. `runSync` also records it in
27
+ * `.totem/index-manifest.json` as `vectorDistanceMetric`.
28
+ */
29
+ export declare const VECTOR_DISTANCE_METRIC: DistanceMetric;
30
+ /**
31
+ * Why a computed relevance can leave [0, 1] — the cause is METRIC-SPECIFIC
32
+ * (mmnto-ai/totem#2738 falsification round, F1), so the warning must not name a
33
+ * cause the metric cannot have.
34
+ *
35
+ * Under `l2` the SDK returns a squared distance, which is `≥ 0` by
36
+ * construction, so `1 / (1 + d) ∈ (0, 1]` for every value the SDK can legally
37
+ * return: a breach there is NOT a non-unit-norm embedder, it is a fault. And it
38
+ * is always a NEGATIVE, FINITE `_distance` — the search layer discards a
39
+ * non-finite `_distance` BEFORE the map runs (both the row-mapping site and the
40
+ * pre-fusion tally require `Number.isFinite`), so a non-finite value produces no
41
+ * relevance at all and can never reach this warning. The string names only what
42
+ * the warning can actually report (fold 2, F1).
43
+ *
44
+ * Under `cosine` / `dot` the mapping DOES leave [0, 1] for vectors that are not
45
+ * unit-norm, which is the real embedder-profile signal.
46
+ */
47
+ export declare const OUT_OF_RANGE_CAUSE: Record<DistanceMetric, string>;
48
+ /**
49
+ * Narrow an untrusted value (a manifest field, a config key, a record read off
50
+ * disk) to a `DistanceMetric`, or throw loudly naming the value and every
51
+ * allowed spelling. The type makes an unmapped metric unreachable in code; this
52
+ * is the runtime gate for values that did not come through the type.
53
+ */
54
+ export declare function assertDistanceMetric(value: unknown): DistanceMetric;
55
+ /**
56
+ * Normalize a LanceDB `_distance` into a relevance under the given metric.
57
+ *
58
+ * A pure map with one job: it never warns, never throws ON RANGE, and never
59
+ * clamps. The caller judges the result with {@link isRelevanceInRange} and
60
+ * decides what a range breach means at that call site.
61
+ *
62
+ * The METRIC is gated: `assertDistanceMetric` runs first (mmnto-ai/totem#2738
63
+ * falsification round, F5), so a spelling that reached here past the type — an
64
+ * `any`, a value read off a record, a JS caller — raises the named
65
+ * `TotemError` instead of a bare `TypeError` from an undefined map entry.
66
+ */
67
+ export declare function relevanceFromDistance(metric: DistanceMetric, distance: number): number;
68
+ /** Whether a relevance is a finite number inside the closed interval [0, 1]. */
69
+ export declare function isRelevanceInRange(relevance: number): boolean;
70
+ //# sourceMappingURL=relevance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevance.d.ts","sourceRoot":"","sources":["../../src/store/relevance.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,qGAAqG;AACrG,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAI3C,CAAC;AAEZ;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAAqB,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAI7D,CAAC;AA0CF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAUnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtF;AAED,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -0,0 +1,115 @@
1
+ import { TotemError } from '../errors.js';
2
+ /**
3
+ * Every spelling the SDK accepts — the allow-list `assertDistanceMetric` gates on.
4
+ * Frozen at runtime as well as `readonly` in the type: a JS caller that pushed a
5
+ * spelling onto it would otherwise pass the gate and reach an undefined map entry
6
+ * (CodeRabbit on mmnto-ai/totem#2761).
7
+ */
8
+ export const DISTANCE_METRICS = Object.freeze([
9
+ 'l2',
10
+ 'cosine',
11
+ 'dot',
12
+ ]);
13
+ /**
14
+ * The ONE metric every Totem vector query is issued with (mmnto-ai/totem#2738).
15
+ *
16
+ * Both query sites in `lance-search.ts` chain `.distanceType(VECTOR_DISTANCE_METRIC)`
17
+ * explicitly, so the metric is a recorded fact in the query rather than the SDK
18
+ * default it happens to coincide with. `runSync` also records it in
19
+ * `.totem/index-manifest.json` as `vectorDistanceMetric`.
20
+ */
21
+ export const VECTOR_DISTANCE_METRIC = 'l2';
22
+ /**
23
+ * Why a computed relevance can leave [0, 1] — the cause is METRIC-SPECIFIC
24
+ * (mmnto-ai/totem#2738 falsification round, F1), so the warning must not name a
25
+ * cause the metric cannot have.
26
+ *
27
+ * Under `l2` the SDK returns a squared distance, which is `≥ 0` by
28
+ * construction, so `1 / (1 + d) ∈ (0, 1]` for every value the SDK can legally
29
+ * return: a breach there is NOT a non-unit-norm embedder, it is a fault. And it
30
+ * is always a NEGATIVE, FINITE `_distance` — the search layer discards a
31
+ * non-finite `_distance` BEFORE the map runs (both the row-mapping site and the
32
+ * pre-fusion tally require `Number.isFinite`), so a non-finite value produces no
33
+ * relevance at all and can never reach this warning. The string names only what
34
+ * the warning can actually report (fold 2, F1).
35
+ *
36
+ * Under `cosine` / `dot` the mapping DOES leave [0, 1] for vectors that are not
37
+ * unit-norm, which is the real embedder-profile signal.
38
+ */
39
+ export const OUT_OF_RANGE_CAUSE = {
40
+ l2: 'a negative _distance, which squared L2 cannot produce: an SDK or data fault',
41
+ cosine: "the embedder's vectors may not be unit-norm",
42
+ dot: "the embedder's vectors may not be unit-norm",
43
+ };
44
+ /**
45
+ * distance → relevance, one entry per SDK metric.
46
+ *
47
+ * Private on purpose: the map is an implementation of `relevanceFromDistance`,
48
+ * not a second surface callers can reach around it to index.
49
+ */
50
+ const RELEVANCE_FROM_DISTANCE = {
51
+ /**
52
+ * SDK: `"l2"` — Euclidean distance, "range of [0, ∞)". MEASURED (R1,
53
+ * mmnto-ai/totem#2738, 3/3 trials, |diff| < 1e-5): what the SDK actually
54
+ * returns in `_distance` for `l2` is the SQUARED Euclidean distance
55
+ * (`lance-linalg` sums `diff * diff` with no sqrt) — a self-hit returns 0,
56
+ * and a pair at cosine 0.845 returned 0.3096 = |a-b|², not |a-b| = 0.5564.
57
+ *
58
+ * On unit-norm vectors |a-b|² = 2 - 2·cos ∈ [0, 4], so relevance ∈ [0.2, 1]
59
+ * (minimum observed: 0.5022 over 3,795 hits on this repo's index).
60
+ *
61
+ * LangChain's euclidean constant presumes a NON-squared distance and is
62
+ * deliberately NOT borrowed — applied to a squared distance it would be
63
+ * wrong. The doctrine (bind the normalization to a named metric) is
64
+ * borrowed; the constant is not.
65
+ */
66
+ l2: (distance) => 1 / (1 + distance),
67
+ /**
68
+ * SDK: `"cosine"` — "Cosine distance ... has a range of [0, 2]", i.e.
69
+ * `1 - cos(a, b)`, unaffected by vector magnitude. `1 - distance / 2` maps
70
+ * [0, 2] onto relevance [0, 1] linearly in the cosine.
71
+ */
72
+ cosine: (distance) => 1 - distance / 2,
73
+ /**
74
+ * SDK: `"dot"` — "Dot distance has a range of (-∞, ∞). If the vectors are
75
+ * normalized (i.e. their l2 norm is 1), then dot distance is equivalent to
76
+ * the cosine distance" — so LanceDB's dot distance is the `1 - a·b` form and
77
+ * takes the SAME map as `cosine`. On NON-unit vectors it can leave [0, 2] and
78
+ * the relevance then leaves [0, 1]: this is the case the out-of-range warning
79
+ * at the search call sites exists for.
80
+ */
81
+ dot: (distance) => 1 - distance / 2,
82
+ };
83
+ /**
84
+ * Narrow an untrusted value (a manifest field, a config key, a record read off
85
+ * disk) to a `DistanceMetric`, or throw loudly naming the value and every
86
+ * allowed spelling. The type makes an unmapped metric unreachable in code; this
87
+ * is the runtime gate for values that did not come through the type.
88
+ */
89
+ export function assertDistanceMetric(value) {
90
+ if (typeof value === 'string' && DISTANCE_METRICS.includes(value)) {
91
+ return value;
92
+ }
93
+ const allowed = DISTANCE_METRICS.map((m) => `"${m}"`).join(', ');
94
+ throw new TotemError('CONFIG_INVALID', `Unknown vector distance metric ${JSON.stringify(value)} — the LanceDB SDK accepts only ${allowed}.`, `Use one of ${allowed}. These are the SDK's own spellings; "ip"/"inner_product"/"euclidean" are not among them.`);
95
+ }
96
+ /**
97
+ * Normalize a LanceDB `_distance` into a relevance under the given metric.
98
+ *
99
+ * A pure map with one job: it never warns, never throws ON RANGE, and never
100
+ * clamps. The caller judges the result with {@link isRelevanceInRange} and
101
+ * decides what a range breach means at that call site.
102
+ *
103
+ * The METRIC is gated: `assertDistanceMetric` runs first (mmnto-ai/totem#2738
104
+ * falsification round, F5), so a spelling that reached here past the type — an
105
+ * `any`, a value read off a record, a JS caller — raises the named
106
+ * `TotemError` instead of a bare `TypeError` from an undefined map entry.
107
+ */
108
+ export function relevanceFromDistance(metric, distance) {
109
+ return RELEVANCE_FROM_DISTANCE[assertDistanceMetric(metric)](distance);
110
+ }
111
+ /** Whether a relevance is a finite number inside the closed interval [0, 1]. */
112
+ export function isRelevanceInRange(relevance) {
113
+ return Number.isFinite(relevance) && relevance >= 0 && relevance <= 1;
114
+ }
115
+ //# sourceMappingURL=relevance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevance.js","sourceRoot":"","sources":["../../src/store/relevance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAiB1C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA8B,MAAM,CAAC,MAAM,CAAC;IACvE,IAAI;IACJ,QAAQ;IACR,KAAK;CACG,CAAC,CAAC;AAEZ;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAmB,IAAI,CAAC;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAChE,EAAE,EAAE,6EAA6E;IACjF,MAAM,EAAE,6CAA6C;IACrD,GAAG,EAAE,6CAA6C;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,uBAAuB,GAAyD;IACpF;;;;;;;;;;;;;;OAcG;IACH,EAAE,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;IAC5C;;;;OAIG;IACH,MAAM,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;IAC9C;;;;;;;OAOG;IACH,GAAG,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAK,gBAAsC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzF,OAAO,KAAuB,CAAC;IACjC,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,IAAI,UAAU,CAClB,gBAAgB,EAChB,kCAAkC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,mCAAmC,OAAO,GAAG,EACpG,cAAc,OAAO,2FAA2F,CACjH,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAsB,EAAE,QAAgB;IAC5E,OAAO,uBAAuB,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * SDK-MEASURED metric pinning (mmnto-ai/totem#2738 falsification round, F7).
3
+ *
4
+ * The rest of the relevance suite pins the MAP; it cannot tell you whether the
5
+ * map matches what LanceDB actually returns. The `dot` entry in particular was
6
+ * derived from the SDK's DOC COMMENT ("if the vectors are normalized … dot
7
+ * distance is equivalent to the cosine distance") and never measured — a doc
8
+ * comment is a claim, not a measurement, and it is silent about what happens
9
+ * off the unit sphere. This file is the falsifier that gap wanted: it builds a
10
+ * throwaway LanceDB table with hand-chosen vectors, queries it under each of
11
+ * the SDK's three metrics, and asserts the RETURNED `_distance` before feeding
12
+ * each measured value through the map.
13
+ *
14
+ * If a future SDK bump changes a distance convention — l2 stops being squared,
15
+ * dot flips sign, the default stops being l2 — this file goes red at the exact
16
+ * number that moved, instead of every relevance in the system quietly
17
+ * re-scaling behind a green suite.
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=relevance.sdk.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevance.sdk.test.d.ts","sourceRoot":"","sources":["../../src/store/relevance.sdk.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * SDK-MEASURED metric pinning (mmnto-ai/totem#2738 falsification round, F7).
3
+ *
4
+ * The rest of the relevance suite pins the MAP; it cannot tell you whether the
5
+ * map matches what LanceDB actually returns. The `dot` entry in particular was
6
+ * derived from the SDK's DOC COMMENT ("if the vectors are normalized … dot
7
+ * distance is equivalent to the cosine distance") and never measured — a doc
8
+ * comment is a claim, not a measurement, and it is silent about what happens
9
+ * off the unit sphere. This file is the falsifier that gap wanted: it builds a
10
+ * throwaway LanceDB table with hand-chosen vectors, queries it under each of
11
+ * the SDK's three metrics, and asserts the RETURNED `_distance` before feeding
12
+ * each measured value through the map.
13
+ *
14
+ * If a future SDK bump changes a distance convention — l2 stops being squared,
15
+ * dot flips sign, the default stops being l2 — this file goes red at the exact
16
+ * number that moved, instead of every relevance in the system quietly
17
+ * re-scaling behind a green suite.
18
+ */
19
+ import * as fs from 'node:fs';
20
+ import * as os from 'node:os';
21
+ import * as path from 'node:path';
22
+ import * as lancedb from '@lancedb/lancedb';
23
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
24
+ import { cleanTmpDir } from '../test-utils.js';
25
+ import { isRelevanceInRange, relevanceFromDistance, VECTOR_DISTANCE_METRIC } from './relevance.js';
26
+ /** The query vector every measurement below is taken against. */
27
+ const QUERY = [1, 0, 0];
28
+ /**
29
+ * Hand-chosen probes. Four are unit-norm (where all three metrics are supposed
30
+ * to agree up to their own scale); `scaled-2x` is deliberately NOT, because
31
+ * that is the only place `cosine` and `dot` come apart and the only way to
32
+ * observe a `dot` distance outside [0, 2].
33
+ */
34
+ const ROWS = [
35
+ { id: 'identical', vector: [1, 0, 0] },
36
+ { id: 'orthogonal', vector: [0, 1, 0] },
37
+ { id: 'opposite', vector: [-1, 0, 0] },
38
+ { id: 'unit-0.6', vector: [0.6, 0.8, 0] },
39
+ { id: 'scaled-2x', vector: [2, 0, 0] },
40
+ ];
41
+ /** MEASURED `_distance` per metric, asserted to 1e-6 against the live SDK. */
42
+ const EXPECTED_DISTANCE = {
43
+ // Squared Euclidean: |q - v|². identical 0; orthogonal 2; opposite 4;
44
+ // unit-0.6 0.4² + 0.8² = 0.8; scaled-2x |(-1,0,0)|² = 1.
45
+ l2: { identical: 0, orthogonal: 2, opposite: 4, 'unit-0.6': 0.8, 'scaled-2x': 1 },
46
+ // 1 - cos: magnitude-independent, so scaled-2x collapses onto identical.
47
+ cosine: { identical: 0, orthogonal: 1, opposite: 2, 'unit-0.6': 0.4, 'scaled-2x': 0 },
48
+ // 1 - q·v: identical to cosine on unit vectors, and NOT on scaled-2x, where
49
+ // 1 - 2 = -1 leaves the [0, 2] interval entirely.
50
+ dot: { identical: 0, orthogonal: 1, opposite: 2, 'unit-0.6': 0.4, 'scaled-2x': -1 },
51
+ };
52
+ /** The relevance the map must produce for each MEASURED distance above. */
53
+ const EXPECTED_RELEVANCE = {
54
+ l2: { identical: 1, orthogonal: 1 / 3, opposite: 0.2, 'unit-0.6': 5 / 9, 'scaled-2x': 0.5 },
55
+ cosine: { identical: 1, orthogonal: 0.5, opposite: 0, 'unit-0.6': 0.8, 'scaled-2x': 1 },
56
+ dot: { identical: 1, orthogonal: 0.5, opposite: 0, 'unit-0.6': 0.8, 'scaled-2x': 1.5 },
57
+ };
58
+ describe('LanceDB SDK distance metrics, measured (mmnto-ai/totem#2738, F7)', () => {
59
+ let tmpDir;
60
+ let table;
61
+ beforeEach(async () => {
62
+ tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'lance-metric-'));
63
+ const db = await lancedb.connect(tmpDir);
64
+ table = await db.createTable('probes', ROWS);
65
+ });
66
+ afterEach(() => {
67
+ cleanTmpDir(tmpDir);
68
+ });
69
+ /** Query under `metric`, or under the SDK DEFAULT when none is given. */
70
+ async function measure(metric) {
71
+ let q = table.vectorSearch(QUERY).limit(ROWS.length);
72
+ if (metric !== undefined)
73
+ q = q.distanceType(metric);
74
+ const rows = await q.toArray();
75
+ const byId = new Map();
76
+ for (const row of rows)
77
+ byId.set(String(row['id']), Number(row['_distance']));
78
+ return byId;
79
+ }
80
+ it('the SDK DEFAULT is l2, and l2 is the SQUARED Euclidean distance', async () => {
81
+ const byDefault = await measure();
82
+ const byL2 = await measure('l2');
83
+ for (const { id } of ROWS) {
84
+ const expected = EXPECTED_DISTANCE.l2[id];
85
+ expect(byDefault.get(id)).toBeCloseTo(expected, 6);
86
+ expect(byL2.get(id)).toBeCloseTo(expected, 6);
87
+ }
88
+ // `opposite` is the discriminator: |q - v| = 2 but |q - v|² = 4. A
89
+ // non-squared l2 would return 2 here and the whole [0.2, 1] bound would be
90
+ // wrong. This is what the store relies on, hence the constant.
91
+ expect(byL2.get('opposite')).toBeCloseTo(4, 6);
92
+ expect(VECTOR_DISTANCE_METRIC).toBe('l2');
93
+ });
94
+ it('cosine returns 1 - cos over [0, 2] and ignores magnitude', async () => {
95
+ const byCosine = await measure('cosine');
96
+ for (const { id } of ROWS) {
97
+ expect(byCosine.get(id)).toBeCloseTo(EXPECTED_DISTANCE.cosine[id], 6);
98
+ }
99
+ // Magnitude-independence, measured: a 2x-scaled copy of the query is at
100
+ // distance 0, exactly where the query itself is.
101
+ expect(byCosine.get('scaled-2x')).toBeCloseTo(byCosine.get('identical'), 6);
102
+ });
103
+ it('dot returns 1 - a·b: equal to cosine on unit vectors, and NEGATIVE off them', async () => {
104
+ const byDot = await measure('dot');
105
+ const byCosine = await measure('cosine');
106
+ for (const { id } of ROWS) {
107
+ expect(byDot.get(id)).toBeCloseTo(EXPECTED_DISTANCE.dot[id], 6);
108
+ }
109
+ // The SDK's documented equivalence, now MEASURED rather than quoted — on
110
+ // the four unit-norm probes only.
111
+ for (const id of ['identical', 'orthogonal', 'opposite', 'unit-0.6']) {
112
+ expect(byDot.get(id)).toBeCloseTo(byCosine.get(id), 6);
113
+ }
114
+ // And where the doc comment is silent: off the unit sphere the two diverge
115
+ // and dot leaves [0, 2] altogether.
116
+ expect(byDot.get('scaled-2x')).toBeCloseTo(-1, 6);
117
+ expect(byDot.get('scaled-2x')).not.toBeCloseTo(byCosine.get('scaled-2x'), 6);
118
+ });
119
+ it('the map turns every MEASURED distance into the pinned relevance', async () => {
120
+ for (const metric of ['l2', 'cosine', 'dot']) {
121
+ const measured = await measure(metric);
122
+ for (const { id } of ROWS) {
123
+ const relevance = relevanceFromDistance(metric, measured.get(id));
124
+ expect(relevance).toBeCloseTo(EXPECTED_RELEVANCE[metric][id], 6);
125
+ }
126
+ }
127
+ });
128
+ it('every measured l2 relevance lands in [0.2, 1]; only dot off the unit sphere breaches', async () => {
129
+ const byL2 = await measure('l2');
130
+ for (const { id } of ROWS) {
131
+ const relevance = relevanceFromDistance('l2', byL2.get(id));
132
+ expect(relevance).toBeGreaterThanOrEqual(0.2);
133
+ expect(relevance).toBeLessThanOrEqual(1);
134
+ expect(isRelevanceInRange(relevance)).toBe(true);
135
+ }
136
+ // The single measured breach in the whole matrix — the case the
137
+ // out-of-range warning exists for, and the reason its cause text is
138
+ // metric-specific (F1).
139
+ const byDot = await measure('dot');
140
+ const breach = relevanceFromDistance('dot', byDot.get('scaled-2x'));
141
+ expect(breach).toBeCloseTo(1.5, 6);
142
+ expect(isRelevanceInRange(breach)).toBe(false);
143
+ });
144
+ });
145
+ //# sourceMappingURL=relevance.sdk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevance.sdk.test.js","sourceRoot":"","sources":["../../src/store/relevance.sdk.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=relevance.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relevance.test.d.ts","sourceRoot":"","sources":["../../src/store/relevance.test.ts"],"names":[],"mappings":""}