@loom-node/knowledge 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
@@ -13,4 +13,8 @@ export { KnowledgeBase } from './knowledge-base.js';
13
13
  export type { KnowledgeBaseConfig } from './knowledge-base.js';
14
14
  export { KnowledgeProvider } from './knowledge-provider.js';
15
15
  export { InMemoryVectorStore } from './stores/in-memory-vector-store.js';
16
+ export { OrmVectorStoreAdapter } from './stores/orm-adapters.js';
17
+ export type { OrmVectorStoreConfig } from './stores/orm-adapters.js';
18
+ export { OrmGraphStoreAdapter } from './stores/orm-adapters.js';
19
+ export type { OrmGraphStoreConfig } from './stores/orm-adapters.js';
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,YAAY,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
package/dist/index.js CHANGED
@@ -7,4 +7,6 @@ export { HybridRetriever } from './retrievers/hybrid-retriever.js';
7
7
  export { KnowledgeBase } from './knowledge-base.js';
8
8
  export { KnowledgeProvider } from './knowledge-provider.js';
9
9
  export { InMemoryVectorStore } from './stores/in-memory-vector-store.js';
10
+ export { OrmVectorStoreAdapter } from './stores/orm-adapters.js';
11
+ export { OrmGraphStoreAdapter } from './stores/orm-adapters.js';
10
12
  //# 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,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * ORM Store Adapters — bridge ORM-based stores to dict-based VectorStore/GraphStore interfaces.
3
+ *
4
+ * Usage:
5
+ * const vectorAdapter = new OrmVectorStoreAdapter({
6
+ * add: (id, vector, meta) => pgChunkStore.add(id, vector, meta),
7
+ * search: (vector, limit) => pgChunkStore.search(vector, limit),
8
+ * remove: (ids) => pgChunkStore.delete(ids),
9
+ * toResult: (obj) => ({ id: obj.id, score: obj.score, content: obj.text, metadata: obj.meta }),
10
+ * });
11
+ */
12
+ import type { VectorStore, VectorEntry, VectorSearchResult, GraphStore, GraphNode, GraphEdge } from '@loom-node/core';
13
+ export interface OrmVectorStoreConfig<T> {
14
+ add(id: string, vector: number[], metadata: Record<string, unknown>): Promise<void>;
15
+ search(vector: number[], limit: number): Promise<T[]>;
16
+ remove(ids: string[]): Promise<void>;
17
+ toResult(item: T): VectorSearchResult;
18
+ }
19
+ export declare class OrmVectorStoreAdapter<T = unknown> implements VectorStore {
20
+ private config;
21
+ constructor(config: OrmVectorStoreConfig<T>);
22
+ upsert(entries: VectorEntry[]): Promise<void>;
23
+ search(vector: number[], limit: number): Promise<VectorSearchResult[]>;
24
+ delete(ids: string[]): Promise<void>;
25
+ }
26
+ export interface OrmGraphStoreConfig<E, R> {
27
+ addEntity(node: Record<string, unknown>): Promise<void>;
28
+ addRelation(edge: Record<string, unknown>): Promise<void>;
29
+ findRelated(query: string, limit: number): Promise<E[]>;
30
+ getNeighbors(nodeId: string, depth: number): Promise<{
31
+ entities: E[];
32
+ relations: R[];
33
+ }>;
34
+ deleteByDocument(documentId: string): Promise<void>;
35
+ entityToNode(entity: E): GraphNode;
36
+ relationToEdge(relation: R): GraphEdge;
37
+ }
38
+ export declare class OrmGraphStoreAdapter<E = unknown, R = unknown> implements GraphStore {
39
+ private config;
40
+ constructor(config: OrmGraphStoreConfig<E, R>);
41
+ addNodes(nodes: GraphNode[]): Promise<void>;
42
+ addEdges(edges: GraphEdge[]): Promise<void>;
43
+ getNeighbors(nodeId: string, depth?: number): Promise<{
44
+ nodes: GraphNode[];
45
+ edges: GraphEdge[];
46
+ }>;
47
+ search(query: string, limit: number): Promise<GraphNode[]>;
48
+ deleteByDocument(documentId: string): Promise<void>;
49
+ }
50
+ //# sourceMappingURL=orm-adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-adapters.d.ts","sourceRoot":"","sources":["../../src/stores/orm-adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,SAAS,EACV,MAAM,iBAAiB,CAAC;AAIzB,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,kBAAkB,CAAC;CACvC;AAED,qBAAa,qBAAqB,CAAC,CAAC,GAAG,OAAO,CAAE,YAAW,WAAW;IACxD,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAE7C,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAKtE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3C;AAID,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAAC,SAAS,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAC;IACxF,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,qBAAa,oBAAoB,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,CAAE,YAAW,UAAU;IACnE,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;IAE/C,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM3C,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS3C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAAC,KAAK,EAAE,SAAS,EAAE,CAAA;KAAE,CAAC;IAQ5F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAK1D,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1D"}
@@ -0,0 +1,52 @@
1
+ export class OrmVectorStoreAdapter {
2
+ config;
3
+ constructor(config) {
4
+ this.config = config;
5
+ }
6
+ async upsert(entries) {
7
+ for (const e of entries) {
8
+ await this.config.add(e.id, e.vector, { ...e.metadata, content: e.content });
9
+ }
10
+ }
11
+ async search(vector, limit) {
12
+ const results = await this.config.search(vector, limit);
13
+ return results.map(r => this.config.toResult(r));
14
+ }
15
+ async delete(ids) {
16
+ await this.config.remove(ids);
17
+ }
18
+ }
19
+ export class OrmGraphStoreAdapter {
20
+ config;
21
+ constructor(config) {
22
+ this.config = config;
23
+ }
24
+ async addNodes(nodes) {
25
+ for (const n of nodes) {
26
+ await this.config.addEntity({ id: n.id, type: n.type, name: n.name, ...n.properties });
27
+ }
28
+ }
29
+ async addEdges(edges) {
30
+ for (const e of edges) {
31
+ await this.config.addRelation({
32
+ id: e.id, source: e.source, target: e.target,
33
+ relation: e.relation, ...e.properties,
34
+ });
35
+ }
36
+ }
37
+ async getNeighbors(nodeId, depth = 1) {
38
+ const raw = await this.config.getNeighbors(nodeId, depth);
39
+ return {
40
+ nodes: raw.entities.map(e => this.config.entityToNode(e)),
41
+ edges: raw.relations.map(r => this.config.relationToEdge(r)),
42
+ };
43
+ }
44
+ async search(query, limit) {
45
+ const results = await this.config.findRelated(query, limit);
46
+ return results.map(e => this.config.entityToNode(e));
47
+ }
48
+ async deleteByDocument(documentId) {
49
+ await this.config.deleteByDocument(documentId);
50
+ }
51
+ }
52
+ //# sourceMappingURL=orm-adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orm-adapters.js","sourceRoot":"","sources":["../../src/stores/orm-adapters.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loom-node/knowledge",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "license": "MIT",
20
20
  "dependencies": {
21
- "@loom-node/core": "0.1.1"
21
+ "@loom-node/core": "0.1.2"
22
22
  },
23
23
  "scripts": {
24
24
  "build": "tsc -b",