@openweave/weave-graph 0.2.0 → 0.2.1
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/cjs/compression.d.ts +94 -0
- package/dist/cjs/compression.d.ts.map +1 -0
- package/dist/cjs/compression.js +215 -0
- package/dist/cjs/compression.js.map +1 -0
- package/dist/cjs/edge.d.ts +43 -0
- package/dist/cjs/edge.d.ts.map +1 -0
- package/dist/cjs/edge.js +83 -0
- package/dist/cjs/edge.js.map +1 -0
- package/dist/cjs/hebbian-weights.d.ts +100 -0
- package/dist/cjs/hebbian-weights.d.ts.map +1 -0
- package/dist/cjs/hebbian-weights.js +152 -0
- package/dist/cjs/hebbian-weights.js.map +1 -0
- package/dist/cjs/index.d.ts +193 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +417 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/node.d.ts +43 -0
- package/dist/cjs/node.d.ts.map +1 -0
- package/dist/cjs/node.js +83 -0
- package/dist/cjs/node.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/persistence.d.ts +86 -0
- package/dist/cjs/persistence.d.ts.map +1 -0
- package/dist/cjs/persistence.js +215 -0
- package/dist/cjs/persistence.js.map +1 -0
- package/dist/cjs/synaptic-engine.d.ts +126 -0
- package/dist/cjs/synaptic-engine.d.ts.map +1 -0
- package/dist/cjs/synaptic-engine.js +243 -0
- package/dist/cjs/synaptic-engine.js.map +1 -0
- package/dist/cjs/types.d.ts +74 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +30 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/hebbian-weights.d.ts +100 -0
- package/dist/hebbian-weights.d.ts.map +1 -0
- package/dist/hebbian-weights.js +148 -0
- package/dist/hebbian-weights.js.map +1 -0
- package/dist/index.d.ts +36 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +65 -3
- package/dist/index.js.map +1 -1
- package/dist/persistence.d.ts +43 -15
- package/dist/persistence.d.ts.map +1 -1
- package/dist/persistence.js +109 -119
- package/dist/persistence.js.map +1 -1
- package/dist/synaptic-engine.d.ts +126 -0
- package/dist/synaptic-engine.d.ts.map +1 -0
- package/dist/synaptic-engine.js +236 -0
- package/dist/synaptic-engine.js.map +1 -0
- package/package.json +6 -4
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Types for WeaveGraph
|
|
3
|
+
* Represents different kinds of concepts in the knowledge graph
|
|
4
|
+
*/
|
|
5
|
+
export declare enum NodeType {
|
|
6
|
+
CONCEPT = "CONCEPT",
|
|
7
|
+
DECISION = "DECISION",
|
|
8
|
+
MILESTONE = "MILESTONE",
|
|
9
|
+
ERROR = "ERROR",
|
|
10
|
+
CORRECTION = "CORRECTION",
|
|
11
|
+
CODE_ENTITY = "CODE_ENTITY"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Edge Types for WeaveGraph
|
|
15
|
+
* Represents different semantic relationships between nodes
|
|
16
|
+
*/
|
|
17
|
+
export declare enum EdgeType {
|
|
18
|
+
RELATES = "RELATES",
|
|
19
|
+
CAUSES = "CAUSES",
|
|
20
|
+
CORRECTS = "CORRECTS",
|
|
21
|
+
IMPLEMENTS = "IMPLEMENTS",
|
|
22
|
+
DEPENDS_ON = "DEPENDS_ON",
|
|
23
|
+
BLOCKS = "BLOCKS"
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Node in the WeaveGraph
|
|
27
|
+
* Base representation of a concept, decision, error, etc.
|
|
28
|
+
*/
|
|
29
|
+
export interface Node {
|
|
30
|
+
id: string;
|
|
31
|
+
type: NodeType;
|
|
32
|
+
label: string;
|
|
33
|
+
description?: string;
|
|
34
|
+
metadata?: Record<string, unknown>;
|
|
35
|
+
createdAt: Date;
|
|
36
|
+
updatedAt: Date;
|
|
37
|
+
frequency?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Edge in the WeaveGraph
|
|
41
|
+
* Represents a semantic relationship between two nodes
|
|
42
|
+
*/
|
|
43
|
+
export interface Edge {
|
|
44
|
+
id: string;
|
|
45
|
+
sourceId: string;
|
|
46
|
+
targetId: string;
|
|
47
|
+
type: EdgeType;
|
|
48
|
+
weight?: number;
|
|
49
|
+
metadata?: Record<string, unknown>;
|
|
50
|
+
createdAt: Date;
|
|
51
|
+
updatedAt: Date;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Query result from keyword-based search
|
|
55
|
+
*/
|
|
56
|
+
export interface QueryResult {
|
|
57
|
+
nodes: Node[];
|
|
58
|
+
edges: Edge[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Serialized graph for persistence
|
|
62
|
+
*/
|
|
63
|
+
export interface GraphSnapshot {
|
|
64
|
+
nodes: Record<string, Node>;
|
|
65
|
+
edges: Record<string, Edge>;
|
|
66
|
+
metadata: {
|
|
67
|
+
chatId: string;
|
|
68
|
+
version: string;
|
|
69
|
+
createdAt: Date;
|
|
70
|
+
updatedAt: Date;
|
|
71
|
+
compressionThreshold: number;
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,oBAAY,QAAQ;IAClB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,MAAM,WAAW;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC5B,QAAQ,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;QAChB,oBAAoB,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EdgeType = exports.NodeType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Node Types for WeaveGraph
|
|
6
|
+
* Represents different kinds of concepts in the knowledge graph
|
|
7
|
+
*/
|
|
8
|
+
var NodeType;
|
|
9
|
+
(function (NodeType) {
|
|
10
|
+
NodeType["CONCEPT"] = "CONCEPT";
|
|
11
|
+
NodeType["DECISION"] = "DECISION";
|
|
12
|
+
NodeType["MILESTONE"] = "MILESTONE";
|
|
13
|
+
NodeType["ERROR"] = "ERROR";
|
|
14
|
+
NodeType["CORRECTION"] = "CORRECTION";
|
|
15
|
+
NodeType["CODE_ENTITY"] = "CODE_ENTITY";
|
|
16
|
+
})(NodeType || (exports.NodeType = NodeType = {}));
|
|
17
|
+
/**
|
|
18
|
+
* Edge Types for WeaveGraph
|
|
19
|
+
* Represents different semantic relationships between nodes
|
|
20
|
+
*/
|
|
21
|
+
var EdgeType;
|
|
22
|
+
(function (EdgeType) {
|
|
23
|
+
EdgeType["RELATES"] = "RELATES";
|
|
24
|
+
EdgeType["CAUSES"] = "CAUSES";
|
|
25
|
+
EdgeType["CORRECTS"] = "CORRECTS";
|
|
26
|
+
EdgeType["IMPLEMENTS"] = "IMPLEMENTS";
|
|
27
|
+
EdgeType["DEPENDS_ON"] = "DEPENDS_ON";
|
|
28
|
+
EdgeType["BLOCKS"] = "BLOCKS";
|
|
29
|
+
})(EdgeType || (exports.EdgeType = EdgeType = {}));
|
|
30
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,iCAAqB,CAAA;IACrB,mCAAuB,CAAA;IACvB,2BAAe,CAAA;IACf,qCAAyB,CAAA;IACzB,uCAA2B,CAAA;AAC7B,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAED;;;GAGG;AACH,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,+BAAmB,CAAA;IACnB,6BAAiB,CAAA;IACjB,iCAAqB,CAAA;IACrB,qCAAyB,CAAA;IACzB,qCAAyB,CAAA;IACzB,6BAAiB,CAAA;AACnB,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { Edge } from "./types.js";
|
|
2
|
+
export interface HebbianOptions {
|
|
3
|
+
/** Amount added to edge.weight on co-activation. Default: 0.1 */
|
|
4
|
+
hebbianStrength?: number;
|
|
5
|
+
/** Multiplicative factor applied to all weights per decay cycle. Default: 0.99 */
|
|
6
|
+
decayRate?: number;
|
|
7
|
+
/** Edges whose weight falls below this are pruned. Default: 0.05 */
|
|
8
|
+
pruneThreshold?: number;
|
|
9
|
+
/** Hard ceiling on edge.weight after strengthening. Default: 5.0 */
|
|
10
|
+
maxWeight?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Minimal structural interface that ContextGraphManager satisfies.
|
|
14
|
+
* HebbianWeights only needs these methods — no import of the full class.
|
|
15
|
+
*/
|
|
16
|
+
export interface HebbianGraph {
|
|
17
|
+
getEdge(edgeId: string): Edge | undefined;
|
|
18
|
+
updateEdge(edgeId: string, updates: Partial<Edge>): Edge | undefined;
|
|
19
|
+
getAllEdges(): Edge[];
|
|
20
|
+
deleteEdge(edgeId: string): boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* HebbianWeights — Hebbian learning + temporal decay for graph edges.
|
|
24
|
+
*
|
|
25
|
+
* Models three neuronal behaviours:
|
|
26
|
+
*
|
|
27
|
+
* 1. **Strengthen** (`strengthen`): When two nodes are co-activated (both
|
|
28
|
+
* appear in the same query result), every edge connecting them gains
|
|
29
|
+
* `hebbianStrength` weight — "neurons that fire together, wire together."
|
|
30
|
+
*
|
|
31
|
+
* 2. **Decay** (`decay`): Every edge weight is multiplied by `decayRate`
|
|
32
|
+
* each cycle. Edges not reinforced by co-activation gradually weaken.
|
|
33
|
+
*
|
|
34
|
+
* 3. **Prune** (`prune`): Edges whose weight drops below `pruneThreshold`
|
|
35
|
+
* are deleted, keeping the graph clean and preventing stale connections
|
|
36
|
+
* from accumulating indefinitely.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* const hebb = new HebbianWeights({ hebbianStrength: 0.1, decayRate: 0.99 });
|
|
41
|
+
* graph.setHebbianWeights(hebb);
|
|
42
|
+
*
|
|
43
|
+
* // queryNodesByLabel() auto-strengthens edges between co-activated nodes
|
|
44
|
+
* graph.queryNodesByLabel("TypeScript");
|
|
45
|
+
*
|
|
46
|
+
* // Run decay once per session cycle
|
|
47
|
+
* hebb.decay(graph);
|
|
48
|
+
*
|
|
49
|
+
* // Prune weak edges
|
|
50
|
+
* hebb.prune(graph);
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare class HebbianWeights {
|
|
54
|
+
private readonly hebbianStrength;
|
|
55
|
+
private readonly decayRate;
|
|
56
|
+
private readonly pruneThreshold;
|
|
57
|
+
private readonly maxWeight;
|
|
58
|
+
constructor(options?: HebbianOptions);
|
|
59
|
+
/** Read-only view of the resolved configuration. */
|
|
60
|
+
get config(): Required<HebbianOptions>;
|
|
61
|
+
/**
|
|
62
|
+
* Strengthen a single edge by `hebbianStrength`, capped at `maxWeight`.
|
|
63
|
+
*
|
|
64
|
+
* Intended to be called for every edge that connects two nodes that were
|
|
65
|
+
* co-activated (both appeared in the same query result).
|
|
66
|
+
*
|
|
67
|
+
* @returns The updated edge, or `undefined` if the edge was not found.
|
|
68
|
+
*/
|
|
69
|
+
strengthen(edgeId: string, graph: HebbianGraph): Edge | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Strengthen all edges that connect pairs of nodes within `nodeIds`.
|
|
72
|
+
*
|
|
73
|
+
* This is the batch form used by `ContextGraphManager` after a query:
|
|
74
|
+
* every edge whose `sourceId` AND `targetId` both appear in the result
|
|
75
|
+
* set gets strengthened once.
|
|
76
|
+
*
|
|
77
|
+
* @returns The list of edge ids that were strengthened.
|
|
78
|
+
*/
|
|
79
|
+
strengthenCoActivated(nodeIds: string[], graph: HebbianGraph): string[];
|
|
80
|
+
/**
|
|
81
|
+
* Apply temporal decay to every edge in the graph.
|
|
82
|
+
*
|
|
83
|
+
* Each edge weight is multiplied by `decayRate` (< 1.0).
|
|
84
|
+
* Edges reinforced by recent co-activation decay slower relative
|
|
85
|
+
* to their higher baseline weight.
|
|
86
|
+
*
|
|
87
|
+
* @returns The number of edges decayed.
|
|
88
|
+
*/
|
|
89
|
+
decay(graph: HebbianGraph): number;
|
|
90
|
+
/**
|
|
91
|
+
* Delete all edges whose weight has fallen below `pruneThreshold`.
|
|
92
|
+
*
|
|
93
|
+
* Can be called after `decay()` to clean up stale connections.
|
|
94
|
+
*
|
|
95
|
+
* @param minWeight Override the instance's `pruneThreshold` for this call.
|
|
96
|
+
* @returns The number of edges deleted.
|
|
97
|
+
*/
|
|
98
|
+
prune(graph: HebbianGraph, minWeight?: number): number;
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=hebbian-weights.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hebbian-weights.d.ts","sourceRoot":"","sources":["../src/hebbian-weights.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMlC,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAWD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACrE,WAAW,IAAI,IAAI,EAAE,CAAC;IACtB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,OAAO,GAAE,cAAmB;IAOxC,oDAAoD;IACpD,IAAI,MAAM,IAAI,QAAQ,CAAC,cAAc,CAAC,CAOrC;IAMD;;;;;;;OAOG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS;IAUjE;;;;;;;;OAQG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,EAAE;IAoBvE;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM;IAkBlC;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;CAgBvD"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
const DEFAULT_HEBBIAN_STRENGTH = 0.1;
|
|
2
|
+
const DEFAULT_DECAY_RATE = 0.99;
|
|
3
|
+
const DEFAULT_PRUNE_THRESHOLD = 0.05;
|
|
4
|
+
const DEFAULT_MAX_WEIGHT = 5.0;
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
// HebbianWeights
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
/**
|
|
9
|
+
* HebbianWeights — Hebbian learning + temporal decay for graph edges.
|
|
10
|
+
*
|
|
11
|
+
* Models three neuronal behaviours:
|
|
12
|
+
*
|
|
13
|
+
* 1. **Strengthen** (`strengthen`): When two nodes are co-activated (both
|
|
14
|
+
* appear in the same query result), every edge connecting them gains
|
|
15
|
+
* `hebbianStrength` weight — "neurons that fire together, wire together."
|
|
16
|
+
*
|
|
17
|
+
* 2. **Decay** (`decay`): Every edge weight is multiplied by `decayRate`
|
|
18
|
+
* each cycle. Edges not reinforced by co-activation gradually weaken.
|
|
19
|
+
*
|
|
20
|
+
* 3. **Prune** (`prune`): Edges whose weight drops below `pruneThreshold`
|
|
21
|
+
* are deleted, keeping the graph clean and preventing stale connections
|
|
22
|
+
* from accumulating indefinitely.
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* const hebb = new HebbianWeights({ hebbianStrength: 0.1, decayRate: 0.99 });
|
|
27
|
+
* graph.setHebbianWeights(hebb);
|
|
28
|
+
*
|
|
29
|
+
* // queryNodesByLabel() auto-strengthens edges between co-activated nodes
|
|
30
|
+
* graph.queryNodesByLabel("TypeScript");
|
|
31
|
+
*
|
|
32
|
+
* // Run decay once per session cycle
|
|
33
|
+
* hebb.decay(graph);
|
|
34
|
+
*
|
|
35
|
+
* // Prune weak edges
|
|
36
|
+
* hebb.prune(graph);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export class HebbianWeights {
|
|
40
|
+
hebbianStrength;
|
|
41
|
+
decayRate;
|
|
42
|
+
pruneThreshold;
|
|
43
|
+
maxWeight;
|
|
44
|
+
constructor(options = {}) {
|
|
45
|
+
this.hebbianStrength = options.hebbianStrength ?? DEFAULT_HEBBIAN_STRENGTH;
|
|
46
|
+
this.decayRate = options.decayRate ?? DEFAULT_DECAY_RATE;
|
|
47
|
+
this.pruneThreshold = options.pruneThreshold ?? DEFAULT_PRUNE_THRESHOLD;
|
|
48
|
+
this.maxWeight = options.maxWeight ?? DEFAULT_MAX_WEIGHT;
|
|
49
|
+
}
|
|
50
|
+
/** Read-only view of the resolved configuration. */
|
|
51
|
+
get config() {
|
|
52
|
+
return {
|
|
53
|
+
hebbianStrength: this.hebbianStrength,
|
|
54
|
+
decayRate: this.decayRate,
|
|
55
|
+
pruneThreshold: this.pruneThreshold,
|
|
56
|
+
maxWeight: this.maxWeight,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// ------------------------------------------------------------------
|
|
60
|
+
// strengthen()
|
|
61
|
+
// ------------------------------------------------------------------
|
|
62
|
+
/**
|
|
63
|
+
* Strengthen a single edge by `hebbianStrength`, capped at `maxWeight`.
|
|
64
|
+
*
|
|
65
|
+
* Intended to be called for every edge that connects two nodes that were
|
|
66
|
+
* co-activated (both appeared in the same query result).
|
|
67
|
+
*
|
|
68
|
+
* @returns The updated edge, or `undefined` if the edge was not found.
|
|
69
|
+
*/
|
|
70
|
+
strengthen(edgeId, graph) {
|
|
71
|
+
const edge = graph.getEdge(edgeId);
|
|
72
|
+
if (!edge)
|
|
73
|
+
return undefined;
|
|
74
|
+
const currentWeight = edge.weight ?? 1.0;
|
|
75
|
+
const newWeight = Math.min(currentWeight + this.hebbianStrength, this.maxWeight);
|
|
76
|
+
return graph.updateEdge(edgeId, { weight: newWeight });
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Strengthen all edges that connect pairs of nodes within `nodeIds`.
|
|
80
|
+
*
|
|
81
|
+
* This is the batch form used by `ContextGraphManager` after a query:
|
|
82
|
+
* every edge whose `sourceId` AND `targetId` both appear in the result
|
|
83
|
+
* set gets strengthened once.
|
|
84
|
+
*
|
|
85
|
+
* @returns The list of edge ids that were strengthened.
|
|
86
|
+
*/
|
|
87
|
+
strengthenCoActivated(nodeIds, graph) {
|
|
88
|
+
if (nodeIds.length < 2)
|
|
89
|
+
return [];
|
|
90
|
+
const nodeSet = new Set(nodeIds);
|
|
91
|
+
const strengthened = [];
|
|
92
|
+
for (const edge of graph.getAllEdges()) {
|
|
93
|
+
if (nodeSet.has(edge.sourceId) && nodeSet.has(edge.targetId)) {
|
|
94
|
+
this.strengthen(edge.id, graph);
|
|
95
|
+
strengthened.push(edge.id);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return strengthened;
|
|
99
|
+
}
|
|
100
|
+
// ------------------------------------------------------------------
|
|
101
|
+
// decay()
|
|
102
|
+
// ------------------------------------------------------------------
|
|
103
|
+
/**
|
|
104
|
+
* Apply temporal decay to every edge in the graph.
|
|
105
|
+
*
|
|
106
|
+
* Each edge weight is multiplied by `decayRate` (< 1.0).
|
|
107
|
+
* Edges reinforced by recent co-activation decay slower relative
|
|
108
|
+
* to their higher baseline weight.
|
|
109
|
+
*
|
|
110
|
+
* @returns The number of edges decayed.
|
|
111
|
+
*/
|
|
112
|
+
decay(graph) {
|
|
113
|
+
const allEdges = graph.getAllEdges();
|
|
114
|
+
let count = 0;
|
|
115
|
+
for (const edge of allEdges) {
|
|
116
|
+
const current = edge.weight ?? 1.0;
|
|
117
|
+
const decayed = current * this.decayRate;
|
|
118
|
+
graph.updateEdge(edge.id, { weight: decayed });
|
|
119
|
+
count++;
|
|
120
|
+
}
|
|
121
|
+
return count;
|
|
122
|
+
}
|
|
123
|
+
// ------------------------------------------------------------------
|
|
124
|
+
// prune()
|
|
125
|
+
// ------------------------------------------------------------------
|
|
126
|
+
/**
|
|
127
|
+
* Delete all edges whose weight has fallen below `pruneThreshold`.
|
|
128
|
+
*
|
|
129
|
+
* Can be called after `decay()` to clean up stale connections.
|
|
130
|
+
*
|
|
131
|
+
* @param minWeight Override the instance's `pruneThreshold` for this call.
|
|
132
|
+
* @returns The number of edges deleted.
|
|
133
|
+
*/
|
|
134
|
+
prune(graph, minWeight) {
|
|
135
|
+
const threshold = minWeight ?? this.pruneThreshold;
|
|
136
|
+
const toDelete = [];
|
|
137
|
+
for (const edge of graph.getAllEdges()) {
|
|
138
|
+
if ((edge.weight ?? 1.0) < threshold) {
|
|
139
|
+
toDelete.push(edge.id);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
for (const id of toDelete) {
|
|
143
|
+
graph.deleteEdge(id);
|
|
144
|
+
}
|
|
145
|
+
return toDelete.length;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
//# sourceMappingURL=hebbian-weights.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hebbian-weights.js","sourceRoot":"","sources":["../src/hebbian-weights.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { Node, Edge, NodeType, EdgeType, GraphSnapshot } from "./types";
|
|
2
|
+
import { SynapticEngine } from "./synaptic-engine";
|
|
3
|
+
import { HebbianWeights } from "./hebbian-weights";
|
|
2
4
|
/**
|
|
3
5
|
* ContextGraphManager
|
|
4
6
|
* Main interface for managing the WeaveGraph
|
|
@@ -15,11 +17,38 @@ export declare class ContextGraphManager {
|
|
|
15
17
|
private version;
|
|
16
18
|
private createdAt;
|
|
17
19
|
private updatedAt;
|
|
20
|
+
private synapticEngine?;
|
|
21
|
+
private hebbianWeights?;
|
|
18
22
|
constructor(chatId: string, compressionThreshold?: number);
|
|
19
23
|
/**
|
|
20
|
-
*
|
|
24
|
+
* Attach a SynapticEngine to this graph. Once set, every subsequent
|
|
25
|
+
* `addNode()` call will automatically trigger retroactive linking.
|
|
26
|
+
*/
|
|
27
|
+
setSynapticEngine(engine: SynapticEngine): void;
|
|
28
|
+
/**
|
|
29
|
+
* Attach a HebbianWeights instance to this graph. Once set,
|
|
30
|
+
* `queryNodesByLabel()` and `queryNodesByType()` will automatically
|
|
31
|
+
* strengthen edges between co-activated result nodes.
|
|
32
|
+
*/
|
|
33
|
+
setHebbianWeights(hw: HebbianWeights): void;
|
|
34
|
+
/**
|
|
35
|
+
* Add a node to the graph.
|
|
36
|
+
* If a SynapticEngine is attached, retroactive linking is performed
|
|
37
|
+
* immediately after the node is indexed.
|
|
21
38
|
*/
|
|
22
39
|
addNode(node: Node): Node;
|
|
40
|
+
/**
|
|
41
|
+
* Add a node to the graph and run embedding-based retroactive linking
|
|
42
|
+
* (async). If the attached SynapticEngine has an `embeddingService`,
|
|
43
|
+
* cosine similarity is used instead of Jaccard keyword overlap.
|
|
44
|
+
*
|
|
45
|
+
* If no SynapticEngine is attached, behaves identically to `addNode()`.
|
|
46
|
+
* If a SynapticEngine is attached but has no embedding service, the
|
|
47
|
+
* keyword-based path runs (same as `addNode()`).
|
|
48
|
+
*
|
|
49
|
+
* @returns The added node.
|
|
50
|
+
*/
|
|
51
|
+
addNodeAsync(node: Node): Promise<Node>;
|
|
23
52
|
/**
|
|
24
53
|
* Get a node by ID
|
|
25
54
|
*/
|
|
@@ -150,10 +179,15 @@ export declare class ContextGraphManager {
|
|
|
150
179
|
*/
|
|
151
180
|
clear(): void;
|
|
152
181
|
}
|
|
153
|
-
export type { Node, Edge,
|
|
182
|
+
export type { Node, Edge, GraphSnapshot, QueryResult } from "./types";
|
|
183
|
+
export { NodeType, EdgeType } from "./types";
|
|
154
184
|
export { PersistenceManager } from "./persistence";
|
|
155
185
|
export { NodeBuilder } from "./node";
|
|
156
186
|
export { EdgeBuilder } from "./edge";
|
|
157
187
|
export { CompressionManager, ErrorSuppression } from "./compression";
|
|
158
188
|
export type { CompressionStats } from "./compression";
|
|
189
|
+
export { SynapticEngine, tokenize, jaccardSimilarity, cosineSimilarity } from "./synaptic-engine";
|
|
190
|
+
export type { SynapticOptions, SynapticGraph, SynapticEmbeddingService } from "./synaptic-engine";
|
|
191
|
+
export { HebbianWeights } from "./hebbian-weights";
|
|
192
|
+
export type { HebbianOptions, HebbianGraph } from "./hebbian-weights";
|
|
159
193
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAIxE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,SAAS,CAAO;IACxB,OAAO,CAAC,cAAc,CAAC,CAAiB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,MAAM,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM;IAczD;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAI/C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,EAAE,cAAc,GAAG,IAAI;IAI3C;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAoBzB;;;;;;;;;;OAUG;IACG,YAAY,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAoB7C;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIzC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAUpE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IA8BnC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAkBzB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIzC;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAUpE;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAYnC;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE;IAOxC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE;IAOtC;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE;IA0BxC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE;IAcxC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE;IAIxC;;OAEG;IACH,QAAQ;;;;;;;;;;;;;IAuBR;;OAEG;IACH,QAAQ,IAAI,aAAa;IAczB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,mBAAmB;IAoBjE;;;OAGG;IACH,qBAAqB,IAAI,MAAM;IAQ/B;;OAEG;IACH,cAAc,IAAI,MAAM;IAOxB;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,GAAE,MAAY;;;;;;;;;IAuBhD;;OAEG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,CAAC,EAAE,MAAM;;;;IAuB1F;;OAEG;IACH,kBAAkB;;;;IAIlB;;OAEG;IACH,oBAAoB,IAAI,IAAI,EAAE;IAI9B;;OAEG;IACH,WAAW,IAAI,IAAI,EAAE;IAIrB;;OAEG;IACH,WAAW,IAAI,IAAI,EAAE;IAIrB;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd;AAGD,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACrE,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAClG,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,8 @@ export class ContextGraphManager {
|
|
|
18
18
|
version = "0.1.0";
|
|
19
19
|
createdAt;
|
|
20
20
|
updatedAt;
|
|
21
|
+
synapticEngine;
|
|
22
|
+
hebbianWeights;
|
|
21
23
|
constructor(chatId, compressionThreshold) {
|
|
22
24
|
this.chatId = chatId;
|
|
23
25
|
this.nodes = new Map();
|
|
@@ -32,7 +34,24 @@ export class ContextGraphManager {
|
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
/**
|
|
35
|
-
*
|
|
37
|
+
* Attach a SynapticEngine to this graph. Once set, every subsequent
|
|
38
|
+
* `addNode()` call will automatically trigger retroactive linking.
|
|
39
|
+
*/
|
|
40
|
+
setSynapticEngine(engine) {
|
|
41
|
+
this.synapticEngine = engine;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Attach a HebbianWeights instance to this graph. Once set,
|
|
45
|
+
* `queryNodesByLabel()` and `queryNodesByType()` will automatically
|
|
46
|
+
* strengthen edges between co-activated result nodes.
|
|
47
|
+
*/
|
|
48
|
+
setHebbianWeights(hw) {
|
|
49
|
+
this.hebbianWeights = hw;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Add a node to the graph.
|
|
53
|
+
* If a SynapticEngine is attached, retroactive linking is performed
|
|
54
|
+
* immediately after the node is indexed.
|
|
36
55
|
*/
|
|
37
56
|
addNode(node) {
|
|
38
57
|
this.nodes.set(node.id, node);
|
|
@@ -43,6 +62,36 @@ export class ContextGraphManager {
|
|
|
43
62
|
}
|
|
44
63
|
this.nodesByLabel.get(labelKey).add(node.id);
|
|
45
64
|
this.updatedAt = new Date();
|
|
65
|
+
// Retroactive linking — fires only when a SynapticEngine is attached
|
|
66
|
+
if (this.synapticEngine) {
|
|
67
|
+
this.synapticEngine.linkRetroactively(node, this);
|
|
68
|
+
}
|
|
69
|
+
return node;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Add a node to the graph and run embedding-based retroactive linking
|
|
73
|
+
* (async). If the attached SynapticEngine has an `embeddingService`,
|
|
74
|
+
* cosine similarity is used instead of Jaccard keyword overlap.
|
|
75
|
+
*
|
|
76
|
+
* If no SynapticEngine is attached, behaves identically to `addNode()`.
|
|
77
|
+
* If a SynapticEngine is attached but has no embedding service, the
|
|
78
|
+
* keyword-based path runs (same as `addNode()`).
|
|
79
|
+
*
|
|
80
|
+
* @returns The added node.
|
|
81
|
+
*/
|
|
82
|
+
async addNodeAsync(node) {
|
|
83
|
+
this.nodes.set(node.id, node);
|
|
84
|
+
// Index by label
|
|
85
|
+
const labelKey = node.label.toLowerCase();
|
|
86
|
+
if (!this.nodesByLabel.has(labelKey)) {
|
|
87
|
+
this.nodesByLabel.set(labelKey, new Set());
|
|
88
|
+
}
|
|
89
|
+
this.nodesByLabel.get(labelKey).add(node.id);
|
|
90
|
+
this.updatedAt = new Date();
|
|
91
|
+
// Embedding-based retroactive linking (falls back to keyword if no embeddings)
|
|
92
|
+
if (this.synapticEngine) {
|
|
93
|
+
await this.synapticEngine.linkRetroactivelyEmbedding(node, this);
|
|
94
|
+
}
|
|
46
95
|
return node;
|
|
47
96
|
}
|
|
48
97
|
/**
|
|
@@ -173,13 +222,23 @@ export class ContextGraphManager {
|
|
|
173
222
|
});
|
|
174
223
|
}
|
|
175
224
|
}
|
|
176
|
-
|
|
225
|
+
const sorted = results.sort((a, b) => (b.frequency ?? 0) - (a.frequency ?? 0));
|
|
226
|
+
// Hebbian strengthening — reinforce edges between co-activated nodes
|
|
227
|
+
if (this.hebbianWeights && sorted.length >= 2) {
|
|
228
|
+
this.hebbianWeights.strengthenCoActivated(sorted.map((n) => n.id), this);
|
|
229
|
+
}
|
|
230
|
+
return sorted;
|
|
177
231
|
}
|
|
178
232
|
/**
|
|
179
233
|
* Query nodes by type
|
|
180
234
|
*/
|
|
181
235
|
queryNodesByType(type) {
|
|
182
|
-
|
|
236
|
+
const results = Array.from(this.nodes.values()).filter((node) => node.type === type);
|
|
237
|
+
// Hebbian strengthening — reinforce edges between co-activated nodes
|
|
238
|
+
if (this.hebbianWeights && results.length >= 2) {
|
|
239
|
+
this.hebbianWeights.strengthenCoActivated(results.map((n) => n.id), this);
|
|
240
|
+
}
|
|
241
|
+
return results;
|
|
183
242
|
}
|
|
184
243
|
/**
|
|
185
244
|
* Query edges by type
|
|
@@ -332,8 +391,11 @@ export class ContextGraphManager {
|
|
|
332
391
|
this.updatedAt = new Date();
|
|
333
392
|
}
|
|
334
393
|
}
|
|
394
|
+
export { NodeType, EdgeType } from "./types";
|
|
335
395
|
export { PersistenceManager } from "./persistence";
|
|
336
396
|
export { NodeBuilder } from "./node";
|
|
337
397
|
export { EdgeBuilder } from "./edge";
|
|
338
398
|
export { CompressionManager, ErrorSuppression } from "./compression";
|
|
399
|
+
export { SynapticEngine, tokenize, jaccardSimilarity, cosineSimilarity } from "./synaptic-engine";
|
|
400
|
+
export { HebbianWeights } from "./hebbian-weights";
|
|
339
401
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|