@loom-node/memory 0.1.1 → 0.1.2

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/index.d.ts CHANGED
@@ -7,6 +7,7 @@ export { LayeredMemoryManager } from './memory-manager.js';
7
7
  export type { LayeredMemoryConfig } from './memory-manager.js';
8
8
  export { EstimatorTokenizer } from './estimator-tokenizer.js';
9
9
  export { InMemoryPersistentStore } from './in-memory-store.js';
10
+ export { VectorPersistentStore } from './vector-persistent-store.js';
10
11
  export { MemoryProvider } from './memory-provider.js';
11
12
  export { LLMSummarizer } from './llm-summarizer.js';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { PersistentLayer } from './layers/persistent.js';
4
4
  export { LayeredMemoryManager } from './memory-manager.js';
5
5
  export { EstimatorTokenizer } from './estimator-tokenizer.js';
6
6
  export { InMemoryPersistentStore } from './in-memory-store.js';
7
+ export { VectorPersistentStore } from './vector-persistent-store.js';
7
8
  export { MemoryProvider } from './memory-provider.js';
8
9
  export { LLMSummarizer } from './llm-summarizer.js';
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * VectorPersistentStore — bridges VectorStore + EmbeddingProvider → PersistentStore interface.
3
+ * Allows any vector DB (pgvector, Pinecone, Milvus, etc.) to serve as loom's L3 memory layer.
4
+ */
5
+ import type { PersistentStore, MemoryEntry, SearchOptions } from '@loom-node/core';
6
+ import type { VectorStore, EmbeddingProvider } from '@loom-node/core';
7
+ export declare class VectorPersistentStore implements PersistentStore {
8
+ private store;
9
+ private embedder;
10
+ constructor(store: VectorStore, embedder: EmbeddingProvider);
11
+ save(entry: MemoryEntry): Promise<void>;
12
+ search(query: string, opts: SearchOptions): Promise<MemoryEntry[]>;
13
+ delete(id: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=vector-persistent-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-persistent-store.d.ts","sourceRoot":"","sources":["../src/vector-persistent-store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,aAAa,EACd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EACV,WAAW,EACX,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB,qBAAa,qBAAsB,YAAW,eAAe;IAEzD,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;gBADR,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,iBAAiB;IAG/B,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAevC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAalE,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGxC"}
@@ -0,0 +1,38 @@
1
+ export class VectorPersistentStore {
2
+ store;
3
+ embedder;
4
+ constructor(store, embedder) {
5
+ this.store = store;
6
+ this.embedder = embedder;
7
+ }
8
+ async save(entry) {
9
+ const vector = await this.embedder.embed(entry.content);
10
+ await this.store.upsert([{
11
+ id: entry.id,
12
+ vector,
13
+ content: entry.content,
14
+ metadata: {
15
+ ...entry.metadata,
16
+ tokens: entry.tokens,
17
+ importance: entry.importance,
18
+ createdAt: entry.createdAt,
19
+ },
20
+ }]);
21
+ }
22
+ async search(query, opts) {
23
+ const vector = await this.embedder.embed(query);
24
+ const results = await this.store.search(vector, opts.limit, opts.filter ?? undefined);
25
+ return results.map(r => ({
26
+ id: r.id,
27
+ content: r.content,
28
+ tokens: r.metadata?.tokens ?? 0,
29
+ importance: r.metadata?.importance ?? 0.5,
30
+ metadata: r.metadata,
31
+ createdAt: r.metadata?.createdAt ?? 0,
32
+ }));
33
+ }
34
+ async delete(id) {
35
+ await this.store.delete([id]);
36
+ }
37
+ }
38
+ //# sourceMappingURL=vector-persistent-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector-persistent-store.js","sourceRoot":"","sources":["../src/vector-persistent-store.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,qBAAqB;IAEtB;IACA;IAFV,YACU,KAAkB,EAClB,QAA2B;QAD3B,UAAK,GAAL,KAAK,CAAa;QAClB,aAAQ,GAAR,QAAQ,CAAmB;IAClC,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,KAAkB;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,MAAM;gBACN,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE;oBACR,GAAG,KAAK,CAAC,QAAQ;oBACjB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;iBAC3B;aACF,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,IAAmB;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;QACtF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACvB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAG,CAAC,CAAC,QAAQ,EAAE,MAAiB,IAAI,CAAC;YAC3C,UAAU,EAAG,CAAC,CAAC,QAAQ,EAAE,UAAqB,IAAI,GAAG;YACrD,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAG,CAAC,CAAC,QAAQ,EAAE,SAAoB,IAAI,CAAC;SAClD,CAAC,CAAC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loom-node/memory",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Three-layer memory system for Loom-Node - sliding window, working memory, persistent",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "license": "MIT",
21
21
  "dependencies": {
22
- "@loom-node/core": "0.1.1"
22
+ "@loom-node/core": "0.1.2"
23
23
  },
24
24
  "devDependencies": {
25
25
  "typescript": "^5.5.0"