crbro-memory 1.15.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.
- package/README.md +70 -41
- package/bin/crbro.mjs +84 -41
- package/dist/engine/brain.js +1 -1
- package/dist/engine/brain.js.map +1 -1
- package/dist/engine/cortex.d.ts +189 -1
- package/dist/engine/cortex.d.ts.map +1 -1
- package/dist/engine/cortex.js +639 -17
- package/dist/engine/cortex.js.map +1 -1
- package/dist/engine/hippocampus.d.ts +27 -1
- package/dist/engine/hippocampus.d.ts.map +1 -1
- package/dist/engine/hippocampus.js +51 -2
- package/dist/engine/hippocampus.js.map +1 -1
- package/dist/engine/maintenance.d.ts +49 -2
- package/dist/engine/maintenance.d.ts.map +1 -1
- package/dist/engine/maintenance.js +301 -28
- package/dist/engine/maintenance.js.map +1 -1
- package/dist/engine/prefrontal.d.ts +25 -7
- package/dist/engine/prefrontal.d.ts.map +1 -1
- package/dist/engine/prefrontal.js +55 -27
- package/dist/engine/prefrontal.js.map +1 -1
- package/dist/engine/synapses.d.ts +38 -0
- package/dist/engine/synapses.d.ts.map +1 -1
- package/dist/engine/synapses.js +116 -11
- package/dist/engine/synapses.js.map +1 -1
- package/dist/search/index.d.ts +18 -2
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +54 -10
- package/dist/search/index.js.map +1 -1
- package/dist/search/semantic.d.ts +8 -0
- package/dist/search/semantic.d.ts.map +1 -1
- package/dist/search/semantic.js +34 -12
- package/dist/search/semantic.js.map +1 -1
- package/dist/server.d.ts +7 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +764 -827
- package/dist/server.js.map +1 -1
- package/dist/sync/materialize.d.ts +1 -1
- package/dist/sync/materialize.d.ts.map +1 -1
- package/dist/sync/materialize.js +40 -3
- package/dist/sync/materialize.js.map +1 -1
- package/dist/sync/ops.d.ts +9 -4
- package/dist/sync/ops.d.ts.map +1 -1
- package/dist/sync/ops.js.map +1 -1
- package/dist/sync/space.d.ts +27 -0
- package/dist/sync/space.d.ts.map +1 -1
- package/dist/sync/space.js +113 -1
- package/dist/sync/space.js.map +1 -1
- package/dist/types/index.d.ts +29 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +56 -54
package/dist/engine/cortex.d.ts
CHANGED
|
@@ -49,7 +49,49 @@ export type Emitter = (neuronId: string, change: {
|
|
|
49
49
|
kind: 'debt_purge';
|
|
50
50
|
key: string;
|
|
51
51
|
at: string;
|
|
52
|
+
} | {
|
|
53
|
+
kind: 'decision_purge';
|
|
54
|
+
key: string;
|
|
55
|
+
at: string;
|
|
56
|
+
} | {
|
|
57
|
+
kind: 'pattern_purge';
|
|
58
|
+
key: string;
|
|
59
|
+
at: string;
|
|
52
60
|
}) => Promise<void> | void;
|
|
61
|
+
/**
|
|
62
|
+
* Called after a neuron file is deleted, so the search index drops its
|
|
63
|
+
* chunks. The mirror of Indexer: without it a forgotten neuron kept
|
|
64
|
+
* answering recall until the next full rebuild.
|
|
65
|
+
*/
|
|
66
|
+
export type Remover = (neuronId: string) => Promise<void> | void;
|
|
67
|
+
/**
|
|
68
|
+
* Everything of `source` folded into `target`, as a new object.
|
|
69
|
+
*
|
|
70
|
+
* Shared by restoreNeuron (a quarantine copy back over a neuron that was
|
|
71
|
+
* re-created since) and mergeNeurons (two neurons that turned out to be one
|
|
72
|
+
* topic). Pure on purpose: neither input is touched, so the caller can diff
|
|
73
|
+
* the result against what it had and emit only what actually moved.
|
|
74
|
+
*
|
|
75
|
+
* Facts line up by id (the content hash), falling back to normalised text;
|
|
76
|
+
* on a collision the target's telling stays but takes the furthest-along
|
|
77
|
+
* status (active < superseded < retracted) and the earliest `added`, and the
|
|
78
|
+
* keys are unioned. Everything else is a set union keyed by normalised text
|
|
79
|
+
* with the target's order first. Local observations (heat, access_count)
|
|
80
|
+
* combine as max and sum; identity (id, name, domain, type) is the target's.
|
|
81
|
+
*/
|
|
82
|
+
export declare function unionNeuron(target: Neuron, source: Neuron): {
|
|
83
|
+
neuron: Neuron;
|
|
84
|
+
moved: {
|
|
85
|
+
facts: number;
|
|
86
|
+
decisions: number;
|
|
87
|
+
patterns: number;
|
|
88
|
+
preferences: number;
|
|
89
|
+
errors: number;
|
|
90
|
+
debts: number;
|
|
91
|
+
tags: number;
|
|
92
|
+
map: 0 | 1;
|
|
93
|
+
};
|
|
94
|
+
};
|
|
53
95
|
/**
|
|
54
96
|
* Aliases a future question may use, as stored: trimmed, lower-cased, at
|
|
55
97
|
* most 40 characters each, unique, at most eight. Order is kept.
|
|
@@ -65,6 +107,7 @@ export declare class Cortex {
|
|
|
65
107
|
*/
|
|
66
108
|
private indexer;
|
|
67
109
|
private emitter;
|
|
110
|
+
private remover;
|
|
68
111
|
/** What this session has actually written, for an honest consolidate(). */
|
|
69
112
|
private tally;
|
|
70
113
|
constructor(brain: Brain);
|
|
@@ -77,6 +120,16 @@ export declare class Cortex {
|
|
|
77
120
|
resetSessionTally(): void;
|
|
78
121
|
setIndexer(indexer: Indexer | null): void;
|
|
79
122
|
setEmitter(emitter: Emitter | null): void;
|
|
123
|
+
setRemover(remover: Remover | null): void;
|
|
124
|
+
private unindex;
|
|
125
|
+
/**
|
|
126
|
+
* Copy a whole neuron to .quarantine/ with a timestamp, before anything
|
|
127
|
+
* destructive. Same stamp format everywhere, so restoreNeuron can pick the
|
|
128
|
+
* newest copy by name alone.
|
|
129
|
+
*/
|
|
130
|
+
private quarantine;
|
|
131
|
+
/** Remove the neuron file, drop its chunks, and keep the manifest honest. */
|
|
132
|
+
private deleteNeuronFile;
|
|
80
133
|
private emit;
|
|
81
134
|
/**
|
|
82
135
|
* Overwrite a neuron with the result of merging the team's notes.
|
|
@@ -123,6 +176,12 @@ export declare class Cortex {
|
|
|
123
176
|
neuronType?: NeuronType;
|
|
124
177
|
/** Facts only: words a future question may use that the text does not contain. Indexed, never displayed. */
|
|
125
178
|
keys?: string[];
|
|
179
|
+
/**
|
|
180
|
+
* On an exact-duplicate fact, replace its stored keys with `keys`
|
|
181
|
+
* instead of merging them. Local only: materialize unions keys across
|
|
182
|
+
* teammates, so a removed alias does not propagate to their brains.
|
|
183
|
+
*/
|
|
184
|
+
keysReplace?: boolean;
|
|
126
185
|
/** Write to this exact neuron and skip name resolution entirely. */
|
|
127
186
|
neuronId?: string;
|
|
128
187
|
/** Who is writing: 'session' (default), 'miner', 'manual'. */
|
|
@@ -139,7 +198,14 @@ export declare class Cortex {
|
|
|
139
198
|
createIfMissing?: boolean;
|
|
140
199
|
}): Promise<{
|
|
141
200
|
neuron: Neuron | null;
|
|
142
|
-
|
|
201
|
+
/**
|
|
202
|
+
* `skipped` — no neuron and createIfMissing was false.
|
|
203
|
+
* `skipped_retired` — the text matches a fact or entry that was retired
|
|
204
|
+
* (superseded or retracted); nothing was written. Re-learning a retired
|
|
205
|
+
* line silently would undo a deliberate revision; the caller decides,
|
|
206
|
+
* with `skipped_retired` in hand, whether to reactivate it instead.
|
|
207
|
+
*/
|
|
208
|
+
action: 'created' | 'updated' | 'skipped' | 'skipped_retired';
|
|
143
209
|
superseded: number;
|
|
144
210
|
/** Supersedes targets that matched no active fact — a silent miss no more. */
|
|
145
211
|
supersedes_unmatched: string[];
|
|
@@ -155,6 +221,17 @@ export declare class Cortex {
|
|
|
155
221
|
preview: string;
|
|
156
222
|
}>;
|
|
157
223
|
redacted: string[];
|
|
224
|
+
/** The exact text (case-insensitive) was already an active fact of the neuron. */
|
|
225
|
+
duplicate: boolean;
|
|
226
|
+
/** An exact-duplicate fact had its confidence or keys changed by this call. */
|
|
227
|
+
updated_in_place: boolean;
|
|
228
|
+
/** Set when the text matches a retired fact/entry; nothing was written. */
|
|
229
|
+
skipped_retired: {
|
|
230
|
+
id: string;
|
|
231
|
+
status: 'superseded' | 'retracted';
|
|
232
|
+
revised?: string;
|
|
233
|
+
note?: string;
|
|
234
|
+
} | null;
|
|
158
235
|
}>;
|
|
159
236
|
/**
|
|
160
237
|
* Mark facts as no longer current.
|
|
@@ -193,6 +270,53 @@ export declare class Cortex {
|
|
|
193
270
|
* retired, and both versions kept surfacing on recall as equals.
|
|
194
271
|
*/
|
|
195
272
|
private retire;
|
|
273
|
+
/**
|
|
274
|
+
* Bring retired facts back. The inverse of retire: only superseded or
|
|
275
|
+
* retracted facts match, by id or by trimmed lower-cased text. Clears
|
|
276
|
+
* superseded_by (the replacement no longer replaces it) and stamps the
|
|
277
|
+
* revision date; the note, if given, records why it came back.
|
|
278
|
+
*/
|
|
279
|
+
private reactivate;
|
|
280
|
+
/**
|
|
281
|
+
* Retire — or reactivate — decisions, patterns, errors and debts by exact
|
|
282
|
+
* text (trimmed, case-insensitive). These are plain strings, so their
|
|
283
|
+
* status lives in the entry_status sidecar keyed by entryId(text), the
|
|
284
|
+
* same way their dates do. A retired entry stays in the file and leaves
|
|
285
|
+
* recall exactly like a superseded fact; status 'active' deletes the key.
|
|
286
|
+
*
|
|
287
|
+
* Never emitted: the sidecar travels only through the local file and
|
|
288
|
+
* survives a sync because applyOps copies and prunes it.
|
|
289
|
+
*/
|
|
290
|
+
retireEntries(neuronRef: string, targets: string[], options?: {
|
|
291
|
+
status?: FactStatus;
|
|
292
|
+
note?: string;
|
|
293
|
+
}): Promise<{
|
|
294
|
+
neuron: Neuron | null;
|
|
295
|
+
revised: number;
|
|
296
|
+
unmatched: string[];
|
|
297
|
+
}>;
|
|
298
|
+
/**
|
|
299
|
+
* Edit a neuron's metadata: summary, domain, tags, name.
|
|
300
|
+
*
|
|
301
|
+
* Only fields that actually differ are written and reported; a call that
|
|
302
|
+
* changes nothing writes nothing. `tags` replaces the whole list — protocol
|
|
303
|
+
* neurons keep their 'priority:'/'source:' tags only if the caller re-sends
|
|
304
|
+
* them. `name` changes the display name only: the id, and with it the file,
|
|
305
|
+
* the synapses, the shared map and the connections, never move. `domain`
|
|
306
|
+
* replaces unconditionally, unlike learn, which only fills in 'general'.
|
|
307
|
+
*
|
|
308
|
+
* Not emitted: NeuronOp is only an announcement, and metadata is local.
|
|
309
|
+
*/
|
|
310
|
+
setMeta(neuronRef: string, meta: {
|
|
311
|
+
summary?: string;
|
|
312
|
+
domain?: string;
|
|
313
|
+
tags?: string[];
|
|
314
|
+
name?: string;
|
|
315
|
+
}): Promise<{
|
|
316
|
+
neuron: Neuron | null;
|
|
317
|
+
changed: Array<'summary' | 'domain' | 'tags' | 'name'>;
|
|
318
|
+
redacted: string[];
|
|
319
|
+
}>;
|
|
196
320
|
/**
|
|
197
321
|
* Replace the neuron's system map.
|
|
198
322
|
*
|
|
@@ -217,6 +341,8 @@ export declare class Cortex {
|
|
|
217
341
|
type?: NeuronType;
|
|
218
342
|
min_heat?: number;
|
|
219
343
|
limit?: number;
|
|
344
|
+
/** Rows to skip after the heat sort, for paging. Default 0. */
|
|
345
|
+
offset?: number;
|
|
220
346
|
}): Promise<Array<{
|
|
221
347
|
id: string;
|
|
222
348
|
name: string;
|
|
@@ -247,6 +373,68 @@ export declare class Cortex {
|
|
|
247
373
|
removed: number;
|
|
248
374
|
backup: string | null;
|
|
249
375
|
}>;
|
|
376
|
+
/**
|
|
377
|
+
* Delete a whole neuron. Quarantine copy first, then the file goes, the
|
|
378
|
+
* index drops its chunks and the manifest is decremented.
|
|
379
|
+
*
|
|
380
|
+
* Synapses are not touched here (the Cortex has no Synapses): the server
|
|
381
|
+
* calls synapses.removeAllFor(id) right after. Nor is shared state checked
|
|
382
|
+
* — the server refuses beforehand when the neuron is shared, because the
|
|
383
|
+
* next sync would simply re-create it from the team log. Nothing is
|
|
384
|
+
* emitted: there is no neuron-delete op.
|
|
385
|
+
*/
|
|
386
|
+
forgetNeuron(neuronRef: string): Promise<{
|
|
387
|
+
neuron_id: string | null;
|
|
388
|
+
backup: string | null;
|
|
389
|
+
counts: {
|
|
390
|
+
facts: number;
|
|
391
|
+
decisions: number;
|
|
392
|
+
patterns: number;
|
|
393
|
+
preferences: number;
|
|
394
|
+
errors: number;
|
|
395
|
+
debts: number;
|
|
396
|
+
connections: number;
|
|
397
|
+
};
|
|
398
|
+
}>;
|
|
399
|
+
/**
|
|
400
|
+
* Quarantine copies of one neuron, newest first. Stamps sort lexically, so
|
|
401
|
+
* the file name alone orders them.
|
|
402
|
+
*/
|
|
403
|
+
private quarantineCopies;
|
|
404
|
+
/**
|
|
405
|
+
* Bring a neuron back from quarantine.
|
|
406
|
+
*
|
|
407
|
+
* The newest copy is used unless `file` names an exact basename. If the
|
|
408
|
+
* neuron no longer exists the copy is written back as it was; if it does
|
|
409
|
+
* (a forget of facts, or the topic was re-created since) the copy is
|
|
410
|
+
* unioned into it. The quarantine file stays where it is, so a restore is
|
|
411
|
+
* repeatable. Nothing is emitted.
|
|
412
|
+
*/
|
|
413
|
+
restoreNeuron(neuronId: string, options?: {
|
|
414
|
+
file?: string;
|
|
415
|
+
}): Promise<{
|
|
416
|
+
neuron: Neuron | null;
|
|
417
|
+
restored_from: string | null;
|
|
418
|
+
merged_into_existing: boolean;
|
|
419
|
+
moved: ReturnType<typeof unionNeuron>['moved'] | null;
|
|
420
|
+
}>;
|
|
421
|
+
/**
|
|
422
|
+
* Fold one neuron into another and delete the first.
|
|
423
|
+
*
|
|
424
|
+
* `from` is quarantined, unioned into `into`, and then removed exactly like
|
|
425
|
+
* forgetNeuron. Each element that actually moved is emitted for `into`, so
|
|
426
|
+
* a shared target receives the knowledge (the emitter no-ops when `into`
|
|
427
|
+
* is unshared). Synapses are not touched — the server calls
|
|
428
|
+
* synapses.rewire(from, into) right after — and the server refuses
|
|
429
|
+
* beforehand when `from` is shared (unshare first, or the next sync
|
|
430
|
+
* re-creates it).
|
|
431
|
+
*/
|
|
432
|
+
mergeNeurons(fromRef: string, intoRef: string): Promise<{
|
|
433
|
+
from: string | null;
|
|
434
|
+
into: string | null;
|
|
435
|
+
backup: string | null;
|
|
436
|
+
moved: ReturnType<typeof unionNeuron>['moved'] | null;
|
|
437
|
+
}>;
|
|
250
438
|
/**
|
|
251
439
|
* Which neurons hold something that looks like a credential.
|
|
252
440
|
* Reports the kind and where it is, never the value.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAkB,UAAU,
|
|
1
|
+
{"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/engine/cortex.ts"],"names":[],"mappings":"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"}
|