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.
Files changed (43) hide show
  1. package/README.md +49 -8
  2. package/bin/crbro.mjs +109 -0
  3. package/dist/engine/brain.d.ts +3 -0
  4. package/dist/engine/brain.d.ts.map +1 -1
  5. package/dist/engine/brain.js +15 -1
  6. package/dist/engine/brain.js.map +1 -1
  7. package/dist/engine/cortex.d.ts +61 -7
  8. package/dist/engine/cortex.d.ts.map +1 -1
  9. package/dist/engine/cortex.js +168 -23
  10. package/dist/engine/cortex.js.map +1 -1
  11. package/dist/engine/maintenance.d.ts +6 -1
  12. package/dist/engine/maintenance.d.ts.map +1 -1
  13. package/dist/engine/maintenance.js +19 -5
  14. package/dist/engine/maintenance.js.map +1 -1
  15. package/dist/engine/prefrontal.d.ts +13 -2
  16. package/dist/engine/prefrontal.d.ts.map +1 -1
  17. package/dist/engine/prefrontal.js +46 -10
  18. package/dist/engine/prefrontal.js.map +1 -1
  19. package/dist/miner/index.d.ts.map +1 -1
  20. package/dist/miner/index.js +35 -30
  21. package/dist/miner/index.js.map +1 -1
  22. package/dist/search/index.d.ts +46 -6
  23. package/dist/search/index.d.ts.map +1 -1
  24. package/dist/search/index.js +335 -74
  25. package/dist/search/index.js.map +1 -1
  26. package/dist/search/tokenize.d.ts +23 -0
  27. package/dist/search/tokenize.d.ts.map +1 -0
  28. package/dist/search/tokenize.js +83 -0
  29. package/dist/search/tokenize.js.map +1 -0
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +125 -14
  32. package/dist/server.js.map +1 -1
  33. package/dist/types/index.d.ts +39 -1
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/utils/fs.d.ts +3 -1
  36. package/dist/utils/fs.d.ts.map +1 -1
  37. package/dist/utils/fs.js +6 -2
  38. package/dist/utils/fs.js.map +1 -1
  39. package/dist/utils/hash.d.ts +20 -0
  40. package/dist/utils/hash.d.ts.map +1 -0
  41. package/dist/utils/hash.js +45 -0
  42. package/dist/utils/hash.js.map +1 -0
  43. package/package.json +53 -53
@@ -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 += 1;
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 (fuzzy match against existing neurons).
34
- * Returns the best match or null.
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
- // Exact match first
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.endsWith(`_${slug}`) || id === slug) {
103
+ if (id === slug || id.replace(TYPE_PREFIX_RE, '') === slug) {
42
104
  return this.peek(id);
43
105
  }
44
106
  }
45
- // Partial match
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
- if (id.includes(slug) || slug.includes(id.replace(/^(project_|tech_|lang_|person_|domain_|process_)/, ''))) {
48
- return this.peek(id);
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 null;
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
- // Update manifest count
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 pattern to a neuron.
83
- * If the neuron doesn't exist, creates it first.
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
- // Try to find existing neuron
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
- // Create new neuron
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
- // Add content based on type
187
+ let superseded = 0;
97
188
  switch (type) {
98
189
  case 'fact': {
99
- // Check for duplicate
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 += 1;
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
- return { neuron, action };
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":"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"}
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): Promise<MaintenanceReport>;
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;CAC5B;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,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAqD9D;;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"}
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. Archive cold neurons (heat < 0.05, not accessed in 90+ days)
40
- if (!dryRun) {
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.archived_neurons = await this.countColdNeurons();
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":"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"}
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":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAA2B,MAAM,mBAAmB,CAAC;AAEtG,qBAAa,UAAU;IACT,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,KAAK;IAIhC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAU1C;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE;QAC3B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,aAAa,CAAC;IAwB1B;;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"}
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
- return ctx || {
19
- last_session: '',
20
- active_topics: [],
21
- pending_tasks: [],
22
- last_updated: (0, fs_js_1.now)(),
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
- if (!ctx.pending_tasks.includes(updates.add_pending)) {
35
- ctx.pending_tasks.push(updates.add_pending);
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
- ctx.pending_tasks = ctx.pending_tasks.filter(t => t !== updates.resolve_pending);
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":"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"}
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;IAsExB;;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"}
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"}