@fastpaca/cria 1.7.4 → 1.7.5

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/cria.d.ts CHANGED
@@ -43,7 +43,7 @@ export declare const cria: {
43
43
  readonly input: typeof input;
44
44
  readonly inputLayout: typeof inputLayout;
45
45
  readonly summarizer: (config: import("./memory/summarizer").SummarizerConfig) => import("./memory/summarizer").Summarizer;
46
- readonly vectordb: <T>(store: import("./memory").VectorMemory<T>) => import("./memory").VectorDB<T>;
46
+ readonly vectordb: <T>(store: import("./memory").VectorStore<T>) => import("./memory").VectorDB<T>;
47
47
  };
48
48
  export {};
49
49
  //# sourceMappingURL=cria.d.ts.map
package/dist/cria.js CHANGED
@@ -2,7 +2,7 @@ import { input, inputLayout, merge, prompt } from "./dsl";
2
2
  import { createMessage, createScope } from "./dsl/strategies";
3
3
  import { normalizeTextInput, c as templateC, } from "./dsl/templating";
4
4
  import { summarizer } from "./memory/summarizer";
5
- import { vectordb } from "./memory/vector-db";
5
+ import { vectordb } from "./memory/vector-store";
6
6
  /** Create a standalone message node */
7
7
  function message(role, content) {
8
8
  return createMessage(role, normalizeTextInput(content));
package/dist/cria.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cria.js","sourceRoot":"","sources":["../src/cria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,CAAC,IAAI,SAAS,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAS9C,uCAAuC;AACvC,SAAS,OAAO,CACd,IAAgB,EAChB,OAA2B;IAE3B,OAAO,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAU,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,qCAAqC;AACrC,SAAS,KAAK,CACZ,QAAgC,EAChC,IAAyC;IAEzC,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM;IACN,CAAC,EAAE,SAAS;IACZ,KAAK;IACL,2BAA2B;IAC3B,OAAO;IACP,KAAK;IACL,IAAI,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,KAAK;IACL,WAAW;IACX,UAAU;IACV,QAAQ;CACA,CAAC"}
1
+ {"version":3,"file":"cria.js","sourceRoot":"","sources":["../src/cria.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,kBAAkB,EAElB,CAAC,IAAI,SAAS,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASjD,uCAAuC;AACvC,SAAS,OAAO,CACd,IAAgB,EAChB,OAA2B;IAE3B,OAAO,aAAa,CAAC,IAAI,EAAE,kBAAkB,CAAU,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,qCAAqC;AACrC,SAAS,KAAK,CACZ,QAAgC,EAChC,IAAyC;IAEzC,OAAO,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,MAAM;IACN,CAAC,EAAE,SAAS;IACZ,KAAK;IACL,2BAA2B;IAC3B,OAAO;IACP,KAAK;IACL,IAAI,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;IACtD,MAAM,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC1D,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,SAAS,EAAE,CAAC,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;IAChE,KAAK;IACL,WAAW;IACX,UAAU;IACV,QAAQ;CACA,CAAC"}
@@ -49,6 +49,6 @@ export declare const cria: {
49
49
  readonly input: typeof import("..").input;
50
50
  readonly inputLayout: typeof import("..").inputLayout;
51
51
  readonly summarizer: (config: import("../memory/summarizer").SummarizerConfig) => import("../memory/summarizer").Summarizer;
52
- readonly vectordb: <T>(store: import("..").VectorMemory<T>) => import("..").VectorDB<T>;
52
+ readonly vectordb: <T>(store: import("..").VectorStore<T>) => import("..").VectorDB<T>;
53
53
  };
54
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;gBAZhB,CAAA;UAEE,CAAC;;;;;;;;;;CAU4D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eval/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExE,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,IAAI;;;;;;;;;;gBAZd,CAAC;UAEE,CAAC;;;;;;;;;;CAUyD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -19,7 +19,7 @@ export { cria } from "./cria";
19
19
  export type { BuilderChild, Prompt, PromptPlugin, ScopeContent, TextInput, } from "./dsl";
20
20
  export { BuilderBase, c, input, inputLayout, MessageBuilder, merge, PromptBuilder, prompt, } from "./dsl";
21
21
  export { createOtelRenderHooks } from "./instrumentation/otel";
22
- export type { KVMemory, MemoryEntry, StoredSummary, VectorDBEntry, VectorDBSearchOptions, VectorMemory, VectorSearchOptions, VectorSearchResult, } from "./memory";
22
+ export type { KVMemory, MemoryEntry, StoredSummary, VectorDBEntry, VectorDBSearchOptions, VectorSearchOptions, VectorSearchResult, VectorStore, } from "./memory";
23
23
  export { InMemoryStore, StoredSummarySchema, summarizer, VectorDB, vectordb, } from "./memory";
24
24
  export type { ChatCompletionsInput, ChatMessage, ChatRole, } from "./protocols/chat-completions";
25
25
  export { ChatCompletionsProtocol } from "./protocols/chat-completions";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,YAAY,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,WAAW,EACX,CAAC,EACD,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,YAAY,EACV,YAAY,EACZ,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACL,WAAW,EACX,CAAC,EACD,KAAK,EACL,WAAW,EACX,cAAc,EACd,KAAK,EACL,aAAa,EACb,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EACV,QAAQ,EACR,WAAW,EACX,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,oBAAoB,EACpB,WAAW,EACX,QAAQ,GACT,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,EAC/B,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,KAAK,WAAW,EAChB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,WAAW,EAChB,gBAAgB,EAChB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,aAAa,EACb,aAAa,EACb,QAAQ,EACR,aAAa,EACb,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type Collection } from "chromadb";
2
2
  import type { MemoryEntry } from "../key-value";
3
- import type { VectorMemory, VectorSearchOptions, VectorSearchResult } from "../vector";
3
+ import type { VectorSearchOptions, VectorSearchResult, VectorStore } from "../vector-store";
4
4
  /**
5
5
  * Function to generate embeddings for text.
6
6
  */
@@ -15,9 +15,9 @@ export interface ChromaStoreOptions {
15
15
  embed: EmbeddingFunction;
16
16
  }
17
17
  /**
18
- * VectorMemory implementation backed by ChromaDB.
18
+ * VectorStore implementation backed by ChromaDB.
19
19
  *
20
- * This adapter wraps a Chroma collection and implements the VectorMemory interface,
20
+ * This adapter wraps a Chroma collection and implements the VectorStore interface,
21
21
  * allowing you to use ChromaDB for RAG workflows with Cria's vectordb helper.
22
22
  *
23
23
  * @template T - The type of data stored in the collection
@@ -45,7 +45,7 @@ export interface ChromaStoreOptions {
45
45
  * cria.prompt().use(retrieval);
46
46
  * ```
47
47
  */
48
- export declare class ChromaStore<T = unknown> implements VectorMemory<T> {
48
+ export declare class ChromaStore<T = unknown> implements VectorStore<T> {
49
49
  private readonly collection;
50
50
  private readonly embedFn;
51
51
  constructor(options: ChromaStoreOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/chroma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAA8B,MAAM,UAAU,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAwDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,EAAE,kBAAkB;IAKjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAgBhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CAkDpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/chroma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAA8B,MAAM,UAAU,CAAC;AAEvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mCAAmC;IACnC,UAAU,EAAE,UAAU,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAwDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;gBAEhC,OAAO,EAAE,kBAAkB;IAKjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAgBhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CAwDpC"}
@@ -46,9 +46,9 @@ const ChromaEntrySchema = z
46
46
  };
47
47
  });
48
48
  /**
49
- * VectorMemory implementation backed by ChromaDB.
49
+ * VectorStore implementation backed by ChromaDB.
50
50
  *
51
- * This adapter wraps a Chroma collection and implements the VectorMemory interface,
51
+ * This adapter wraps a Chroma collection and implements the VectorStore interface,
52
52
  * allowing you to use ChromaDB for RAG workflows with Cria's vectordb helper.
53
53
  *
54
54
  * @template T - The type of data stored in the collection
@@ -127,6 +127,10 @@ export class ChromaStore {
127
127
  async search(query, options) {
128
128
  const limit = options?.limit ?? 10;
129
129
  const threshold = options?.threshold;
130
+ const filter = options?.filter;
131
+ const where = filter === undefined || Object.keys(filter).length === 0
132
+ ? undefined
133
+ : filter;
130
134
  const queryVector = await this.embedFn(query);
131
135
  const response = await this.collection.query({
132
136
  queryEmbeddings: [queryVector],
@@ -136,6 +140,7 @@ export class ChromaStore {
136
140
  IncludeEnum.metadatas,
137
141
  IncludeEnum.distances,
138
142
  ],
143
+ ...(where !== undefined && { where }),
139
144
  });
140
145
  const ids = response.ids[0] ?? [];
141
146
  const documents = response.documents?.[0] ?? [];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/chroma/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/chroma/index.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,6 @@ export type { KVMemory, MemoryEntry } from "./key-value";
2
2
  export { InMemoryStore } from "./key-value";
3
3
  export type { StoredSummary } from "./summarizer";
4
4
  export { StoredSummarySchema, summarizer } from "./summarizer";
5
- export type { VectorMemory, VectorSearchOptions, VectorSearchResult, } from "./vector";
6
- export type { VectorDBEntry, VectorDBSearchOptions, } from "./vector-db";
7
- export { VectorDB, vectordb } from "./vector-db";
5
+ export type { VectorDBEntry, VectorDBSearchOptions, VectorSearchOptions, VectorSearchResult, VectorStore, } from "./vector-store";
6
+ export { VectorDB, vectordb } from "./vector-store";
8
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,aAAa,EACb,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/D,YAAY,EACV,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,GACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { InMemoryStore } from "./key-value";
2
2
  export { StoredSummarySchema, summarizer } from "./summarizer";
3
- export { VectorDB, vectordb } from "./vector-db";
3
+ export { VectorDB, vectordb } from "./vector-store";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU/D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/memory/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAQ/D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { QdrantClient } from "@qdrant/js-client-rest";
2
2
  import type { MemoryEntry } from "../key-value";
3
- import type { VectorMemory, VectorSearchOptions, VectorSearchResult } from "../vector";
3
+ import type { VectorSearchOptions, VectorSearchResult, VectorStore } from "../vector-store";
4
4
  /**
5
5
  * Function to generate embeddings for text.
6
6
  */
@@ -19,9 +19,9 @@ export interface QdrantStoreOptions {
19
19
  vectorName?: string;
20
20
  }
21
21
  /**
22
- * VectorMemory implementation backed by Qdrant.
22
+ * VectorStore implementation backed by Qdrant.
23
23
  *
24
- * This adapter wraps a Qdrant collection and implements the VectorMemory interface,
24
+ * This adapter wraps a Qdrant collection and implements the VectorStore interface,
25
25
  * allowing you to use Qdrant for RAG workflows with Cria's vectordb helper.
26
26
  *
27
27
  * @template T - The type of data stored in the payload
@@ -49,7 +49,7 @@ export interface QdrantStoreOptions {
49
49
  * cria.prompt().use(retrieval);
50
50
  * ```
51
51
  */
52
- export declare class QdrantStore<T = unknown> implements VectorMemory<T> {
52
+ export declare class QdrantStore<T = unknown> implements VectorStore<T> {
53
53
  private readonly client;
54
54
  private readonly collectionName;
55
55
  private readonly embedFn;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,CAAC;IACzB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,EAAE,kBAAkB;IAOjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CAiCpC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/memory/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iCAAiC;IACjC,MAAM,EAAE,YAAY,CAAC;IACrB,wCAAwC;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,KAAK,EAAE,iBAAiB,CAAC;IACzB,kFAAkF;IAClF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;gBAEpC,OAAO,EAAE,kBAAkB;IAOjC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAkBhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IA0BV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAYrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CA4CpC"}
@@ -13,9 +13,9 @@ const QdrantPayloadSchema = z
13
13
  ...(payload.metadata && { metadata: payload.metadata }),
14
14
  }));
15
15
  /**
16
- * VectorMemory implementation backed by Qdrant.
16
+ * VectorStore implementation backed by Qdrant.
17
17
  *
18
- * This adapter wraps a Qdrant collection and implements the VectorMemory interface,
18
+ * This adapter wraps a Qdrant collection and implements the VectorStore interface,
19
19
  * allowing you to use Qdrant for RAG workflows with Cria's vectordb helper.
20
20
  *
21
21
  * @template T - The type of data stored in the payload
@@ -104,6 +104,15 @@ export class QdrantStore {
104
104
  async search(query, options) {
105
105
  const limit = options?.limit ?? 10;
106
106
  const threshold = options?.threshold;
107
+ const rawFilter = options?.filter;
108
+ const filter = rawFilter === undefined || Object.keys(rawFilter).length === 0
109
+ ? undefined
110
+ : {
111
+ must: Object.entries(rawFilter).map(([key, value]) => ({
112
+ key: `metadata.${key}`,
113
+ match: { value },
114
+ })),
115
+ };
107
116
  const queryVector = await this.embedFn(query);
108
117
  const response = await this.client.search(this.collectionName, {
109
118
  vector: this.vectorName
@@ -112,6 +121,7 @@ export class QdrantStore {
112
121
  limit,
113
122
  with_payload: true,
114
123
  ...(threshold !== undefined && { score_threshold: threshold }),
124
+ ...(filter !== undefined && { filter }),
115
125
  });
116
126
  const results = [];
117
127
  for (const point of response) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/qdrant/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/memory/qdrant/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { MemoryEntry } from "./key-value";
3
3
  import type { SqliteConnectionOptions, SqliteDatabase } from "./sqlite";
4
- import type { VectorMemory, VectorSearchOptions, VectorSearchResult } from "./vector";
4
+ import type { VectorSearchOptions, VectorSearchResult, VectorStore } from "./vector-store";
5
5
  /**
6
6
  * Function to generate embeddings for text.
7
7
  */
@@ -43,7 +43,7 @@ export interface SqliteVectorStoreOptions<T = unknown> {
43
43
  schema: z.ZodType<T>;
44
44
  }
45
45
  /**
46
- * SQLite-backed implementation of VectorMemory.
46
+ * SQLite-backed implementation of VectorStore.
47
47
  *
48
48
  * Uses libSQL vector columns and vector indexes for DB-side similarity search.
49
49
  *
@@ -64,7 +64,7 @@ export interface SqliteVectorStoreOptions<T = unknown> {
64
64
  * const results = await store.search("What is RAG?", { limit: 5 });
65
65
  * ```
66
66
  */
67
- export declare class SqliteVectorStore<T = unknown> implements VectorMemory<T> {
67
+ export declare class SqliteVectorStore<T = unknown> implements VectorStore<T> {
68
68
  private readonly db;
69
69
  private readonly tableName;
70
70
  private readonly embedFn;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-vector.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite-vector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,OAAO;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB;AAWD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAiB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,YAAY,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAwBlC,WAAW;YAmBX,WAAW;IAenB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IA4BhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAuCV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAsEnC;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd"}
1
+ {"version":3,"file":"sqlite-vector.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite-vector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACZ,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,wBAAwB,CAAC,CAAC,GAAG,OAAO;IACnD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,iBAAiB,CAAC;IACzB;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACtB;AAeD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAiB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsB;IACtD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAwBlC,WAAW;YAmBX,WAAW;IAenB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IA4BhD,GAAG,CACP,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,CAAC,EACP,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,IAAI,CAAC;IAuCV,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrC,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IA0GnC;;;OAGG;IACH,KAAK,IAAI,IAAI;CAGd"}
@@ -1,6 +1,7 @@
1
1
  import { createClient } from "@libsql/client";
2
2
  import { z } from "zod";
3
3
  const metadataSchema = z.object({}).catchall(z.unknown());
4
+ const DEFAULT_SEARCH_LIMIT = 10;
4
5
  const sqliteRowSchema = z.object({
5
6
  key: z.string(),
6
7
  data: z.string(),
@@ -8,8 +9,11 @@ const sqliteRowSchema = z.object({
8
9
  updated_at: z.number(),
9
10
  metadata: z.string().nullable(),
10
11
  });
12
+ const searchRowSchema = sqliteRowSchema.extend({
13
+ distance: z.number(),
14
+ });
11
15
  /**
12
- * SQLite-backed implementation of VectorMemory.
16
+ * SQLite-backed implementation of VectorStore.
13
17
  *
14
18
  * Uses libSQL vector columns and vector indexes for DB-side similarity search.
15
19
  *
@@ -145,12 +149,41 @@ export class SqliteVectorStore {
145
149
  async search(query, options) {
146
150
  await this.ensureTable();
147
151
  await this.ensureIndex();
148
- const limit = Math.max(0, Math.trunc(options?.limit ?? 10));
152
+ const limit = Math.max(0, Math.trunc(options?.limit ?? DEFAULT_SEARCH_LIMIT));
153
+ if (limit === 0) {
154
+ return [];
155
+ }
149
156
  const threshold = options?.threshold;
157
+ const filterEntries = options?.filter
158
+ ? Object.entries(options.filter)
159
+ : undefined;
150
160
  const queryVector = this.embeddingSchema.parse(await this.embedFn(query));
151
161
  const serializedQuery = JSON.stringify(queryVector);
152
- const result = await this.db.execute({
153
- sql: `
162
+ let sql = `
163
+ SELECT
164
+ t.key,
165
+ t.data,
166
+ t.created_at,
167
+ t.updated_at,
168
+ t.metadata,
169
+ vector_distance_cos(t.embedding, vector32(?)) AS distance
170
+ FROM vector_top_k(
171
+ ?,
172
+ vector32(?),
173
+ CAST(? AS INTEGER)
174
+ ) AS i
175
+ JOIN ${this.tableName} AS t ON t.rowid = i.id
176
+ ORDER BY distance ASC
177
+ `;
178
+ const args = [
179
+ serializedQuery,
180
+ `${this.tableName}_vector_idx`,
181
+ serializedQuery,
182
+ limit,
183
+ ];
184
+ if (filterEntries && filterEntries.length > 0) {
185
+ const predicates = filterEntries.map(() => "json_extract(COALESCE(t.metadata, '{}'), ?) = ?");
186
+ sql = `
154
187
  SELECT
155
188
  t.key,
156
189
  t.data,
@@ -158,25 +191,24 @@ export class SqliteVectorStore {
158
191
  t.updated_at,
159
192
  t.metadata,
160
193
  vector_distance_cos(t.embedding, vector32(?)) AS distance
161
- FROM vector_top_k(
162
- ?,
163
- vector32(?),
164
- CAST(? AS INTEGER)
165
- ) AS i
166
- JOIN ${this.tableName} AS t ON t.rowid = i.id
194
+ FROM ${this.tableName} AS t
195
+ WHERE ${predicates.join(" AND ")}
167
196
  ORDER BY distance ASC
168
- `,
169
- args: [
170
- serializedQuery,
171
- `${this.tableName}_vector_idx`,
172
- serializedQuery,
173
- limit,
174
- ],
197
+ LIMIT CAST(? AS INTEGER)
198
+ `;
199
+ args.length = 0;
200
+ args.push(serializedQuery);
201
+ for (const [key, value] of filterEntries) {
202
+ args.push(`$.${key}`);
203
+ args.push(value);
204
+ }
205
+ args.push(limit);
206
+ }
207
+ const result = await this.db.execute({
208
+ sql,
209
+ args,
175
210
  });
176
211
  const results = [];
177
- const searchRowSchema = sqliteRowSchema.extend({
178
- distance: z.number(),
179
- });
180
212
  for (const row of result.rows) {
181
213
  const parsedRow = searchRowSchema.parse(row);
182
214
  const score = Math.max(0, Math.min(1, 1 - parsedRow.distance / 2));
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-vector.js","sourceRoot":"","sources":["../../src/memory/sqlite-vector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-vector.js","sourceRoot":"","sources":["../../src/memory/sqlite-vector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Vector store contracts and VectorDB helper.
3
+ */
4
+ import type { PromptPlugin } from "../dsl/builder";
5
+ import type { MaybePromise } from "../types";
6
+ import type { KVMemory, MemoryEntry } from "./key-value";
7
+ /**
8
+ * Search result from a vector store query.
9
+ */
10
+ export interface VectorSearchResult<T = unknown> {
11
+ /** The matching entry */
12
+ entry: MemoryEntry<T>;
13
+ /** The key of the matching entry */
14
+ key: string;
15
+ /** Similarity score (0-1, higher is more similar) */
16
+ score: number;
17
+ }
18
+ export type VectorSearchFilterValue = string | number | boolean;
19
+ export type VectorSearchFilter = Record<string, VectorSearchFilterValue>;
20
+ /**
21
+ * Options for vector search operations.
22
+ */
23
+ export interface VectorSearchOptions {
24
+ /** Maximum number of results to return. Default: 10 */
25
+ limit?: number;
26
+ /** Minimum similarity threshold (0-1). Results below this are excluded. */
27
+ threshold?: number;
28
+ /** Metadata equality filter to apply at the store layer. */
29
+ filter?: VectorSearchFilter;
30
+ }
31
+ /**
32
+ * Vector store interface for semantic search.
33
+ *
34
+ * Extends the KV store interface with vector-based similarity search.
35
+ * Useful for RAG (Retrieval Augmented Generation), semantic memory,
36
+ * and finding related content.
37
+ *
38
+ * @template T - The type of data stored in the store
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * // Implementation would use embeddings from OpenAI, Cohere, etc.
43
+ * class PineconeStore<T> implements VectorStore<T> {
44
+ * async search(query: string, options?: VectorSearchOptions) {
45
+ * const embedding = await this.embedder(query);
46
+ * return this.client.query(embedding, options);
47
+ * }
48
+ * // ... other methods
49
+ * }
50
+ * ```
51
+ */
52
+ export interface VectorStore<T = unknown> extends KVMemory<T> {
53
+ /**
54
+ * Search for entries semantically similar to the query.
55
+ * @param query - The search query (will be embedded)
56
+ * @param options - Search options
57
+ * @returns Matching entries sorted by similarity (highest first)
58
+ */
59
+ search(query: string, options?: VectorSearchOptions): MaybePromise<VectorSearchResult<T>[]>;
60
+ }
61
+ export interface VectorDBSearchOptions extends VectorSearchOptions {
62
+ query: string;
63
+ }
64
+ export interface VectorDBEntry<T> {
65
+ id: string;
66
+ data: T;
67
+ metadata?: Record<string, unknown>;
68
+ }
69
+ export declare class VectorDB<T> {
70
+ private readonly store;
71
+ constructor(store: VectorStore<T>);
72
+ plugin<P = unknown>(options: VectorDBSearchOptions): PromptPlugin<P>;
73
+ index(options: VectorDBEntry<T>): Promise<void>;
74
+ load(options: {
75
+ id: string;
76
+ }): Promise<MemoryEntry<T> | null>;
77
+ search(query: string, options?: VectorSearchOptions): Promise<VectorSearchResult<T>[]>;
78
+ renderSearch(options: VectorDBSearchOptions): Promise<string>;
79
+ }
80
+ export declare const vectordb: <T>(store: VectorStore<T>) => VectorDB<T>;
81
+ //# sourceMappingURL=vector-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAqB,MAAM,UAAU,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,yBAAyB;IACzB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,kBAAkB,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC3D;;;;;OAKG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAsB,SAAQ,mBAAmB;IAChE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA4CD,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;gBAE3B,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IAIjC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,YAAY,CAAC,CAAC,CAAC;IAI9D,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,IAAI,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAI7D,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAe7B,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;CAUpE;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,CAE7D,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Vector store contracts and VectorDB helper.
3
+ */
4
+ import { createMessage, createScope } from "../dsl/strategies";
5
+ import { textPart } from "../dsl/templating";
6
+ const DEFAULT_SEARCH_LIMIT = 10;
7
+ const EMPTY_SEARCH_RESULTS_MESSAGE = "Vector search returned no results.";
8
+ const formatResults = (results) => {
9
+ if (results.length === 0) {
10
+ return EMPTY_SEARCH_RESULTS_MESSAGE;
11
+ }
12
+ const sections = [];
13
+ for (const [index, result] of results.entries()) {
14
+ const content = typeof result.entry.data === "string"
15
+ ? result.entry.data
16
+ : JSON.stringify(result.entry.data, null, 2);
17
+ sections.push(`[${index + 1}] (score: ${result.score.toFixed(3)})\n${content}`);
18
+ }
19
+ return sections.join("\n\n");
20
+ };
21
+ class VectorDBPlugin {
22
+ db;
23
+ options;
24
+ constructor(db, options) {
25
+ this.db = db;
26
+ this.options = options;
27
+ }
28
+ async render() {
29
+ const content = await this.db.renderSearch(this.options);
30
+ const message = createMessage("user", [
31
+ textPart(content),
32
+ ]);
33
+ return createScope([message]);
34
+ }
35
+ }
36
+ export class VectorDB {
37
+ store;
38
+ constructor(store) {
39
+ this.store = store;
40
+ }
41
+ plugin(options) {
42
+ return new VectorDBPlugin(this, options);
43
+ }
44
+ async index(options) {
45
+ await this.store.set(options.id, options.data, options.metadata);
46
+ }
47
+ async load(options) {
48
+ return await this.store.get(options.id);
49
+ }
50
+ async search(query, options = {}) {
51
+ const limit = Math.max(0, Math.trunc(options.limit ?? DEFAULT_SEARCH_LIMIT));
52
+ if (limit === 0) {
53
+ return [];
54
+ }
55
+ return await this.store.search(query, {
56
+ ...options,
57
+ limit,
58
+ });
59
+ }
60
+ async renderSearch(options) {
61
+ const { query: rawQuery, ...searchOptions } = options;
62
+ const query = rawQuery.trim();
63
+ if (!query) {
64
+ throw new Error("VectorDB search requires a non-empty query.");
65
+ }
66
+ const results = await this.search(query, searchOptions);
67
+ return formatResults(results);
68
+ }
69
+ }
70
+ export const vectordb = (store) => {
71
+ return new VectorDB(store);
72
+ };
73
+ //# sourceMappingURL=vector-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fastpaca/cria",
3
- "version": "1.7.4",
3
+ "version": "1.7.5",
4
4
  "description": "Lightweight, fast, and tiny LLM Context & Memory layout renderer to enforce token budgets in long running agents.",
5
5
  "license": "MIT",
6
6
  "author": "seb@fastpaca.com",
@@ -1,30 +0,0 @@
1
- /**
2
- * Vector DB helper for shared retrieval + indexing.
3
- */
4
- import type { PromptPlugin } from "../dsl/builder";
5
- import type { MemoryEntry } from "./key-value";
6
- import type { VectorMemory, VectorSearchResult } from "./vector";
7
- type VectorDBFilterValue = string | number | boolean;
8
- export interface VectorDBSearchOptions {
9
- query: string;
10
- limit?: number;
11
- filter?: Record<string, VectorDBFilterValue>;
12
- }
13
- export interface VectorDBEntry<T> {
14
- id: string;
15
- data: T;
16
- metadata?: Record<string, unknown>;
17
- }
18
- export declare class VectorDB<T> {
19
- private readonly store;
20
- constructor(store: VectorMemory<T>);
21
- plugin<P = unknown>(options: VectorDBSearchOptions): PromptPlugin<P>;
22
- index(options: VectorDBEntry<T>): Promise<void>;
23
- load(options: {
24
- id: string;
25
- }): Promise<MemoryEntry<T> | null>;
26
- search(query: string, limit: number): Promise<VectorSearchResult<T>[]>;
27
- }
28
- export declare const vectordb: <T>(store: VectorMemory<T>) => VectorDB<T>;
29
- export {};
30
- //# sourceMappingURL=vector-db.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-db.d.ts","sourceRoot":"","sources":["../../src/memory/vector-db.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEjE,KAAK,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AA6ED,qBAAa,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;gBAE5B,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC;IAIlC,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,YAAY,CAAC,CAAC,CAAC;IAI9D,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,IAAI,CAAC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAI7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;CAG7E;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,OAAO,YAAY,CAAC,CAAC,CAAC,KAAG,QAAQ,CAAC,CAAC,CAE9D,CAAC"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Vector DB helper for shared retrieval + indexing.
3
- */
4
- import { createMessage, createScope } from "../dsl/strategies";
5
- import { textPart } from "../dsl/templating";
6
- const DEFAULT_SEARCH_LIMIT = 10;
7
- const DEFAULT_FILTER_OVERFETCH_MULTIPLIER = 5;
8
- const formatEntry = (data) => {
9
- if (typeof data === "string") {
10
- return data;
11
- }
12
- return JSON.stringify(data, null, 2);
13
- };
14
- const matchesFilter = (result, filter) => {
15
- const metadata = result.entry.metadata;
16
- if (!metadata) {
17
- return false;
18
- }
19
- for (const [key, value] of Object.entries(filter)) {
20
- if (metadata[key] !== value) {
21
- return false;
22
- }
23
- }
24
- return true;
25
- };
26
- const formatResults = (results) => {
27
- if (results.length === 0) {
28
- return "Vector search returned no results.";
29
- }
30
- return results
31
- .map((result, index) => {
32
- return `[${index + 1}] (score: ${result.score.toFixed(3)})\n${formatEntry(result.entry.data)}`;
33
- })
34
- .join("\n\n");
35
- };
36
- class VectorDBPlugin {
37
- db;
38
- options;
39
- constructor(db, options) {
40
- this.db = db;
41
- this.options = options;
42
- }
43
- async render() {
44
- const query = this.options.query.trim();
45
- if (!query) {
46
- throw new Error("VectorDB search requires a non-empty query.");
47
- }
48
- const filter = this.options.filter;
49
- const limit = this.options.limit ?? DEFAULT_SEARCH_LIMIT;
50
- const searchLimit = filter
51
- ? limit * DEFAULT_FILTER_OVERFETCH_MULTIPLIER
52
- : limit;
53
- const rawResults = await this.db.search(query, searchLimit);
54
- const results = filter
55
- ? rawResults.filter((result) => matchesFilter(result, filter))
56
- : rawResults;
57
- const content = formatResults(results.slice(0, limit));
58
- const message = createMessage("user", [
59
- textPart(content),
60
- ]);
61
- return createScope([message]);
62
- }
63
- }
64
- export class VectorDB {
65
- store;
66
- constructor(store) {
67
- this.store = store;
68
- }
69
- plugin(options) {
70
- return new VectorDBPlugin(this, options);
71
- }
72
- async index(options) {
73
- await this.store.set(options.id, options.data, options.metadata);
74
- }
75
- async load(options) {
76
- return await this.store.get(options.id);
77
- }
78
- async search(query, limit) {
79
- return await this.store.search(query, { limit });
80
- }
81
- }
82
- export const vectordb = (store) => {
83
- return new VectorDB(store);
84
- };
85
- //# sourceMappingURL=vector-db.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-db.js","sourceRoot":"","sources":["../../src/memory/vector-db.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import type { MaybePromise } from "../types";
2
- import type { KVMemory, MemoryEntry } from "./key-value";
3
- /**
4
- * Search result from a vector memory query.
5
- */
6
- export interface VectorSearchResult<T = unknown> {
7
- /** The matching entry */
8
- entry: MemoryEntry<T>;
9
- /** The key of the matching entry */
10
- key: string;
11
- /** Similarity score (0-1, higher is more similar) */
12
- score: number;
13
- }
14
- /**
15
- * Options for vector search operations.
16
- */
17
- export interface VectorSearchOptions {
18
- /** Maximum number of results to return. Default: 10 */
19
- limit?: number;
20
- /** Minimum similarity threshold (0-1). Results below this are excluded. */
21
- threshold?: number;
22
- }
23
- /**
24
- * Vector memory interface for semantic search.
25
- *
26
- * Extends the KV memory interface with vector-based similarity search.
27
- * Useful for RAG (Retrieval Augmented Generation), semantic memory,
28
- * and finding related content.
29
- *
30
- * @template T - The type of data stored in the memory
31
- *
32
- * @example
33
- * ```typescript
34
- * // Implementation would use embeddings from OpenAI, Cohere, etc.
35
- * class PineconeStore<T> implements VectorMemory<T> {
36
- * async search(query: string, options?: VectorSearchOptions) {
37
- * const embedding = await this.embedder(query);
38
- * return this.client.query(embedding, options);
39
- * }
40
- * // ... other methods
41
- * }
42
- * ```
43
- */
44
- export interface VectorMemory<T = unknown> extends KVMemory<T> {
45
- /**
46
- * Search for entries semantically similar to the query.
47
- * @param query - The search query (will be embedded)
48
- * @param options - Search options
49
- * @returns Matching entries sorted by similarity (highest first)
50
- */
51
- search(query: string, options?: VectorSearchOptions): MaybePromise<VectorSearchResult<T>[]>;
52
- }
53
- //# sourceMappingURL=vector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/memory/vector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,OAAO;IAC7C,yBAAyB;IACzB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,oCAAoC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;IAC5D;;;;;OAKG;IACH,MAAM,CACJ,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,mBAAmB,GAC5B,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;CAC1C"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=vector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/memory/vector.ts"],"names":[],"mappings":""}