@delali/narsil 0.3.1-next.71 → 0.3.1-next.73
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/README.md +2 -2
- package/dist/adapters/filesystem.mjs +1 -1
- package/dist/adapters/indexeddb.mjs +1 -1
- package/dist/{capabilities-Dt-7B4Wz.d.ts → capabilities-CYeAWYxQ.d.ts} +19 -4
- package/dist/{chunk-3JGWULDF.mjs → chunk-2WLD2NFW.mjs} +5 -5
- package/dist/{chunk-LMO5TJUS.mjs → chunk-3YKWSO54.mjs} +642 -196
- package/dist/{chunk-HWQLTLNG.mjs → chunk-4MQ5F4IL.mjs} +1 -1
- package/dist/{chunk-FVLQ63B7.mjs → chunk-AFKH4ZK3.mjs} +30 -6
- package/dist/{chunk-653BNMAF.mjs → chunk-AK3BLGCI.mjs} +195 -25
- package/dist/{chunk-IOR2K26O.mjs → chunk-CVFAFZSN.mjs} +8000 -4391
- package/dist/{chunk-USKFU7J5.mjs → chunk-I64LXKO3.mjs} +1 -1
- package/dist/{chunk-OI42GWLR.mjs → chunk-LJYTW7GT.mjs} +57 -11
- package/dist/{chunk-2STVUTNA.mjs → chunk-LPBWCHBE.mjs} +194 -13
- package/dist/{chunk-YNVIUGF5.mjs → chunk-PU43WDY4.mjs} +4 -2
- package/dist/{chunk-M76V3OGJ.mjs → chunk-THMSFOJO.mjs} +1289 -1405
- package/dist/{chunk-YJDQ7NLA.mjs → chunk-WVDFG45M.mjs} +93 -95
- package/dist/chunk-XW25X6AU.mjs +614 -0
- package/dist/chunk-ZKRV5M2P.mjs +75 -0
- package/dist/{chunk-P4DSQ6M4.mjs → chunk-ZULSEZCE.mjs} +68 -28
- package/dist/{client-COek5GXK.d.ts → client-D698E5ge.d.ts} +77 -26
- package/dist/client.d.ts +9 -9
- package/dist/client.mjs +45 -22
- package/dist/{config-rBpbgTw8.d.ts → config-Bv8etwUZ.d.ts} +11 -4
- package/dist/{config-Dfanyqqt.d.ts → config-QXU3HMpq.d.ts} +26 -2
- package/dist/direct-executor-5SRDFZAS.mjs +13 -0
- package/dist/distribution/coordinator/etcd.d.ts +29 -16
- package/dist/distribution/coordinator/etcd.mjs +163 -76
- package/dist/distribution/coordinator/in-memory.d.ts +2 -2
- package/dist/distribution/coordinator/in-memory.mjs +1 -1
- package/dist/distribution/transport/grpc.d.ts +2 -2
- package/dist/distribution/transport/grpc.mjs +22 -2
- package/dist/distribution/transport/in-memory.d.ts +2 -2
- package/dist/distribution/transport/in-memory.mjs +6 -3
- package/dist/distribution/transport/tcp.d.ts +2 -2
- package/dist/distribution/transport/tcp.mjs +40 -16
- package/dist/distribution.d.ts +9 -9
- package/dist/distribution.mjs +682 -388
- package/dist/embeddings/openai.mjs +1 -1
- package/dist/{engine-igk0aMpQ.d.ts → engine-D_OzKZ-6.d.ts} +97 -188
- package/dist/index.browser.mjs +11671 -7427
- package/dist/index.d.ts +27 -8
- package/dist/index.mjs +13 -14
- package/dist/invalidation/filesystem.mjs +1 -1
- package/dist/{memory-C7UMCMH3.d.ts → memory-B4jMmygw.d.ts} +279 -27
- package/dist/pattern-Cledccbl.d.ts +18 -0
- package/dist/pattern.d.ts +22 -0
- package/dist/pattern.mjs +7 -0
- package/dist/persistence/durability/checkpoint-worker.d.ts +41 -17
- package/dist/persistence/durability/checkpoint-worker.mjs +24 -16
- package/dist/react.d.ts +7 -7
- package/dist/react.mjs +1 -1
- package/dist/{schema-Bgzr4g7b.d.ts → schema-BBOCdhND.d.ts} +9 -7
- package/dist/server.d.ts +11 -11
- package/dist/server.mjs +213 -34
- package/dist/{tasks-BZt_zes6.d.ts → tasks-DpgCpW1x.d.ts} +3 -3
- package/dist/{thread-JEVAYETR.mjs → thread-3LNVA43V.mjs} +94 -27
- package/dist/{types-BQDlIvfS.d.ts → types-B3b68nfF.d.ts} +1 -1
- package/dist/{types-gOUqhs2F.d.ts → types-BiUmaiWT.d.ts} +1 -1
- package/dist/{types-D5OwhtsQ.d.ts → types-Cb9kiY5P.d.ts} +1 -1
- package/dist/vector/search-worker.d.ts +1 -1
- package/dist/vector/search-worker.mjs +4 -4
- package/dist/workers/entry.mjs +4 -4
- package/package.json +15 -7
- package/dist/chunk-3L4U6EJQ.mjs +0 -49
- package/dist/chunk-GIVAGD3Q.mjs +0 -25
- package/dist/chunk-IFBKLBGB.mjs +0 -7
- package/dist/direct-executor-GYJEKNV5.mjs +0 -12
- package/dist/serialization/crc32-worker.d.ts +0 -20
- package/dist/serialization/crc32-worker.mjs +0 -62
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OSQ_STEPS, OSQ_GRID, OSQ_REFINE_ROUNDS, OSQ_REFINE_TOLERANCE, OSQ4_NARROW_DIMENSION_LIMIT, DEFAULT_OSQ4_NARROW_OVERSAMPLE, DEFAULT_OVERSAMPLE_BY_BITS, OSQ_QUERY_BITS, OSQ_LAMBDA } from './chunk-ZJ4CSAB2.mjs';
|
|
2
|
-
import { COMPACTION_TOMBSTONE_RATIO, COMPACTION_ABSOLUTE_THRESHOLD, nativeSearchCoreIsEnabled, loadNativeCore, stopUsingTheNativeSearchCore, noteFallback, MAX_LAYER_CAP, PLACEMENT_ROOM_REQUESTS, INITIAL_LIST_CAPACITY, DEFAULT_EF_SEARCH, INITIAL_UPPER_SLOTS } from './chunk-
|
|
3
|
-
import { compareCodePoints } from './chunk-
|
|
4
|
-
import { NarsilError, ErrorCodes } from './chunk-
|
|
2
|
+
import { COMPACTION_TOMBSTONE_RATIO, COMPACTION_ABSOLUTE_THRESHOLD, nativeSearchCoreIsEnabled, loadNativeCore, stopUsingTheNativeSearchCore, noteFallback, MAX_LAYER_CAP, PLACEMENT_ROOM_REQUESTS, INITIAL_LIST_CAPACITY, DEFAULT_EF_SEARCH, INITIAL_UPPER_SLOTS } from './chunk-PU43WDY4.mjs';
|
|
3
|
+
import { compareCodePoints } from './chunk-LJYTW7GT.mjs';
|
|
4
|
+
import { NarsilError, ErrorCodes } from './chunk-I64LXKO3.mjs';
|
|
5
5
|
import { readSync, closeSync, openSync } from 'fs';
|
|
6
6
|
|
|
7
7
|
// src/vector/constants.ts
|
|
@@ -3651,6 +3651,13 @@ function createVectorStore(options) {
|
|
|
3651
3651
|
yield [docId, entryAt(open, ordinal)];
|
|
3652
3652
|
}
|
|
3653
3653
|
},
|
|
3654
|
+
*docIds() {
|
|
3655
|
+
if (open === null) return;
|
|
3656
|
+
for (let ordinal = 0; ordinal < ordToDoc.length; ordinal++) {
|
|
3657
|
+
const docId = ordToDoc[ordinal];
|
|
3658
|
+
if (docId !== void 0) yield docId;
|
|
3659
|
+
}
|
|
3660
|
+
},
|
|
3654
3661
|
clear() {
|
|
3655
3662
|
forgetDocuments();
|
|
3656
3663
|
if (open === null) return;
|
|
@@ -3789,30 +3796,24 @@ function savedTopLayer(state, ordinal) {
|
|
|
3789
3796
|
if (ordinal === NO_ORDINAL || isTombstoned(state, ordinal)) return NO_LAYER;
|
|
3790
3797
|
return Math.min(nodeMaxLayer(state, ordinal), MAX_LAYER_CAP);
|
|
3791
3798
|
}
|
|
3792
|
-
function
|
|
3799
|
+
function neighbourValueCount(state, topLayers, start, end) {
|
|
3793
3800
|
let values = 0;
|
|
3794
|
-
for (let number =
|
|
3801
|
+
for (let number = start; number < end; number++) {
|
|
3795
3802
|
const top = topLayers[number];
|
|
3796
3803
|
if (top < 0) continue;
|
|
3797
3804
|
values += state.adjacency.level0Stride + top * state.adjacency.upperStride;
|
|
3798
3805
|
}
|
|
3799
3806
|
return values;
|
|
3800
3807
|
}
|
|
3801
|
-
function
|
|
3808
|
+
function serializePart(state, numbers, start, end) {
|
|
3809
|
+
const { numberOfOrdinal, ordinalOfNumber, topLayers } = numbers;
|
|
3802
3810
|
const adjacency = state.adjacency;
|
|
3803
|
-
const
|
|
3804
|
-
const
|
|
3805
|
-
const levels = new Uint8Array(ordinalOfNumber.length);
|
|
3806
|
-
for (let number = 0; number < ordinalOfNumber.length; number++) {
|
|
3807
|
-
const ordinal = ordinalOfNumber[number];
|
|
3808
|
-
if (ordinal >= slots) continue;
|
|
3809
|
-
topLayers[number] = savedTopLayer(state, ordinal);
|
|
3810
|
-
levels[number] = topLayers[number] + 1;
|
|
3811
|
-
}
|
|
3812
|
-
const values = new Uint32Array(largestNeighbourValueCount(state, topLayers));
|
|
3811
|
+
const levels = new Uint8Array(end - start);
|
|
3812
|
+
const values = new Uint32Array(neighbourValueCount(state, topLayers, start, end));
|
|
3813
3813
|
let cursor = 0;
|
|
3814
|
-
for (let number =
|
|
3814
|
+
for (let number = start; number < end; number++) {
|
|
3815
3815
|
const top = topLayers[number];
|
|
3816
|
+
levels[number - start] = top + 1;
|
|
3816
3817
|
for (let layer = 0; layer <= top; layer++) {
|
|
3817
3818
|
const base = layerBase(adjacency, ordinalOfNumber[number], layer);
|
|
3818
3819
|
const array = layerArray(adjacency, layer);
|
|
@@ -3830,18 +3831,33 @@ function serializeNumberedGraph(state, numberOfOrdinal, ordinalOfNumber) {
|
|
|
3830
3831
|
values[countAt] = cursor - countAt - 1;
|
|
3831
3832
|
}
|
|
3832
3833
|
}
|
|
3834
|
+
return { levels, neighbours: littleEndianBytesOf(values.subarray(0, cursor)) };
|
|
3835
|
+
}
|
|
3836
|
+
function serializeNumberedGraphParts(state, numberOfOrdinal, ordinalOfNumber, partSize) {
|
|
3837
|
+
const slots = adjacencySlots(state.adjacency);
|
|
3838
|
+
const topLayers = new Int8Array(ordinalOfNumber.length).fill(-1);
|
|
3839
|
+
for (let number = 0; number < ordinalOfNumber.length; number++) {
|
|
3840
|
+
const ordinal = ordinalOfNumber[number];
|
|
3841
|
+
if (ordinal >= slots) continue;
|
|
3842
|
+
topLayers[number] = savedTopLayer(state, ordinal);
|
|
3843
|
+
}
|
|
3833
3844
|
const entryOrdinal = entryPointOf(state);
|
|
3834
3845
|
const entryNumber = entryOrdinal >= 0 && entryOrdinal < numberOfOrdinal.length ? numberOfOrdinal[entryOrdinal] : NO_NUMBER;
|
|
3835
3846
|
const entryHoldsNode = entryNumber !== NO_NUMBER && topLayers[entryNumber] >= 0;
|
|
3836
|
-
|
|
3847
|
+
const header = {
|
|
3837
3848
|
entryPoint: entryHoldsNode ? entryNumber : null,
|
|
3838
3849
|
maxLayer: Math.max(0, Math.min(topLayerOf(state), MAX_LAYER_CAP)),
|
|
3839
3850
|
m: state.M,
|
|
3840
3851
|
efConstruction: state.efCons,
|
|
3841
|
-
metric: state.buildMetric
|
|
3842
|
-
levels,
|
|
3843
|
-
neighbours: littleEndianBytesOf(values.subarray(0, cursor))
|
|
3852
|
+
metric: state.buildMetric
|
|
3844
3853
|
};
|
|
3854
|
+
const numbers = { numberOfOrdinal, ordinalOfNumber, topLayers };
|
|
3855
|
+
const parts = [];
|
|
3856
|
+
for (let start = 0; start < ordinalOfNumber.length; start += partSize) {
|
|
3857
|
+
const end = Math.min(start + partSize, ordinalOfNumber.length);
|
|
3858
|
+
parts.push({ ...header, ...serializePart(state, numbers, start, end) });
|
|
3859
|
+
}
|
|
3860
|
+
return parts;
|
|
3845
3861
|
}
|
|
3846
3862
|
function endsInsideAList() {
|
|
3847
3863
|
throw new NarsilError(
|
|
@@ -3862,95 +3878,78 @@ function requireWholeNeighbourLists(graph) {
|
|
|
3862
3878
|
}
|
|
3863
3879
|
}
|
|
3864
3880
|
}
|
|
3865
|
-
function
|
|
3866
|
-
|
|
3881
|
+
function topLayerInParts(graph, number) {
|
|
3882
|
+
const part = graph.parts[Math.floor(number / graph.partSize)];
|
|
3883
|
+
if (part === void 0) return -1;
|
|
3884
|
+
const at = number % graph.partSize;
|
|
3885
|
+
return at < part.levels.length ? part.levels[at] - 1 : -1;
|
|
3886
|
+
}
|
|
3887
|
+
function highestNodeOrdinal(graph, ordinalAt) {
|
|
3888
|
+
let highest = -1;
|
|
3889
|
+
for (let p = 0; p < graph.parts.length; p++) {
|
|
3890
|
+
const levels = graph.parts[p].levels;
|
|
3891
|
+
for (let at = 0; at < levels.length; at++) {
|
|
3892
|
+
const ordinal = ordinalAt(p * graph.partSize + at);
|
|
3893
|
+
if (levels[at] > 0 && ordinal > highest) highest = ordinal;
|
|
3894
|
+
}
|
|
3895
|
+
}
|
|
3896
|
+
return highest;
|
|
3867
3897
|
}
|
|
3868
3898
|
function deserializeNumberedGraph(state, graph, ordinalOfNumber) {
|
|
3869
|
-
|
|
3899
|
+
for (const part of graph.parts) requireWholeNeighbourLists(part);
|
|
3870
3900
|
resetGraph(state);
|
|
3871
|
-
const values = valuesOf(graph.neighbours);
|
|
3872
3901
|
const ordinalAt = (number) => number < ordinalOfNumber.length ? ordinalOfNumber[number] : NO_ORDINAL;
|
|
3873
|
-
|
|
3874
|
-
for (let number = 0; number < graph.levels.length; number++) {
|
|
3875
|
-
if (graph.levels[number] > 0 && ordinalAt(number) > highestOrdinal) highestOrdinal = ordinalAt(number);
|
|
3876
|
-
}
|
|
3902
|
+
const highestOrdinal = highestNodeOrdinal(graph, ordinalAt);
|
|
3877
3903
|
if (highestOrdinal >= 0) ensureCapacity(state, highestOrdinal + 1);
|
|
3878
3904
|
const kept = [];
|
|
3879
|
-
let cursor = 0;
|
|
3880
3905
|
let highestLayer = -1;
|
|
3881
3906
|
let nodeOnHighestLayer = NO_ORDINAL;
|
|
3882
|
-
for (let
|
|
3883
|
-
const
|
|
3884
|
-
|
|
3885
|
-
|
|
3886
|
-
|
|
3887
|
-
|
|
3888
|
-
|
|
3889
|
-
|
|
3890
|
-
|
|
3891
|
-
|
|
3892
|
-
|
|
3893
|
-
|
|
3894
|
-
|
|
3895
|
-
|
|
3896
|
-
|
|
3897
|
-
|
|
3898
|
-
|
|
3899
|
-
for (let i = 1; i <= count && kept.length < limit; i++) {
|
|
3900
|
-
const neighbour = values[cursor + i];
|
|
3901
|
-
const neighbourOrdinal = ordinalAt(neighbour);
|
|
3902
|
-
if (neighbourOrdinal === NO_ORDINAL || neighbour === number || topLayerIn(graph, neighbour) < layer) continue;
|
|
3903
|
-
if (!kept.includes(neighbourOrdinal)) kept.push(neighbourOrdinal);
|
|
3907
|
+
for (let p = 0; p < graph.parts.length; p++) {
|
|
3908
|
+
const part = graph.parts[p];
|
|
3909
|
+
const values = valuesOf(part.neighbours);
|
|
3910
|
+
let cursor = 0;
|
|
3911
|
+
for (let at = 0; at < part.levels.length; at++) {
|
|
3912
|
+
const number = p * graph.partSize + at;
|
|
3913
|
+
const top = part.levels[at] - 1;
|
|
3914
|
+
if (top < 0) continue;
|
|
3915
|
+
const ordinal = ordinalAt(number);
|
|
3916
|
+
const keptTop = Math.min(top, MAX_LAYER_CAP);
|
|
3917
|
+
if (ordinal !== NO_ORDINAL) {
|
|
3918
|
+
createNode(state.adjacency, ordinal, keptTop);
|
|
3919
|
+
Atomics.add(state.header, GRAPH_NODE_COUNT, 1);
|
|
3920
|
+
if (keptTop > highestLayer) {
|
|
3921
|
+
highestLayer = keptTop;
|
|
3922
|
+
nodeOnHighestLayer = ordinal;
|
|
3923
|
+
}
|
|
3904
3924
|
}
|
|
3905
|
-
|
|
3906
|
-
|
|
3907
|
-
|
|
3925
|
+
for (let layer = 0; layer <= top; layer++) {
|
|
3926
|
+
const count = values[cursor];
|
|
3927
|
+
kept.length = 0;
|
|
3928
|
+
const limit = maxConns(state, layer);
|
|
3929
|
+
for (let i = 1; i <= count && kept.length < limit; i++) {
|
|
3930
|
+
const neighbour = values[cursor + i];
|
|
3931
|
+
const neighbourOrdinal = ordinalAt(neighbour);
|
|
3932
|
+
if (neighbourOrdinal === NO_ORDINAL || neighbour === number) continue;
|
|
3933
|
+
if (topLayerInParts(graph, neighbour) < layer) continue;
|
|
3934
|
+
if (!kept.includes(neighbourOrdinal)) kept.push(neighbourOrdinal);
|
|
3935
|
+
}
|
|
3936
|
+
cursor += count + 1;
|
|
3937
|
+
if (ordinal !== NO_ORDINAL && layer <= keptTop) {
|
|
3938
|
+
replaceNeighbors(state.adjacency, ordinal, layer, kept, kept.length);
|
|
3939
|
+
}
|
|
3908
3940
|
}
|
|
3909
3941
|
}
|
|
3910
3942
|
}
|
|
3911
|
-
const
|
|
3912
|
-
const
|
|
3943
|
+
const first = graph.parts[0];
|
|
3944
|
+
const entryPoint = first === void 0 ? null : first.entryPoint;
|
|
3945
|
+
const entryOrdinal = entryPoint === null ? NO_ORDINAL : ordinalAt(entryPoint);
|
|
3946
|
+
const entryTop = entryPoint === null ? -1 : Math.min(topLayerInParts(graph, entryPoint), MAX_LAYER_CAP);
|
|
3913
3947
|
const entryIsUsable = entryOrdinal !== NO_ORDINAL && entryTop >= 0;
|
|
3914
3948
|
Atomics.store(state.header, GRAPH_ENTRY_POINT, entryIsUsable ? entryOrdinal : nodeOnHighestLayer);
|
|
3915
3949
|
Atomics.store(state.header, GRAPH_TOP_LAYER, entryIsUsable ? entryTop : highestLayer);
|
|
3916
3950
|
}
|
|
3917
3951
|
|
|
3918
3952
|
// src/vector/hnsw/persistence.ts
|
|
3919
|
-
function serializeGraph(state, store) {
|
|
3920
|
-
const nodeArray = [];
|
|
3921
|
-
const slots = adjacencySlots(state.adjacency);
|
|
3922
|
-
for (let ord = 0; ord < slots; ord++) {
|
|
3923
|
-
const maxLayer = nodeMaxLayer(state, ord);
|
|
3924
|
-
if (maxLayer === -1) continue;
|
|
3925
|
-
if (isTombstoned(state, ord)) continue;
|
|
3926
|
-
const docId = store.docIdForOrdinal(ord);
|
|
3927
|
-
if (docId === void 0) continue;
|
|
3928
|
-
const layerConns = [];
|
|
3929
|
-
for (let layer = 0; layer <= maxLayer; layer++) {
|
|
3930
|
-
const liveNeighbors = [];
|
|
3931
|
-
for (const neighborOrd of collectNeighbors(state.adjacency, ord, layer)) {
|
|
3932
|
-
if (isTombstoned(state, neighborOrd)) continue;
|
|
3933
|
-
const neighborDoc = store.docIdForOrdinal(neighborOrd);
|
|
3934
|
-
if (neighborDoc === void 0) continue;
|
|
3935
|
-
liveNeighbors.push(neighborDoc);
|
|
3936
|
-
}
|
|
3937
|
-
if (liveNeighbors.length > 0) {
|
|
3938
|
-
layerConns.push([layer, liveNeighbors]);
|
|
3939
|
-
}
|
|
3940
|
-
}
|
|
3941
|
-
nodeArray.push([docId, maxLayer, layerConns]);
|
|
3942
|
-
}
|
|
3943
|
-
const entryOrd = entryPointOf(state);
|
|
3944
|
-
const entryPoint = entryOrd === -1 ? null : store.docIdForOrdinal(entryOrd) ?? null;
|
|
3945
|
-
return {
|
|
3946
|
-
entryPoint,
|
|
3947
|
-
maxLayer: topLayerOf(state),
|
|
3948
|
-
m: state.M,
|
|
3949
|
-
efConstruction: state.efCons,
|
|
3950
|
-
metric: state.buildMetric,
|
|
3951
|
-
nodes: nodeArray
|
|
3952
|
-
};
|
|
3953
|
-
}
|
|
3954
3953
|
function resolveNodes(state, store, data) {
|
|
3955
3954
|
const nodes = [];
|
|
3956
3955
|
let maxOrd = -1;
|
|
@@ -4186,13 +4185,12 @@ function createHNSWIndex(dimension, store, config, quantizer, handles) {
|
|
|
4186
4185
|
compactTombstones: () => exclusively(() => compactTombstones(state)),
|
|
4187
4186
|
rebuild: () => exclusively(() => rebuild(state)),
|
|
4188
4187
|
exclusively,
|
|
4189
|
-
serialize: () => serializeGraph(state, store),
|
|
4190
4188
|
deserialize: (data) => exclusively(() => deserializeGraph(state, store, data)),
|
|
4191
|
-
serializeNumbered: (numberOfOrdinal, ordinalOfNumber) =>
|
|
4189
|
+
serializeNumbered: (numberOfOrdinal, ordinalOfNumber, partSize) => serializeNumberedGraphParts(state, numberOfOrdinal, ordinalOfNumber, partSize),
|
|
4192
4190
|
deserializeNumbered: (graph, ordinalOfNumber) => exclusively(() => deserializeNumberedGraph(state, graph, ordinalOfNumber)),
|
|
4193
4191
|
exportSnapshot: () => exportSnapshot(state),
|
|
4194
4192
|
restoreSnapshot: (snapshot) => exclusively(() => restoreSnapshot(state, snapshot))
|
|
4195
4193
|
};
|
|
4196
4194
|
}
|
|
4197
4195
|
|
|
4198
|
-
export { DISK_STORAGE_BLOCK_BYTES, GRAPH_BUILD_CHUNKS_IN_FLIGHT_PER_WORKER, GRAPH_BUILD_DISPATCH_CHUNK, MAX_WORKER_COPIES, SCRATCH_SLOTS_PER_THREAD_POOL, STORE_CALIBRATION_GENERATION, VECTOR_INSERT_TIMEOUT_MS, VECTOR_SCRATCH_SLOTS, VECTOR_SEARCH_LOAD_TIMEOUT_MS, VECTOR_SEARCH_TIMEOUT_MS, addToOrdinalFilter, cosineSimilarityWithMagnitudes, createHNSWIndex, createOrdinalFilter, createOsqQuantizer, createVectorStore, dotProduct, entryForOrd, euclideanDistance, isSimdAvailable, isTombstoned, magnitude, nativeScoresOf, nativeStoreScratchBytes, openSharedVectorField, ordinalFilterHas, ordinalFilterValues, osqBitsOf, osqRecordBytes, releaseLocksHeldBy, removeFromOrdinalFilter, requireWholeNeighbourLists, sharedMemoryAvailable, toDistance, toScore };
|
|
4196
|
+
export { DISK_STORAGE_BLOCK_BYTES, GRAPH_BUILD_CHUNKS_IN_FLIGHT_PER_WORKER, GRAPH_BUILD_DISPATCH_CHUNK, MAX_WORKER_COPIES, SCRATCH_SLOTS_PER_THREAD_POOL, STORE_CALIBRATION_GENERATION, VECTOR_INSERT_TIMEOUT_MS, VECTOR_SCRATCH_SLOTS, VECTOR_SEARCH_LOAD_TIMEOUT_MS, VECTOR_SEARCH_TIMEOUT_MS, addToOrdinalFilter, cosineSimilarityWithMagnitudes, createHNSWIndex, createOrdinalFilter, createOsqQuantizer, createVectorStore, dotProduct, entryForOrd, euclideanDistance, isSimdAvailable, isTombstoned, magnitude, nativeScoresOf, nativeStoreScratchBytes, openSharedVectorField, ordinalFilterHas, ordinalFilterValues, osqBitsOf, osqRecordBytes, releaseLocksHeldBy, removeFromOrdinalFilter, requireWholeNeighbourLists, sharedMemoryAvailable, toDistance, toScore, topLayerInParts };
|