crbro-memory 1.5.1 → 1.6.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 (48) hide show
  1. package/README.md +174 -170
  2. package/dist/engine/brain.d.ts +2 -0
  3. package/dist/engine/brain.d.ts.map +1 -1
  4. package/dist/engine/brain.js +4 -0
  5. package/dist/engine/brain.js.map +1 -1
  6. package/dist/engine/cortex.d.ts +33 -0
  7. package/dist/engine/cortex.d.ts.map +1 -1
  8. package/dist/engine/cortex.js +226 -98
  9. package/dist/engine/cortex.js.map +1 -1
  10. package/dist/engine/heat.d.ts.map +1 -1
  11. package/dist/engine/heat.js +14 -2
  12. package/dist/engine/heat.js.map +1 -1
  13. package/dist/engine/maintenance.d.ts +13 -0
  14. package/dist/engine/maintenance.d.ts.map +1 -1
  15. package/dist/engine/maintenance.js +80 -7
  16. package/dist/engine/maintenance.js.map +1 -1
  17. package/dist/engine/secrets.d.ts +21 -0
  18. package/dist/engine/secrets.d.ts.map +1 -0
  19. package/dist/engine/secrets.js +86 -0
  20. package/dist/engine/secrets.js.map +1 -0
  21. package/dist/miner/index.d.ts +1 -0
  22. package/dist/miner/index.d.ts.map +1 -1
  23. package/dist/miner/index.js +10 -0
  24. package/dist/miner/index.js.map +1 -1
  25. package/dist/search/index.d.ts +12 -0
  26. package/dist/search/index.d.ts.map +1 -1
  27. package/dist/search/index.js +39 -3
  28. package/dist/search/index.js.map +1 -1
  29. package/dist/search/tokenize.d.ts +10 -0
  30. package/dist/search/tokenize.d.ts.map +1 -1
  31. package/dist/search/tokenize.js +32 -0
  32. package/dist/search/tokenize.js.map +1 -1
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +85 -2
  35. package/dist/server.js.map +1 -1
  36. package/dist/utils/fs.d.ts +22 -0
  37. package/dist/utils/fs.d.ts.map +1 -1
  38. package/dist/utils/fs.js +62 -0
  39. package/dist/utils/fs.js.map +1 -1
  40. package/dist/utils/ids.d.ts +9 -0
  41. package/dist/utils/ids.d.ts.map +1 -1
  42. package/dist/utils/ids.js +21 -1
  43. package/dist/utils/ids.js.map +1 -1
  44. package/dist/utils/lock.d.ts +11 -0
  45. package/dist/utils/lock.d.ts.map +1 -0
  46. package/dist/utils/lock.js +121 -0
  47. package/dist/utils/lock.js.map +1 -0
  48. package/package.json +53 -53
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.Maintenance = void 0;
6
6
  const fs_js_1 = require("../utils/fs.js");
7
+ const lock_js_1 = require("../utils/lock.js");
7
8
  class Maintenance {
8
9
  brain;
9
10
  cortex;
@@ -27,6 +28,9 @@ class Maintenance {
27
28
  async run(dryRun = false, options) {
28
29
  const report = {
29
30
  archived_neurons: 0,
31
+ boilerplate_facts: 0,
32
+ boilerplate_removed: 0,
33
+ stale_locks_swept: 0,
30
34
  archivable_neurons: 0,
31
35
  pruned_synapses: 0,
32
36
  integrity_issues: [],
@@ -35,9 +39,16 @@ class Maintenance {
35
39
  heat_recalculated: false,
36
40
  notes: [],
37
41
  };
38
- // 1. Recalculate heat scores
39
- await this.heatEngine.recalculate();
40
- report.heat_recalculated = true;
42
+ // 1. Recalculate heat scores.
43
+ // Not in a dry run: recalculate() writes to disk, so running it here was
44
+ // rewriting every neuron in what the caller was told was a simulation.
45
+ if (!dryRun) {
46
+ await this.heatEngine.recalculate();
47
+ report.heat_recalculated = true;
48
+ }
49
+ else {
50
+ report.notes.push('Dry run: heat was not recalculated and nothing was written.');
51
+ }
41
52
  // 2. Cold neurons.
42
53
  //
43
54
  // Archiving is OPT-IN and off by default, and this is not caution for its
@@ -57,6 +68,26 @@ class Maintenance {
57
68
  report.notes.push(`${report.archivable_neurons} neurons are cold enough to archive. Nothing was archived: ` +
58
69
  'pass archive:true if you have reviewed the list and really want them out of the way.');
59
70
  }
71
+ // 2b. Miner leftovers.
72
+ //
73
+ // Early versions of the miner recorded "Referenced in: <file>" for every
74
+ // technology it spotted. That is not knowledge — it says a word appeared
75
+ // in a file — and on the reference brain it was 708 of 4,273 facts, with
76
+ // 48 neurons made of nothing else. Counting is free; removing is opt-in.
77
+ report.boilerplate_facts = await this.countBoilerplate();
78
+ if (options?.purgeBoilerplate && !dryRun) {
79
+ report.boilerplate_removed = await this.purgeBoilerplate();
80
+ report.notes.push(`Removed ${report.boilerplate_removed} contentless miner fact(s). ` +
81
+ 'Neurons left with nothing in them were not deleted; review them with crbro_neurons.');
82
+ }
83
+ else if (report.boilerplate_facts > 0) {
84
+ report.notes.push(`${report.boilerplate_facts} contentless miner fact(s) ("Referenced in: ...") are taking up ` +
85
+ 'space and index slots. Pass purge_boilerplate:true to remove them.');
86
+ }
87
+ // 2c. Locks abandoned by a process that died mid-write.
88
+ if (!dryRun) {
89
+ report.stale_locks_swept = await (0, lock_js_1.sweepStaleLocks)(this.brain.paths.cortex);
90
+ }
60
91
  // 3. Decay and prune weak synapses
61
92
  if (!dryRun) {
62
93
  report.pruned_synapses = await this.synapses.decay(0.05);
@@ -92,11 +123,16 @@ class Maintenance {
92
123
  // Log session
93
124
  const neuronCount = await this.cortex.count();
94
125
  const synapseCount = await this.synapses.count();
126
+ // Real numbers, not the neuron count. `facts_saved` used to return the
127
+ // total number of neurons, so it answered the same figure whether the
128
+ // session had stored one fact or thirty — and it is the only number the
129
+ // assistant sees when closing a session.
130
+ const escrito = this.cortex.sessionTally();
95
131
  await this.hippocampus.logSession({
96
132
  summary,
97
- topics_touched: [],
98
- key_facts_added: 0,
99
- decisions_made: 0,
133
+ topics_touched: escrito.topics,
134
+ key_facts_added: escrito.facts,
135
+ decisions_made: escrito.decisions,
100
136
  });
101
137
  // Update active context
102
138
  await this.prefrontal.updateContext({});
@@ -108,13 +144,50 @@ class Maintenance {
108
144
  total_synapses: synapseCount,
109
145
  last_consolidation: (0, fs_js_1.now)(),
110
146
  });
147
+ this.cortex.resetSessionTally();
111
148
  return {
112
- facts_saved: neuronCount,
149
+ facts_saved: escrito.facts,
150
+ decisions_saved: escrito.decisions,
151
+ topics_touched: escrito.topics.length,
152
+ total_neurons: neuronCount,
113
153
  synapses_updated: synapseCount,
114
154
  session_logged: true,
115
155
  };
116
156
  }
117
157
  // ─── Private Helpers ──────────────────────────────────────────
158
+ /** "Referenced in: x.md" and "Mined from x.md" carry no information. */
159
+ isBoilerplate(text) {
160
+ return /^(Referenced in|Mined from):?\s/i.test((text || '').trim());
161
+ }
162
+ async countBoilerplate() {
163
+ let n = 0;
164
+ for (const id of await this.cortex.allIds()) {
165
+ const neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
166
+ if (!neuron)
167
+ continue;
168
+ n += (neuron.facts || []).filter(f => this.isBoilerplate(f.text)).length;
169
+ }
170
+ return n;
171
+ }
172
+ async purgeBoilerplate() {
173
+ let removed = 0;
174
+ for (const id of await this.cortex.allIds()) {
175
+ await (0, fs_js_1.updateJSON)(this.brain.paths.neuron(id), current => {
176
+ if (!current)
177
+ return null;
178
+ const antes = (current.facts || []).length;
179
+ current.facts = (current.facts || []).filter(f => !this.isBoilerplate(f.text));
180
+ const quitados = antes - current.facts.length;
181
+ if (quitados === 0)
182
+ return null;
183
+ removed += quitados;
184
+ return current;
185
+ });
186
+ }
187
+ if (removed > 0)
188
+ await this.searchEngine.rebuild();
189
+ return removed;
190
+ }
118
191
  async archiveColdNeurons() {
119
192
  const ids = await this.cortex.allIds();
120
193
  let archived = 0;
@@ -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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"}
@@ -0,0 +1,21 @@
1
+ export interface SecretHit {
2
+ kind: string;
3
+ /** Where it starts, so the caller can redact without ever logging the value. */
4
+ index: number;
5
+ length: number;
6
+ }
7
+ /** Find credentials in a piece of text. Never returns the values themselves. */
8
+ export declare function findSecrets(text: string): SecretHit[];
9
+ /**
10
+ * Replace every credential with a marker naming what it was.
11
+ * The surrounding sentence survives, so the knowledge is kept and only the
12
+ * secret is gone: "the token is [REDACTED: npm token]" still tells you a token
13
+ * exists and what kind.
14
+ */
15
+ export declare function redact(text: string): {
16
+ text: string;
17
+ found: string[];
18
+ };
19
+ /** Just the kinds present, for auditing without touching the values. */
20
+ export declare function secretKinds(text: string): string[];
21
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/engine/secrets.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAqCD,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,CAcrD;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAatE;AAED,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAElD"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ // ─── CRBRO Secret Detection ──────────────────────────────────────
3
+ //
4
+ // A memory stores whatever the assistant hands it, and assistants handle
5
+ // credentials all day. On the brain this was built against, five were sitting
6
+ // in the cortex — a cloud API key, a password in plain text, three WordPress
7
+ // application passwords — and all five were inside the search index too, so a
8
+ // recall could hand them straight back. Nothing in the tool surface could
9
+ // remove them: no tool deleted anything.
10
+ //
11
+ // Precision over recall, deliberately. A false positive corrupts real
12
+ // knowledge by redacting it, and the user may never notice. So these patterns
13
+ // only match shapes that are credentials and essentially nothing else.
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.findSecrets = findSecrets;
16
+ exports.redact = redact;
17
+ exports.secretKinds = secretKinds;
18
+ const PATTERNS = [
19
+ // Vendor-prefixed tokens: the prefix makes these unambiguous.
20
+ { kind: 'npm token', re: /\bnpm_[A-Za-z0-9]{36}\b/g },
21
+ { kind: 'GitHub token', re: /\bgh[pousr]_[A-Za-z0-9]{36,}\b/g },
22
+ { kind: 'OpenAI key', re: /\bsk-(?:proj-)?[A-Za-z0-9_-]{20,}\b/g },
23
+ { kind: 'Anthropic key', re: /\bsk-ant-[A-Za-z0-9_-]{20,}\b/g },
24
+ { kind: 'Google API key', re: /\bAIza[A-Za-z0-9_-]{35}\b/g },
25
+ { kind: 'Supabase token', re: /\bsbp_[a-f0-9]{40,}\b/g },
26
+ { kind: 'Slack token', re: /\bxox[abprs]-[A-Za-z0-9-]{10,}\b/g },
27
+ { kind: 'Stripe key', re: /\b[sr]k_(?:live|test)_[A-Za-z0-9]{20,}\b/g },
28
+ { kind: 'AWS access key', re: /\b(?:AKIA|ASIA)[A-Z0-9]{16}\b/g },
29
+ { kind: 'private key block', re: /-----BEGIN [A-Z ]*PRIVATE KEY-----/g },
30
+ { kind: 'JSON Web Token', re: /\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g },
31
+ // WordPress application password: six groups of four. Requires at least one
32
+ // digit and one letter per group, otherwise ordinary prose matches it —
33
+ // "ough them with offs" does, and that is not a credential.
34
+ {
35
+ kind: 'WordPress application password',
36
+ re: /\b(?=[A-Za-z0-9]*\d)(?=[A-Za-z0-9]*[A-Za-z])[A-Za-z0-9]{4}(?: (?=[A-Za-z0-9]*\d)(?=[A-Za-z0-9]*[A-Za-z])[A-Za-z0-9]{4}){5}\b/g,
37
+ },
38
+ // A password stated as such. Needs the label, so "the password policy is
39
+ // strict" does not trip it.
40
+ {
41
+ kind: 'password',
42
+ re: /\b(?:password|passwd|contrase[nñ]a|clave)\s*(?:es|is)?\s*[:=]\s*["'`]?([^\s"'`,;]{8,})/gi,
43
+ },
44
+ ];
45
+ /** Find credentials in a piece of text. Never returns the values themselves. */
46
+ function findSecrets(text) {
47
+ const hits = [];
48
+ for (const { kind, re } of PATTERNS) {
49
+ re.lastIndex = 0;
50
+ let m;
51
+ while ((m = re.exec(text)) !== null) {
52
+ // For the labelled-password pattern, redact only the value, not the label.
53
+ const value = m[1] !== undefined ? m[1] : m[0];
54
+ const at = m[1] !== undefined ? m.index + m[0].indexOf(m[1]) : m.index;
55
+ hits.push({ kind, index: at, length: value.length });
56
+ if (m[0].length === 0)
57
+ re.lastIndex++;
58
+ }
59
+ }
60
+ return hits.sort((a, b) => a.index - b.index);
61
+ }
62
+ /**
63
+ * Replace every credential with a marker naming what it was.
64
+ * The surrounding sentence survives, so the knowledge is kept and only the
65
+ * secret is gone: "the token is [REDACTED: npm token]" still tells you a token
66
+ * exists and what kind.
67
+ */
68
+ function redact(text) {
69
+ const hits = findSecrets(text);
70
+ if (hits.length === 0)
71
+ return { text, found: [] };
72
+ // Right to left, so earlier offsets stay valid.
73
+ let out = text;
74
+ const found = [];
75
+ for (let i = hits.length - 1; i >= 0; i--) {
76
+ const h = hits[i];
77
+ out = out.slice(0, h.index) + `[REDACTED: ${h.kind}]` + out.slice(h.index + h.length);
78
+ found.unshift(h.kind);
79
+ }
80
+ return { text: out, found };
81
+ }
82
+ /** Just the kinds present, for auditing without touching the values. */
83
+ function secretKinds(text) {
84
+ return [...new Set(findSecrets(text).map(h => h.kind))];
85
+ }
86
+ //# sourceMappingURL=secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/engine/secrets.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare function detectScanDirs(): string[];
25
25
  export declare class Miner {
26
26
  private brain;
27
27
  private cortex;
28
+ private search;
28
29
  private config;
29
30
  private statePath;
30
31
  constructor(config?: Partial<MinerConfig>);
@@ -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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/miner/index.ts"],"names":[],"mappings":"AAYA,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,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC;IAkBzC;;OAEG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAuFnD;;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"}
@@ -12,6 +12,7 @@ const fs_1 = require("fs");
12
12
  const extractor_js_1 = require("./extractor.js");
13
13
  const brain_js_1 = require("../engine/brain.js");
14
14
  const cortex_js_1 = require("../engine/cortex.js");
15
+ const index_js_1 = require("../search/index.js");
15
16
  const DEFAULT_CONFIG = {
16
17
  scanDirs: [],
17
18
  minFileSize: 200,
@@ -58,11 +59,17 @@ function detectScanDirs() {
58
59
  class Miner {
59
60
  brain;
60
61
  cortex;
62
+ search;
61
63
  config;
62
64
  statePath;
63
65
  constructor(config) {
64
66
  this.brain = new brain_js_1.Brain();
65
67
  this.cortex = new cortex_js_1.Cortex(this.brain);
68
+ // The miner runs in its own process with its own Cortex, so it needs its
69
+ // own indexer. Without this it wrote straight to disk and nothing it
70
+ // learned was searchable until someone happened to run a full rebuild.
71
+ this.search = new index_js_1.SearchEngine(this.brain);
72
+ this.cortex.setIndexer(neuron => this.search.indexNeuron(neuron));
66
73
  this.config = { ...DEFAULT_CONFIG, ...config };
67
74
  this.statePath = (0, path_1.join)(this.brain.paths.root, 'miner_state.json');
68
75
  // Auto-detect scan dirs if none provided
@@ -138,6 +145,9 @@ class Miner {
138
145
  state.last_run = new Date().toISOString();
139
146
  state.total_mined += result.new_files;
140
147
  await this.saveState(state);
148
+ // Flush the index: the miner is a short-lived process and the debounced
149
+ // write would never fire before it exits.
150
+ await this.search.flush();
141
151
  return result;
142
152
  }
143
153
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/miner/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/miner/index.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,18 @@ export declare class SearchEngine {
19
19
  * ourselves is the only reliable guard.
20
20
  */
21
21
  init(): Promise<void>;
22
+ /**
23
+ * Has the cortex moved on without the index?
24
+ *
25
+ * This used to be impossible to notice: init() only rebuilt when the file
26
+ * was missing, the version had changed or the JSON was corrupt — never
27
+ * because it had simply fallen behind. So a lost flush, or a second client
28
+ * writing neurons while this one held a stale index in memory, left those
29
+ * facts invisible to recall indefinitely. On the reference brain the index
30
+ * was five and a half hours behind the newest neuron, and a term saved that
31
+ * afternoon returned nothing at all.
32
+ */
33
+ private isStale;
22
34
  /**
23
35
  * Rebuild the whole index from the cortex.
24
36
  * One bad neuron must not take the server down with it, so every neuron
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAQ,MAAM,mBAAmB,CAAC;AAEpE,mFAAmF;AACnF,eAAO,MAAM,aAAa,IAAI,CAAC;AAwC/B,qBAAa,YAAY;IAMX,OAAO,CAAC,KAAK;IALzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAA+B;gBAE/B,KAAK,EAAE,KAAK;IAIhC;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqBhC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,mCAAmC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,0EAA0E;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;;;;OAQG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,YAAY,EAAE,CAAC;IAiF1B;;;;;OAKG;YACW,UAAU;IAqBxB,gDAAgD;YAClC,kBAAkB;YA0ElB,GAAG;IASjB,8CAA8C;YAChC,kBAAkB;IAqBhC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;YACW,eAAe;CAO9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAQ,MAAM,mBAAmB,CAAC;AAEpE,mFAAmF;AACnF,eAAO,MAAM,aAAa,IAAI,CAAC;AAwC/B,qBAAa,YAAY;IAMX,OAAO,CAAC,KAAK;IALzB,OAAO,CAAC,EAAE,CAAyB;IACnC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAA+B;gBAE/B,KAAK,EAAE,KAAK;IAIhC;;;;;;;;OAQG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB3B;;;;;;;;;;OAUG;YACW,OAAO;IAQrB;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqBhC;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,mCAAmC;IAC7B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B,0EAA0E;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;;;;;;;OAQG;IACG,MAAM,CACV,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAC5C,OAAO,CAAC,YAAY,EAAE,CAAC;IAiF1B;;;;;OAKG;YACW,UAAU;IAsCxB,gDAAgD;YAClC,kBAAkB;YA0ElB,GAAG;IASjB,8CAA8C;YAChC,kBAAkB;IAqBhC,OAAO,CAAC,SAAS;IAWjB,OAAO,CAAC,SAAS;IAYjB;;;;OAIG;YACW,eAAe;CAO9B"}
@@ -65,7 +65,7 @@ class SearchEngine {
65
65
  if (await (0, fs_js_1.fileExists)(indexPath)) {
66
66
  try {
67
67
  const stored = await (0, fs_js_1.readJSON)(indexPath);
68
- if (stored && stored.v === exports.INDEX_VERSION && stored.data) {
68
+ if (stored && stored.v === exports.INDEX_VERSION && stored.data && !(await this.isStale())) {
69
69
  this.db = (0, orama_1.create)({ schema: SCHEMA });
70
70
  (0, orama_1.load)(this.db, stored.data);
71
71
  this.docCount = this.countDocs(stored.data);
@@ -78,6 +78,25 @@ class SearchEngine {
78
78
  }
79
79
  await this.rebuild();
80
80
  }
81
+ /**
82
+ * Has the cortex moved on without the index?
83
+ *
84
+ * This used to be impossible to notice: init() only rebuilt when the file
85
+ * was missing, the version had changed or the JSON was corrupt — never
86
+ * because it had simply fallen behind. So a lost flush, or a second client
87
+ * writing neurons while this one held a stale index in memory, left those
88
+ * facts invisible to recall indefinitely. On the reference brain the index
89
+ * was five and a half hours behind the newest neuron, and a term saved that
90
+ * afternoon returned nothing at all.
91
+ */
92
+ async isStale() {
93
+ const indexAt = await (0, fs_js_1.fileMtime)(this.brain.paths.chunksIndex());
94
+ if (indexAt === 0)
95
+ return true;
96
+ const cortexAt = await (0, fs_js_1.newestMtime)(this.brain.paths.cortex);
97
+ // One second of slack: a write landing during a rebuild is not staleness.
98
+ return cortexAt > indexAt + 1000;
99
+ }
81
100
  /**
82
101
  * Rebuild the whole index from the cortex.
83
102
  * One bad neuron must not take the server down with it, so every neuron
@@ -226,9 +245,9 @@ class SearchEngine {
226
245
  * 1,166 of 1,183 documents, i.e. the ranking was noise).
227
246
  */
228
247
  async searchTerm(term, domain) {
229
- const run = async (tolerance) => {
248
+ const run = async (tolerance, cual = term) => {
230
249
  const params = {
231
- term,
250
+ term: cual,
232
251
  properties: ['text', 'name', 'tags'],
233
252
  boost: { name: 2, text: 1, tags: 1 },
234
253
  limit: Math.max(this.docCount, 10),
@@ -240,6 +259,23 @@ class SearchEngine {
240
259
  return res.hits;
241
260
  };
242
261
  let hits = await run(0);
262
+ // Try the other grammatical number too, and keep the best score each
263
+ // chunk got. Counting as one term keeps query coverage honest: asking
264
+ // about "facturas" should not score twice for also matching "factura".
265
+ const otras = (0, tokenize_js_1.variants)(term).filter(v => v !== term);
266
+ if (otras.length > 0) {
267
+ const mejor = new Map();
268
+ for (const h of hits)
269
+ mejor.set(h.document.id, h);
270
+ for (const v of otras) {
271
+ for (const h of await run(0, v)) {
272
+ const previo = mejor.get(h.document.id);
273
+ if (!previo || h.score > previo.score)
274
+ mejor.set(h.document.id, h);
275
+ }
276
+ }
277
+ hits = [...mejor.values()].sort((a, b) => b.score - a.score);
278
+ }
243
279
  if (hits.length === 0 && term.length >= 5) {
244
280
  hits = await run(1);
245
281
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/search/index.ts"],"names":[],"mappings":"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"}
@@ -19,5 +19,15 @@ export declare function tokenize(text: string): string[];
19
19
  * to the raw tokens — an empty term list would return nothing at all.
20
20
  */
21
21
  export declare function queryTerms(query: string): string[];
22
+ /**
23
+ * Singular and plural of the same word, so a query about "facturas" still
24
+ * finds the fact that says "factura".
25
+ *
26
+ * Deliberately NOT a stemmer and NOT a synonym table. A stemmer applied to
27
+ * Spanish mangles the very common -ción family; a synonym table is guesswork
28
+ * that quietly pulls in wrong results. Number agreement is mechanical, covers
29
+ * a large share of real misses, and cannot invent a meaning that was not there.
30
+ */
31
+ export declare function variants(term: string): string[];
22
32
  export { STOPWORDS };
23
33
  //# sourceMappingURL=tokenize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/search/tokenize.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,QAAA,MAAM,SAAS,aAcb,CAAC;AAEH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBlD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"tokenize.d.ts","sourceRoot":"","sources":["../../src/search/tokenize.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,QAAA,MAAM,SAAS,aAcb,CAAC;AAEH;;;GAGG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKzC;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAI/C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB/C;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -12,6 +12,7 @@ exports.STOPWORDS = void 0;
12
12
  exports.fold = fold;
13
13
  exports.tokenize = tokenize;
14
14
  exports.queryTerms = queryTerms;
15
+ exports.variants = variants;
15
16
  /**
16
17
  * Words that carry no retrieval signal. Kept short on purpose: an
17
18
  * over-eager stoplist silently deletes terms the user meant.
@@ -80,4 +81,35 @@ function queryTerms(query) {
80
81
  }
81
82
  return fallback;
82
83
  }
84
+ /**
85
+ * Singular and plural of the same word, so a query about "facturas" still
86
+ * finds the fact that says "factura".
87
+ *
88
+ * Deliberately NOT a stemmer and NOT a synonym table. A stemmer applied to
89
+ * Spanish mangles the very common -ción family; a synonym table is guesswork
90
+ * that quietly pulls in wrong results. Number agreement is mechanical, covers
91
+ * a large share of real misses, and cannot invent a meaning that was not there.
92
+ */
93
+ function variants(term) {
94
+ const out = new Set([term]);
95
+ if (term.length < 4)
96
+ return [...out];
97
+ // Plural -> singular
98
+ if (term.endsWith('ces'))
99
+ out.add(term.slice(0, -3) + 'z'); // luces -> luz
100
+ if (term.endsWith('es'))
101
+ out.add(term.slice(0, -2)); // papeles -> papel
102
+ if (term.endsWith('ies'))
103
+ out.add(term.slice(0, -3) + 'y'); // policies -> policy
104
+ if (term.endsWith('s'))
105
+ out.add(term.slice(0, -1)); // datos -> dato
106
+ // Singular -> plural
107
+ if (!term.endsWith('s')) {
108
+ out.add(term + 's');
109
+ if (/[bcdfglmnprstz]$/.test(term))
110
+ out.add(term + 'es'); // papel -> papeles
111
+ }
112
+ // Nothing shorter than three letters: "es", "os" and friends are noise.
113
+ return [...out].filter(v => v.length >= 3);
114
+ }
83
115
  //# sourceMappingURL=tokenize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/search/tokenize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenize.js","sourceRoot":"","sources":["../../src/search/tokenize.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,wBAAgB,YAAY,IAAI,SAAS,CA2tBxC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYpE,wBAAgB,YAAY,IAAI,SAAS,CA2zBxC"}