@vivantel/virage-store-chromadb 0.2.27 → 0.2.29

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/store.d.ts CHANGED
@@ -14,6 +14,8 @@ export declare class ChromaVectorStore implements VectorStore {
14
14
  private client;
15
15
  private collection;
16
16
  private logger;
17
+ private miniSearch;
18
+ private miniSearchStale;
17
19
  constructor(options: ChromaVectorStoreOptions);
18
20
  setLogger(logger: Logger): void;
19
21
  initialize(): Promise<void>;
@@ -22,6 +24,8 @@ export declare class ChromaVectorStore implements VectorStore {
22
24
  getCurrentState(): Promise<Map<string, string>>;
23
25
  getIndexStats(): Promise<IndexStats>;
24
26
  getQueryPerfReport(timeframeHours: number): Promise<QueryPerfReport>;
25
- search(queryEmbedding: number[], topK: number, _collection?: string, _options?: SearchOptions): Promise<VectorSearchResult[]>;
27
+ private buildMiniSearchIfStale;
28
+ private vectorSearchInternal;
29
+ search(queryEmbedding: number[], topK: number, _collection?: string, options?: SearchOptions): Promise<VectorSearchResult[]>;
26
30
  }
27
31
  //# sourceMappingURL=store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAK/B,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,OAAO,EAAE,wBAAwB;IAO7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBlD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUxD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA8B/C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAIpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAIpE,MAAM,CACV,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,aAAa,GACvB,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAiCjC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,UAAU,EACV,eAAe,EACf,MAAM,EACP,MAAM,uBAAuB,CAAC;AAO/B,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,cAAc;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAC5C,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,eAAe,CAAQ;gBAEnB,OAAO,EAAE,wBAAwB;IAO7C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBlD,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWxD,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA8B/C,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAIpC,kBAAkB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;YAI5D,sBAAsB;YAyBtB,oBAAoB;IAkC5B,MAAM,CACV,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,kBAAkB,EAAE,CAAC;CAkCjC"}
package/dist/store.js CHANGED
@@ -1,4 +1,6 @@
1
+ import { rrfMerge } from "@vivantel/virage-core";
1
2
  import { ChromaClient, IncludeEnum } from "chromadb";
3
+ import MiniSearch from "minisearch";
2
4
  import { getIndexStats } from "./stats.js";
3
5
  import { getQueryPerfReport } from "./query-perf.js";
4
6
  const DEFAULT_COLLECTION = "documents";
@@ -14,6 +16,8 @@ export class ChromaVectorStore {
14
16
  client;
15
17
  collection;
16
18
  logger = null;
19
+ miniSearch = null;
20
+ miniSearchStale = true;
17
21
  constructor(options) {
18
22
  this.path = options.path ?? "http://localhost:8000";
19
23
  this.collectionName = options.collectionName ?? DEFAULT_COLLECTION;
@@ -38,6 +42,7 @@ export class ChromaVectorStore {
38
42
  this.logger?.debug(`Collection "${this.collectionName}" ready (cosine, ${this.dimensions}d)`);
39
43
  }
40
44
  async upsert(documents) {
45
+ this.miniSearchStale = true;
41
46
  this.logger?.verbose(`Upserting ${documents.length} docs into "${this.collectionName}"`);
42
47
  for (let i = 0; i < documents.length; i += UPSERT_BATCH_SIZE) {
43
48
  const batch = documents.slice(i, i + UPSERT_BATCH_SIZE);
@@ -59,6 +64,7 @@ export class ChromaVectorStore {
59
64
  async deleteBySourceFile(sourceFiles) {
60
65
  if (sourceFiles.length === 0)
61
66
  return;
67
+ this.miniSearchStale = true;
62
68
  this.logger?.verbose(`Deleting docs for ${sourceFiles.length} source file(s)`);
63
69
  await this.collection.delete({
64
70
  where: { source_file: { $in: sourceFiles } },
@@ -95,11 +101,37 @@ export class ChromaVectorStore {
95
101
  async getQueryPerfReport(timeframeHours) {
96
102
  return getQueryPerfReport(this.collection, this.dimensions, timeframeHours);
97
103
  }
98
- async search(queryEmbedding, topK, _collection, _options) {
99
- this.logger?.debug(`Search: topK=${topK}`);
104
+ async buildMiniSearchIfStale() {
105
+ if (!this.miniSearchStale)
106
+ return;
107
+ const ms = new MiniSearch({
108
+ fields: ["content"],
109
+ storeFields: ["id", "content"],
110
+ });
111
+ let offset = 0;
112
+ while (true) {
113
+ const result = await this.collection.get({
114
+ include: [IncludeEnum.documents],
115
+ limit: SCROLL_PAGE_SIZE,
116
+ offset,
117
+ });
118
+ const docs = result.ids.map((id, i) => ({
119
+ id,
120
+ content: result.documents[i] ?? "",
121
+ }));
122
+ if (docs.length > 0)
123
+ ms.addAll(docs);
124
+ if (result.ids.length < SCROLL_PAGE_SIZE)
125
+ break;
126
+ offset += SCROLL_PAGE_SIZE;
127
+ }
128
+ this.miniSearch = ms;
129
+ this.miniSearchStale = false;
130
+ }
131
+ async vectorSearchInternal(queryEmbedding, nResults) {
100
132
  const result = await this.collection.query({
101
133
  queryEmbeddings: [queryEmbedding],
102
- nResults: topK,
134
+ nResults,
103
135
  include: [
104
136
  IncludeEnum.documents,
105
137
  IncludeEnum.metadatas,
@@ -126,5 +158,30 @@ export class ChromaVectorStore {
126
158
  similarity: 1 - (distances[i] ?? 1),
127
159
  }));
128
160
  }
161
+ async search(queryEmbedding, topK, _collection, options) {
162
+ const useHybrid = options?.hybrid === true && options.queryText;
163
+ this.logger?.debug(`Search: topK=${topK} hybrid=${useHybrid ?? false}`);
164
+ if (useHybrid) {
165
+ await this.buildMiniSearchIfStale();
166
+ const [vectorResults, miniRaw] = await Promise.all([
167
+ this.vectorSearchInternal(queryEmbedding, topK * 2),
168
+ Promise.resolve(this.miniSearch.search(options.queryText, {
169
+ prefix: true,
170
+ fuzzy: 0.2,
171
+ })),
172
+ ]);
173
+ const maxScore = miniRaw[0]?.score ?? 1;
174
+ const bm25Results = miniRaw
175
+ .slice(0, topK * 2)
176
+ .map((r) => ({
177
+ id: r.id,
178
+ content: r.content,
179
+ metadata: {},
180
+ similarity: r.score / maxScore,
181
+ }));
182
+ return rrfMerge(vectorResults, bm25Results, topK, options?.hybridAlpha ?? 0.6);
183
+ }
184
+ return this.vectorSearchInternal(queryEmbedding, topK);
185
+ }
129
186
  }
130
187
  //# sourceMappingURL=store.js.map
package/dist/store.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAmB,MAAM,UAAU,CAAC;AACtE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AASrD,MAAM,kBAAkB,GAAG,WAAW,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,UAAU,CAAC;IAEV,IAAI,CAAS;IACb,cAAc,CAAS;IACvB,UAAU,CAAS;IACnB,MAAM,CAAqB;IACpC,MAAM,CAAgB;IACtB,UAAU,CAAc;IACxB,MAAM,GAAkB,IAAI,CAAC;IAC7B,UAAU,GAAsB,IAAI,CAAC;IACrC,eAAe,GAAG,IAAI,CAAC;IAE/B,YAAY,OAAiC;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,uBAAuB,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,kBAAkB,CAAC;QACnE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,kBAAkB,CAAC;QAC3D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,6BAA6B,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,cAAc,EAAE,CAC7E,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,MAAM;gBACf,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;gBACjD,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;YACxD,IAAI,EAAE,IAAI,CAAC,cAAc;YACzB,QAAQ,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,eAAe,IAAI,CAAC,cAAc,oBAAoB,IAAI,CAAC,UAAU,IAAI,CAC1E,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,SAA2B;QACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,OAAO,CAClB,aAAa,SAAS,CAAC,MAAM,eAAe,IAAI,CAAC,cAAc,GAAG,CACnE,CAAC;QACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;YAC9D,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;gBAC3B,GAAG;gBACH,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC7C,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC1C,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC7B,WAAW,EAAE,GAAG,CAAC,UAAU;oBAC3B,WAAW,EAAE,GAAG,CAAC,UAAU;oBAC3B,YAAY,EAAE,GAAG,CAAC,WAAW;oBAC7B,GAAG,GAAG,CAAC,QAAQ;iBAChB,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,EAAE,KAAK,CAChB,mBAAmB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,WAAqB;QAC5C,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,EAAE,OAAO,CAClB,qBAAqB,WAAW,CAAC,MAAM,iBAAiB,CACzD,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC3B,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,IAAI,MAAM,GAAG,CAAC,CAAC;QAEf,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvC,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChC,KAAK,EAAE,gBAAgB;gBACvB,MAAM;aACP,CAAC,CAAC;YAEH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI;oBAAE,SAAS;gBACpB,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,MAAM,UAAU,GACd,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjE,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;oBAC7B,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB;gBAAE,MAAM;YAChD,MAAM,IAAI,gBAAgB,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,KAAK,CAAC,IAAI,oBAAoB,CAAC,CAAC;QACzE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,cAAsB;QAC7C,OAAO,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC9E,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAClC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAkC;YACzD,MAAM,EAAE,CAAC,SAAS,CAAC;YACnB,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;SAC/B,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBACvC,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;gBAChC,KAAK,EAAE,gBAAgB;gBACvB,MAAM;aACP,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;gBACtC,EAAE;gBACF,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE;aACnC,CAAC,CAAC,CAAC;YACJ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,gBAAgB;gBAAE,MAAM;YAChD,MAAM,IAAI,gBAAgB,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,cAAwB,EACxB,QAAgB;QAEhB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACzC,eAAe,EAAE,CAAC,cAAc,CAAC;YACjC,QAAQ;YACR,OAAO,EAAE;gBACP,WAAW,CAAC,SAAS;gBACrB,WAAW,CAAC,SAAS;gBACrB,WAAW,CAAC,SAAS;aACtB;SACF,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,EAAE;YACF,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE;YAC3B,QAAQ,EAAE,CAAC,GAAG,EAAE;gBACd,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC1B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBACjD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GACvD,IAA+B,CAAC;gBAClC,KAAK,WAAW,CAAC;gBACjB,KAAK,WAAW,CAAC;gBACjB,KAAK,YAAY,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,EAAE;YACJ,UAAU,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SACpC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CACV,cAAwB,EACxB,IAAY,EACZ,WAAoB,EACpB,OAAuB;QAEvB,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;QAChE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,gBAAgB,IAAI,WAAW,SAAS,IAAI,KAAK,EAAE,CAAC,CAAC;QAExE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjD,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,GAAG,CAAC,CAAC;gBACnD,OAAO,CAAC,OAAO,CACb,IAAI,CAAC,UAAW,CAAC,MAAM,CAAC,OAAQ,CAAC,SAAU,EAAE;oBAC3C,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,GAAG;iBACX,CAAC,CACH;aACF,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;YACxC,MAAM,WAAW,GAAyB,OAAO;iBAC9C,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;iBAClB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,EAAE,EAAE,CAAC,CAAC,EAAY;gBAClB,OAAO,EAAE,CAAC,CAAC,OAAiB;gBAC5B,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,CAAC,CAAC,KAAK,GAAG,QAAQ;aAC/B,CAAC,CAAC,CAAC;YACN,OAAO,QAAQ,CACb,aAAa,EACb,WAAW,EACX,IAAI,EACJ,OAAO,EAAE,WAAW,IAAI,GAAG,CAC5B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACzD,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vivantel/virage-store-chromadb",
3
- "version": "0.2.27",
3
+ "version": "0.2.29",
4
4
  "description": "ChromaDB vector store for @vivantel/rag-core (local or hosted)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -54,16 +54,17 @@
54
54
  "directory": "packages/virage-store-chromadb"
55
55
  },
56
56
  "dependencies": {
57
- "chromadb": "^3.4.3"
57
+ "chromadb": "^3.4.3",
58
+ "minisearch": "^7.0.0"
58
59
  },
59
60
  "peerDependencies": {
60
61
  "@vivantel/virage-core": "*"
61
62
  },
62
63
  "devDependencies": {
63
- "@types/node": "^25.9.2",
64
- "@vivantel/virage-core": "0.2.25",
64
+ "@types/node": "^25.9.3",
65
+ "@vivantel/virage-core": "0.2.27",
65
66
  "typescript": "^6.0.3",
66
- "vitest": "^4.1.8"
67
+ "vitest": "^4.1.9"
67
68
  },
68
69
  "engines": {
69
70
  "node": ">=18.0.0"