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.
Files changed (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +29 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/chunking/index.d.ts +48 -0
  8. package/dist/src/chunking/index.d.ts.map +1 -0
  9. package/dist/src/chunking/index.js +123 -0
  10. package/dist/src/chunking/index.js.map +1 -0
  11. package/dist/src/chunking/strategies/fixed.d.ts +14 -0
  12. package/dist/src/chunking/strategies/fixed.d.ts.map +1 -0
  13. package/dist/src/chunking/strategies/fixed.js +111 -0
  14. package/dist/src/chunking/strategies/fixed.js.map +1 -0
  15. package/dist/src/chunking/strategies/paragraph.d.ts +6 -0
  16. package/dist/src/chunking/strategies/paragraph.d.ts.map +1 -0
  17. package/dist/src/chunking/strategies/paragraph.js +84 -0
  18. package/dist/src/chunking/strategies/paragraph.js.map +1 -0
  19. package/dist/src/chunking/strategies/recursive.d.ts +17 -0
  20. package/dist/src/chunking/strategies/recursive.d.ts.map +1 -0
  21. package/dist/src/chunking/strategies/recursive.js +192 -0
  22. package/dist/src/chunking/strategies/recursive.js.map +1 -0
  23. package/dist/src/chunking/strategies/semantic.d.ts +96 -0
  24. package/dist/src/chunking/strategies/semantic.d.ts.map +1 -0
  25. package/dist/src/chunking/strategies/semantic.js +587 -0
  26. package/dist/src/chunking/strategies/semantic.js.map +1 -0
  27. package/dist/src/chunking/strategies/sentence.d.ts +7 -0
  28. package/dist/src/chunking/strategies/sentence.d.ts.map +1 -0
  29. package/dist/src/chunking/strategies/sentence.js +116 -0
  30. package/dist/src/chunking/strategies/sentence.js.map +1 -0
  31. package/dist/src/chunking/types.d.ts +45 -0
  32. package/dist/src/chunking/types.d.ts.map +1 -0
  33. package/dist/src/chunking/types.js +4 -0
  34. package/dist/src/chunking/types.js.map +1 -0
  35. package/dist/src/chunking/utils/tokenizer.d.ts +10 -0
  36. package/dist/src/chunking/utils/tokenizer.d.ts.map +1 -0
  37. package/dist/src/chunking/utils/tokenizer.js +50 -0
  38. package/dist/src/chunking/utils/tokenizer.js.map +1 -0
  39. package/dist/src/providers/embeddings/index.d.ts +3 -0
  40. package/dist/src/providers/embeddings/index.d.ts.map +1 -0
  41. package/dist/src/providers/embeddings/index.js +7 -0
  42. package/dist/src/providers/embeddings/index.js.map +1 -0
  43. package/dist/src/providers/embeddings/openai.d.ts +21 -0
  44. package/dist/src/providers/embeddings/openai.d.ts.map +1 -0
  45. package/dist/src/providers/embeddings/openai.js +86 -0
  46. package/dist/src/providers/embeddings/openai.js.map +1 -0
  47. package/dist/src/providers/index.d.ts +3 -0
  48. package/dist/src/providers/index.d.ts.map +1 -0
  49. package/dist/src/providers/index.js +20 -0
  50. package/dist/src/providers/index.js.map +1 -0
  51. package/dist/src/providers/stores/index.d.ts +6 -0
  52. package/dist/src/providers/stores/index.d.ts.map +1 -0
  53. package/dist/src/providers/stores/index.js +11 -0
  54. package/dist/src/providers/stores/index.js.map +1 -0
  55. package/dist/src/providers/stores/memory.d.ts +18 -0
  56. package/dist/src/providers/stores/memory.d.ts.map +1 -0
  57. package/dist/src/providers/stores/memory.js +169 -0
  58. package/dist/src/providers/stores/memory.js.map +1 -0
  59. package/dist/src/providers/stores/qdrant.d.ts +28 -0
  60. package/dist/src/providers/stores/qdrant.d.ts.map +1 -0
  61. package/dist/src/providers/stores/qdrant.js +223 -0
  62. package/dist/src/providers/stores/qdrant.js.map +1 -0
  63. package/dist/src/providers/stores/sqlite.d.ts +38 -0
  64. package/dist/src/providers/stores/sqlite.d.ts.map +1 -0
  65. package/dist/src/providers/stores/sqlite.js +306 -0
  66. package/dist/src/providers/stores/sqlite.js.map +1 -0
  67. package/dist/src/types.d.ts +111 -0
  68. package/dist/src/types.d.ts.map +1 -0
  69. package/dist/src/types.js +32 -0
  70. package/dist/src/types.js.map +1 -0
  71. package/dist/src/vector.d.ts +74 -0
  72. package/dist/src/vector.d.ts.map +1 -0
  73. package/dist/src/vector.js +505 -0
  74. package/dist/src/vector.js.map +1 -0
  75. package/docs/API.md +361 -0
  76. package/docs/CHUNKING.md +280 -0
  77. package/docs/CUSTOM_PROVIDERS.md +101 -0
  78. package/docs/README.md +11 -0
  79. package/docs/STORAGE_BACKENDS.md +189 -0
  80. package/docs/assets/vectar.png +0 -0
  81. 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":"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"}
@@ -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"}