crbro-memory 1.4.0 → 1.5.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/README.md +49 -8
- package/bin/crbro.mjs +109 -0
- package/dist/engine/brain.d.ts +3 -0
- package/dist/engine/brain.d.ts.map +1 -1
- package/dist/engine/brain.js +15 -1
- package/dist/engine/brain.js.map +1 -1
- package/dist/engine/cortex.d.ts +61 -7
- package/dist/engine/cortex.d.ts.map +1 -1
- package/dist/engine/cortex.js +168 -23
- package/dist/engine/cortex.js.map +1 -1
- package/dist/engine/maintenance.d.ts +6 -1
- package/dist/engine/maintenance.d.ts.map +1 -1
- package/dist/engine/maintenance.js +19 -5
- package/dist/engine/maintenance.js.map +1 -1
- package/dist/engine/prefrontal.d.ts +13 -2
- package/dist/engine/prefrontal.d.ts.map +1 -1
- package/dist/engine/prefrontal.js +46 -10
- package/dist/engine/prefrontal.js.map +1 -1
- package/dist/miner/index.d.ts.map +1 -1
- package/dist/miner/index.js +35 -30
- package/dist/miner/index.js.map +1 -1
- package/dist/search/index.d.ts +46 -6
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +335 -74
- package/dist/search/index.js.map +1 -1
- package/dist/search/tokenize.d.ts +23 -0
- package/dist/search/tokenize.d.ts.map +1 -0
- package/dist/search/tokenize.js +83 -0
- package/dist/search/tokenize.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +125 -14
- package/dist/server.js.map +1 -1
- package/dist/types/index.d.ts +39 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/utils/fs.d.ts +3 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +6 -2
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/hash.d.ts +20 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/hash.js +45 -0
- package/dist/utils/hash.js.map +1 -0
- package/package.json +53 -53
package/dist/engine/cortex.js
CHANGED
|
@@ -5,11 +5,63 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.Cortex = void 0;
|
|
6
6
|
const fs_js_1 = require("../utils/fs.js");
|
|
7
7
|
const ids_js_1 = require("../utils/ids.js");
|
|
8
|
+
const hash_js_1 = require("../utils/hash.js");
|
|
9
|
+
const TYPE_PREFIX_RE = /^(project_|tech_|lang_|person_|domain_|process_|protocol_)/;
|
|
10
|
+
/** Minimum similarity before we accept a near-miss as "the same topic". */
|
|
11
|
+
const NAME_MATCH_THRESHOLD = 0.85;
|
|
12
|
+
/**
|
|
13
|
+
* Dice coefficient over character bigrams. Cheap, order-insensitive enough
|
|
14
|
+
* for "Coches Chinos" vs "coches_chinos", and — unlike substring containment —
|
|
15
|
+
* it does not consider a 60-character walkthrough id a match for "SEO".
|
|
16
|
+
*/
|
|
17
|
+
function similarity(a, b) {
|
|
18
|
+
if (a === b)
|
|
19
|
+
return 1;
|
|
20
|
+
if (a.length < 2 || b.length < 2)
|
|
21
|
+
return 0;
|
|
22
|
+
const bigrams = (s) => {
|
|
23
|
+
const out = new Map();
|
|
24
|
+
for (let i = 0; i < s.length - 1; i++) {
|
|
25
|
+
const g = s.slice(i, i + 2);
|
|
26
|
+
out.set(g, (out.get(g) || 0) + 1);
|
|
27
|
+
}
|
|
28
|
+
return out;
|
|
29
|
+
};
|
|
30
|
+
const A = bigrams(a);
|
|
31
|
+
const B = bigrams(b);
|
|
32
|
+
let shared = 0;
|
|
33
|
+
for (const [g, countA] of A) {
|
|
34
|
+
const countB = B.get(g);
|
|
35
|
+
if (countB)
|
|
36
|
+
shared += Math.min(countA, countB);
|
|
37
|
+
}
|
|
38
|
+
return (2 * shared) / (a.length - 1 + b.length - 1);
|
|
39
|
+
}
|
|
8
40
|
class Cortex {
|
|
9
41
|
brain;
|
|
42
|
+
/**
|
|
43
|
+
* Optional hook invoked after every write. Wiring it here — rather than
|
|
44
|
+
* calling the search engine from each caller — is what guarantees the miner
|
|
45
|
+
* path gets indexed too. Before this, the miner wrote straight to disk and
|
|
46
|
+
* 91% of the brain never reached the index.
|
|
47
|
+
*/
|
|
48
|
+
indexer = null;
|
|
10
49
|
constructor(brain) {
|
|
11
50
|
this.brain = brain;
|
|
12
51
|
}
|
|
52
|
+
setIndexer(indexer) {
|
|
53
|
+
this.indexer = indexer;
|
|
54
|
+
}
|
|
55
|
+
async reindex(neuron) {
|
|
56
|
+
if (!this.indexer)
|
|
57
|
+
return;
|
|
58
|
+
try {
|
|
59
|
+
await this.indexer(neuron);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Indexing must never break a write. The index is derived data.
|
|
63
|
+
}
|
|
64
|
+
}
|
|
13
65
|
/**
|
|
14
66
|
* Get a neuron by ID.
|
|
15
67
|
*/
|
|
@@ -18,7 +70,7 @@ class Cortex {
|
|
|
18
70
|
if (neuron) {
|
|
19
71
|
// Touch — update access time and count
|
|
20
72
|
neuron.last_accessed = (0, fs_js_1.now)();
|
|
21
|
-
neuron.access_count
|
|
73
|
+
neuron.access_count = (neuron.access_count || 0) + 1;
|
|
22
74
|
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(id), neuron);
|
|
23
75
|
}
|
|
24
76
|
return neuron;
|
|
@@ -30,31 +82,63 @@ class Cortex {
|
|
|
30
82
|
return (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
|
|
31
83
|
}
|
|
32
84
|
/**
|
|
33
|
-
* Find a neuron by name
|
|
34
|
-
*
|
|
85
|
+
* Find a neuron by name.
|
|
86
|
+
*
|
|
87
|
+
* Returns null rather than guessing. That is the point: the previous
|
|
88
|
+
* implementation fell back to substring containment in either direction,
|
|
89
|
+
* which routed "Coches Chinos" into
|
|
90
|
+
* `project_walkthrough_skill_articulo_coches_chinos_primera_publicacin`
|
|
91
|
+
* and "SEO" into `process_walkthrough_creacin_de_4_2_pendientes...`.
|
|
92
|
+
* Knowledge written into the wrong neuron is recalled attributed to the
|
|
93
|
+
* wrong neuron, and no amount of index tuning repairs that. A wrong guess
|
|
94
|
+
* is worse than a new neuron.
|
|
35
95
|
*/
|
|
36
96
|
async findByName(name) {
|
|
37
97
|
const ids = await (0, fs_js_1.listJSONFiles)(this.brain.paths.cortex);
|
|
38
98
|
const slug = (0, ids_js_1.toSnakeCase)(name);
|
|
39
|
-
|
|
99
|
+
if (!slug)
|
|
100
|
+
return null;
|
|
101
|
+
// 1. Exact: the id itself, or the id minus its type prefix.
|
|
40
102
|
for (const id of ids) {
|
|
41
|
-
if (id
|
|
103
|
+
if (id === slug || id.replace(TYPE_PREFIX_RE, '') === slug) {
|
|
42
104
|
return this.peek(id);
|
|
43
105
|
}
|
|
44
106
|
}
|
|
45
|
-
//
|
|
107
|
+
// 2. Near-miss, but only a real one. Ties go to the most used neuron.
|
|
108
|
+
const candidates = [];
|
|
46
109
|
for (const id of ids) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
110
|
+
const bare = id.replace(TYPE_PREFIX_RE, '');
|
|
111
|
+
const score = similarity(slug, bare);
|
|
112
|
+
if (score >= NAME_MATCH_THRESHOLD)
|
|
113
|
+
candidates.push({ id, score });
|
|
114
|
+
}
|
|
115
|
+
if (candidates.length === 0)
|
|
116
|
+
return null;
|
|
117
|
+
candidates.sort((a, b) => b.score - a.score);
|
|
118
|
+
const top = candidates[0].score;
|
|
119
|
+
const tied = candidates.filter(c => c.score >= top - 0.001);
|
|
120
|
+
if (tied.length === 1)
|
|
121
|
+
return this.peek(tied[0].id);
|
|
122
|
+
let best = null;
|
|
123
|
+
for (const c of tied) {
|
|
124
|
+
const n = await this.peek(c.id);
|
|
125
|
+
if (!n)
|
|
126
|
+
continue;
|
|
127
|
+
if (!best || (n.access_count || 0) > (best.access_count || 0))
|
|
128
|
+
best = n;
|
|
50
129
|
}
|
|
51
|
-
return
|
|
130
|
+
return best;
|
|
52
131
|
}
|
|
53
132
|
/**
|
|
54
133
|
* Create a new neuron.
|
|
134
|
+
* Refuses to clobber: two different names can slugify to the same id, and
|
|
135
|
+
* the old code wrote straight over the existing file, losing every fact in it.
|
|
55
136
|
*/
|
|
56
137
|
async create(name, type, domain, summary) {
|
|
57
138
|
const id = (0, ids_js_1.neuronId)(name, type);
|
|
139
|
+
const existing = await this.peek(id);
|
|
140
|
+
if (existing)
|
|
141
|
+
return existing;
|
|
58
142
|
const neuron = {
|
|
59
143
|
id,
|
|
60
144
|
name,
|
|
@@ -73,38 +157,52 @@ class Cortex {
|
|
|
73
157
|
tags: [],
|
|
74
158
|
};
|
|
75
159
|
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(id), neuron);
|
|
76
|
-
//
|
|
160
|
+
// Only count a neuron that was really created, or the manifest drifts.
|
|
77
161
|
const manifest = await this.brain.getManifest();
|
|
78
162
|
await this.brain.updateManifest({ total_neurons: manifest.total_neurons + 1 });
|
|
79
163
|
return neuron;
|
|
80
164
|
}
|
|
81
165
|
/**
|
|
82
|
-
* Learn — add a fact, decision, or
|
|
83
|
-
*
|
|
166
|
+
* Learn — add a fact, decision, pattern or preference to a neuron.
|
|
167
|
+
* Creates the neuron if it does not exist.
|
|
84
168
|
*/
|
|
85
169
|
async learn(topic, type, content, options) {
|
|
86
|
-
|
|
87
|
-
let neuron = await this.findByName(topic);
|
|
170
|
+
let neuron = null;
|
|
88
171
|
let action = 'updated';
|
|
172
|
+
if (options?.neuronId) {
|
|
173
|
+
neuron = await this.peek(options.neuronId);
|
|
174
|
+
}
|
|
175
|
+
if (!neuron) {
|
|
176
|
+
neuron = await this.findByName(topic);
|
|
177
|
+
}
|
|
89
178
|
if (!neuron) {
|
|
90
|
-
|
|
179
|
+
if (options?.createIfMissing === false) {
|
|
180
|
+
return { neuron: null, action: 'skipped', superseded: 0 };
|
|
181
|
+
}
|
|
91
182
|
const nType = options?.neuronType || (0, ids_js_1.inferNeuronType)(topic);
|
|
92
183
|
const domain = options?.domain || 'general';
|
|
93
184
|
neuron = await this.create(topic, nType, domain);
|
|
94
185
|
action = 'created';
|
|
95
186
|
}
|
|
96
|
-
|
|
187
|
+
let superseded = 0;
|
|
97
188
|
switch (type) {
|
|
98
189
|
case 'fact': {
|
|
99
|
-
|
|
190
|
+
const id = (0, hash_js_1.factId)(content);
|
|
100
191
|
const isDuplicate = neuron.facts.some(f => f.text.toLowerCase() === content.toLowerCase());
|
|
101
192
|
if (!isDuplicate) {
|
|
193
|
+
if (options?.supersedes?.length) {
|
|
194
|
+
superseded = this.retire(neuron, options.supersedes, id, 'superseded');
|
|
195
|
+
}
|
|
102
196
|
const fact = {
|
|
103
197
|
text: content,
|
|
104
198
|
confidence: options?.confidence ?? 1.0,
|
|
105
199
|
added: (0, fs_js_1.now)(),
|
|
106
|
-
source: 'session',
|
|
200
|
+
source: options?.source || 'session',
|
|
201
|
+
id,
|
|
202
|
+
status: 'active',
|
|
107
203
|
};
|
|
204
|
+
if (options?.supersedes?.length)
|
|
205
|
+
fact.supersedes = options.supersedes;
|
|
108
206
|
neuron.facts.push(fact);
|
|
109
207
|
}
|
|
110
208
|
break;
|
|
@@ -131,15 +229,60 @@ class Cortex {
|
|
|
131
229
|
break;
|
|
132
230
|
}
|
|
133
231
|
}
|
|
134
|
-
// Update access
|
|
135
232
|
neuron.last_accessed = (0, fs_js_1.now)();
|
|
136
|
-
neuron.access_count
|
|
137
|
-
// Update domain if provided and neuron was just using default
|
|
233
|
+
neuron.access_count = (neuron.access_count || 0) + 1;
|
|
138
234
|
if (options?.domain && neuron.domain === 'general') {
|
|
139
235
|
neuron.domain = options.domain;
|
|
140
236
|
}
|
|
141
237
|
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(neuron.id), neuron);
|
|
142
|
-
|
|
238
|
+
await this.reindex(neuron);
|
|
239
|
+
return { neuron, action, superseded };
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Mark facts as no longer current.
|
|
243
|
+
*
|
|
244
|
+
* `superseded` — a newer fact replaces it.
|
|
245
|
+
* `retracted` — it was never true.
|
|
246
|
+
*
|
|
247
|
+
* Facts are matched by id, and failing that by verbatim text, because the
|
|
248
|
+
* caller usually has the text in front of it and not the hash.
|
|
249
|
+
*/
|
|
250
|
+
async revise(neuronRef, targets, options) {
|
|
251
|
+
const neuron = (await this.peek(neuronRef)) || (await this.findByName(neuronRef));
|
|
252
|
+
if (!neuron)
|
|
253
|
+
return { neuron: null, revised: 0 };
|
|
254
|
+
const revised = this.retire(neuron, targets, options?.replacedBy, options?.status || 'superseded', options?.note);
|
|
255
|
+
if (revised > 0) {
|
|
256
|
+
neuron.last_accessed = (0, fs_js_1.now)();
|
|
257
|
+
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(neuron.id), neuron);
|
|
258
|
+
// Must reindex, or the correction is silently lost on next boot —
|
|
259
|
+
// which is exactly the failure this feature exists to close.
|
|
260
|
+
await this.reindex(neuron);
|
|
261
|
+
}
|
|
262
|
+
return { neuron, revised };
|
|
263
|
+
}
|
|
264
|
+
/** Flip matching facts to a non-active status. Returns how many changed. */
|
|
265
|
+
retire(neuron, targets, replacedBy, status, note) {
|
|
266
|
+
let count = 0;
|
|
267
|
+
const wanted = targets.map(t => t.trim().toLowerCase());
|
|
268
|
+
for (const fact of neuron.facts) {
|
|
269
|
+
if (fact.status === 'superseded' || fact.status === 'retracted')
|
|
270
|
+
continue;
|
|
271
|
+
const fid = fact.id || (0, hash_js_1.factId)(fact.text);
|
|
272
|
+
const matches = wanted.includes(fid.toLowerCase()) ||
|
|
273
|
+
wanted.includes(fact.text.trim().toLowerCase());
|
|
274
|
+
if (!matches)
|
|
275
|
+
continue;
|
|
276
|
+
fact.id = fid;
|
|
277
|
+
fact.status = status;
|
|
278
|
+
fact.revised = (0, fs_js_1.now)();
|
|
279
|
+
if (replacedBy)
|
|
280
|
+
fact.superseded_by = replacedBy;
|
|
281
|
+
if (note)
|
|
282
|
+
fact.revision_note = note;
|
|
283
|
+
count++;
|
|
284
|
+
}
|
|
285
|
+
return count;
|
|
143
286
|
}
|
|
144
287
|
/**
|
|
145
288
|
* List all neurons with optional filters.
|
|
@@ -184,6 +327,7 @@ class Cortex {
|
|
|
184
327
|
neuron.summary = summary;
|
|
185
328
|
neuron.last_accessed = (0, fs_js_1.now)();
|
|
186
329
|
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(id), neuron);
|
|
330
|
+
await this.reindex(neuron);
|
|
187
331
|
return neuron;
|
|
188
332
|
}
|
|
189
333
|
/**
|
|
@@ -199,6 +343,7 @@ class Cortex {
|
|
|
199
343
|
}
|
|
200
344
|
}
|
|
201
345
|
await (0, fs_js_1.writeJSON)(this.brain.paths.neuron(id), neuron);
|
|
346
|
+
await this.reindex(neuron);
|
|
202
347
|
return neuron;
|
|
203
348
|
}
|
|
204
349
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cortex.js","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,mDAAmD;;;AAEnD,0CAAyE;AACzE,4CAA0F;AAI1F,MAAa,MAAM;IACG;IAApB,YAAoB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;IAAG,CAAC;IAEpC;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,MAAM,EAAE,CAAC;YACX,uCAAuC;YACvC,MAAM,CAAC,aAAa,GAAG,IAAA,WAAG,GAAE,CAAC;YAC7B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;YACzB,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAU;QACnB,OAAO,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAE/B,oBAAoB;QACpB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,kDAAkD,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3G,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,IAAgB,EAAE,MAAc,EAAE,OAAgB;QAC3E,MAAM,EAAE,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEhC,MAAM,MAAM,GAAW;YACrB,EAAE;YACF,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,OAAO,EAAE,IAAA,WAAG,GAAE;YACd,aAAa,EAAE,IAAA,WAAG,GAAE;YACpB,YAAY,EAAE,CAAC;YACf,IAAI,EAAE,GAAG,EAAE,eAAe;YAC1B,OAAO,EAAE,OAAO,IAAI,EAAE;YACtB,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,EAAE;YACb,QAAQ,EAAE,EAAE;YACZ,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,EAAE;YACf,IAAI,EAAE,EAAE;SACT,CAAC;QAEF,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAErD,wBAAwB;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/E,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACT,KAAa,EACb,IAAoD,EACpD,OAAe,EACf,OAKC;QAED,8BAA8B;QAC9B,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,MAAM,GAA0B,SAAS,CAAC;QAE9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,oBAAoB;YACpB,MAAM,KAAK,GAAG,OAAO,EAAE,UAAU,IAAI,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,IAAI,SAAS,CAAC;YAC5C,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC;QAED,4BAA4B;QAC5B,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,sBAAsB;gBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CACpD,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAS;wBACjB,IAAI,EAAE,OAAO;wBACb,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,GAAG;wBACtC,KAAK,EAAE,IAAA,WAAG,GAAE;wBACZ,MAAM,EAAE,SAAS;qBAClB,CAAC;oBACF,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,QAAQ,GAAa;oBACzB,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,IAAA,WAAG,GAAE;oBACX,SAAS,EAAE,OAAO,EAAE,SAAS,IAAI,EAAE;iBACpC,CAAC;gBACF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAChC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACnC,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,CAAC,aAAa,GAAG,IAAA,WAAG,GAAE,CAAC;QAC7B,MAAM,CAAC,YAAY,IAAI,CAAC,CAAC;QAEzB,8DAA8D;QAC9D,IAAI,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,CAAC;QAED,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAKV;QASC,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAQR,EAAE,CAAC;QAER,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,gBAAgB;YAChB,IAAI,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;gBAAE,SAAS;YAClE,IAAI,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;gBAAE,SAAS;YAC5D,IAAI,OAAO,EAAE,QAAQ,IAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,QAAQ;gBAAE,SAAS;YAElE,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM;aACjC,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;QAExC,cAAc;QACd,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAe;QAC7C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,MAAM,CAAC,aAAa,GAAG,IAAA,WAAG,GAAE,CAAC;QAC7B,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,IAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,MAAM,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;CACF;AAtQD,wBAsQC"}
|
|
1
|
+
{"version":3,"file":"cortex.js","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,11 +7,14 @@ import type { Prefrontal } from './prefrontal.js';
|
|
|
7
7
|
import type { SearchEngine } from '../search/index.js';
|
|
8
8
|
export interface MaintenanceReport {
|
|
9
9
|
archived_neurons: number;
|
|
10
|
+
/** How many neurons WOULD be archived. Reported even when nothing is archived. */
|
|
11
|
+
archivable_neurons: number;
|
|
10
12
|
pruned_synapses: number;
|
|
11
13
|
integrity_issues: string[];
|
|
12
14
|
clusters_detected: number;
|
|
13
15
|
index_rebuilt: boolean;
|
|
14
16
|
heat_recalculated: boolean;
|
|
17
|
+
notes: string[];
|
|
15
18
|
}
|
|
16
19
|
export declare class Maintenance {
|
|
17
20
|
private brain;
|
|
@@ -25,7 +28,9 @@ export declare class Maintenance {
|
|
|
25
28
|
/**
|
|
26
29
|
* Run full maintenance cycle.
|
|
27
30
|
*/
|
|
28
|
-
run(dryRun?: boolean
|
|
31
|
+
run(dryRun?: boolean, options?: {
|
|
32
|
+
archive?: boolean;
|
|
33
|
+
}): Promise<MaintenanceReport>;
|
|
29
34
|
/**
|
|
30
35
|
* Consolidate session — called at end of session.
|
|
31
36
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/engine/maintenance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../../src/engine/maintenance.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,qBAAa,WAAW;IAEpB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,YAAY;gBANZ,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,EACtB,YAAY,EAAE,YAAY;IAGpC;;OAEG;IACG,GAAG,CAAC,MAAM,GAAE,OAAe,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAuE/F;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAC1C,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;YAqCY,kBAAkB;YAwBlB,gBAAgB;YAiBhB,cAAc;CAsB7B"}
|
|
@@ -24,24 +24,38 @@ class Maintenance {
|
|
|
24
24
|
/**
|
|
25
25
|
* Run full maintenance cycle.
|
|
26
26
|
*/
|
|
27
|
-
async run(dryRun = false) {
|
|
27
|
+
async run(dryRun = false, options) {
|
|
28
28
|
const report = {
|
|
29
29
|
archived_neurons: 0,
|
|
30
|
+
archivable_neurons: 0,
|
|
30
31
|
pruned_synapses: 0,
|
|
31
32
|
integrity_issues: [],
|
|
32
33
|
clusters_detected: 0,
|
|
33
34
|
index_rebuilt: false,
|
|
34
35
|
heat_recalculated: false,
|
|
36
|
+
notes: [],
|
|
35
37
|
};
|
|
36
38
|
// 1. Recalculate heat scores
|
|
37
39
|
await this.heatEngine.recalculate();
|
|
38
40
|
report.heat_recalculated = true;
|
|
39
|
-
// 2.
|
|
40
|
-
|
|
41
|
+
// 2. Cold neurons.
|
|
42
|
+
//
|
|
43
|
+
// Archiving is OPT-IN and off by default, and this is not caution for its
|
|
44
|
+
// own sake: on the reference brain 1,028 of 1,183 neurons satisfy
|
|
45
|
+
// "heat < 0.05 and untouched for 90 days" right now. The old code archived
|
|
46
|
+
// them on any maintenance run, into a directory that is not indexed, not
|
|
47
|
+
// searchable and has no restore path. One routine call would have swallowed
|
|
48
|
+
// 87% of the memory. Heat decays with time, so a brain that is merely old
|
|
49
|
+
// looks identical to a brain that is worthless.
|
|
50
|
+
report.archivable_neurons = await this.countColdNeurons();
|
|
51
|
+
if (options?.archive && !dryRun) {
|
|
41
52
|
report.archived_neurons = await this.archiveColdNeurons();
|
|
53
|
+
report.notes.push(`Archived ${report.archived_neurons} cold neurons to ${this.brain.paths.archives}. ` +
|
|
54
|
+
'They are no longer searchable; move the files back into cortex/ to restore them.');
|
|
42
55
|
}
|
|
43
|
-
else {
|
|
44
|
-
report.
|
|
56
|
+
else if (report.archivable_neurons > 0) {
|
|
57
|
+
report.notes.push(`${report.archivable_neurons} neurons are cold enough to archive. Nothing was archived: ` +
|
|
58
|
+
'pass archive:true if you have reviewed the list and really want them out of the way.');
|
|
45
59
|
}
|
|
46
60
|
// 3. Decay and prune weak synapses
|
|
47
61
|
if (!dryRun) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/engine/maintenance.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,0DAA0D;;;AAE1D,0CAA0F;
|
|
1
|
+
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../../src/engine/maintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Brain } from './brain.js';
|
|
2
|
-
import type { ActiveContext, HotTopics, GlobalMap } from '../types/index.js';
|
|
2
|
+
import type { ActiveContext, HotTopics, GlobalMap, PendingTask } from '../types/index.js';
|
|
3
3
|
export declare class Prefrontal {
|
|
4
4
|
private brain;
|
|
5
5
|
constructor(brain: Brain);
|
|
@@ -13,8 +13,19 @@ export declare class Prefrontal {
|
|
|
13
13
|
updateContext(updates: {
|
|
14
14
|
set_topics?: string[];
|
|
15
15
|
add_pending?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Id of the item to close, or enough of its text to identify it.
|
|
18
|
+
*
|
|
19
|
+
* This used to filter by exact string equality, which made real pending
|
|
20
|
+
* items unresolvable: they run to hundreds of characters with quotes and
|
|
21
|
+
* file paths inside, and nothing ever reproduced one byte-for-byte. So
|
|
22
|
+
* items accumulated forever and got repeated back to the user long after
|
|
23
|
+
* they were done.
|
|
24
|
+
*/
|
|
16
25
|
resolve_pending?: string;
|
|
17
|
-
}): Promise<ActiveContext
|
|
26
|
+
}): Promise<ActiveContext & {
|
|
27
|
+
resolved?: PendingTask[];
|
|
28
|
+
}>;
|
|
18
29
|
/**
|
|
19
30
|
* Get current hot topics.
|
|
20
31
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefrontal.d.ts","sourceRoot":"","sources":["../../src/engine/prefrontal.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prefrontal.d.ts","sourceRoot":"","sources":["../../src/engine/prefrontal.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAA2B,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAanH,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAIhC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAiB1C;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE;QAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB;;;;;;;;WAQG;QACH,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,GAAG;QAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IA8CzD;;OAEG;IACG,YAAY,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAa1D;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,SAAS,CAAC;IAkF1C;;OAEG;IACG,YAAY,CAAC,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,SAAS,CAAC;CAUjE"}
|
|
@@ -4,6 +4,16 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.Prefrontal = void 0;
|
|
6
6
|
const fs_js_1 = require("../utils/fs.js");
|
|
7
|
+
const hash_js_1 = require("../utils/hash.js");
|
|
8
|
+
/** How many resolved items to keep around as a reminder. */
|
|
9
|
+
const RECENTLY_CLOSED_CAP = 15;
|
|
10
|
+
/** Normalise a stored entry: v1 brains hold plain strings. */
|
|
11
|
+
function toTask(entry) {
|
|
12
|
+
if (typeof entry === 'string') {
|
|
13
|
+
return { id: (0, hash_js_1.pendingId)(entry), text: entry, added: '' };
|
|
14
|
+
}
|
|
15
|
+
return entry;
|
|
16
|
+
}
|
|
7
17
|
class Prefrontal {
|
|
8
18
|
brain;
|
|
9
19
|
constructor(brain) {
|
|
@@ -15,32 +25,58 @@ class Prefrontal {
|
|
|
15
25
|
*/
|
|
16
26
|
async getContext() {
|
|
17
27
|
const ctx = await (0, fs_js_1.readJSON)(this.brain.paths.activeContext());
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
28
|
+
if (!ctx) {
|
|
29
|
+
return {
|
|
30
|
+
last_session: '',
|
|
31
|
+
active_topics: [],
|
|
32
|
+
pending_tasks: [],
|
|
33
|
+
recently_closed: [],
|
|
34
|
+
last_updated: (0, fs_js_1.now)(),
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
// Upgrade v1 string entries in memory; they get written back on next update.
|
|
38
|
+
ctx.pending_tasks = (ctx.pending_tasks || []).map(toTask);
|
|
39
|
+
ctx.recently_closed = ctx.recently_closed || [];
|
|
40
|
+
return ctx;
|
|
24
41
|
}
|
|
25
42
|
/**
|
|
26
43
|
* Update the active context.
|
|
27
44
|
*/
|
|
28
45
|
async updateContext(updates) {
|
|
29
46
|
const ctx = await this.getContext();
|
|
47
|
+
const tasks = ctx.pending_tasks.map(toTask);
|
|
48
|
+
let resolved = [];
|
|
30
49
|
if (updates.set_topics) {
|
|
31
50
|
ctx.active_topics = updates.set_topics;
|
|
32
51
|
}
|
|
33
52
|
if (updates.add_pending) {
|
|
34
|
-
|
|
35
|
-
|
|
53
|
+
const text = updates.add_pending.trim();
|
|
54
|
+
const id = (0, hash_js_1.pendingId)(text);
|
|
55
|
+
if (!tasks.some(t => t.id === id)) {
|
|
56
|
+
tasks.push({ id, text, added: (0, fs_js_1.now)() });
|
|
36
57
|
}
|
|
37
58
|
}
|
|
38
59
|
if (updates.resolve_pending) {
|
|
39
|
-
|
|
60
|
+
const needle = updates.resolve_pending.trim();
|
|
61
|
+
const lower = needle.toLowerCase();
|
|
62
|
+
const hit = (t) => t.id === needle ||
|
|
63
|
+
t.text === needle ||
|
|
64
|
+
(lower.length >= 8 &&
|
|
65
|
+
(t.text.toLowerCase().includes(lower) || lower.includes(t.text.toLowerCase())));
|
|
66
|
+
resolved = tasks.filter(hit).map(t => ({ ...t, closed: (0, fs_js_1.now)() }));
|
|
67
|
+
const keep = tasks.filter(t => !hit(t));
|
|
68
|
+
if (resolved.length > 0) {
|
|
69
|
+
ctx.recently_closed = [...resolved, ...(ctx.recently_closed || [])]
|
|
70
|
+
.slice(0, RECENTLY_CLOSED_CAP);
|
|
71
|
+
}
|
|
72
|
+
ctx.pending_tasks = keep;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
ctx.pending_tasks = tasks;
|
|
40
76
|
}
|
|
41
77
|
ctx.last_updated = (0, fs_js_1.now)();
|
|
42
78
|
await (0, fs_js_1.writeJSON)(this.brain.paths.activeContext(), ctx);
|
|
43
|
-
return ctx;
|
|
79
|
+
return { ...ctx, resolved };
|
|
44
80
|
}
|
|
45
81
|
// ─── Hot Topics ─────────────────────────────────────────────────
|
|
46
82
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prefrontal.js","sourceRoot":"","sources":["../../src/engine/prefrontal.ts"],"names":[],"mappings":";AAAA,oEAAoE;AACpE,oEAAoE;;;AAEpE,0CAAyE;
|
|
1
|
+
{"version":3,"file":"prefrontal.js","sourceRoot":"","sources":["../../src/engine/prefrontal.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/miner/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,YAAY,EAAE,UAAU,EAAE,CAAC;AAgB3B;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CA0BzC;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAYzC;;OAEG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmFnD;;OAEG;YACW,YAAY;IAkC1B;;OAEG;YACW,UAAU;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/miner/index.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,wCAAwC;IACxC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,YAAY,EAAE,UAAU,EAAE,CAAC;AAgB3B;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CA0BzC;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAYzC;;OAEG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAmFnD;;OAEG;YACW,YAAY;IAkC1B;;OAEG;YACW,UAAU;IA8ExB;;OAEG;YACW,SAAS;IAevB;;OAEG;YACW,SAAS;IAQvB;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QACzB,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,EAAE,UAAU,CAAC;KACnB,CAAC;CAOH"}
|