voctar 0.1.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.
- package/LICENSE +21 -0
- package/README.md +102 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/src/chunking/index.d.ts +48 -0
- package/dist/src/chunking/index.d.ts.map +1 -0
- package/dist/src/chunking/index.js +123 -0
- package/dist/src/chunking/index.js.map +1 -0
- package/dist/src/chunking/strategies/fixed.d.ts +14 -0
- package/dist/src/chunking/strategies/fixed.d.ts.map +1 -0
- package/dist/src/chunking/strategies/fixed.js +111 -0
- package/dist/src/chunking/strategies/fixed.js.map +1 -0
- package/dist/src/chunking/strategies/paragraph.d.ts +6 -0
- package/dist/src/chunking/strategies/paragraph.d.ts.map +1 -0
- package/dist/src/chunking/strategies/paragraph.js +84 -0
- package/dist/src/chunking/strategies/paragraph.js.map +1 -0
- package/dist/src/chunking/strategies/recursive.d.ts +17 -0
- package/dist/src/chunking/strategies/recursive.d.ts.map +1 -0
- package/dist/src/chunking/strategies/recursive.js +192 -0
- package/dist/src/chunking/strategies/recursive.js.map +1 -0
- package/dist/src/chunking/strategies/semantic.d.ts +96 -0
- package/dist/src/chunking/strategies/semantic.d.ts.map +1 -0
- package/dist/src/chunking/strategies/semantic.js +587 -0
- package/dist/src/chunking/strategies/semantic.js.map +1 -0
- package/dist/src/chunking/strategies/sentence.d.ts +7 -0
- package/dist/src/chunking/strategies/sentence.d.ts.map +1 -0
- package/dist/src/chunking/strategies/sentence.js +116 -0
- package/dist/src/chunking/strategies/sentence.js.map +1 -0
- package/dist/src/chunking/types.d.ts +45 -0
- package/dist/src/chunking/types.d.ts.map +1 -0
- package/dist/src/chunking/types.js +4 -0
- package/dist/src/chunking/types.js.map +1 -0
- package/dist/src/chunking/utils/tokenizer.d.ts +10 -0
- package/dist/src/chunking/utils/tokenizer.d.ts.map +1 -0
- package/dist/src/chunking/utils/tokenizer.js +50 -0
- package/dist/src/chunking/utils/tokenizer.js.map +1 -0
- package/dist/src/providers/embeddings/index.d.ts +3 -0
- package/dist/src/providers/embeddings/index.d.ts.map +1 -0
- package/dist/src/providers/embeddings/index.js +7 -0
- package/dist/src/providers/embeddings/index.js.map +1 -0
- package/dist/src/providers/embeddings/openai.d.ts +21 -0
- package/dist/src/providers/embeddings/openai.d.ts.map +1 -0
- package/dist/src/providers/embeddings/openai.js +86 -0
- package/dist/src/providers/embeddings/openai.js.map +1 -0
- package/dist/src/providers/index.d.ts +3 -0
- package/dist/src/providers/index.d.ts.map +1 -0
- package/dist/src/providers/index.js +20 -0
- package/dist/src/providers/index.js.map +1 -0
- package/dist/src/providers/stores/index.d.ts +6 -0
- package/dist/src/providers/stores/index.d.ts.map +1 -0
- package/dist/src/providers/stores/index.js +11 -0
- package/dist/src/providers/stores/index.js.map +1 -0
- package/dist/src/providers/stores/memory.d.ts +18 -0
- package/dist/src/providers/stores/memory.d.ts.map +1 -0
- package/dist/src/providers/stores/memory.js +169 -0
- package/dist/src/providers/stores/memory.js.map +1 -0
- package/dist/src/providers/stores/qdrant.d.ts +28 -0
- package/dist/src/providers/stores/qdrant.d.ts.map +1 -0
- package/dist/src/providers/stores/qdrant.js +223 -0
- package/dist/src/providers/stores/qdrant.js.map +1 -0
- package/dist/src/providers/stores/sqlite.d.ts +38 -0
- package/dist/src/providers/stores/sqlite.d.ts.map +1 -0
- package/dist/src/providers/stores/sqlite.js +306 -0
- package/dist/src/providers/stores/sqlite.js.map +1 -0
- package/dist/src/types.d.ts +111 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +32 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/vector.d.ts +74 -0
- package/dist/src/vector.d.ts.map +1 -0
- package/dist/src/vector.js +505 -0
- package/dist/src/vector.js.map +1 -0
- package/docs/API.md +361 -0
- package/docs/CHUNKING.md +280 -0
- package/docs/CUSTOM_PROVIDERS.md +101 -0
- package/docs/README.md +11 -0
- package/docs/STORAGE_BACKENDS.md +189 -0
- package/docs/assets/vectar.png +0 -0
- package/package.json +46 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
export interface VectorDocument {
|
|
2
|
+
id: string;
|
|
3
|
+
text: string;
|
|
4
|
+
metadata?: Record<string, any>;
|
|
5
|
+
}
|
|
6
|
+
export interface VectorPoint {
|
|
7
|
+
id: string;
|
|
8
|
+
vector: number[];
|
|
9
|
+
payload?: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
export interface EmbedOptions {
|
|
12
|
+
documentId?: string;
|
|
13
|
+
metadata?: Record<string, any>;
|
|
14
|
+
chunkSize?: number;
|
|
15
|
+
chunkStrategy?: 'fixed' | 'recursive' | 'semantic' | 'sentence' | 'paragraph';
|
|
16
|
+
chunkOverlap?: number;
|
|
17
|
+
autoChunk?: boolean;
|
|
18
|
+
user_id?: string;
|
|
19
|
+
}
|
|
20
|
+
export interface SearchOptions {
|
|
21
|
+
limit?: number;
|
|
22
|
+
scoreThreshold?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Payload filter. Keys without a dot are applied under `metadata.*` (e.g. `user_id` → `metadata.user_id`).
|
|
25
|
+
* Keys that already contain a dot are used as-is (e.g. `metadata.thread_id`).
|
|
26
|
+
* Scalar values: equality match. Array values: match any element (OR) on that field.
|
|
27
|
+
*/
|
|
28
|
+
filter?: Record<string, any>;
|
|
29
|
+
includeSystem?: boolean;
|
|
30
|
+
}
|
|
31
|
+
export interface SearchResult {
|
|
32
|
+
id: string;
|
|
33
|
+
text: string;
|
|
34
|
+
score: number;
|
|
35
|
+
createdAt: string;
|
|
36
|
+
system?: Record<string, any>;
|
|
37
|
+
metadata?: Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
export interface VectorConfig {
|
|
40
|
+
embedding?: RuntimeEmbeddingConfig;
|
|
41
|
+
store?: RuntimeStoreConfig;
|
|
42
|
+
/** @deprecated Prefer `embedding.type = 'custom'` */
|
|
43
|
+
embeddingProvider?: EmbeddingProvider;
|
|
44
|
+
/** @deprecated Prefer `store.type = 'custom'` */
|
|
45
|
+
vectorStoreProvider?: VectorStoreProvider;
|
|
46
|
+
defaultChunkSize?: number;
|
|
47
|
+
defaultChunkStrategy?: 'fixed' | 'recursive' | 'semantic' | 'sentence' | 'paragraph';
|
|
48
|
+
defaultChunkOverlap?: number;
|
|
49
|
+
autoChunk?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export type RuntimeEmbeddingConfig = {
|
|
52
|
+
type: 'openai';
|
|
53
|
+
apiKey: string;
|
|
54
|
+
model?: string;
|
|
55
|
+
dimension?: number;
|
|
56
|
+
maxRetries?: number;
|
|
57
|
+
} | {
|
|
58
|
+
type: 'custom';
|
|
59
|
+
provider: EmbeddingProvider;
|
|
60
|
+
};
|
|
61
|
+
export type RuntimeStoreConfig = {
|
|
62
|
+
type: 'sqlite';
|
|
63
|
+
path?: string;
|
|
64
|
+
inMemory?: boolean;
|
|
65
|
+
} | {
|
|
66
|
+
type: 'qdrant';
|
|
67
|
+
url: string;
|
|
68
|
+
port?: number;
|
|
69
|
+
apiKey?: string;
|
|
70
|
+
timeout?: number;
|
|
71
|
+
checkCompatibility?: boolean;
|
|
72
|
+
} | {
|
|
73
|
+
type: 'memory';
|
|
74
|
+
} | {
|
|
75
|
+
type: 'custom';
|
|
76
|
+
provider: VectorStoreProvider;
|
|
77
|
+
};
|
|
78
|
+
export interface CollectionConfig {
|
|
79
|
+
dimension?: number;
|
|
80
|
+
distance?: 'cosine' | 'euclidean' | 'dot';
|
|
81
|
+
}
|
|
82
|
+
export interface EmbeddingProvider {
|
|
83
|
+
embed(text: string): Promise<number[]>;
|
|
84
|
+
embedBatch(texts: string[]): Promise<number[][]>;
|
|
85
|
+
getDimension(): number;
|
|
86
|
+
getModelName(): string;
|
|
87
|
+
getTokenLimit(): number;
|
|
88
|
+
}
|
|
89
|
+
export interface VectorStoreProvider {
|
|
90
|
+
ensureCollection(name: string, dimension: number, config?: CollectionConfig): Promise<void>;
|
|
91
|
+
upsert(collection: string, points: VectorPoint[]): Promise<void>;
|
|
92
|
+
search(collection: string, vector: number[], options: SearchOptions): Promise<SearchResult[]>;
|
|
93
|
+
delete(collection: string, ids: string[]): Promise<void>;
|
|
94
|
+
deleteCollection(collection: string): Promise<void>;
|
|
95
|
+
/** Scroll/query for point IDs matching a filter (for efficient chunk cleanup) */
|
|
96
|
+
getIdsByFilter(collection: string, filter: Record<string, any>, limit?: number): Promise<string[]>;
|
|
97
|
+
}
|
|
98
|
+
export declare class VectorEmbeddingError extends Error {
|
|
99
|
+
cause?: Error | undefined;
|
|
100
|
+
data?: Record<string, any> | undefined;
|
|
101
|
+
constructor(message: string, cause?: Error | undefined, data?: Record<string, any> | undefined);
|
|
102
|
+
}
|
|
103
|
+
export declare class VectorSearchError extends Error {
|
|
104
|
+
cause?: Error | undefined;
|
|
105
|
+
constructor(message: string, cause?: Error | undefined);
|
|
106
|
+
}
|
|
107
|
+
export declare class VectorStoreError extends Error {
|
|
108
|
+
cause?: Error | undefined;
|
|
109
|
+
constructor(message: string, cause?: Error | undefined);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,CAAC,EAAE,sBAAsB,CAAC;IACnC,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iDAAiD;IACjD,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IACrF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,sBAAsB,GAC9B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAAC;AAEN,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;CAC3C;AAGD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACjD,YAAY,IAAI,MAAM,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IACvB,aAAa,IAAI,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5F,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9F,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,iFAAiF;IACjF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACpG;AAGD,qBAAa,oBAAqB,SAAQ,KAAK;IACT,KAAK,CAAC,EAAE,KAAK;IAAS,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;gBAAxE,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,KAAK,YAAA,EAAS,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,YAAA;CAKrF;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACN,KAAK,CAAC,EAAE,KAAK;gBAArC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,KAAK,YAAA;CAIlD;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACL,KAAK,CAAC,EAAE,KAAK;gBAArC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,KAAK,YAAA;CAIlD"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Vector embedding service types
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.VectorStoreError = exports.VectorSearchError = exports.VectorEmbeddingError = void 0;
|
|
5
|
+
// Custom error types
|
|
6
|
+
class VectorEmbeddingError extends Error {
|
|
7
|
+
constructor(message, cause, data) {
|
|
8
|
+
super(JSON.stringify({ message, cause, data }, null, 2));
|
|
9
|
+
this.cause = cause;
|
|
10
|
+
this.data = data;
|
|
11
|
+
this.name = 'VectorEmbeddingError';
|
|
12
|
+
this.data = data;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
exports.VectorEmbeddingError = VectorEmbeddingError;
|
|
16
|
+
class VectorSearchError extends Error {
|
|
17
|
+
constructor(message, cause) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.cause = cause;
|
|
20
|
+
this.name = 'VectorSearchError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.VectorSearchError = VectorSearchError;
|
|
24
|
+
class VectorStoreError extends Error {
|
|
25
|
+
constructor(message, cause) {
|
|
26
|
+
super(message);
|
|
27
|
+
this.cause = cause;
|
|
28
|
+
this.name = 'VectorStoreError';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.VectorStoreError = VectorStoreError;
|
|
32
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA,iCAAiC;;;AAqHjC,qBAAqB;AACrB,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe,EAAS,KAAa,EAAS,IAA0B;QAClF,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QADvB,UAAK,GAAL,KAAK,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAsB;QAElF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAND,oDAMC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe,EAAS,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,UAAK,GAAL,KAAK,CAAQ;QAE/C,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AALD,8CAKC;AAED,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe,EAAS,KAAa;QAC/C,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,UAAK,GAAL,KAAK,CAAQ;QAE/C,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AALD,4CAKC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { VectorDocument, VectorConfig, SearchOptions, SearchResult, EmbeddingProvider, VectorStoreProvider, CollectionConfig, EmbedOptions } from './types';
|
|
2
|
+
export declare class Vector {
|
|
3
|
+
private embeddingProvider;
|
|
4
|
+
private vectorStoreProvider;
|
|
5
|
+
private defaultChunkSize;
|
|
6
|
+
private defaultChunkStrategy;
|
|
7
|
+
private defaultChunkOverlap;
|
|
8
|
+
private autoChunk;
|
|
9
|
+
constructor(config?: VectorConfig);
|
|
10
|
+
/**
|
|
11
|
+
* Embed text into a collection - automatically chunks if needed
|
|
12
|
+
* If documentId already exists, it will be overwritten (all old chunks deleted first)
|
|
13
|
+
* @returns Document ID and chunk IDs
|
|
14
|
+
*/
|
|
15
|
+
embed(collection: string, text: string, options?: EmbedOptions): Promise<{
|
|
16
|
+
documentId: string;
|
|
17
|
+
chunkIds: string[];
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* Embed multiple documents in batch
|
|
21
|
+
*/
|
|
22
|
+
embedBatch(collection: string, documents: VectorDocument[], user_id?: string): Promise<string[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Search for similar documents
|
|
25
|
+
*/
|
|
26
|
+
search(collection: string, query: string, options?: SearchOptions): Promise<SearchResult[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Update or insert a document (handles all chunks automatically)
|
|
29
|
+
*/
|
|
30
|
+
upsert(collection: string, documentId: string, text: string, options?: EmbedOptions): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Delete a document and all its chunks
|
|
33
|
+
* Uses metadata filtering to find and delete all chunks efficiently
|
|
34
|
+
*/
|
|
35
|
+
delete(collection: string, documentId: string | string[]): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Delete an entire collection
|
|
38
|
+
*/
|
|
39
|
+
deleteCollection(collection: string): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Ensure a collection exists with optional custom configuration
|
|
42
|
+
*/
|
|
43
|
+
ensureCollection(collection: string, config?: CollectionConfig): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Get the current embedding provider
|
|
46
|
+
*/
|
|
47
|
+
getEmbeddingProvider(): EmbeddingProvider;
|
|
48
|
+
/**
|
|
49
|
+
* Get the current vector store provider
|
|
50
|
+
*/
|
|
51
|
+
getVectorStoreProvider(): VectorStoreProvider;
|
|
52
|
+
/**
|
|
53
|
+
* Generate chunk ID from document ID and chunk index
|
|
54
|
+
*/
|
|
55
|
+
static getChunkId(documentId: string, chunkIndex: number): string;
|
|
56
|
+
/**
|
|
57
|
+
* Parse chunk ID to extract document ID and chunk index
|
|
58
|
+
*/
|
|
59
|
+
static parseChunkId(chunkId: string): {
|
|
60
|
+
documentId: string;
|
|
61
|
+
chunkIndex: number;
|
|
62
|
+
} | null;
|
|
63
|
+
/**
|
|
64
|
+
* Check if an ID is a chunk ID (contains #)
|
|
65
|
+
*/
|
|
66
|
+
static isChunkId(id: string): boolean;
|
|
67
|
+
private resolveEmbeddingProvider;
|
|
68
|
+
private resolveVectorStoreProvider;
|
|
69
|
+
private createEmbeddingProviderFromRuntime;
|
|
70
|
+
private createVectorStoreProviderFromRuntime;
|
|
71
|
+
private validateCollectionName;
|
|
72
|
+
private validateText;
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=vector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/vector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAGZ,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACb,MAAM,SAAS,CAAC;AAQjB,qBAAa,MAAM;IACjB,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,mBAAmB,CAAsB;IAGjD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,oBAAoB,CAAgE;IAC5F,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,SAAS,CAAU;gBAEf,MAAM,CAAC,EAAE,YAAY;IAYjC;;;;OAIG;IACG,KAAK,CACT,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAiItD;;OAEG;IACG,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkItG;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA+CjG;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzG;;;OAGG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC9E;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD;;OAEG;IACG,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpF;;OAEG;IACH,oBAAoB,IAAI,iBAAiB;IAIzC;;OAEG;IACH,sBAAsB,IAAI,mBAAmB;IAI7C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIjE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAiBvF;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAMrC,OAAO,CAAC,wBAAwB;IAehC,OAAO,CAAC,0BAA0B;IAgBlC,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,oCAAoC;IA2B5C,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,YAAY;CASrB"}
|