crbro-memory 1.16.0 → 2.0.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 (45) hide show
  1. package/README.md +57 -30
  2. package/dist/engine/brain.js +1 -1
  3. package/dist/engine/brain.js.map +1 -1
  4. package/dist/engine/cortex.d.ts +189 -1
  5. package/dist/engine/cortex.d.ts.map +1 -1
  6. package/dist/engine/cortex.js +639 -17
  7. package/dist/engine/cortex.js.map +1 -1
  8. package/dist/engine/hippocampus.d.ts +27 -1
  9. package/dist/engine/hippocampus.d.ts.map +1 -1
  10. package/dist/engine/hippocampus.js +51 -2
  11. package/dist/engine/hippocampus.js.map +1 -1
  12. package/dist/engine/maintenance.d.ts +49 -2
  13. package/dist/engine/maintenance.d.ts.map +1 -1
  14. package/dist/engine/maintenance.js +301 -28
  15. package/dist/engine/maintenance.js.map +1 -1
  16. package/dist/engine/prefrontal.d.ts +25 -7
  17. package/dist/engine/prefrontal.d.ts.map +1 -1
  18. package/dist/engine/prefrontal.js +55 -27
  19. package/dist/engine/prefrontal.js.map +1 -1
  20. package/dist/engine/synapses.d.ts +38 -0
  21. package/dist/engine/synapses.d.ts.map +1 -1
  22. package/dist/engine/synapses.js +116 -11
  23. package/dist/engine/synapses.js.map +1 -1
  24. package/dist/search/index.d.ts +14 -2
  25. package/dist/search/index.d.ts.map +1 -1
  26. package/dist/search/index.js +40 -6
  27. package/dist/search/index.js.map +1 -1
  28. package/dist/server.d.ts +7 -0
  29. package/dist/server.d.ts.map +1 -1
  30. package/dist/server.js +755 -829
  31. package/dist/server.js.map +1 -1
  32. package/dist/sync/materialize.d.ts +1 -1
  33. package/dist/sync/materialize.d.ts.map +1 -1
  34. package/dist/sync/materialize.js +40 -3
  35. package/dist/sync/materialize.js.map +1 -1
  36. package/dist/sync/ops.d.ts +9 -4
  37. package/dist/sync/ops.d.ts.map +1 -1
  38. package/dist/sync/ops.js.map +1 -1
  39. package/dist/sync/space.d.ts +27 -0
  40. package/dist/sync/space.d.ts.map +1 -1
  41. package/dist/sync/space.js +113 -1
  42. package/dist/sync/space.js.map +1 -1
  43. package/dist/types/index.d.ts +29 -0
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -1,10 +1,19 @@
1
1
  "use strict";
2
2
  // ─── CRBRO Maintenance Engine ────────────────────────────────────
3
- // Pruning, archiving, integrity checks, and consolidation
3
+ // Pruning, archiving, integrity checks, repair, and consolidation
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
7
  const lock_js_1 = require("../utils/lock.js");
8
+ const ops_js_1 = require("../sync/ops.js");
9
+ /** Every text an entry_dates / entry_status key may legitimately point at. */
10
+ function liveEntryKeys(n) {
11
+ return new Set([
12
+ ...(n.decisions || []).map(d => d.text),
13
+ ...(n.patterns || []), ...(n.preferences || []),
14
+ ...(n.errors || []), ...(n.debts || []),
15
+ ].map(ops_js_1.entryId));
16
+ }
8
17
  class Maintenance {
9
18
  brain;
10
19
  cortex;
@@ -39,8 +48,34 @@ class Maintenance {
39
48
  clusters_detected: 0,
40
49
  index_rebuilt: false,
41
50
  heat_recalculated: false,
51
+ archives_count: 0,
52
+ unarchived_neurons: 0,
53
+ repairable: 0,
54
+ repaired: 0,
55
+ repairs: [],
42
56
  notes: [],
43
57
  };
58
+ // 0. Bring neurons back from the archive, before anything else could
59
+ // archive them again in the same pass.
60
+ const recuperados = new Set();
61
+ if (options?.unarchive && !dryRun) {
62
+ const r = await this.unarchive(options.unarchive);
63
+ report.unarchived_neurons = r.restored.length;
64
+ for (const id of r.restored)
65
+ recuperados.add(id);
66
+ if (r.restored.length > 0) {
67
+ report.notes.push(`Unarchived ${r.restored.length} neuron(s) back into cortex/ and reindexed them: ${r.restored.join(', ')}.`);
68
+ }
69
+ if (r.unknown.length > 0) {
70
+ report.notes.push(`Not in archives/, nothing to unarchive: ${r.unknown.join(', ')}.`);
71
+ }
72
+ if (r.already.length > 0) {
73
+ report.notes.push(`Already present in cortex/, archive copy left in place: ${r.already.join(', ')}.`);
74
+ }
75
+ }
76
+ else if (options?.unarchive && dryRun) {
77
+ report.notes.push('Dry run: nothing was unarchived.');
78
+ }
44
79
  // 1. Recalculate heat scores.
45
80
  // Not in a dry run: recalculate() writes to disk, so running it here was
46
81
  // rewriting every neuron in what the caller was told was a simulation.
@@ -60,16 +95,17 @@ class Maintenance {
60
95
  // searchable and has no restore path. One routine call would have swallowed
61
96
  // 87% of the memory. Heat decays with time, so a brain that is merely old
62
97
  // looks identical to a brain that is worthless.
63
- report.archivable_neurons = await this.countColdNeurons();
98
+ report.archivable_neurons = await this.countColdNeurons(recuperados);
64
99
  if (options?.archive && !dryRun) {
65
- report.archived_neurons = await this.archiveColdNeurons();
100
+ report.archived_neurons = await this.archiveColdNeurons(recuperados);
66
101
  report.notes.push(`Archived ${report.archived_neurons} cold neurons to ${this.brain.paths.archives}. ` +
67
- 'They are no longer searchable; move the files back into cortex/ to restore them.');
102
+ 'They are no longer searchable; pass unarchive:[ids] (or "all") to bring them back.');
68
103
  }
69
104
  else if (report.archivable_neurons > 0) {
70
105
  report.notes.push(`${report.archivable_neurons} neurons are cold enough to archive. Nothing was archived: ` +
71
106
  'pass archive:true if you have reviewed the list and really want them out of the way.');
72
107
  }
108
+ report.archives_count = (await (0, fs_js_1.listJSONFiles)(this.brain.paths.archives)).length;
73
109
  // 2b. Miner leftovers.
74
110
  //
75
111
  // Early versions of the miner recorded "Referenced in: <file>" for every
@@ -80,7 +116,7 @@ class Maintenance {
80
116
  if (options?.purgeBoilerplate && !dryRun) {
81
117
  report.boilerplate_removed = await this.purgeBoilerplate();
82
118
  report.notes.push(`Removed ${report.boilerplate_removed} contentless miner fact(s). ` +
83
- 'Neurons left with nothing in them were not deleted; review them with crbro_neurons.');
119
+ 'Neurons left with nothing in them were not deleted; review them with crbro_inspect view=neurons.');
84
120
  }
85
121
  else if (report.boilerplate_facts > 0) {
86
122
  report.notes.push(`${report.boilerplate_facts} contentless miner fact(s) ("Referenced in: ...") are taking up ` +
@@ -96,16 +132,35 @@ class Maintenance {
96
132
  }
97
133
  // 4. Integrity check
98
134
  report.integrity_issues = await this.checkIntegrity();
135
+ report.repairable = report.integrity_issues.length;
136
+ // 4b. Repair what the check found. Opt-in and never in a dry run.
137
+ if (options?.repair && !dryRun) {
138
+ report.repairs = await this.repair();
139
+ report.repaired = report.repairs.length;
140
+ if (report.repaired > 0) {
141
+ report.notes.push(`Repaired ${report.repaired} integrity issue(s); see repairs[].`);
142
+ // What is left after the fixes, so the report does not list issues that are gone.
143
+ report.integrity_issues = await this.checkIntegrity();
144
+ }
145
+ }
146
+ else if (report.repairable > 0) {
147
+ report.notes.push(`${report.repairable} integrity issue(s) found. Pass repair:true to fix dangling connections, ` +
148
+ 'orphan synapses, stale sidecar keys and manifest counters.');
149
+ }
99
150
  // The debt ledger: a deferral that never named its revisit condition is
100
151
  // on its way to becoming permanent by accident. Count them and say so —
101
- // "later" without a trigger means "never".
152
+ // "later" without a trigger means "never". Retired debts (entry_status)
153
+ // are settled and do not count.
102
154
  const sinDisparador = [];
103
155
  for (const id of await (0, fs_js_1.listJSONFiles)(this.brain.paths.cortex)) {
104
156
  const n = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
105
157
  if (!n || !n.debts || n.debts.length === 0)
106
158
  continue;
107
- report.debts_total += n.debts.length;
108
- const sin = n.debts.filter(d => !/REVISAR CUANDO|REVISIT WHEN|TRIGGER:|DISPARADOR/i.test(d));
159
+ const vivas = n.debts.filter(d => !n.entry_status?.[(0, ops_js_1.entryId)(d)]);
160
+ if (vivas.length === 0)
161
+ continue;
162
+ report.debts_total += vivas.length;
163
+ const sin = vivas.filter(d => !/REVISAR CUANDO|REVISIT WHEN|TRIGGER:|DISPARADOR/i.test(d));
109
164
  if (sin.length > 0)
110
165
  sinDisparador.push(`${n.name || id} (${sin.length})`);
111
166
  report.debts_without_trigger += sin.length;
@@ -115,9 +170,14 @@ class Maintenance {
115
170
  `without a trigger quietly becomes permanent. Neurons: ${sinDisparador.join(', ')}. ` +
116
171
  `Rewrite them with a "REVISAR CUANDO:" clause.`);
117
172
  }
118
- // 5. Rebuild global map
119
- const globalMap = await this.prefrontal.buildGlobalMap();
173
+ // 5. Global map — computed live, never written. In both modes: this is
174
+ // what lets a dry run promise that it touches nothing on disk.
175
+ const globalMap = await this.prefrontal.getGlobalMap();
120
176
  report.clusters_detected = globalMap.clusters.length;
177
+ if (!dryRun && await (0, fs_js_1.fileExists)(this.brain.paths.globalMap())) {
178
+ await (0, fs_js_1.deleteJSON)(this.brain.paths.globalMap());
179
+ report.notes.push('Removed the obsolete global_map.json cache; the map is computed live.');
180
+ }
121
181
  // 6. Rebuild search index
122
182
  if (!dryRun) {
123
183
  await this.searchEngine.rebuild();
@@ -138,7 +198,7 @@ class Maintenance {
138
198
  /**
139
199
  * Consolidate session — called at end of session.
140
200
  */
141
- async consolidate(summary) {
201
+ async consolidate(summary, options) {
142
202
  // Persist search index
143
203
  await this.searchEngine.persist();
144
204
  // Log session
@@ -170,14 +230,34 @@ class Maintenance {
170
230
  }
171
231
  }
172
232
  const synapseCount = await this.synapses.count();
173
- await this.hippocampus.logSession({
233
+ // Topics the session touched without writing: only ids that exist, each
234
+ // once, and not already counted by the tally. They join the log, not the
235
+ // implicit-synapse pass above (reading two neurons is no evidence they
236
+ // are related) and not the write counters.
237
+ const leidos = [];
238
+ const desconocidos = [];
239
+ const yaVistos = new Set(escrito.topics);
240
+ for (const raw of options?.topicsTouched ?? []) {
241
+ const id = String(raw ?? '').trim();
242
+ if (!id || yaVistos.has(id))
243
+ continue;
244
+ yaVistos.add(id);
245
+ if (await this.cortex.peek(id))
246
+ leidos.push(id);
247
+ else
248
+ desconocidos.push(id);
249
+ }
250
+ const topicosLog = [...escrito.topics, ...leidos];
251
+ const log = await this.hippocampus.logSession({
174
252
  summary,
175
- topics_touched: escrito.topics,
253
+ topics_touched: topicosLog,
176
254
  key_facts_added: escrito.facts,
177
255
  decisions_made: escrito.decisions,
178
256
  });
179
- // Update active context
180
- await this.prefrontal.updateContext({});
257
+ // Point the active context at the session just logged. This used to be
258
+ // updateContext({}), which rewrote the file and set nothing, so boot
259
+ // reported last_session: null forever.
260
+ await this.prefrontal.setLastSession(log.session_id);
181
261
  // Recalculate heat
182
262
  await this.heatEngine.recalculate();
183
263
  // Update manifest
@@ -195,6 +275,10 @@ class Maintenance {
195
275
  synapses_updated: synapsesTouched,
196
276
  total_synapses: synapseCount,
197
277
  session_logged: true,
278
+ session_id: log.session_id,
279
+ redacted: log.redacted,
280
+ topics_logged: topicosLog,
281
+ topics_unknown: desconocidos,
198
282
  };
199
283
  }
200
284
  // ─── Private Helpers ──────────────────────────────────────────
@@ -231,56 +315,245 @@ class Maintenance {
231
315
  await this.searchEngine.rebuild();
232
316
  return removed;
233
317
  }
234
- async archiveColdNeurons() {
318
+ /** Cold: heat below 0.05 and untouched for more than 90 days. */
319
+ isCold(neuron) {
320
+ const lastAccess = new Date(neuron.last_accessed).getTime();
321
+ const diffDays = (Date.now() - lastAccess) / (1000 * 60 * 60 * 24);
322
+ return neuron.heat < 0.05 && diffDays > 90;
323
+ }
324
+ async archiveColdNeurons(skip = new Set()) {
235
325
  const ids = await this.cortex.allIds();
236
326
  let archived = 0;
237
327
  for (const id of ids) {
328
+ if (skip.has(id))
329
+ continue;
238
330
  const neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
239
331
  if (!neuron)
240
332
  continue;
241
- // Archive if heat < 0.05 and not accessed in 90+ days
242
- const lastAccess = new Date(neuron.last_accessed).getTime();
243
- const diffDays = (Date.now() - lastAccess) / (1000 * 60 * 60 * 24);
244
- if (neuron.heat < 0.05 && diffDays > 90) {
333
+ if (this.isCold(neuron)) {
245
334
  await (0, fs_js_1.moveFile)(this.brain.paths.neuron(id), `${this.brain.paths.archives}/${id}.json`);
246
335
  archived++;
247
336
  }
248
337
  }
249
338
  return archived;
250
339
  }
251
- async countColdNeurons() {
340
+ async countColdNeurons(skip = new Set()) {
252
341
  const ids = await this.cortex.allIds();
253
342
  let count = 0;
254
343
  for (const id of ids) {
344
+ if (skip.has(id))
345
+ continue;
255
346
  const neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
256
347
  if (!neuron)
257
348
  continue;
258
- const lastAccess = new Date(neuron.last_accessed).getTime();
259
- const diffDays = (Date.now() - lastAccess) / (1000 * 60 * 60 * 24);
260
- if (neuron.heat < 0.05 && diffDays > 90)
349
+ if (this.isCold(neuron))
261
350
  count++;
262
351
  }
263
352
  return count;
264
353
  }
354
+ /**
355
+ * Move neurons from archives/ back into cortex/ and index them. A neuron
356
+ * that exists in cortex/ again is not overwritten: the archive copy stays
357
+ * and the id is reported in `already`.
358
+ */
359
+ async unarchive(which) {
360
+ const out = { restored: [], unknown: [], already: [] };
361
+ const enArchivo = await (0, fs_js_1.listJSONFiles)(this.brain.paths.archives);
362
+ const pedidos = which === 'all'
363
+ ? enArchivo
364
+ : [...new Set(which.map(s => String(s || '').trim()).filter(Boolean))];
365
+ for (const id of pedidos) {
366
+ const origen = `${this.brain.paths.archives}/${id}.json`;
367
+ if (!enArchivo.includes(id) || !(await (0, fs_js_1.fileExists)(origen))) {
368
+ out.unknown.push(id);
369
+ continue;
370
+ }
371
+ const destino = this.brain.paths.neuron(id);
372
+ if (await (0, fs_js_1.fileExists)(destino)) {
373
+ out.already.push(id);
374
+ continue;
375
+ }
376
+ await (0, fs_js_1.moveFile)(origen, destino);
377
+ out.restored.push(id);
378
+ try {
379
+ const neuron = await (0, fs_js_1.readJSON)(destino);
380
+ if (neuron)
381
+ await this.searchEngine.indexNeuron(neuron);
382
+ }
383
+ catch {
384
+ // The index is derived data; the file is back either way.
385
+ }
386
+ }
387
+ return out;
388
+ }
389
+ /**
390
+ * What is inconsistent on disk. Every line here names something repair()
391
+ * knows how to fix, except a corrupted neuron file, which nobody should
392
+ * fix blindly.
393
+ */
265
394
  async checkIntegrity() {
266
395
  const issues = [];
267
396
  const ids = await this.cortex.allIds();
397
+ const existe = new Set(ids);
268
398
  for (const id of ids) {
269
- const neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
399
+ let neuron;
400
+ try {
401
+ neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
402
+ }
403
+ catch {
404
+ neuron = null;
405
+ }
270
406
  if (!neuron) {
271
407
  issues.push(`Corrupted neuron file: ${id}`);
272
408
  continue;
273
409
  }
274
410
  // Check for broken connections
275
- for (const connId of neuron.connections) {
276
- const connected = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(connId));
277
- if (!connected) {
411
+ for (const connId of neuron.connections || []) {
412
+ if (!existe.has(connId)) {
278
413
  issues.push(`Broken connection: ${id} → ${connId} (target missing)`);
279
414
  }
280
415
  }
416
+ // Sidecar keys pointing at entries that no longer exist.
417
+ const vivos = liveEntryKeys(neuron);
418
+ for (const k of Object.keys(neuron.entry_dates || {})) {
419
+ if (!vivos.has(k))
420
+ issues.push(`Stale entry_dates key in ${id}: ${k}`);
421
+ }
422
+ for (const k of Object.keys(neuron.entry_status || {})) {
423
+ if (!vivos.has(k))
424
+ issues.push(`Stale entry_status key in ${id}: ${k}`);
425
+ }
426
+ }
427
+ // Synapse files whose ends no longer both exist.
428
+ const synIds = await (0, fs_js_1.listJSONFiles)(this.brain.paths.synapses);
429
+ for (const sid of synIds) {
430
+ let synapse;
431
+ try {
432
+ synapse = await (0, fs_js_1.readJSON)(this.brain.paths.synapse(sid));
433
+ }
434
+ catch {
435
+ synapse = null;
436
+ }
437
+ if (!synapse || !Array.isArray(synapse.nodes) || synapse.nodes.length !== 2) {
438
+ issues.push(`Corrupted synapse file: ${sid}`);
439
+ continue;
440
+ }
441
+ for (const node of synapse.nodes) {
442
+ if (!existe.has(node))
443
+ issues.push(`Orphan synapse: ${sid} (neuron ${node} missing)`);
444
+ }
445
+ }
446
+ // Manifest counters that disagree with the disk.
447
+ const manifest = await this.brain.getManifest();
448
+ const sesiones = (await (0, fs_js_1.listJSONFiles)(this.brain.paths.hippocampus)).length;
449
+ if (manifest.total_neurons !== ids.length) {
450
+ issues.push(`Manifest says ${manifest.total_neurons} neurons, disk has ${ids.length}`);
451
+ }
452
+ if (manifest.total_synapses !== synIds.length) {
453
+ issues.push(`Manifest says ${manifest.total_synapses} synapses, disk has ${synIds.length}`);
454
+ }
455
+ if (manifest.total_sessions !== sesiones) {
456
+ issues.push(`Manifest says ${manifest.total_sessions} sessions, disk has ${sesiones}`);
281
457
  }
282
458
  return issues;
283
459
  }
460
+ /**
461
+ * Fix what checkIntegrity() reports: dangling connection ids, synapse files
462
+ * with a missing end, stale entry_dates / entry_status keys, manifest
463
+ * counters. One line per fix. Corrupted files are left for a human.
464
+ */
465
+ async repair() {
466
+ const done = [];
467
+ const ids = await this.cortex.allIds();
468
+ const existe = new Set(ids);
469
+ // Synapses first: an orphan synapse also shows up as a dangling
470
+ // connection on its surviving end, and disconnect() cleans both.
471
+ for (const sid of await (0, fs_js_1.listJSONFiles)(this.brain.paths.synapses)) {
472
+ let synapse;
473
+ try {
474
+ synapse = await (0, fs_js_1.readJSON)(this.brain.paths.synapse(sid));
475
+ }
476
+ catch {
477
+ continue;
478
+ }
479
+ if (!synapse || !Array.isArray(synapse.nodes) || synapse.nodes.length !== 2)
480
+ continue;
481
+ const faltan = synapse.nodes.filter(n => !existe.has(n));
482
+ if (faltan.length === 0)
483
+ continue;
484
+ await (0, fs_js_1.deleteJSON)(this.brain.paths.synapse(sid));
485
+ for (const node of synapse.nodes) {
486
+ if (!existe.has(node))
487
+ continue;
488
+ await (0, fs_js_1.updateJSON)(this.brain.paths.neuron(node), current => {
489
+ if (!current)
490
+ return null;
491
+ const otro = synapse.nodes[0] === node ? synapse.nodes[1] : synapse.nodes[0];
492
+ if (!(current.connections || []).includes(otro))
493
+ return null;
494
+ current.connections = current.connections.filter(c => c !== otro);
495
+ return current;
496
+ });
497
+ }
498
+ done.push(`Deleted orphan synapse ${sid} (missing: ${faltan.join(', ')})`);
499
+ }
500
+ for (const id of ids) {
501
+ let neuron;
502
+ try {
503
+ neuron = await (0, fs_js_1.readJSON)(this.brain.paths.neuron(id));
504
+ }
505
+ catch {
506
+ continue; // corrupted: not ours to guess at
507
+ }
508
+ if (!neuron)
509
+ continue;
510
+ const rotas = (neuron.connections || []).filter(c => !existe.has(c));
511
+ const vivos = liveEntryKeys(neuron);
512
+ const fechasRancias = Object.keys(neuron.entry_dates || {}).filter(k => !vivos.has(k));
513
+ const estadosRancios = Object.keys(neuron.entry_status || {}).filter(k => !vivos.has(k));
514
+ if (rotas.length === 0 && fechasRancias.length === 0 && estadosRancios.length === 0)
515
+ continue;
516
+ await (0, fs_js_1.updateJSON)(this.brain.paths.neuron(id), current => {
517
+ if (!current)
518
+ return null;
519
+ if (rotas.length > 0) {
520
+ current.connections = (current.connections || []).filter(c => existe.has(c));
521
+ }
522
+ if (fechasRancias.length > 0 && current.entry_dates) {
523
+ for (const k of fechasRancias)
524
+ delete current.entry_dates[k];
525
+ }
526
+ if (estadosRancios.length > 0 && current.entry_status) {
527
+ for (const k of estadosRancios)
528
+ delete current.entry_status[k];
529
+ }
530
+ return current;
531
+ });
532
+ for (const c of rotas)
533
+ done.push(`Removed dangling connection ${id} → ${c}`);
534
+ for (const k of fechasRancias)
535
+ done.push(`Dropped stale entry_dates key ${k} from ${id}`);
536
+ for (const k of estadosRancios)
537
+ done.push(`Dropped stale entry_status key ${k} from ${id}`);
538
+ }
539
+ // Counters: the disk is the truth.
540
+ const manifest = await this.brain.getManifest();
541
+ const enDisco = {
542
+ total_neurons: ids.length,
543
+ total_synapses: (await (0, fs_js_1.listJSONFiles)(this.brain.paths.synapses)).length,
544
+ total_sessions: (await (0, fs_js_1.listJSONFiles)(this.brain.paths.hippocampus)).length,
545
+ };
546
+ const cambios = {};
547
+ for (const k of Object.keys(enDisco)) {
548
+ if (manifest[k] !== enDisco[k]) {
549
+ cambios[k] = enDisco[k];
550
+ done.push(`Manifest ${k}: ${manifest[k]} → ${enDisco[k]}`);
551
+ }
552
+ }
553
+ if (Object.keys(cambios).length > 0)
554
+ await this.brain.updateManifest(cambios);
555
+ return done;
556
+ }
284
557
  }
285
558
  exports.Maintenance = Maintenance;
286
559
  //# sourceMappingURL=maintenance.js.map
@@ -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":";AAAA,oEAAoE;AACpE,kEAAkE;;;AAElE,0CAAmH;AACnH,8CAAmD;AACnD,2CAAyC;AAwCzC,8EAA8E;AAC9E,SAAS,aAAa,CAAC,CAAS;IAC9B,OAAO,IAAI,GAAG,CAAC;QACb,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/C,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;KACxC,CAAC,GAAG,CAAC,gBAAO,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAa,WAAW;IAEZ;IACA;IACA;IACA;IACA;IACA;IACA;IAPV,YACU,KAAY,EACZ,MAAc,EACd,QAAkB,EAClB,UAAsB,EACtB,WAAwB,EACxB,UAAsB,EACtB,YAA0B;QAN1B,UAAK,GAAL,KAAK,CAAO;QACZ,WAAM,GAAN,MAAM,CAAQ;QACd,aAAQ,GAAR,QAAQ,CAAU;QAClB,eAAU,GAAV,UAAU,CAAY;QACtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QACtB,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,SAAkB,KAAK,EACvB,OAA2G;QAE3G,MAAM,MAAM,GAAsB;YAChC,gBAAgB,EAAE,CAAC;YACnB,iBAAiB,EAAE,CAAC;YACpB,mBAAmB,EAAE,CAAC;YACtB,iBAAiB,EAAE,CAAC;YACpB,kBAAkB,EAAE,CAAC;YACrB,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,CAAC;YACd,qBAAqB,EAAE,CAAC;YACxB,iBAAiB,EAAE,CAAC;YACpB,aAAa,EAAE,KAAK;YACpB,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,CAAC;YACjB,kBAAkB,EAAE,CAAC;YACrB,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,qEAAqE;QACrE,uCAAuC;QACvC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAClD,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC9C,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,QAAQ;gBAAE,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,oDAAoD,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjI,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxG,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACxD,CAAC;QAED,8BAA8B;QAC9B,yEAAyE;QACzE,uEAAuE;QACvE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACnF,CAAC;QAED,mBAAmB;QACnB,EAAE;QACF,0EAA0E;QAC1E,kEAAkE;QAClE,2EAA2E;QAC3E,yEAAyE;QACzE,4EAA4E;QAC5E,0EAA0E;QAC1E,gDAAgD;QAChD,MAAM,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,OAAO,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,MAAM,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI;gBACpF,oFAAoF,CACrF,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,kBAAkB,6DAA6D;gBACzF,sFAAsF,CACvF,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,cAAc,GAAG,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAEhF,uBAAuB;QACvB,EAAE;QACF,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,yEAAyE;QACzE,MAAM,CAAC,iBAAiB,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzD,IAAI,OAAO,EAAE,gBAAgB,IAAI,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,CAAC,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,WAAW,MAAM,CAAC,mBAAmB,8BAA8B;gBACnE,kGAAkG,CACnG,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,iBAAiB,kEAAkE;gBAC7F,oEAAoE,CACrE,CAAC;QACJ,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,iBAAiB,GAAG,MAAM,IAAA,yBAAe,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,mCAAmC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3D,CAAC;QAED,qBAAqB;QACrB,MAAM,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAEnD,kEAAkE;QAClE,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YACxC,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,QAAQ,qCAAqC,CAAC,CAAC;gBACpF,kFAAkF;gBAClF,MAAM,CAAC,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,UAAU,2EAA2E;gBAC/F,4DAA4D,CAC7D,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,gCAAgC;QAChC,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,KAAK,MAAM,EAAE,IAAI,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,MAAM,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACrD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,IAAA,gBAAO,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACjC,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YACnC,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kDAAkD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3F,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;gBAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1E,MAAM,CAAC,qBAAqB,IAAI,GAAG,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,IAAI,MAAM,CAAC,qBAAqB,GAAG,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,GAAG,MAAM,CAAC,qBAAqB,wDAAwD;gBACvF,yDAAyD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACrF,+CAA+C,CAAC,CAAC;QACrD,CAAC;QAED,uEAAuE;QACvE,+DAA+D;QAC/D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACvD,MAAM,CAAC,iBAAiB,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrD,IAAI,CAAC,MAAM,IAAI,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QAC7F,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC9B,aAAa,EAAE,WAAW;gBAC1B,cAAc,EAAE,YAAY;gBAC5B,kBAAkB,EAAE,IAAA,WAAG,GAAE;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OASlC;QAiBC,uBAAuB;QACvB,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAElC,cAAc;QACd,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE9C,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAE3C,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,oEAAoE;QACpE,uEAAuE;QACvE,qEAAqE;QACrE,4BAA4B;QAC5B,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACzB,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAClC,gCAAgC,IAAA,aAAK,GAAE,GAAG,EAC1C,EAAE,eAAe,EAAE,GAAG,EAAE,mBAAmB,EAAE,IAAI,EAAE,CACpD,CAAC;oBACF,eAAe,EAAE,CAAC;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,qDAAqD;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEjD,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,2CAA2C;QAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,aAAa,IAAI,EAAE,EAAE,CAAC;YAC/C,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YACtC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBAC3C,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC;QACD,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;QAElD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC;YAC5C,OAAO;YACP,cAAc,EAAE,UAAU;YAC1B,eAAe,EAAE,OAAO,CAAC,KAAK;YAC9B,cAAc,EAAE,OAAO,CAAC,SAAS;SAClC,CAAC,CAAC;QAEH,uEAAuE;QACvE,qEAAqE;QACrE,uCAAuC;QACvC,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAErD,mBAAmB;QACnB,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAEpC,kBAAkB;QAClB,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;YAC9B,aAAa,EAAE,WAAW;YAC1B,cAAc,EAAE,YAAY;YAC5B,kBAAkB,EAAE,IAAA,WAAG,GAAE;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAEhC,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,KAAK;YAC1B,eAAe,EAAE,OAAO,CAAC,SAAS;YAClC,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM;YACrC,aAAa,EAAE,WAAW;YAC1B,gBAAgB,EAAE,eAAe;YACjC,cAAc,EAAE,YAAY;YAC5B,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,aAAa,EAAE,UAAU;YACzB,cAAc,EAAE,YAAY;SAC7B,CAAC;IACJ,CAAC;IAED,iEAAiE;IAEjE,wEAAwE;IAChE,aAAa,CAAC,IAAY;QAChC,OAAO,kCAAkC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,EAAE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,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;YACtB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,EAAE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAA,kBAAU,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBAC9D,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC1B,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;gBAC3C,OAAO,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC/E,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9C,IAAI,QAAQ,KAAK,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAChC,OAAO,IAAI,QAAQ,CAAC;gBACpB,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,OAAO,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iEAAiE;IACzD,MAAM,CAAC,MAAc;QAC3B,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC,IAAI,GAAG,IAAI,IAAI,QAAQ,GAAG,EAAE,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,OAAoB,IAAI,GAAG,EAAE;QAC5D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAEjB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3B,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,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAA,gBAAQ,EACZ,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,OAAO,CAC1C,CAAC;gBACF,QAAQ,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAoB,IAAI,GAAG,EAAE;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC3B,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;YACtB,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;gBAAE,KAAK,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,SAAS,CAAC,KAAuB;QAC7C,MAAM,GAAG,GAAG,EAAE,QAAQ,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,OAAO,EAAE,EAAc,EAAE,CAAC;QAC3F,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG,KAAK,KAAK,KAAK;YAC7B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,OAAO,CAAC;YACzD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,IAAA,kBAAU,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAC3D,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC5C,IAAI,MAAM,IAAA,kBAAU,EAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACrB,SAAS;YACX,CAAC;YACD,MAAM,IAAA,gBAAQ,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAChC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,OAAO,CAAC,CAAC;gBAC/C,IAAI,MAAM;oBAAE,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC1D,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,cAAc;QAC1B,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;gBAC5C,SAAS;YACX,CAAC;YAED,+BAA+B;YAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,MAAM,mBAAmB,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,OAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAA,gBAAQ,EAAU,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5E,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;gBAC9C,SAAS;YACX,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,mBAAmB,GAAG,YAAY,IAAI,WAAW,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QAED,iDAAiD;QACjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,IAAI,QAAQ,CAAC,aAAa,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,aAAa,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,cAAc,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,iBAAiB,QAAQ,CAAC,cAAc,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAE5B,gEAAgE;QAChE,iEAAiE;QACjE,KAAK,MAAM,GAAG,IAAI,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,IAAI,OAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,IAAA,gBAAQ,EAAU,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YACtF,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAClC,MAAM,IAAA,kBAAU,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAChD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAChC,MAAM,IAAA,kBAAU,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE;oBAChE,IAAI,CAAC,OAAO;wBAAE,OAAO,IAAI,CAAC;oBAC1B,MAAM,IAAI,GAAG,OAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAChF,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC7D,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;oBAClE,OAAO,OAAO,CAAC;gBACjB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,0BAA0B,GAAG,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,MAAqB,CAAC;YAC1B,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,IAAA,gBAAQ,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC/D,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS,CAAG,kCAAkC;YAChD,CAAC;YACD,IAAI,CAAC,MAAM;gBAAE,SAAS;YAEtB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACpC,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;gBAAE,SAAS;YAE9F,MAAM,IAAA,kBAAU,EAAS,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBAC9D,IAAI,CAAC,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC1B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,OAAO,CAAC,WAAW,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACpD,KAAK,MAAM,CAAC,IAAI,aAAa;wBAAE,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;oBACtD,KAAK,MAAM,CAAC,IAAI,cAAc;wBAAE,OAAO,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjE,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,KAAK,MAAM,CAAC,IAAI,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7E,KAAK,MAAM,CAAC,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,iCAAiC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC1F,KAAK,MAAM,CAAC,IAAI,cAAc;gBAAE,IAAI,CAAC,IAAI,CAAC,kCAAkC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,GAAG,CAAC,MAAM;YACzB,cAAc,EAAE,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;YACvE,cAAc,EAAE,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;SAC3E,CAAC;QACF,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAgC,EAAE,CAAC;YACpE,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA3kBD,kCA2kBC"}
@@ -9,6 +9,10 @@ export declare class Prefrontal {
9
9
  getContext(): Promise<ActiveContext>;
10
10
  /**
11
11
  * Update the active context.
12
+ *
13
+ * A call with nothing to change is a read: it returns the context and does
14
+ * NOT touch the file. It used to rewrite last_updated on every read, so the
15
+ * timestamp said "changed just now" about a context nobody had changed.
12
16
  */
13
17
  updateContext(updates: {
14
18
  set_topics?: string[];
@@ -23,20 +27,34 @@ export declare class Prefrontal {
23
27
  * they were done.
24
28
  */
25
29
  resolve_pending?: string;
30
+ /** Drop one open item WITHOUT moving it to recently_closed. Same matcher as resolve_pending. */
31
+ discard_pending?: string;
32
+ /** Empty active_topics, pending_tasks and recently_closed. Runs before the other updates. */
33
+ clear?: boolean;
26
34
  }): Promise<ActiveContext & {
27
- resolved?: PendingTask[];
35
+ resolved: PendingTask[];
36
+ discarded: PendingTask[];
37
+ written: boolean;
28
38
  }>;
29
39
  /**
30
- * Get current hot topics.
40
+ * Record which session was logged last. Nothing else in the context moves.
41
+ * Before this, nothing ever wrote last_session, so boot reported null forever.
31
42
  */
32
- getHotTopics(limit?: number): Promise<HotTopics>;
43
+ setLastSession(sessionId: string): Promise<void>;
33
44
  /**
34
- * Build the global map — clusters of related neurons and bridges between domains.
45
+ * Get current hot topics.
35
46
  */
36
- buildGlobalMap(): Promise<GlobalMap>;
47
+ getHotTopics(limit?: number): Promise<HotTopics>;
37
48
  /**
38
- * Get the current global map (read from cache, or build if missing).
49
+ * The global map clusters of related neurons and bridges between domains.
50
+ *
51
+ * Computed live from the cortex and the connections on every call, and
52
+ * never written to disk. The cached global_map.json it replaces was the one
53
+ * file a maintenance dry run still rewrote, and it went stale between
54
+ * rebuilds; a map that is always current costs one pass over the neurons.
55
+ * `last_rebuilt` keeps its name so the GlobalMap shape does not change: it
56
+ * is the moment this map was computed.
39
57
  */
40
- getGlobalMap(rebuild?: boolean): Promise<GlobalMap>;
58
+ getGlobalMap(): Promise<GlobalMap>;
41
59
  }
42
60
  //# sourceMappingURL=prefrontal.d.ts.map
@@ -1 +1 @@
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"}
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;;;;;;OAMG;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;QACzB,gGAAgG;QAChG,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,6FAA6F;QAC7F,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,GAAG,OAAO,CAAC,aAAa,GAAG;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAuEpG;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD;;OAEG;IACG,YAAY,CAAC,KAAK,GAAE,MAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAa1D;;;;;;;;;OASG;IACG,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;CA8EzC"}