@kybernesis/brain-core 0.10.0 → 0.12.0
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/fact-decay.d.ts +74 -0
- package/dist/fact-decay.d.ts.map +1 -0
- package/dist/fact-decay.js +92 -0
- package/dist/fact-decay.js.map +1 -0
- package/dist/fact-retrieval.d.ts +14 -0
- package/dist/fact-retrieval.d.ts.map +1 -1
- package/dist/fact-retrieval.js +48 -4
- package/dist/fact-retrieval.js.map +1 -1
- package/dist/fact-store.d.ts +1 -1
- package/dist/hash.d.ts +16 -0
- package/dist/hash.d.ts.map +1 -0
- package/dist/hash.js +19 -0
- package/dist/hash.js.map +1 -0
- package/dist/hybrid-search.d.ts +24 -0
- package/dist/hybrid-search.d.ts.map +1 -1
- package/dist/hybrid-search.js +49 -3
- package/dist/hybrid-search.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/reconcile.d.ts +104 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +178 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/relational-intent.d.ts +43 -0
- package/dist/relational-intent.d.ts.map +1 -0
- package/dist/relational-intent.js +151 -0
- package/dist/relational-intent.js.map +1 -0
- package/package.json +8 -6
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Relational-query parser — adapted from gbrain's relational-intent.ts to
|
|
3
|
+
* Cortex's RelationshipType vocabulary.
|
|
4
|
+
*
|
|
5
|
+
* Detects queries whose answer is a RELATIONSHIP (an edge between entities)
|
|
6
|
+
* rather than a passage — "who founded acme", "who works at X", "what connects
|
|
7
|
+
* A and B". The relational recall arm (hybrid-search Channel 5) fires ONLY when
|
|
8
|
+
* this returns non-null, so a plain-recall query never triggers entity-graph
|
|
9
|
+
* augmentation — that gating is the fix for the recall regression an always-on
|
|
10
|
+
* entity arm caused (see docs/research/gap-analysis-2026-06-12.md, #3 result).
|
|
11
|
+
*
|
|
12
|
+
* Pure module: no DB, no LLM, no async. Detection is regex-only and parsed from
|
|
13
|
+
* the ORIGINAL query (never an expanded variant) so the arm stays reproducible.
|
|
14
|
+
*
|
|
15
|
+
* Precision-first: returns a CANDIDATE. The arm only contributes if a seed
|
|
16
|
+
* entity also resolves in the store (resolution lives in the storage seam).
|
|
17
|
+
* Patterns require the relation phrase and entity to be adjacent, so
|
|
18
|
+
* "who invested TIME in X" does not match "who invested in <seed>".
|
|
19
|
+
*
|
|
20
|
+
* ReDoS-safe: seed captures are length-bounded (`.{1,80}?`), patterns anchored.
|
|
21
|
+
*/
|
|
22
|
+
/** Cortex RelationshipType values the parser may emit (must stay a subset of
|
|
23
|
+
* constants.ts RelationshipTypeSchema). 'co-occurred' is intentionally absent
|
|
24
|
+
* — it is traversal noise, never a query target. */
|
|
25
|
+
export const KNOWN_LINK_TYPES = new Set([
|
|
26
|
+
'founded', 'works_at', 'invested_in', 'met_with', 'created', 'manages',
|
|
27
|
+
'partners_with', 'located_in', 'discussed', 'related_to', 'reports_to',
|
|
28
|
+
'uses', 'depends_on', 'part_of',
|
|
29
|
+
]);
|
|
30
|
+
const STOPWORD_SEEDS = new Set([
|
|
31
|
+
'it', 'that', 'this', 'them', 'these', 'those', 'here', 'there',
|
|
32
|
+
'everyone', 'anyone', 'someone', 'anybody', 'somebody', 'people',
|
|
33
|
+
'things', 'us', 'me', 'him', 'her', 'you', 'who', 'what', 'which',
|
|
34
|
+
]);
|
|
35
|
+
// Bounded lazy seed capture so the trailing anchor decides the boundary.
|
|
36
|
+
const SEED = '(.{1,80}?)';
|
|
37
|
+
// "who <verb> <seed>" → traverse INTO the seed via these typed edges.
|
|
38
|
+
const WHO_REL_VERBS = [
|
|
39
|
+
{ verb: 'founded|co-?founded|started', linkTypes: ['founded'], direction: 'in' },
|
|
40
|
+
{ verb: 'invested in|invests in|funded|backed|backs', linkTypes: ['invested_in'], direction: 'in' },
|
|
41
|
+
{ verb: 'works at|worked at|works for', linkTypes: ['works_at'], direction: 'in' },
|
|
42
|
+
{ verb: 'created|made|built|authored', linkTypes: ['created'], direction: 'in' },
|
|
43
|
+
{ verb: 'manages|managed|runs|leads|led', linkTypes: ['manages'], direction: 'in' },
|
|
44
|
+
{ verb: 'reports to|reported to', linkTypes: ['reports_to'], direction: 'in' },
|
|
45
|
+
{ verb: 'met with|met', linkTypes: ['met_with'], direction: 'both' },
|
|
46
|
+
{ verb: 'partners with|partnered with', linkTypes: ['partners_with'], direction: 'both' },
|
|
47
|
+
];
|
|
48
|
+
function buildPatterns() {
|
|
49
|
+
const patterns = [];
|
|
50
|
+
// connects — two seeds, type-agnostic. Most specific, checked first.
|
|
51
|
+
patterns.push({
|
|
52
|
+
re: new RegExp(`\\b(?:what|which)\\s+(?:companies?|people|things|entities)?\\s*(?:connects?|links?|ties? together|is (?:the )?(?:connection|link|relationship) between)\\s+${SEED}\\s+(?:and|&)\\s+${SEED}\\s*\\??$`, 'i'),
|
|
53
|
+
kind: 'connects', linkTypes: null, direction: 'both', seedGroups: 2,
|
|
54
|
+
});
|
|
55
|
+
patterns.push({
|
|
56
|
+
re: new RegExp(`\\bhow\\s+(?:are|is|do|does)\\s+${SEED}\\s+(?:and|&)\\s+${SEED}\\s+(?:connected|related|linked|associated)\\b`, 'i'),
|
|
57
|
+
kind: 'connects', linkTypes: null, direction: 'both', seedGroups: 2,
|
|
58
|
+
});
|
|
59
|
+
// intro — type-agnostic walk around the named entity.
|
|
60
|
+
patterns.push({
|
|
61
|
+
re: new RegExp(`\\bwho\\s+(?:introduced|connected|referred)\\s+(?:me|us|him|her|them)\\s+to\\s+${SEED}\\s*\\??$`, 'i'),
|
|
62
|
+
kind: 'intro', linkTypes: null, direction: 'both', seedGroups: 1,
|
|
63
|
+
});
|
|
64
|
+
// who_at — entity in the middle: "who at acme works on payments".
|
|
65
|
+
patterns.push({
|
|
66
|
+
re: new RegExp(`\\bwho\\s+(?:at|from|in)\\s+${SEED}\\s+(?:works? on|works?|leads?|runs?|builds?|owns?|handles?|manages?)\\b`, 'i'),
|
|
67
|
+
kind: 'who_at', linkTypes: ['works_at'], direction: 'in', seedGroups: 1,
|
|
68
|
+
});
|
|
69
|
+
// who_rel — "who <verb> <seed>".
|
|
70
|
+
for (const v of WHO_REL_VERBS) {
|
|
71
|
+
patterns.push({
|
|
72
|
+
re: new RegExp(`\\bwho\\s+(?:${v.verb})\\s+${SEED}\\s*\\??$`, 'i'),
|
|
73
|
+
kind: 'who_rel', linkTypes: v.linkTypes, direction: v.direction, seedGroups: 1,
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// outgoing — "what did <seed> invest in", "where does <seed> work".
|
|
77
|
+
patterns.push({
|
|
78
|
+
re: new RegExp(`\\bwhat\\s+(?:companies?|startups?|deals?)?\\s*(?:has|have|did|does)?\\s*${SEED}\\s+(?:invest(?:ed)? in)\\b`, 'i'),
|
|
79
|
+
kind: 'who_rel', linkTypes: ['invested_in'], direction: 'out', seedGroups: 1,
|
|
80
|
+
});
|
|
81
|
+
patterns.push({
|
|
82
|
+
re: new RegExp(`\\bwhere\\s+(?:does|did|has)\\s+${SEED}\\s+work\\b`, 'i'),
|
|
83
|
+
kind: 'who_rel', linkTypes: ['works_at'], direction: 'out', seedGroups: 1,
|
|
84
|
+
});
|
|
85
|
+
// lookup — single-entity "what/who is X", "tell me about X", "what does X
|
|
86
|
+
// stand for", "difference between X and Y". Type-agnostic, 0-hop in the
|
|
87
|
+
// storage layer (return the entity's own docs). Checked LAST so the specific
|
|
88
|
+
// relational verbs above win first. The seed may carry trailing context
|
|
89
|
+
// ("Ian in the community"); the storage resolver word-boundary-matches known
|
|
90
|
+
// entity names WITHIN the seed, so a non-entity seed simply resolves to
|
|
91
|
+
// nothing and the arm contributes nothing (precision-first).
|
|
92
|
+
patterns.push({
|
|
93
|
+
re: new RegExp(`\\bwhat\\s+(?:is|are|was|were)\\s+the\\s+difference\\s+between\\s+${SEED}\\s+and\\s+${SEED}\\s*\\??$`, 'i'),
|
|
94
|
+
kind: 'lookup', linkTypes: null, direction: 'both', seedGroups: 2,
|
|
95
|
+
});
|
|
96
|
+
patterns.push({
|
|
97
|
+
re: new RegExp(`\\bwhat\\s+does\\s+${SEED}\\s+(?:stand for|mean|refer to)\\b`, 'i'),
|
|
98
|
+
kind: 'lookup', linkTypes: null, direction: 'both', seedGroups: 1,
|
|
99
|
+
});
|
|
100
|
+
patterns.push({
|
|
101
|
+
re: new RegExp(`\\btell\\s+me\\s+about\\s+${SEED}\\s*\\??$`, 'i'),
|
|
102
|
+
kind: 'lookup', linkTypes: null, direction: 'both', seedGroups: 1,
|
|
103
|
+
});
|
|
104
|
+
patterns.push({
|
|
105
|
+
re: new RegExp(`\\b(?:who|what)(?:'s|\\s+(?:is|are|was|were))\\s+${SEED}\\s*\\??$`, 'i'),
|
|
106
|
+
kind: 'lookup', linkTypes: null, direction: 'both', seedGroups: 1,
|
|
107
|
+
});
|
|
108
|
+
return patterns;
|
|
109
|
+
}
|
|
110
|
+
function cleanSeed(raw) {
|
|
111
|
+
return raw
|
|
112
|
+
.trim()
|
|
113
|
+
.replace(/\?+$/, '')
|
|
114
|
+
.replace(/^["'`]|["'`]$/g, '')
|
|
115
|
+
.replace(/^(?:the|a|an)\s+/i, '')
|
|
116
|
+
.trim();
|
|
117
|
+
}
|
|
118
|
+
function validSeed(s) {
|
|
119
|
+
if (s.length === 0 || s.length > 80)
|
|
120
|
+
return false;
|
|
121
|
+
if (STOPWORD_SEEDS.has(s.toLowerCase()))
|
|
122
|
+
return false;
|
|
123
|
+
return true;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Parse a query into a RelationalQuery, or null if it isn't relational.
|
|
127
|
+
* First matching pattern wins (patterns ordered specific → general).
|
|
128
|
+
*/
|
|
129
|
+
export function parseRelationalQuery(query) {
|
|
130
|
+
if (!query || query.length > 512)
|
|
131
|
+
return null;
|
|
132
|
+
const patterns = buildPatterns();
|
|
133
|
+
for (const p of patterns) {
|
|
134
|
+
const m = p.re.exec(query);
|
|
135
|
+
if (!m)
|
|
136
|
+
continue;
|
|
137
|
+
if (p.seedGroups === 2) {
|
|
138
|
+
const a = cleanSeed(m[1] ?? '');
|
|
139
|
+
const b = cleanSeed(m[2] ?? '');
|
|
140
|
+
if (!validSeed(a) || !validSeed(b))
|
|
141
|
+
continue;
|
|
142
|
+
return { kind: p.kind, seeds: [a, b], linkTypes: p.linkTypes, direction: p.direction, relationPhrase: m[0].trim() };
|
|
143
|
+
}
|
|
144
|
+
const seed = cleanSeed(m[1] ?? '');
|
|
145
|
+
if (!validSeed(seed))
|
|
146
|
+
continue;
|
|
147
|
+
return { kind: p.kind, seeds: [seed], linkTypes: p.linkTypes, direction: p.direction, relationPhrase: m[0].trim() };
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=relational-intent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relational-intent.js","sourceRoot":"","sources":["../src/relational-intent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kybernesis/brain-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Kernel brain methods — timeline, entity-graph, facts, vectors, retrieval, sleep",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "David Cruwys (AppyDave)",
|
|
@@ -27,11 +27,11 @@
|
|
|
27
27
|
"README.md"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@kybernesis/brain-contracts": "0.
|
|
31
|
-
"@kybernesis/brain-storage-sqlite": "0.
|
|
30
|
+
"@kybernesis/brain-contracts": "0.12.0",
|
|
31
|
+
"@kybernesis/brain-storage-sqlite": "0.12.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@kybernesis/brain-storage-vec": "0.
|
|
34
|
+
"@kybernesis/brain-storage-vec": "0.12.0"
|
|
35
35
|
},
|
|
36
36
|
"peerDependenciesMeta": {
|
|
37
37
|
"@kybernesis/brain-storage-vec": {
|
|
@@ -39,8 +39,10 @@
|
|
|
39
39
|
}
|
|
40
40
|
},
|
|
41
41
|
"devDependencies": {
|
|
42
|
-
"@
|
|
43
|
-
"
|
|
42
|
+
"@types/better-sqlite3": "^7.6.13",
|
|
43
|
+
"better-sqlite3": "^12.10.0",
|
|
44
|
+
"@kybernesis/brain-testkit": "0.12.0",
|
|
45
|
+
"@kybernesis/brain-storage-vec": "0.12.0"
|
|
44
46
|
},
|
|
45
47
|
"publishConfig": {
|
|
46
48
|
"access": "public"
|